Docs about Docs logo Docs about Docs

About this template

File location: /_templates/integrations
Used in:
Repo link: Click to view in the Stitch Docs repo
Instructions:

This template is used to add new webhook integration documentation to the Stitch Docs.


Template sections

Each template is grouped into sections to make parameters easier to find. These sections and the parameters they contain are described below.

Page and formatting

These parameters control the layout and formatting used on the page.

Parameter Description
title
STRING

The title of the page, typically the name of the integration.

Example values:

  • GitHub
  • Facebook Ads
permalink
STRING

The page’s permalink value, used to generate its final URL.

Must be one of the following:

  • /integrations/saas/{integration-name}
  • /integrations/databases/{integration-name}
  • /integrations/webhooks/{integration-name}
keywords
STRING

Relevant keywords that could be used to search for the doc in a search engine.

layout
STRING

The name of the layout (in /_layouts) the page should use. This will usually be set to singer.

Note: If this parameter isn’t present in the template, the default layout defined in _config.yml for the collection (ex: _saas-integrations) will be used. Refer to the Collection Defaults section in the _config.yml file for default collection settings.

input
BOOLEAN

If true, the integration will display as its own tile on the integration category pages (ex: SaaS integrations, be listed in the sidenav, etc. Its purpose is to highlight the latest version of an integration. The default is true.

This field should always be true unless the doc is for an outdated version of the integration. In this case, it should be false.

key
STRING

A semi-unique ID for this page of the integration’s documentation set. This controls the links that display in the version menu. Only files with this key will be included as links in the version menu.

Example values:

  • postgresql-integration
  • amazon-rds-postgresql-integration
enterprise
BOOLEAN

If true, the integration is an Enterprise-only feature. When this property is true, the integration will be listed in the Integrations section of the Enterprise features guide.

Back to top

Integration details

High-level details about the integration, including who developed it, its name, its repo, etc.

Parameter Description
name
STRING

The name of the integration, in lowercase. Spaces should be replaced with dashes (-); periods (.) should be removed.

Example values:

  • google-adwords
  • mysql
  • closeio
display_name
STRING

The display name of the integration. The integration’s name should match how the provider uses it, including capitalization, punctuation, etc.

Example values:

  • Google AdWords
  • MySQL
  • Close.io
singer
BOOLEAN

If true, the integration is a Singer integration.

tap-name
STRING

If the integration is a tap, the name of the Singer tap that powers the integration.

repo-url
STRING

If this is a Singer integration, the URL of the integration’s Singer GitHub repository.

Example values:

  • https://www.github.com/singer-io/tap-{integration-name}
  • https://www.github.com/singer-io/tap-hubspot
  • https://www.github.com/singer-io/tap-mysql
this-version
STRING

Defines the version for this integration.

Example values:

  • 1
  • 2
  • 10-15-2015
Back to top

Incompatibilities

Indicates if the integration is incompatible with at least one destination.

Parameter Description
has-incompatibilities
BOOLEAN

If true, the integration is incompatible with at least one destination.

Incompatibilities for destinations are tracked in an incompatibilities.yml data file for the destination and the applicable version. For example: _data/destinations/<DESTINATION>/v<VERSION>/incompatibilities.yml

Must be one of the following:

  • true
  • false
Back to top

Stitch details

Details about how the integration works within the Stitch application.

Parameter Description
certified
BOOLEAN

If true, the integration is Stitch-certified and will be officially supported by the Stitch team. Otherwise, the integration is a Community integration and will be supported by the Singer community.

branded
BOOLEAN

Applicable only to webhook integrations. If true, this is a ‘branded’ integration. This will be true for the majority of webhook integrations.

historical
STRING

The default historical replication period for the integration.

Note: For webhook integrations, this must be Webhook.

Example values:

  • 28 days
  • 1 year
  • Webhook
frequency
STRING

The default Replication Frequency for the integration.

Note: For webhook integrations, this must be Continuous.

Example values:

  • 30 minutes
  • one hour
  • six hours
  • Continuous
primary-key.defined
BOOLEAN

Applicable only to webhook integrations. If Stitch hard-codes a primary key for the integration, enter true. Otherwise, leave as false.

primary-key.field
STRING

Applicable only to webhook integrations. If Stitch hard-codes a primary key for the integration (primary-key.defined: true), enter the name of the primary key column.

tier
STRING

The type of Stitch subscription plan required to use the integration.

Must be one of the following:

  • Free
  • Standard
  • Enterprise
status-url
STRING

If available, the website URL to the integration provider’s status page.

table-selection
BOOLEAN

If true, users can set individual tables to replicate in Stitch.

column-selection
BOOLEAN

If true, users can track individual columns on selected tables for replication in Stitch.

define-replication-methods
BOOLEAN

If true, users can define Replication Methods for tracked tables in the integration.

table-level-reset
BOOLEAN

If true, users reset individual tables for the integration.

setup-name
STRING

The name of the integration in the Stitch app that is used for completing the set up process. This is applicable only when Stitch doesn’t have a branded (dedicated) UI for an integration.

For example: Magento. Magento is a MySQL-backed database, but as Stitch doesn’t have a branded Magento integration, users must use the MySQL integration to connect their Magento database. In this case, the value of this parameter would be "MySQL".

Back to top

Row hog details

Some integrations are known offenders for high row usage. We refer to them as ‘row hogs’, at least as far as the docs go. This section indicates if an integration is a row hog, and the reasons why that may be the case.

Integrations where row-usage-hog is true are displayed in the High usage integrations section of the Understanding your usage guide.

Parameter Description
row-usage-hog
BOOLEAN

If true, the integration is considered a row hog.

row-usage-hog-reasons.data-structure
BOOLEAN

If true, the integration is considered a row hog due to the structure of its data. This is typically true for integrations where data is heavily nested.

row-usage-hog-reasons.data-volume
BOOLEAN

If true, the integration is considered a row hog due to the volume of data that can be replicated. This is typically true for integrations thnat generate massive amounts of data, or integrations that don’t support table or column selection.

row-usage-hog-reasons.lots-of-full-table
BOOLEAN

If true, the integration is considered a row hog due to the high number of tables that use Full Table Replication. This is typically true for integrations where Replication Methods are pre-defined.

Back to top

Feature summary

A summary about the features available in the integration.

Parameter Description
feature-summary
STRING

A summary about the features available in the integration.

Example values:

  • Stitch's Facebook Ads integration uses the Facebook Marketing API to replicate data. Refer to the Schema section for more info about the data that's available.
Back to top

Setup instructions: Requirements

The requirements for setting up and successfully connecting an integration to Stitch.

Parameter Description
requirements-list
ARRAY

The prerequisites for setting up the integration in Stitch. Markdown may be used to write the content in this field. If needed, HTML will also work.

This is formatted as a list, with an - item: parameter underneath requirements-list for each individual requirement. For example:

requirements-list:
  - item: "**Admin permissions in JIRA**. This is required to connect to JIRA."
  - item: "**A special JIRA account.** Because they said so."
Back to top

Content section types

An integration doc consists of three sections:

Each of these sections are created from content that lives in the corresponding Frontmatter list, outlined in the table below.

All sections take the same parameters, outlined in the Content sections section.

Parameter Description
setup-steps
ARRAY

An array of content sections which contain the instructions for setting up the integration in Stitch. The content in this section creates the Connecting {integration-name} section in the integration’s doc.

replication-sections
ARRAY

An array of content sections which contain information about how Stitch replicates data from the integration. The content in this section creates the {integration-name} Replication section in the integration’s doc.

For example: Integration attribution windows, API rate limit information, etc.

schema-sections
ARRAY

An array of content sections which contain information about using the loaded data. The content in this section creates the {integration-name} Schema section in the integration’s doc.

For example: Dealing with UNIX timestamps, converting Google money fields, etc.

Back to top

Content sections

Each content section type takes the parameters listed below, which Jekyll then parses and renders into content. Formatting is the same regardless of the content section type being used:

{content-section-type}:
- title: "Select an attribution window"
  anchor: "select-attribution-window"
  content: |
    Do a thing

Using the appropriate layout (Page and formatting, layout), Jekyll will then render the following output:

<h2 id="select-attribution-window">
  Step #: Select an attribution window
</h2>

<p>Do a thing</p>
Parameter Description
title
STRING

The title of the section.

Example values:

  • Select an attribution window
  • Authorize Stitch to access Facebook Ads
anchor
STRING

The value to be used as the anchor for section’s title.

For example: select-attribution-window will create the anchor #select-attribution-window.

content
STRING

The section content. Markdown may be used to write the content in this field. If needed, HTML will also work. Additionally, note that:

  • For single lines of content, the copy must be enclosed in double quotes (" "). For example:

     - title:
       anchor: 
       content: "Start content here."
    
  • For content requiring line breaks:

    • Add a pipe (|) just after content: to allow Jekyll to correctly parse the YAML,
    • On the new line, indent two spaces, and
    • Begin writing the copy; don’t enclose in double quotes.

      For example:

      - title:
        anchor:
        content: |
          Start content here.
      
substeps
ARRAY

For setup instructions (setup-steps). If smaller steps make up completing a task, then substeps may be used. The substeps array requires the same parameters as its parent (setup-steps).

For example:

setup-steps:
- title: "Add Facebook Ads as a Stitch data source"
  anchor: "connect-to-stitch"
  content: "Last, you'll configure the FB settings in Stitch."
  substeps:
    - title: "Select an attribution window"
      anchor: "select-attribution-window"
      description: |
        Configure the attribution window with these steps:

        1. ...
        2. ...

    - title: "Include deleted data"
      anchor: "include-deleted-data"
      content: |
        Check this box if you want to include deleted data...
Back to top
Back to top

Last updated: 28 July 2021