Release Status Released Supported By Singer community
Availability Free Status Page Autopilot Status Page
Default Historical Sync 1 year Default Replication Frequency 60 minutes
Whitelisting Unsupported Destination Incompatibilities None

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 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 sync data beyond Autopilot’s default setting of 1 year. For a detailed look at historical syncs, check out the Syncing Historical SaaS Data guide.

Step 4: Define Replication Frequency

The Replication Frequency controls how often Stitch will attempt to extract data from your Autopilot integration.

Note: This setting only affects the frequency of data extraction from Autopilot, not the interval at which data is loaded into your data warehouse. For example: a one (1) minute Replication Frequency means Stitch will attempt to extract data every minute, but loading the extracted data may take longer than this.

Use the Default Frequency

To use the default Replication Frequency (60 minutes), leave the Use integration default box checked and click Check and Save to create the integration.

Customize the Frequency

To adjust the Replication Frequency:

  1. Uncheck the Use integration default checkbox. A slider with various frequencies will display.
  2. Click the desired frequency on the slider.
  3. Click Check and Save to create the integration.

To help prevent overages, consider setting the integration to replicate less frequently. See the Understanding & 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.

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 for a new integration 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: 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.

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

Details about the contact’s page visits.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__anywhere_page_visits and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

url
STRING

The URL associated with the page visit.

anywhere_utm

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

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__anywhere_utm and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

url
STRING

The UTM parameter and value associated with the page visit.

mail_opened

Details about the emails opened by the contact.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_opened and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email was opened by the contact.

mail_received

Details about the emails received by the contact.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_received and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email was received by the contact.

mail_bounced

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

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_bounced and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email bounced.

mail_hardbounced

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

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_hardbounced and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email hardbounced.

mail_clicked

Details about the emails clicked by the contact.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_clicked and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the email was clicked by the contact.

mail_complained

Details about the emails the contact reported as spam.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_complained and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the contact reported the email as spam.

twitter
STRING

The Twitter handle associated with the contact.

mail_unsubscribed

Details about the emails the contact has unsubscribed from.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__mail_unsubscribed and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
STRING

The ID of the email.

timestamp
DATE-TIME

The time the contact unsubscribed.

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

The IDs of the lists that the contact belongs to.

This data may be de-nested into a subtable if your data warehouse doesn't natively support nested data.

This subtable would be named contacts__lists and may contain the following attributes:

_sdc_source_key_contact_id
STRING

The contact ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
STRING

The ID of the contact list.


Replication Method: Full Table API Endpoint: getListofLists
Primary Key : list_id

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

list_id
STRING

The ID of the list.

title
STRING

The title of the list.


Replication Method: Full Table API Endpoint: getContactsOnList
Primary Key : list_id : contact_id

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.

contact_id
STRING

The ID of the contact that belongs to the list.


Replication Method: Full Table API Endpoint: getListOfSmartSegments
Primary Key : segment_id

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

segment_id
STRING

The ID of the segment.

title
STRING

The title of the segment.


smart_segments_contacts

Replication Method: Full Table API Endpoint: getContactsOnSmartSegment
Primary Key : segment_id : contact_id

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.

contact_id
STRING

The ID of the contact that belongs to the segment.



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.