Import and extract data in Salesforce Marketing Cloud with File Drop Automations
Note on Data Extensions
This destination only uploads a file to the SFMC server. You are required to manually configure and run an Import Definition for that file.
Hightouch's standard SFMC destination contains its own robust FTP drop that includes the automatic creation of Data Extensions and execution of Import Definitions.
Setup
To get started, you will need your FTP URL, username, and credentials. You can create an FTP user in the Salesforce Marketing Cloud console under Settings > Administration > Data Management > FTP Accounts.
Port 22 will always be used.
Supported authentication methods
Hightouch supports three authentication methods:
- Username + password
- Username + SSH private key
- Username + SSH private key + passphrase
Hightouch supports two formats for the SSH private key:
- OpenSSH
- RSA
Provide the full private key for the user, including the header and footer.
For example:
-----BEGIN OPENSSH PRIVATE KEY-----
<private key body>
<private key body>
<private key body>
-----END OPENSSH PRIVATE KEY-----
Syncing
This destination ignores the concept of additions, changes, removals and sends the full results of your model. For example, if your model returns 1,000 rows, your CSV results file will include 1,000 records.
Enter filename
The filename field lets you specify the parent directory and the name of the file you want to use for your results.
You can include timestamp variables in the filename, surrounding each with {}
.
Hightouch supports these timestamp variables:
YYYY
: Represents the full year in four digits.YY
: The last two digits of the year.MM
: Two-digit month format (01-12).DD
: Two-digit day format (01-31).HH
: Two-digit hour format in 24-hour clock (00-23).mm
: Two-digit minute format (00-59).ss
: Two-digit second format (00-59).ms
: Three-digit millisecond format.X
: Unix timestamp in seconds.x
: Unix timestamp in milliseconds.
All dates and times are UTC.
For example, you could enter upload/{YYYY}-{MM}-{DD}-{HH}-{mm}-result.json
to dynamically include the year, month, date, hour, and minute in each uploaded file. Hightouch would insert each file in the upload
directory, which would need to already exist in your bucket.
If a file already exists at the path you entered at the time of a sync, Hightouch overwrites it.
Set filename offset
By default, Hightouch uses the timestamp of the sync run to fill in timestamp variables. You can optionally include an offset in seconds. For example, if you want the filename's date to be 24 hours before the sync takes place, enter '-86400' (24 hours * 60 minutes * 60 seconds
).
Columns to sync
You can export all columns exactly as your model returns them or choose to export specific ones.
If you map certain fields, Hightouch only syncs the fields you explicitly map.
Format and encoding
The synced file will include a CSV header.
By default, the file will be saved in ASCII encoding. If there are any non-ASCII characters in your results, the file will be saved with utf-8 encoding.
The file will not contain a Byte Order Mark (BOM).
Other considerations
You must ensure that the file that you transmit is processed from the folder before the next sync runs, or else it will be overwritten with the next sync that uses the same filename.