Sailthru is currently in beta. The info in this guide is subject to change.
This integration is powered by Singer's Sailthru tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
Sailthru integration summary
Stitch’s Sailthru integration replicates data using the Sailthru API. Refer to the Schema section for a list of objects available for replication.
Sailthru feature snapshot
A high-level look at Stitch's Sailthru (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Beta |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Sailthru
Step 1: Retrieve your API key and secret
- Log into your Sailthru account.
- Navigate to the API & Postbacks settings page in My Sailthru.
- Click the lock icon to display your API key and API secret.
- Copy these values and have them readily available for the next step.
Step 2: Add Sailthru as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Sailthru icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Sailthru” would create a schema called
stitch_sailthru
in the destination. Note: Schema names cannot be changed after you save the integration. - In the API Key field, paste the API key you copied from from step 1.
- In the API Secret field, paste the API secret you copied from step 1.
Step 3: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Sailthru integration. This means that:
- For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
- For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.
Change this setting if you want to replicate data beyond Sailthru’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 4: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Sailthru integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 5: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For Sailthru integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up Sailthru, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Sailthru table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Sailthru integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
ad_targeter_plans
Replication Method : |
Full Table |
Primary Key |
plan_id |
API endpoint : |
The ad_targeter_plans
table contains information about Ad Targeter Plans in your Sailthru account.
plan_id
The plan ID. |
list
The list ID |
name
|
schedule
|
blasts
Replication Method : |
Key-based Incremental |
Replication Key |
modify_time |
Primary Key |
blast_id |
API endpoint : |
The blasts
table contains infomation about your specific Sailthru campaigns, or information about campaigns by status types: sent
, sending
, scheduled
, unscheduled
.
blast_id
The blast ID. |
|||||
modify_time
The time the campaign was last modified. |
|||||
copy_template
|
|||||
data_feed_url
|
|||||
email_count
|
|||||
list
The list ID. |
|||||
mode
|
|||||
modify_user
|
|||||
name
|
|||||
schedule_time
|
|||||
sent_count
|
|||||
start_time
|
|||||
stats
|
|||||
status
|
|||||
subject
|
blast_query
Replication Method : |
Full Table |
Primary Key |
blast_id : profile_id |
API endpoint : |
The blast_query
table contains information from blast query jobs in your Sailthru account. This is a child table of blasts
.
blast_id
The blast ID. |
|
profile_id
The profile ID. |
|
click_time
|
|
device
|
|
email_hash
|
|
first_ten_clicks
|
|
first_ten_clicks_time
|
|
purchase_time
|
|
send_time
|
blast_repeats
Replication Method : |
Key-based Incremental |
Replication Key |
modify_time |
Primary Key |
repeat_id |
API endpoint : |
The blast_repeats
table contains information about recurring campaigns in your Sailthru account.
repeat_id
The repeat ID. |
modify_time
The time the recurring campaign was last modified. |
create_time
|
create_user
|
days
|
days_month
|
end_date
|
error_time
|
errors
|
generate_time
|
is_static
|
list
The list ID. |
message_criteria
|
modify_user
|
name
|
previous_blast_id
|
report_email
|
seed_emails
|
send_time
|
start_date
|
status
|
suppress_list
|
template
|
template_id
|
blast_save_list
Replication Method : |
Full Table |
Primary Key |
profile_id |
API endpoint : |
The blast_save_list
table contains a list of users that received a specific campaign from your Sailthru account. This is a child table of lists
.
profile_id
The profile ID. |
clicks
|
domain
|
email_hash
|
email_status
|
engagement
|
first_purchase_time
|
geolocation_city
|
geolocation_country
|
geolocation_state
|
geolocation_zip
|
largest_purchase item_price
|
last_click
|
last_open
|
last_pageview
|
last_purchase_time
|
lifetime_message
|
list_signup
|
lists
The list IDs. |
opens
|
optout_time
|
pageviews
|
profile_created_date
|
purchase_count
|
purchase_incomplete
|
purchase_price
|
signup
|
top_device
|
Replication Method : |
Full Table |
Primary Key |
list_id |
API endpoint : |
The lists
table contains basic information about lists in your Sailthru account.
list_id
The list ID. |
create_time
|
email_count
|
name
|
type
|
valid_count
|
purchase_log
Replication Method : |
Key-based Incremental |
Replication Key |
date |
Primary Key |
channel : email_hash : extid : message_id : price |
API endpoint : |
The purchase_log
table contains a a list of user data in your Sailthru account.
channel
The channel. |
email_hash
The email hash. |
extid
The external ID. |
message_id
The message ID. |
price
The price. |
date
The date list was created |
items
|
quantities
|
unit_prices
|
urls
|
Replication Method : |
Full Table |
Primary Key |
profile_id |
API endpoint : |
The users
table contains user data from your Sailthru account. This is a child table of blast_save_list
.
profile_id
The profile ID. |
cookie
|
email
|
engagement
|
lists
Information about lists. |
optout_email
|
vars
|
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.