# SFTP Import Integration for Advocate Programs

The SFTP integration allows you to securely provide impact.com with data for your Advocate program in bulk. You can send us a list of participants to add or delete or provide a list of rewards to redeem.

{% stepper %}
{% step %}

### Enable the integration

1. In your impact.com account, from the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] →** [**Settings**](https://app.impact.com/secure/advertiser/account-settings-flow.ihtml?).
2. Under *Advocate Settings*, select **Integrations**.
3. On the *SFTP Import Integration* card, select **+ \[Add]** to expand the integration's settings.
4. Select **Enable SFTP Import Integration**.
   {% endstep %}

{% step %}

### Generate an SSH key

An SSH key is used to authenticate the integration. Both `RSA` and `ED25519` SSH keys are accepted. In these steps we will walk through generating an `ED25519` SSH key using your terminal.

1. Open your terminal.
2. Enter `$ ssh-keygen -t ed25519`.
3. Choose a location in which to save the file, or press **enter** to use the default location. Be careful not to overwrite any existing SSH keys that you may have stored in the default location.

{% hint style="warning" %}
**Important:** Do not enter a passphrase when prompted to “Enter passphrase (empty for no passphrase)”. Instead, press **Enter** to skip this command and then press **Enter** again to confirm.
{% endhint %}

4. **Result**: Two files are created: a private key and a public key. The public key has the file extension `.pub`.
5. In your impact.com account, from the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] →** [**Settings**](https://app.impact.com/secure/advertiser/account-settings-flow.ihtml?).
6. Under *Advocate Settings*, select **Integrations**.
7. Expand the **SFTP Import Integration** card and enter the public key in the **Public Key** text box.
8. Select **Save**.
   {% endstep %}

{% step %}

### Connect to the SFTP server

Now that you have saved the public half of your SSH key, you'll be able to connect to the Advocate-managed SFTP server.

1. On the SFTP Import Integration card, expand the *Connect to SFTP Server* section.
2. Take note of the host and username information.
3. Authenticate using your private key.
   {% endstep %}

{% step %}

### Upload import files

Once you have made a connection to the Advocate-managed SFTP server, you can use the SFTP server to import data into your Advocate program.

The files must be prefixed with the type of data that the import file contains. Refer to the *Supported file names* section in the integration's settings to view the supported import types and the corresponding file prefixes. You can also download example import files from this section.

{% hint style="success" %}
**Note:** The maximum file size for a data import is 100 MB.
{% endhint %}
{% endstep %}

{% step %}

### Check the status of your import

After uploading a file to the SFTP server, you can check its status from the *File upload history* section. If the status is *Import Job Created*, then the file was successfully uploaded. If the status is *Upload failed*, then you can hover over the error message to read the full text.

Uploaded files may take up to 30 minutes to process. To check whether an import job is complete:

1. In your impact.com account, from the left navigation menu, select ![](/files/v79QYnijax9BzXLBUhKi) **Engage → Reporting → Imports & Exports**.
2. Locate your import in the *Imports & Exports* table.
   {% endstep %}
   {% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/integration-guides/for-brands/advocate/advocate-tracking-integrations/sftp-import-integration-for-advocate-programs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
