Skip to main content
All CollectionsIntegrationsPeople Integration
People Integration: CSV-over-SFTP
People Integration: CSV-over-SFTP

Learn how to load your employee data as CSV over SFTP.

Chris Ramlow avatar
Written by Chris Ramlow
Updated over a week ago

Scenario

You want to load your employee data into your instance of PlusPlus, and integrating through a direct API is not a viable option.

Solution

Use CSV-over-SFTP for people integration. This option allows you to set up a daily job to export your people data in the CSV format and securely upload it to PlusPlus over SFTP.

  1. Contact your Customer Success Manager to request the CSV-over-SFTP option, as this is currently not offered as a self-serve admin action.

  2. Connect your Customer Success Manager to the team/person configuring this on your end.

  3. The Customer Success Manager securely provides the connection information and access credentials to our SFTP repository.
    We support username/password as well as key-based authentication methods, so let us know which you prefer.

  4. Create a daily automated job to export your employee details from your HRIS system into a single CSV file. Go deeper to learn more about the CSV file format.
    This job uploads the file to our SFTP repository with the supplied credentials, while using the following naming convention: uploads/hr_reports/people_report_YYYY-MM-DD.csv (for example, uploads/hr_reports/people_report_2020-02-08.csv). The file path is case-sensitive and that the date format must be in the date format YYYY-MM-DD.

  5. We pick up the file on daily basis and load the employee data into the platform.

Go deeper

CSV File Format

  • The file must include a header row with the following case-sensitive column names:

    • Full Name

    • Email

    • Employee ID

    • Department

    • Title

    • Hire Date

    • Manager’s email

    • Picture URL

    • Location

    • Termination Date

  • Only the Full Name and Email fields need to contain valid values. Other fields are optional and can be left empty (though this will limit certain features on the platform).

  • You can add more columns to the right of the required ones. The data in these columns can be added to the Custom Fields configuration in PlusPlus. These fields are not visible on the user profile but could be used as input to any rules you define for automated rules, such as group assignments, track assignments, and event enrollments.

  • All values should be quoted using the double quotes (") character.

  • All columns must be separated using the comma (",") character.

  • Where necessary, data must be escaped using the backslash ("\") character.

  • All rows must be separated using the carriage-return followed by the line-feed characters ("\r\n").

  • The entire file should be encoded as UTF-8. If it's not, please let us know which file encoding you want to use, so that we can validate that we can support it (for example, ISO-8859-1).

  • You can grab the template here: https://2pl.us/people-integration-csv

Mapping Attributes

If you need more flexibility in your CSV layout you can change the expected column names and add your additional Custom Fields.

See the discussion about mapping attributes when configuring SCIM to understand what attributes must be mapped and how to use JMESPath expressions to perform the mappings.

PGP data decryption

You have the option to encrypt data using PGP in the CSV file for people integration. You must first enable the setting at Settings > Integrations > People > SFTP > Enable PGP decryption.

When you save this setting, the PGP Recipient and PGP Public Key values automatically populate. Add the public key to your local keyring and use it together with the recipient to encrypt files.

You can then encrypt the CSV data using a PGP client tool and. The rest of the workflow described above works the same way except that when we receive the files, we will first attempt to decrypt them.

You can disable PGP decryption at any time.

Validating the integration

Utilizing People Integration Syncs Dashboard for PI Testing:

Please see this section of the People Integration Syncs Dashboard to run a dry run of the People Integration process. This will fetch data from your uploaded file and allow you to see what changes would be made based on your current configuration.

Important: You will have to re-upload a file after every run as the process consumes the file from the SFTP. It's fine to generate a file with only a single row for testing purposes - this file would represent updates or creation of a single new user.

When making changes be sure to request a dry run and inspect the results before your next scheduled sync. You can see the number of users affected, check for errors, the raw payload extracted from your file for a given user and inspect the actual changed values on affected users without persisting those change for now.

See also

Did this answer your question?