Overview
SFTP User Sync is an automated user provisioning feature that keeps employee information in Talos Perform synchronized with your HR system. Instead of manually updating employee profiles, manager relationships, and organizational changes, you can automate an upload a CSV file to our SFTP server with employee data, and Talos Perform will automatically update user accounts.
Who Should Use This Feature
You should not use this feature if you're HRIS is supported by one of our native HRIS syncs. Instead follow this guide on setting up a native HRIS sync.
SFTP User Sync is ideal for organizations that:
Use an HR Information System (HRIS) that can export employee data to CSV format
Have an internal IT team with the required skills to automate the publishing of the CSV to the SFTP server
Key Benefits
Time Savings: Automate updates so that no manual input is needed
Data Accuracy: Single source of truth from your HRIS
Automatic Onboarding: New employees are created in Talos Perform automatically
Manager Sync: Manager relationships stay current with org changes
Audit Trail: Every sync is logged with detailed results
How It Works - The Big Picture
The SFTP user sync process follows these steps:
Export from HR System: Your HRIS (or IT team) periodically exports employee data to a CSV file
Upload File: Your IT team automatically uploads the CSV file to a secure SFTP server that Talos Perform monitors
Validate Data: Talos Perform checks the file for required fields, duplicates, and formatting issues
Process Updates: Valid user records are created or updated in Talos Perform
Send Notifications: Administrators receive an email summary of the sync results
When Syncs Happen
This is up to you, but we recommend scheduled daily syncs.
Some organisations only update their HRIS data once a week, so you can also sync weekly if preferred.
CSV File Requirements
Required Columns
Your CSV file must include these five columns with exact header names:
Column Name | Description | Example | Notes |
| Unique identifier for each employee |
| Must be unique across all employees that does not change. Usually the unique ID from your HRIS. Note this is often different than an employee ID. |
| Employee's work email address | Used for login and notifications. Must be unique. | |
| Employee's first name |
| Required for all users. |
| Employee's last name |
| Required for all users. |
| Whether the employee is active |
| Use |
Important: Column names are case-sensitive. Email will work, but email or EMAIL will not.
Optional Columns
You can include these optional columns to sync additional information:
Column Name | Description | Example | When to Use |
| Visible employee ID |
| Employee ID separate from UniqueId |
| Job title |
| To show job titles in profiles |
| Direct manager's email | To set up manager relationships (see Manager Relationships section) | |
| Direct manager's employee ID |
| Alternative way to reference managers |
| Matrix manager's email | For matrix/dotted-line reporting | |
| Matrix manager's employee ID |
| Alternative way to reference second manager |
| Sign-off manager's email | For review sign-off workflows | |
| Sign-off manager's employee ID |
| Alternative way to reference sign-off manager |
| User's preferred language |
| For multilingual organizations (e.g., |
| Custom text fields |
| Organization-specific fields you've configured |
| Custom date fields |
| For dates like hire date or anniversary |
Manager Relationships Explained
Manager relationships are how Talos Perform knows who reports to whom. You have two ways to reference managers:
Option 1: Manager Email (Recommended)
Use LineManagerEmail with the manager's email address. Talos Perform will find the matching user account.
Example:
UniqueId,Email,FirstName,LastName,Active,LineManagerEmail E12345,jane.smith@company.com,Jane,Smith,true,john.doe@company.com
Best For: When email addresses are stable and unique in your organization.
Option 2: Manager Employee ID
Use LineManagerEmployeeIdString with the manager's employee ID. Talos Perform will match this to the EmployeeIdString field of the manager's user account.
Example:
UniqueId,Email,FirstName,LastName,Active,EmployeeIdString,LineManagerEmployeeIdString E12345,jane.smith@company.com,Jane,Smith,true,EMP-12345,EMP-67890 E67890,john.doe@company.com,John,Doe,true,EMP-67890,
Best For: When you want to reference managers by a stable ID independent of email changes.
What Happens with Blank Manager Fields
If you leave both LineManagerEmail and LineManagerEmployeeIdString blank for a user:
The user will be marked as "Not Appraised" (no direct manager)
This is common for executives and board members
The same logic applies to SecondManager and SSO (sign-off) manager fields.
Preparing Your CSV File
CSV Format Requirements
Your file should follow these guidelines:
File format: Standard CSV (Comma-Separated Values)
First row: Column headers with exact names from the tables above
Column order: Any order is fine, as long as headers match
Text encoding: UTF-8 recommended (but most encodings work)
File naming: Any name ending in
.csv
Example CSV Structure
Here's what a complete CSV file looks like:
UniqueId,Email,FirstName,LastName,Active,EmployeeIdString,Position,LineManagerEmail,Language E12345,jane.smith@company.com,Jane,Smith,true,EMP-12345,Senior Engineer,john.doe@company.com,en-gb E67890,john.doe@company.com,John,Doe,true,EMP-67890,Engineering Manager,sarah.jones@company.com,en-gb E54321,sarah.jones@company.com,Sarah,Jones,true,EMP-54321,VP Engineering,,en-us E99999,bob.wilson@company.com,Bob,Wilson,false,EMP-99999,Consultant,john.doe@company.com,en-gb
Notes:
Jane reports to John (via
LineManagerEmail)John reports to Sarah
Sarah has no manager (blank field means she's at the top of the hierarchy)
Bob is inactive (
Active=false)
Setting Up File Upload
Once your CSV file is ready, it needs to be uploaded to a location where Talos Perform can access it.
Your IT Team's Role
Your IT team will need to set up the file upload process. This typically involves:
Get Connection Details: Contact your CSM or Talos Perform support (support@appraisd.com) to receive secure upload credentials
Configure Upload: Set up automated upload from your HRIS or file server
Test Connection: Upload a test file to verify the connection works
Schedule Regular Uploads: Configure weekly uploads if using scheduled sync
What Talos Perform Provides
Talos Perform will provide your IT team with:
A sandbox account to test the integration
Secure connection credentials for file upload
Technical documentation for setup
Support during initial configuration
Your Role as HRBP
As the HR Business Partner, you will:
Coordinate between your IT team and Talos Perform support
Validate that the CSV export includes the correct data
Test the sync with a small group of users first
Monitor sync results and address any data quality issues
Multiple SFTP Integrations
If you need to sync users from multiple HRISs via SFTP, we can support this. You will need to each upload a CSV file to its own SFTP folder (e.g. one per HRIS). Each file is processed independently - users in one file are not affected by the other file. The field definitions below apply identically to both files.
Important: Each user should appear in only one of the two files. If the same person appears in both files with different unique IDs, they will be created as two separate Talos Perform users. Coordinate across both source systems to avoid duplicates.
Manager references (linemanageremail, linemanageremployeeidstring, etc.) can resolve across both files, since they are matched against all users in Talos Perform - not just the current file. However, because files are processed at different scheduled times, a manager must already exist in Talos Perform when the referencing file is processed. Recommend scheduling the file that contains managers to run first.
What Gets Updated vs. What Doesn't
Always Updated:
Name (first name, last name)
Email address
Active status
Position/job title
Manager relationships
Custom fields included in the CSV
Never Updated (Preserved):
User's password
Manually set permissions and admin groups
Historical performance data
Completed reviews and feedback
User preferences (unless Language is in CSV)
Notification Emails
After each sync completes, administrators listed in the configuration receive an email with:
Subject Line: "User Provisioning Sync Completed" or "User Provisioning Sync Failed"
Summary: Number of users created, updated, and any errors
Link: Direct link to view detailed logs
(If configured) New users who are created will also receive:
Welcome email to Talos Perform
Login link to set up their account
Your custom instructions for getting started
Common Validation Errors
When a sync encounters problems, you'll see error codes in the run logs. Here's what they mean and how to fix them:
Required Field Errors
Error Code | What It Means | How to Fix |
| First name field is blank or missing | Ensure every row has a first name value |
| Last name field is blank or missing | Ensure every row has a last name value |
| Email field is blank or missing | Ensure every row has a valid email address |
| UniqueId field is blank or missing | Ensure every row has a unique identifier |
Fix: Check your HRIS export to ensure these fields are populated for all active employees.
Duplicate Entry Errors
Error Code | What It Means | How to Fix |
| Same email appears multiple times in the CSV | Remove duplicate rows or fix email addresses so each is unique |
| Same UniqueId appears multiple times in the CSV | Ensure each employee has a unique identifier |
| Same EmployeeIdString appears multiple times | Check for duplicate employee IDs in your HRIS |
Fix: Review your CSV file for duplicate entries. This often happens when an employee is listed in multiple departments or has multiple roles.
Format Errors
Error Code | What It Means | How to Fix |
| Language code doesn't match available options | Use valid language codes like |
| Date in CustomDateTime1 field can't be parsed | Use standard date format like |
| Date in CustomDateTime2 field can't be parsed | Use standard date format like |
Fix: Standardize date formats in your export. ISO format (YYYY-MM-DD) is most reliable.
Manager Reference Errors
Error Code | What It Means | How to Fix |
| Manager email or employee ID doesn't match any user | Verify the manager exists in the CSV file with correct email/ID. Manager records should be processed before employee records. |
| The manager referenced has validation errors | Fix the manager's record first, then re-run sync |
| Second manager's email doesn't match any user | Verify second manager exists with correct email |
| Second manager's employee ID doesn't match any user | Verify second manager exists with correct employee ID |
| Sign-off manager's email doesn't match any user | Verify sign-off manager exists with correct email |
| Sign-off manager's employee ID doesn't match any user | Verify sign-off manager exists with correct employee ID |
Fix: Ensure that managers appear in the CSV file before (or in the same file as) the employees who report to them. Check for typos in email addresses or employee IDs.
Organisation Errors
Error Code | What It Means | How to Fix |
| This email address already exists in a different Talos Perform organisation | Contact Talos Perform support - this indicates a data integrity issue |
| This email is already assigned to a different user in your organisation | Resolve the duplicate email in your organization or use a different email |
| This user is managed by a different integration (e.g., BambooHR) | Disable other integrations or ensure only one integration manages this user |
Fix: Contact Talos Perform support for cross-organization issues. For same-firm duplicates, check your user list and resolve the conflict.
Field Length Errors
Error Code | What It Means | How to Fix |
| Custom field value exceeds maximum length | Trim the text to fit within the character limit (typically 255 characters) |
Fix: Shorten the values in your CSV export or ask Talos Perform support about field length limits.
Scheduling and Running Syncs
Daily Automated Sync (Recommended)
For most organizations, a daily scheduled sync is the best approach:
How to Set Up:
Speak with your Customer Success Manager who can schedule this for you.
Manual On-Demand Sync
For some situations, you may want to run a manual sync:
When to Use Manual Sync:
Initial setup and testing
Urgent updates that can't wait for daily sync
After fixing data quality issues
How to Run a Manual Sync:
Prepare your CSV file with updated data
Upload the file to the designated location
In Talos Perform, go to Configuration → User Provisioning
Click Run Sync Now
Monitor the notification email for results
Best Practices
Data Quality Tips
Keep Your HRIS Clean:
Ensure employee records are complete before exporting
Regularly audit for duplicate emails or employee IDs
Update manager relationships promptly when org changes occur
Consistent Formatting:
Use the same date format across all date fields
Keep email addresses lowercase for consistency
Use consistent language codes
Test Before Production:
Validate manager relationships in the sandbox environment
Check for edge cases (employees with no manager, matrix reporting)
Frequently Asked Questions
General Questions
Q: What happens if the same email address already exists in Talos Perform?
A: If the email matches an existing user in your organization, that user's information will be updated with the new data from the CSV. If the email exists in a different organization, you'll receive an error (emailinanotherfirm) and should contact Talos Perform support.
Q: How do we deactivate users who have left the company?
A: Set their Active field to false in your CSV file. They will remain in Talos Perform for historical reporting purposes but they won't be able to log in.
Q: Can we test the sync without affecting real users?
A: Yes, use should use the sandbox provided. If you don't have one, contact Talos Perform support about setting it up for you. Please note it can take up to 3 working days to create sandbox accounts.
Q: What if our HRIS doesn't export to CSV?
A: Most modern HRIS systems can export to CSV or Excel (which can be saved as CSV). If yours cannot, you may need:
A middleware tool to convert your HRIS export format
Custom scripting by your IT team
An API-based integration (contact Talos Perform for options)
Q: How long does a sync take?
A: Sync time depends on the number of users:
100 users: ~2-5 minutes
500 users: ~5-10 minutes
1,000+ users: ~10-20 minutes
Manager Relationships
Q: What happens if a manager isn't in the CSV file yet?
A: You'll receive an error (defaultappraiserdoesnotexist). The employee will be created/updated, but their manager relationship won't be set. Fix this by ensuring managers are included in the CSV or run a second sync after the manager is created.
Q: Can an employee have multiple managers?
A: Yes, Talos Perform supports:
Direct Manager (
LineManagerfields)Matrix Manager (
SecondManagerfields)Sign-off Manager (
SSOfields)
Include the appropriate columns in your CSV to set up these relationships.
Data and Security
Q: Is the file transfer secure?
A: Yes, files are uploaded using secure protocols and stored in encrypted cloud storage. Only authorized Talos Perform systems can access the files.
Q: What happens to the CSV file after it's processed?
A: The file is processed and then archived for audit purposes. It's stored securely and is not accessible outside of Talos Perform's systems.
Q: Can we see what changed in each sync?
A: Yes, detailed logs are available in Talos Perform under Configuration → User Provisioning → Run Logs. These show which users were created, updated, and any errors that occurred.
Advanced Use Cases
Q: Can we sync users from multiple HR systems?
A: If you have multiple systems, create a single consolidated CSV file. I that's not possible, contact Talos Perform support before for information on how to manage this use case.
Q: Do custom fields need to be set up in Talos Perform first?
A: Yes, Custom1 through Custom6 fields should be configured in your Talos Perform settings with appropriate labels before including them in your CSV.
Q: Can we control which users receive admin permissions through the CSV?
A: No, admin permissions and admin groups are managed separately in Talos Perform and are not overwritten by the sync. This is a security measure to prevent accidental privilege escalation.
Information to Provide When Seeking Help from Talos Perform
When contacting our support team include:
Your organisation name in Talos Perform
Date and time of the sync
Number of users in the CSV file
Error messages (exact text or screenshots)
Sample CSV rows (with sensitive data removed)
What you've already tried to fix the issue
Expected behaviour vs. what actually happened
