> For the complete documentation index, see [llms.txt](https://compassly.gitbook.io/compassly-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://compassly.gitbook.io/compassly-docs/core-modules/clients/programs/import-programs.md).

# Import Programs

**Page type:** Task guide\
**Status:** Draft (Noah Edit)\
**Owner:** Compassly Documentation Team\
**Last verified:** 2026-04-03 (Noah Edit: 2026-06-18)\
**Audience:** Super Admin, Admin, Supervisor

## What This Section Covers

This material covers how to import client programs in bulk for the current client.

## Before You Start

* Confirm that the Client whom you are importing Programs has an "Active" status.
* You must have permission "View client's program list".
* You must have permission "Import programs".
* You should have all the necessary details to to fill in the required fields for a new Program, such as Domain, Subdomain, Target Skill, DCM Type, etc.

## Where To Start

1. In the left navigation menu, select ***Clients***.
2. In the left navigation menu, select ***All clients***.
3. In the All Clients table of the page, select the name of the Client whose Programs you wish to view, under the column "Full name".

> **Warning:** While it is the default state, you should confirm that the *Mastery Status* filter is set to "In progress" .

![](/files/jwSyRXmZQByqIqF52ceR)\
*Figure 1: Client List page with an emphasis on navigation to a Client's Programs.*

## Available Actions

1. **Download an import template for uploading multiple Client profiles at once.**
   * In the uppermost right corner of the page, click on the button that has a download icon (an arrow pointing down towards what looks like a little tray). This should trigger a small dropdown menu. Select the option "Download import template", and the template should start downloading.

![](/files/CRvxjJGd7LMC8cFDu4VG) ![](/files/e5KuPuwtTZYmTbeJfHc8)\
*Figure 2 - 3. Single-Client Program List page with emphasis on download navigation and the success notification for downloading the import template.*

2. **Fill out the import template with all the Programs you desire (and what details you can).**
   * Unless you deliberately downloaded your file to a different location, your import template should be available under the Downloads folder on you computer (this guide will not cover phone usage). Open the file and you should see a table with instructional text in the top row, followed by a series of empty rows below it. Using the instructions provided, fill out as many Client profiles as you desire in these empty rows. If the number you are trying to import exceeds the number of rows with grey borders, no worries. You can add beyond the visible boundary point.

> **Warning:** Keep in mind that character limits are not set for the template cells, and that character limited fields (such as *Title* for descriptions) are not checked in the upload process. As such the data will upload successfully, but future attempts to edit the Program will force the user to alter the fields to required standards.

![](/files/m5COO6EXbrIDavMm9xJV) ![](/files/xpAqX9ekXxL8Uowpjav4)\
*Figure 4 - 5. Example of the import template.*

3. **Upload multiple Client Programs using the import template.**
   * Having filled out the downloaded import template, you can now import the file back into Compassly. Assuming that you did not close your Compassly tab on your browser (if you did, see "Where To Start" section to return to the appropriate page) return to the Single-Client Program List for the Client you wish to add Programs to and select the blue "Import programs" button in the uppermost right corner of the page. This will open a dialog box prompting you to select the file for import. Either drag the file into the dash-line box, or click on the dash-line box to open your file explorer and navigate to the desired file. Once selected, the name of the file uploaded should be visible in the dash-line box, and the number of entries validation for import should appear below it. Ensure this number matches what you intended to upload (If not, you'll need to cancel the process, then go back into your import file to fix the issue), and then click the "Upload" button to finalize the import. Notifications will pop in the lower left corner of the page to confirm your results, or inform you of any duplicates that already exist.

![](/files/MubOjKtK1ScreiSDoUmQ) ![](/files/PrdE8ccw6pVQeMpkQiEB) ![](/files/Whi8YZKAwDgdsUwrujFG)\
*Figure 6 - 8. The dialog box that opens after clicking "Import programs", and the results of selecting a file for upload.*

![](/files/m6sEy5wwhS3BARGDir0p) ![](/files/tJBB6EBRfvKJhbamehuN)\
*Figure 9 - 10. Notifications you might see after an upload.*

4. **Download select entries from the Single-Client Program List based on filtering.**
   * In the uppermost right corner of the page, click on the button that has a download icon (an arrow pointing down towards what looks like a little tray). This should trigger a small dropdown menu. Select the option "Download report in XLSX" or "Download report in CSV" (whichever you prefer), and the file type will start downloading all the visible entries in the list based on current filter settings. If no filters are active, the entire Single-Client Program List will be added to the file downloaded. A notification will display in the bottom left corner of the page informing you of the download, and its subsequent success.
   * Entries can also be downloaded for the Multi-Client Program List by implementing the same instructions listed above.

![](/files/EhX4rAqnFYb5WDVZFq2D)\
*Figure 9 - 10. Notifications you might see after an upload.*

## Notes

* A row passes validation only when:
  * all required fields are present
  * values match the field format rules
  * values meet any field-specific rules
* If some rows fail validation, the dialog box shows:
  * the row number
  * the first column where an error was found
* If more than one error exists for a row, Compassly may show the first column name plus a count of additional errors.
* If 0 records passed validation, the "Upload" button is disabled.
* If one or more rows passed validation, "Upload" becomes available.
* If some Programs import successfully and some fail the uniqueness check, Compassly should show a combined result notification:
  * success count for imported Client Programs
  * failure count for duplicate Client Programs

## Role Differences

* ***Super Admin / Admin / Supervisor:*** Will be able to import multiple Client Programs.
* ***Clinician / Basic:*** Does not have access to import multiple Client Programs.

## Summary Of Section

**Upon reviewing this material, you should be able to:**

* Download an upload template for Client Programs
* Fill out an import template for Client Programs
* Upload an import template for Client Programs

## Related Guides

* [View Client Programs](/compassly-docs/core-modules/clients/programs/view-client-programs.md)
* [Track Data and View Graph for Program](/compassly-docs/core-modules/clients/programs/track-data-and-view-graph-for-program.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://compassly.gitbook.io/compassly-docs/core-modules/clients/programs/import-programs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
