Autopilot integration summary

Stitch’s Autopilot integration replicates data using the Autopilot REST API . Refer to the Schema section for a list of objects available for replication.

Autopilot feature snapshot

A high-level look at Stitch's Autopilot integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Released

Supported By

Singer Community

Stitch Plan

Free

Singer GitHub Repository

Autopilot Repository

DATA SELECTION
Table Selection

Unsupported

Column Selection

Unsupported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Autopilot

Step 1: Retrieve your Autopilot API Key

  1. Sign into your Autopilot account.
  2. Click the gear (Settings) icon on the left side of the page.
  3. In the Settings menu, click Autopilot API.
  4. If you haven’t used the API before, you’ll need to generate a new key. Click the Generate button.
  5. Your API Key will display.

Make sure you keep this key safe, as it has access to your Autopilot account. If at any time your key is lost or compromised, you can click the Regenerate button to generate a new key. Remember to also update the key in Stitch or you’ll encounter connection issues.

Step 2: Add Autopilot 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 Autopilot 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 Autopilot” would create a schema called stitch_autopilot in the destination. Note: Schema names cannot be changed after you save the integration.

Step 3: Define the historical sync

The Sync Historical Data setting will define the starting date for your Autopilot integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • 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 data warehouse.

Change this setting if you want to replicate data beyond Autopilot’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.

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

Initial and historical replication jobs

After you finish setting up Autopilot, 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.


Autopilot table schemas

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

contact_id

API endpoint :

getAllContacts

The contacts table contains info about the contacts in your Autopilot account.

Any custom fields associated with contacts will also be replicated.

contact_id
STRING

The contact ID.

Reference:

updated_at
DATE-TIME

The time the contact was last updated.

name
STRING

The name of the contact.

first_name
STRING

The first name of the contact.

last_name
STRING

The last name of the contact.

company
STRING

The company of the contact.

company_priority
BOOLEAN

Indicates the contact’s company priority.

email
STRING

The email address of the contact.

lead_source
STRING

The lead source of the contact.

mailing_country
STRING

The mailing country of the contact.

mailing_state
STRING

The mailing state of the contact.

phone
STRING

The phone number associated with the contact.

status
STRING

The status of the contact.

salutation
STRING

The salutation of the contact. Ex: Mr.

anywhere_page_visits
ARRAY

Details about the contact’s page visits.

url
STRING

The URL associated with the page visit.

contacts (table), anywhere_page_visits (attribute)

anywhere_utm
ARRAY

Details about the UTM parameters associated with the contact’s page visits.

url
STRING

The UTM parameter and value associated with the page visit.

contacts (table), anywhere_utm (attribute)

mail_opened
ARRAY

Details about the emails opened by the contact.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email was opened by the contact.

contacts (table), mail_opened (attribute)

mail_received
ARRAY

Details about the emails received by the contact.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email was received by the contact.

contacts (table), mail_received (attribute)

mail_bounced
ARRAY

Details about the emails sent to the contact that have bounced.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email bounced.

contacts (table), mail_bounced (attribute)

mail_hardbounced
ARRAY

Details about the emails sent to the contact that have hardbounced.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email hardbounced.

contacts (table), mail_hardbounced (attribute)

mail_clicked
ARRAY

Details about the emails clicked by the contact.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email was clicked by the contact.

contacts (table), mail_clicked (attribute)

mail_complained
ARRAY

Details about the emails the contact reported as spam.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the contact reported the email as spam.

contacts (table), mail_complained (attribute)

twitter
STRING

The Twitter handle associated with the contact.

mail_unsubscribed
ARRAY

Details about the emails the contact has unsubscribed from.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the contact unsubscribed.

contacts (table), mail_unsubscribed (attribute)

created_at
DATE-TIME

The time the contact was created.

first_conversion_at
DATE-TIME

The time the contact first converted.

first_visit_at
DATE-TIME

The time of the contact’s first visit.

lists
ARRAY

The IDs of the lists that the contact belongs to.

value
STRING

The ID of the contact list.

Reference:

contacts (table), lists (attribute)

Replication Method :

Full Table

Primary Key :

list_id

API endpoint :

getListofLists

The lists table contains info about the available lists in your Autopilot account.

list_id
STRING

The ID of the list.

Reference:

title
STRING

The title of the list.


Replication Method :

Full Table

Primary Key :

list_id : contact_id

API endpoint :

getContactsOnList

The lists_contacts table contains list and contact ID pairs, allowing you to create a list of all the contacts that belong to a given Autopilot list.

list_id
STRING

The list ID.

Reference:

contact_id
STRING

The ID of the contact that belongs to the list.

Reference:


Replication Method :

Full Table

Primary Key :

segment_id

API endpoint :

getListOfSmartSegments

The smart_segments table contains info about the smart segments in your Autopilot account.

segment_id
STRING

The ID of the segment.

Reference:

title
STRING

The title of the segment.


smart_segments_contacts

Replication Method :

Full Table

Primary Key :

segment_id : contact_id

API endpoint :

getContactsOnSmartSegment

The smart_segments_contacts table contains segment and contact pairs, or the segments your contacts are associated with.

segment_id
STRING

The ID of the segment.

Reference:

contact_id
STRING

The ID of the contact that belongs to the segment.

Reference:



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.