How to set up the SFTP integration for HRIS-driven user provisioning — credentials, file format, field definitions, and the operational details that decide whether the integration actually delivers on day one.


The SFTP integration is Continu's data feed for HRIS-driven user provisioning. You drop a user file on Continu's SFTP server (or your HRIS does it for you), Continu reads it on the schedule you set, and user records in Continu update to match the file. New users are created, departed users are deactivated, attribute changes flow through. Once running, the integration removes the manual user-management overhead that doesn't scale past 100 or so learners.

The setup itself is mostly mechanical (credentials, file mapping, schedule). the detail is in the field definitions — getting them right at setup time means downstream Smart Segmentation, Automations, and Reports all behave the way you expect. Getting them wrong means weeks of cleanup.

For the strategic frame on user provisioning and sync overall, see the Provisioning & Sync strategic article in the Settings section.


How to Set Up the SFTP Connection

1. Request SFTP credentials from Continu. Credentials may take up to 72 business hours to generate.

2. Configure your transfer. Enter the credentials in your HRIS, or upload via an SFTP application (FileZilla, Cyberduck, etc.). Some HRIS providers handle this configuration for you — check with your HRIS team if you're unsure.

3. Set up a test file using the template design below. Always test before going live.

4. Verify the test ingest. Confirm users appear correctly in Continu with the right attributes before scheduling production runs.

5. Schedule production cadence. Daily is typical. More frequent for fast-moving orgs; less frequent for stable ones.


Field Reference

Headers must match the template exactly — including underscores between words (e.g., first_name, location_1). Continu maps incoming columns by header name; mismatched headers don't ingest.

first_name — User's first name.

last_name — User's last name.

email — User's email. Used as the unique identifier — never reuse an email across users.

manager_email — Manager's email. Drives the manager hierarchy in Continu.

hire_date — Date of hire. Required for any Automation triggered on hire date (e.g., "A User Was Hired Today," "A User Was Hired Exactly 60 Days Ago"). Missing hire dates silently skip those Automations.

location_1, location_2, location_3 — Cascading location hierarchy (e.g., Country, State, City). Sub-locations can't be populated without their parent — location_2 requires location_1 to also be set.

department_1, department_2 — Cascading department hierarchy. Same rule: sub-departments require parents.

teams — Multiple teams supported. Use a pipe delimiter (|) to separate multiple team names.

level — Job level. Word or numerical value. Drives seniority-based segmentation.

grade — Job grade. Word or numerical value. Alternative segmentation axis.

groups — Multiple groups supported. Use pipe delimiter (|) to separate.


Security and Encryption

Continu provides a dedicated SFTP site. No public key requirement.

Data is encrypted both at rest and during processing. Continu's ingest is fully programmatic — the data isn't reviewed by humans for routine maintenance.


Common Questions

What if a field value has a comma? Wrap the value in quotation marks: "Finance, Accounting". The quotes tell the ingest to treat it as a single value.

Should headers match the template exactly? Yes. Headers including underscores must match precisely (first_name, location_1, etc.). Mismatched headers fail to ingest.

Can a user be in multiple departments or locations? No. Each user has one department and one location — that's why the hierarchy goes three levels deep. For multi-team or multi-group membership, use Teams or Groups (which support pipe-delimited values).

Can we add custom fields? Not user-defined custom headers, but fields beyond the main template may be available for specific use cases. Contact support@continu.com with your specific field need.

My upload isn't working — what next? See the SFTP Troubleshooting Guide for diagnostics on common ingest failures.


Configuration Pitfalls

Header Mismatches. The most common SFTP failure. Firstname or First Name instead of first_name — and the column doesn't ingest. Verify headers character-by-character against the template before the first run.

Sub-Locations Without Parents. A user with location_2: New York but no location_1 doesn't get the location attribute set correctly. Always populate the parent before the child.

Missing Hire Dates. Hire-date Automations silently skip users without hire dates. If onboarding Automations aren't firing for new hires, the hire date is missing on the user file.

Email Reuse Across Users. Email is the unique identifier. If a departed user's email is reassigned to a new hire in your HRIS, the new hire inherits the old user's record in Continu — including completion history. Avoid email reuse.

Manager Email That Doesn't Match a Continu User. If the manager's email in the file doesn't correspond to a user already in Continu, the manager relationship doesn't get set. Sync managers before their direct reports, or run a second pass after all users are loaded.

Pipe Delimiters Without Quoting Around Values. If a value contains a pipe character naturally, the ingest splits it. For multi-value fields, use the pipe as the intentional delimiter and avoid the character in actual values.

Skipping the Test Ingest. Going straight to production without a test file means the first time you find a header or format issue is in front of your full user list. Always test with a small sample first.

Treating the Schedule as Set-and-Forget. HRIS changes (new fields, renamed departments, restructured hierarchies) need to be reflected in the SFTP file. Build a process for catching HRIS changes before they break the integration.


Where This Fits

You're here because you're setting up or troubleshooting the SFTP integration for HRIS-driven user sync. For broader user attribute setup (Departments, Locations, etc.), see the related Settings articles. For the Smart Segmentation that consumes these attributes, see User Management: Who Has Access to What, and Why.


See Also


Headers must match exactly. Sub-locations and sub-departments need parents. Hire dates drive Automations — missing dates silently break them. Always run a test ingest first.

Was this article helpful?
0 out of 0 found this helpful