After you connect an integration and Stitch performs a structure sync, the next thing you’ll do is select tables and columns to replicate. In this guide, we’ll cover:


Applicable integrations

This guide is applicable to all database and SaaS integrations.

Note: Webhook integrations don’t support table and column selection. By default, all data sent to Stitch in a webhook message will be loaded to your destination. Refer to the webhook provider’s documentation for info about possible attributes.


How object selection works

How objects are discovered

During the Discovery phase of Extraction, Stitch detects the objects available for replication in a data source. Sometimes called a structure sync, this process is how Stitch determines the structure of the tables and columns in an integration. Objects must meet the selection requirements to display and be selectable in Stitch.

In an integration’s Tables to Replicate tab, you can select the individual databases (if applicable), tables, and columns you want to replicate. Integrations will have a status of Not Configured until at least one table and column are selected.

Levels of object selection support

While the majority of Stitch’s integrations support table and column selection, some may only support table selection, while others don’t have any object selection support.

When an integration doesn’t support table and/or column selection:

  • Table selection: If an integration doesn’t support table selection, all available tables and columns are automatically set to replicate. For detailed info on the data Stitch replicates from SaaS integrations, check out the Schema section of any integration’s guide.

  • Column selection: If an integration supports table selection but not column selection, all available columns in selected tables will automatically be set to replicate.

Refer to the Object selection support reference for more info about what each of Stitch’s integrations support.


Object selection and replication requirements

Requirements to select an object

For an object to be selectable in Stitch, all of the following must be true:

  • The user authorizing the integration has permission to access the object in the source
  • Stitch successfully completes Discovery, or a structure sync. Stitch will automatically detect new objects, but a structure sync must complete before the object will display in Stitch.
  • For tables, there are additional requirements:
    • For SaaS integrations, the integration supports the API endpoint associated with the table. Refer to the integration’s schema documentation for a list of available objects and endpoints associated with them.
  • For columns, there are additional requirements:
    • The column contains data typed using a supported data type. Columns containing unsupported data types will display as Not supported in Stitch.
    • For SaaS integrations backed by Singer taps, the tap must either dynamically include the field or the JSON schema used to create the given table must contain the column. Refer to the integration’s schema documentation for more info.

Requirements to successfully replicate an object

For an object to replicate successfully, the following requirements, along with the selection requirements, must be met:

  • The object is set to replicate
  • All parent objects are set to replicate. This means that an object that contains other objects must be set to replicate for the objects they contain to replicate.

    For example: For a column to replicate, the table that contains it must also be selected. If applicable, so must the schema containing the table, and the database containing the schema. You’ll receive an error in Stitch if the parent object isn’t selected.

  • The user authorizing the destination has the required permissions for your destination type
  • The name of the object adheres to your destination’s requirements. Refer to the documentation for your destination type for more info.
  • For tables, there are additional requirements:
    • The table and at least one column are set to replicate
    • The table has a defined Replication Method and Replication Key, if applicable
    • For integrations that replicate files, the file meets the integration’s requirements. For example: A Google Sheet must contain a header row and a second row of data.
    • The table doesn’t exceed the maximum columns per table allowed by your destination type, if applicable
  • For columns, there are additional requirements:

Setting objects to replicate

In this section:

Selecting individual objects

Selecting tables and columns

To set objects to replicate:

  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.
  3. Locate the table or column you want to replicate. Note: If there’s a parent object such as a schema, verify that it’s also selected.
  4. Click the checkbox next to the object’s name. A blue checkmark means the object is set to replicate:

    Selected tables in Stitch, which have blue checkmarks

    When a table is selected, keep in mind that:

    • For database integrations, all columns are automatically set to replicate. Note: The process varies slightly for Amazon DynamoDB and MongoDB-backed integrations, which use projection expressions and projection queries to select columns.

    • For SaaS integrations that support column selection, you need to select columns by clicking into the table. In the list of columns, click the checkbox next to the column you want to replicate.

  5. If setting a table to replicate, define the table’s Replication Method, if prompted. Only integrations that support configuring Replication Methods will display this prompt.
  6. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Selecting new and additional columns in already-selected tables

What happens when you’ve added a brand-new column in the data source or you want to replicate additional columns on an already-replicating table?

For more info check out the Setting New and Additional Columns to Replicate guide.

Selecting database views

While the steps for replicating a database view are almost the same as those for replicating a table, there are some slight differences.

For more info, check out the Replicating Database Views guide.

Selecting all objects

How the Select all feature works

The Select all feature, located in an integration’s Tables to Replicate tab, allows you to select all of an integration’s tables and columns with just a few clicks.

When used to select all tables, the following occurs:

  • All tables and supported columns are set to replicate. Note: Database views are not supported with this feature and won’t be selected.
  • Previous column selections are overwritten. Note: Selections aren’t final until Finalize Your Selections is clicked. Clicking Cancel will restore your previous selections.
  • Tables with defined Replication Methods will continue to use that Replication Method.

Requirements to use the Select all feature

To use the Select all feature, all of the following must be true for an integration:

  • The integration is backed by a Singer tap
  • The integration supports table selection. If the integration doesn’t support table selection, all available tables and columns will be set to replicate by default.
  • For database integrations, there are additional requirements:
    • Stitch supports Log-based Incremental Replication for the database. Some database cloud providers may not support the features Stitch requires to perform Log-based Incremental Replication, even if the source database supports those features. For example: Heroku doesn’t currently support logical replication for PostgreSQL.
    • The Default Replication Method setting is available and enabled for the integration. In addition to having Log-based Incremental Replication support in Stitch, the Default Replication Method setting must be available and enabled.
  • For SaaS integrations, there is an additional requirement:
    • The API the integration uses must allow the selection of all fields. Some sources - like Google Ads and Microsoft Advertising - have compatibility rules that determine the combinations of fields that can be selected together. Selecting all columns for these integrations would result in incompatible combinations and unsuccessful replication.

Refer to the Object selection support reference for a list of integrations that support this feature.

Selecting all tables and columns

  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 Select/Deselect 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.

Troubleshooting common issues

In this section:

Missing objects

Stitch cannot detect any objects (databases, tables, etc.) at or below this level.

If you receive this message or you can’t find an object (database, table, column, etc.), it’s typically a permissions issue.

Not supported table/column messages

If you see a status of Not Supported for a table or column in a database integration, there a few potential root causes:

  • Insufficient permissions. Verify that the Stitch user has all the required permissions as outlined in the Setup instructions for the database. Refer to the documentation for your database for more info.

    After you grant the required permissions and a full replication cycle has completed, the table’s Sync Status should change to Supported and be available for syncing.

  • Unsupported column. If a column is displayed as Not Supported, it may be that the column contains an unsupported data type.

Parent object not set to replicate

The table containing these columns is not set to sync. Please sync the parent table to ensure replication of columns selected on this screen.

If you receive this message, it means that the object above it isn’t set to replicate. For example: The table that contains a selected column isn’t set to replicate. Parent objects must be selected for the objects they contain to also replicate.


Object selection support reference

This section details the level of support each of Stitch’s database and SaaS integrations have for the features outlined in this guide:

Icons in the table represent the following:

  • indicates that the feature is supported
  • indicates that the feature is supported, but has specific configuration requirements. Hover over the icon to view a tooltip with additional details.
  • indicates that the feature isn’t currently supported. Hover over the icon to view a tooltip with additional details.
Integration Version Table
selection
Column
selection
Select all
3PL Central v1
AdRoll v1 (latest)
AdRoll v20-07-2017
Amazon Aurora MySQL RDS v1
Amazon Aurora PostgreSQL RDS v1
Amazon DynamoDB v1
Amazon Microsoft SQL Server RDS v1
Amazon MySQL RDS v1
Amazon Oracle RDS v1
Amazon PostgreSQL RDS v1
Amazon S3 CSV v1
Amplitude v1
AppsFlyer v1
Asana v1
Asana v2 (latest)
Autopilot v1
BigCommerce v1
Braintree v1
Bronto v1
COVID-19 Public Data v1
Campaign Manager v1
Campaign Monitor v1
Chargebee v1
Close.io v1
Club Speed v1
Codat v1
Darksky v1
Deputy v1
Desk v15-10-2015
Eloqua v1
Facebook Ads v1
Freshdesk v1
Front v1
FullStory v1
GitHub v1
GitLab v1
Google Ads v1
Google Analytics v1 (latest)
Google Analytics v14-09-2016
Google Analytics (AdWords) v05-12-2017
Google Analytics 360 v1
Google CloudSQL MySQL v1
Google CloudSQL PostgreSQL v1
Google ECommerce v15-10-2015
Google Search Console v1
Google Sheets v1
Harvest v2
Harvest Forecast v1
Heap v1
Help Scout v1
Heroku v1
HubSpot v2
Impact v1
Intacct v1
Intercom v02-02-2016
Intercom v1 (latest)
Invoiced v1
JIRA v1
JIRA v2 (latest)
Klaviyo v1
Kustomer v1
Lever v1
LinkedIn Ads v1
Listrak v1
LivePerson v1
Looker v1
Magento v1
MailChimp v1
Mailshake v1
Mambu v1
MariaDB v1
Marketo v2
Microsoft Advertising v2
Microsoft Azure MySQL v1
Microsoft Azure SQL Database v1
Microsoft SQL Server v1
Mixpanel v1 (latest)
Mixpanel v23-12-2015
MongoDB v1
MongoDB v2 (latest)
MongoDB Atlas v1
MongoDB Atlas v2 (latest)
MySQL v1
NetSuite v1
NetSuite Suite Analytics v1
Onfleet v1
Oracle v1
Outbrain v1
Outreach v1
Pardot v1
Pendo v1
Pepperjam v1
Pipedrive v1
PostgreSQL v1
Quick Base v1
QuickBooks v1 (latest)
QuickBooks v21-12-2015
ReCharge v1
Recurly v1 (latest)
Recurly v14-09-2016
Referral SaaSquatch v1
Responsys v1
Revinate v1
RingCentral v1
SFTP v1
SaaSOptics v1
Salesforce v1
Salesforce Marketing Cloud v1
Selligent v1
SendGrid Core v1
ShipHero v1
Shippo v1
Shopify v1
Slack v1
Slack v1
Square v04-05-2016
Square v1 (latest)
Stripe v1
SurveyMonkey v1
Taboola v1
Toggl v1
Trello v1 (latest)
Trello v15-12-2015
Twitter Ads v1
Typeform v1
UJET v1
Urban Airship v1
UserVoice v1
Wootric v1
Workday RaaS v1
Xero v19-10-2016
Xero v1 (latest)
Yotpo v1
Zendesk Chat v1
Zendesk Support v15-10-2015
Zendesk Support v1 (latest)
Zoom v1
Zuora v1
inSided v1

Back to Object selection support 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.