CSV Upload
Prepare and upload an aggregated spreadsheet when your source system has no API connection.
CSV upload is the manual route into the platform. Use it when your scheduling system has no supported API connection, when you are combining data from more than one source, or when you want to explore the platform with a sample.
Optimal Workforce works with aggregate data only. Your file must never contain:
- names of clients or employees
- street addresses, or anything more specific than a three-character postal area
- health, clinical, or diagnostic information
- dates of birth, government identifiers, phone numbers, or email addresses
The upload wizard scans your file and warns you if it detects columns that look like personal information — but that scan is a safety net, not a substitute for checking your export before you upload it.
What the file must look like
One row per geographic area, with the area's region and its metric values.
Required columns
| Column | What it is | Example |
|---|---|---|
| Region | The named group the area belongs to | Region-1, North District |
| Geographic identifier | The three-character postal area | M4A, K1A |
Metric columns
Any number of numeric columns. Name them descriptively — the wizard uses the names to work out what they are.
| Example column | What it is |
|---|---|
Active_Clients | Active clients in this area |
Available_PSWs | Available workers in this area |
Visit_Count_per_Week | Weekly visits in this area |
Service_Hours | Total service hours in this area |
Example
Region,PC,Active_Clients,Available_PSWs,Visit_Count_per_Week Region-1,M1L,120,53,369 Region-1,M1N,25,33,93 Region-1,M4A,12,25,43 Region-1,M4B,89,49,434 Region-2,M4C,180,61,622 Region-2,M4J,98,66,420 Region-3,M3C,149,64,729 Region-3,M4G,65,57,153
The rules
- One row per area. Each postal area appears exactly once.
- No overlap between regions. Each area belongs to exactly one region.
- Metrics are numeric. No text, no symbols, no blanks in metric columns.
- Region names are consistent.
North DistrictandNorth districtare two different regions as far as the platform is concerned. - There is a header row.
Preparing your export
If your source system holds individual records, you have to aggregate before you upload:
- Group records by postal area — the first three characters of the postal code.
- Count clients, workers, visits, and hours per area.
- Assign each area to exactly one region.
- Drop every column that is not the region, the area, or a numeric metric.
- Export as
.csv, UTF-8 encoded.
The uploader accepts .csv files. If you work in Excel, use Save As → CSV UTF-8 rather than uploading the workbook.
Uploading
Go to /home/<team>/integrations and start a CSV upload. The wizard has five steps.
1. Upload
Choose or drag in your file. It is parsed in your browser first, so you get feedback immediately.
2. Preview
The first rows as the platform read them. Check that columns landed where you expect and that nothing has been shifted by a stray comma or quote.
3. Mapping
Tell the platform which column is the region, which is the geographic identifier, and which are metrics. It proposes a mapping based on your column names — confirm or correct it.
This step is where you also map your column names onto the platform's standard metrics, so that a column called Available_PSWs is understood as active employees.
4. Validate
Two checks run here.
Personal information scan. Headers and sample values are scanned for patterns that look like emails, phone numbers, names, dates of birth, addresses, government identifiers, or card numbers. Anything it finds is shown with the column name and example matches. Treat a high-confidence detection as a stop sign: go back and fix your export.
Data validation. An automated reviewer checks the file for structural and plausibility problems and reports three kinds of finding:
| Finding | What it means |
|---|---|
| Blocking issue | The file cannot be imported as-is. Fix it and re-upload. |
| Warning | The import can proceed, but something looks off and is worth a look. |
| Clarification question | The reviewer is unsure about something and asks you to confirm before continuing. |
Read the warnings. They are the cheapest chance you get to catch a bad export before it becomes bad numbers on a dashboard.
5. Complete
Review the summary and confirm. Once the import finishes, the Data Editor appears in the sidebar and the Monitoring dashboard populates.
Updating your data
Re-upload a fresh file from the same page. The new upload replaces the existing data — so always export the full picture, every region and every area, not just what has changed.
For active caseload management, weekly or monthly is a reasonable cadence. The Monitoring dashboard shows how old your data is, and the platform will remind you when a CSV source has not been refreshed in a while. See Sync and Data Freshness.
Common problems
| Problem | Fix |
|---|---|
| Region overlap detected | The same postal area appears in two regions. Each area belongs to exactly one. |
| Duplicate geographic identifier | The same area appears twice. Combine the rows. |
| Non-numeric value in a metric column | Remove text, currency symbols, and thousands separators. Empty cells count as non-numeric — use 0. |
| Missing required column | The file has no region column or no geographic identifier column. |
| Garbled characters | Re-save the file as UTF-8. |
| Areas do not appear on the map | The identifiers are not valid Canadian forward sortation areas. See Understanding Your Data. |
More in Troubleshooting.