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

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-sailthru

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

  1. Log into your Sailthru account.
  2. Navigate to the API & Postbacks settings page in My Sailthru.
  3. Click the lock icon to display your API key and API secret.
  4. Copy these values and have them readily available for the next step.

Step 2: Add Sailthru as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Sailthru icon.

  4. 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.

  5. In the API Key field, paste the API key you copied from from step 1.
  6. 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 data equal to or newer than this date will be replicated to your data warehouse.

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:

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:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. 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.

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

ad_targeter_plans

The ad_targeter_plans table contains information about Ad Targeter Plans in your Sailthru account.

Replication Method

Full Table

Primary Key

plan_id

Useful links

Sailthru documentation

ad_targeter_plans schema on GitHub

Sailthru API method

Join ad_targeter_plans with on
lists
ad_targeter_plans.list = lists.list_id
blast_save_list
ad_targeter_plans.list = blast_save_list.lists
users
ad_targeter_plans.list = users.lists
blasts
ad_targeter_plans.list = blasts.list
blast_repeats
ad_targeter_plans.list = blast_repeats.list

list

STRING

name

STRING

plan_id

STRING

schedule

ARRAY

blast_query

The blast_query table contains information from blast query jobs in your Sailthru account. This is a child table of blasts.

Replication Method

Full Table

Primary Keys

blast_id

profile_id

Useful links

blast_query schema on GitHub

Sailthru API method

Join blast_query with on
blasts
blast_query.blast_id = blasts.blast_id

blast_id

INTEGER

click_time

DATE-TIME

device

STRING

email_hash

STRING

first_ten_clicks

ARRAY

first_ten_clicks_time

ARRAY

open_time

DATE-TIME

profile_id

STRING

purchase_time

DATE-TIME

send_time

DATE-TIME

blast_repeats

The blast_repeats table contains information about recurring campaigns in your Sailthru account.

Replication Method

Key-based Incremental

Primary Key

repeat_id

Replication Key

modify_time

Useful links

blast_repeats schema on GitHub

Sailthru API method

Join blast_repeats with on
lists
blast_repeats.list = lists.list_id
ad_targeter_plans
blast_repeats.list = ad_targeter_plans.list
blast_save_list
blast_repeats.list = blast_save_list.lists
users
blast_repeats.list = users.lists
blasts
blast_repeats.list = blasts.list

create_time

DATE-TIME

create_user

STRING

days

ARRAY

days_month

ARRAY

end_date

DATE-TIME

error_time

DATE-TIME

errors

ARRAY

generate_time

INTEGER

is_static

BOOLEAN

list

STRING

message_criteria

STRING

modify_time

DATE-TIME

modify_user

STRING

name

STRING

previous_blast_id

INTEGER

repeat_id

STRING

report_email

STRING

seed_emails

STRING

send_time

STRING

start_date

DATE-TIME

status

STRING

suppress_list

STRING

template

STRING

template_id

INTEGER

blast_save_list

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.

Replication Method

Full Table

Primary Key

profile_id

Useful links

blast_save_list schema on GitHub

Sailthru API method

Join blast_save_list with on
lists
blast_save_list.lists = lists.list_id
ad_targeter_plans
blast_save_list.lists = ad_targeter_plans.list
users
blast_save_list.lists = users.lists
blasts
blast_save_list.lists = blasts.list
blast_repeats
blast_save_list.lists = blast_repeats.list

clicks

STRING

domain

STRING

email_hash

STRING

email_status

STRING

engagement

STRING

first_purchase_time

DATE-TIME

geolocation_city

STRING

geolocation_country

STRING

geolocation_state

STRING

geolocation_zip

STRING

largest_purchase_item_price

STRING

last_click

STRING

last_open

STRING

last_pageview

STRING

last_purchase_time

DATE-TIME

lifetime_message

STRING

list_signup

STRING

lists

STRING

opens

STRING

optout_time

DATE-TIME

pageviews

STRING

profile_created_date

DATE-TIME

profile_id

STRING

purchase_count

STRING

purchase_incomplete

STRING

purchase_price

STRING

signup

STRING

top_device

STRING

blasts

The blasts table contains infomation about your specific Sailthru campaigns, or information about campaigns by status types: sent, sending, scheduled, unscheduled.

Replication Method

Key-based Incremental

Primary Key

blast_id

Replication Key

modify_time

Useful links

blasts schema on GitHub

Sailthru API method

Join blasts with on
lists
blasts.list = lists.list_id
ad_targeter_plans
blasts.list = ad_targeter_plans.list
blast_save_list
blasts.list = blast_save_list.lists
users
blasts.list = users.lists
blast_repeats
blasts.list = blast_repeats.list
blast_query
blasts.blast_id = blast_query.blast_id

blast_id

INTEGER

copy_template

STRING

data_feed_url

STRING

email_count

INTEGER

list

STRING

mode

STRING

modify_time

DATE-TIME

modify_user

STRING

name

STRING

schedule_time

DATE-TIME

sent_count

INTEGER

start_time

DATE-TIME

stats

OBJECT

total

OBJECT

beacon_noclick

INTEGER

count

INTEGER

open_total

INTEGER

pv

INTEGER

status

STRING

subject

STRING

lists

The lists table contains basic information about lists in your Sailthru account.

Replication Method

Full Table

Primary Key

list_id

Useful links

Sailthru documentation

lists schema on GitHub

Sailthru API method

Join lists with on
ad_targeter_plans
lists.list_id = ad_targeter_plans.list
blast_save_list
lists.list_id = blast_save_list.lists
users
lists.list_id = users.lists
blasts
lists.list_id = blasts.list
blast_repeats
lists.list_id = blast_repeats.list

create_time

DATE-TIME

email_count

INTEGER

list_id

STRING

name

STRING

type

STRING

valid_count

INTEGER

purchase_log

The purchase_log table contains a a list of user data in your Sailthru account.

Replication Method

Key-based Incremental

Primary Keys

channel

email_hash

extid

message_id

price

Replication Key

date

Useful links

purchase_log schema on GitHub

Sailthru API method

channel

STRING

date

DATE-TIME

email_hash

STRING

extid

STRING

items

STRING

message_id

STRING

price

STRING

quantities

STRING

unit_prices

STRING

urls

STRING

users

The users table contains user data from your Sailthru account. This is a child table of blast_save_list.

Replication Method

Full Table

Primary Key

profile_id

Useful links

users schema on GitHub

Sailthru API method

Join users with on
lists
users.lists = lists.list_id
ad_targeter_plans
users.lists = ad_targeter_plans.list
blast_save_list
users.lists = blast_save_list.lists
blasts
users.lists = blasts.list
blast_repeats
users.lists = blast_repeats.list

cookie

STRING

email

STRING

engagement

STRING

lists

ARRAY

optout_email

STRING

profile_id

STRING

vars

STRING


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.