Import user profiles

You can import user profiles from the ReachFive Console. The instructions below guide you step-by-step in importing your users. The visual below shows you a high-level flow of the process.

I just want to see a video

Skip ahead to a short video tutorial that shows you how to configure an import job using a csv file on a SFTP server.

import jobs user flow

Import users from the console

Follow the instructions below to import user profiles from the ReachFive Console.

Not all User Profile Object fields can be imported. See the table on the User Profile data model page to see which profiles can be imported.


  • You must have access to the ReachFive Console.

  • You must have a Developer, Manager, or Administrator role.

  • You must have the Import Jobs feature enabled.

  • Unless you choose the Force data update from file option, the following applies to importing user profiles:

    • Updating existing user: The updated_at value in the import file must be more recent than the existing profile.

    • Importing new user: The updated_at value is not mandatory.


The instructions below apply to both creating and editing an import job definition.

If editing an existing import job, be sure to select the edit icon instead of creating a new definition.
  1. Go to Settings  Import definitions.

  2. Select New definition.

  3. Under General, give the import job a name and description. Don’t forget to Enable the job.

  4. Under Source, choose the protocol you wish to use to import the file.

    • SFTP

    • S3

    • GCS

    1. Specify the Server host for the secure FTP site.

    2. Specify the Server port.

    3. Under Authentication method, choose the authentication method type:

      Username and password:

      1. Enter the Username for the server.

      2. Enter the Password for the server.


      1. Enter the Username for the server.

      2. Enter the OpenSSH private key.

    1. Specify the Path where the import file is located.

      For example


    2. If you are importing files with additional encryption:

      • Select Encrypt.

      • Enter your password that is used as part of the encryption.

      • Specify the number of PBKDF2 iterations you used.

        PBKDF2 encryption command
        openssl aes-256-cbc -salt -pbkdf2 -iter 10000 -in file_to_import -out file_to_import.enc

        See encrypting an import file for more details.

    1. Specify the URL for the S3 bucket.

    2. Specify the name Bucket.

    3. Enter the Region for the server.

    4. Enter the Access key for AWS.

    5. Enter the Secret key for AWS.

    6. Specify the Path where the import file is located.

      For example


    1. Specify the Project ID for the Google Cloud Storage.

    2. Specify the App name.

    3. Enter the User name for the server.

    4. Specify the name Bucket.

    5. Enter the Credentials in JSON format.

    6. Specify the Path where the import file is located.

      For example


  1. Under Schedule, if desired, use a cron expression for scheduling the job.

  2. Under File format, select the file format type you wish to import. This will be either JSON or CSV.

    • JSON

    • CSV

    Choose the Encoding standard for your JSON file.

      "external_id": "1",
      "email": ""
    } \n (1)
      "email": "",
      "name": "Joe",
      "gender": "M",
      "custom_fields": { (2)
          "has_loyalty_card": true
      "consents": { (3)
        "exampleConsent": {
          "date": "2021-11-23T11:42:40.858Z",
          "consent_version": {
            "language": "fr",
            "version_id": 1
          "granted": true,
          "consent_type": "opt-in",
          "reporter": "managed"
    1 Each profile must separated by a line feed character (\n).
    2 Import custom_fields as an object containing a series of fields.
    3 Import consents as an object or as a flattened field with the format consents.<consent>.<parameter> shown below.
      "": "2021-09-03T19:08:01Z",
      "consents.cgu.granted": true,
      "consents.cgu.consent_version.version_id": 2,
      "consents.cgu.consent_version.language": "fr",
      "consents.cgu.consent_type": "opt-in",
      "consents.cgu.reporter": "managed"
    1. Choose the Encoding standard for your CSV file.

    2. Enter your Delimiter. The default is ;.

    3. Enter your Quote char. The default is ".

    4. Enter your Escape character. The default is \.

  1. If desired, enable the End Job Notification Webhook.

    For more information on the webhook, see the End Job Notification Webhook page.
  2. Under Advanced:

    1. Select Import/Update for the Type.

      For the Delete type, see Delete user profiles in bulk.

    2. If desired, select Testing mode.

      import profiles test mode

      When you import profiles in Testing mode, ReachFive tests:

      • access to the server

      • access to the import file

      • whether the the import file content is valid

      Testing mode does not handle database modifications.
    3. If importing Lite profiles only, select Lite profile only.

      When you import Lite profiles only, you are not importing the fully managed profiles, but rather those lite profiles that registered with your site. You have to import Lite profiles separately from managed profiles.

    4. If you want to force an update from file, select Force data update from file.

      If there are fields with values in the current ReachFive profile that are not in the import, these fields retain their current value. However, all fields with values replace the existing fields in ReachFive.

Delete existing fields

If you want to delete an existing field, you need to pass a null value as part of the import file.

  • The updated_at value of the import file must be more recent than the existing profile.

  • Currently, you cannot delete addresses.

  • JSON

  • CSV

  "updated_at": "2021-06-04T14:16:34.658Z",
  "email": "",
  "name": "Joe",
  "family_name": null, (1)
  "gender": "M",
  "identities": [ { "provider": "facebook", "user_id": "123" } ]
1 Pass null to delete the existing family_name field.
1,2021-06-04T14:16:34.658Z,,,,,,,,Joe,__null__,M,facebook,123 (1)
1 Pass __null__ to delete the existing family_name field.

Video tutorial