SFTP
Overview
Simon empowers you to send data to third-party or owned systems. Customer data can be delivered as simple, comma-separated value (CSV) files. These files are normally received via popular, secure file transfer methods like SFTP or stored inside secure platforms like Amazon S3.
In many platforms, CSV formatted files are common because they are easy to transfer between systems. Simon provides our SFTP and Amazon S3 actions to deliver these commonly formatted files automatically, enabling you to integrate with an even wider array of platforms.
What does this look like in practice?
Imagine your team wants to use a new personalization tool to customize your website to show your most valuable customers a unique experience. However, that tool currently only accepts simple CSV files (i.e. lists of customers with their data).
In Simon, you can:
- Build a segment reflecting this unique audience (e.g. high-value users).
- Build a daily recurring flow using that segment.
- Add an SFTP or S3 channel action to that flow to automatically send over a list of high-valued users to your personalization tool which then updates its record of high-valued customers to modify your website as needed.
Questions? Reach out to your account manager.
Getting Started
Before using our SFTP and S3 channel actions your instance must be properly configured. Depending on your needs, gather the information below and contact your account manager to get started:
- Vendor: Pick the vendor you’ll be sending files to and determine their file type (SFTP or S3).
- Logins: Gather your SFTP or Amazon S3 credentials.
- Location: Find the SFTP host and folder path or S3 bucket name. Contact your vendor for details.
- CSV header details: Find the primary identifier field and any other required fields. Contact your vendor for details.
Available Actions
Parameter | Description |
---|---|
Send File (via SFTP) | Send to any SFTP folder owned by you or a vendor we don't currently integrate with. Contact your account manager to ask about current integrations. |
Send File (via S3) | Send to any Amazon S3 bucket owned by you or a vendor we don't currently integrate with. Contact your account manager to ask about current integrations. |
Send File to Attentive (via SFTP) | Send to Attentive’s SMS platform with less setup required. |
Send File to Dynamic Yield (via S3) | Send to Dynamic Yield’s personalization platform with less setup required. |
Send File to Experian (via SFTP) | Send to Experian with less setup required. |
Send File to LiveRamp (via SFTP) | Send to LiveRamp with less setup required. |
Use the Actions
These actions will write a CSV to the SFTP host or Amazon S3 bucket that has been configured in the Simon account.
Configuration Parameters:
Parameter | Description |
---|---|
File Path and Name | The path and file name that you want to use for the file. |
Fields | The fields that you'd like to include in the file. There are no fields included by default, so all fields need to be specified here. |
The SFTP host or S3 bucket is configured with a home directory. This will be used as the starting point for the path that is provided in the configuration. Since this is not configured within Simon, it is represented in a preview as '[home directory]' under the File Path and Name
field. This preview includes the SFTP host or S3 bucket. The resulting file will be CSVs with quotes around each field.

File Details
Consider using a dynamic file name
If the file name does not contain any dynamic elements it will be the same each time the flow writes and Simon will attempt to overwrite the file each time. If you’d like to write unique files, consider using a dynamic file name to vary the file name each time the file is written. The result may depend on how permissions are set up for the SFTP host.
You can provide a file name that will be unique each time a file is written using dynamic fields with Jinja. You will find some examples below and can learn more about syntax and different options in Custom Context.
Notes
- The file name can only include generic Jinja functions (e.g. date functions)
- You can't access any contact, event, or lookup properties from the file name.
- No extension is automatically added to the file name.
Filename using date and time:
Data | File name | Result |
---|---|---|
Timestamp in the filename | contacts_{{ now() }}.csv | contacts_2020-07-10 14:54:26.013921.csv |
Date in filename | contacts_{{ now() | format_date('MM-dd-YYYY') }}.csv | contacts_07-10-2020.csv |
Date in file path | {{ now() | format_date('MM-dd-YYYY') }}/contacts.csv | 07-10-2020/contacts.csv |
You can configure the fields that you want included in your file. There are no default fields, so all fields need to be configured and you can avoid including e.g. email or other sensitive information. The fields will be written in the order in which they are configured within the flow.
Custom Context
For more information around configuration requirements, please see Custom Context.
Supported Types
Actions | One-time | Triggered | Recurring | Stream |
---|---|---|---|---|
Send File (via SFTP) | ✅ | ✅ | ✅ | ❌ |
Send File (via S3) | ✅ | ✅* | ✅ | ❌ |
Send File to Attentive (via SFTP) | ✅ | ✅* | ✅ | ❌ |
Send File to Dynamic Yield (via S3) | ✅ | ✅* | ✅ | ❌ |
Send File to Dynamic Yield (via S3) | ✅ | ✅* | ✅ | ❌ |
Send File to LiveRamp (via SFTP) | ✅ | ✅* | ✅ | ❌ |
* Not available for event-triggered flows at this point.
Updated about 1 year ago