Help Scout integration summary

Stitch’s Help Scout integration replicates data using the Help Scout Mailbox API 2.0. Refer to the Schema section for a list of objects available for replication.

Help Scout feature snapshot

A high-level look at Stitch's Help Scout (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on July 30, 2019

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-helpscout

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

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 Help Scout

Help Scout setup requirements

To set up Help Scout in Stitch, you need:

  • An active, invited Help Scout user. The Help Scout user setting up the integration in Stitch must be active and invited in Help Scout.

    To verify a user’s status, click Manage > Users in Help Scout.


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

Step 2: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Help Scout 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 Help Scout’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

When finished, click the Authorize button to continue.

Step 4: Authorize Stitch to access Help Scout

  1. After you click Authorize in Stitch, you’ll be prompted to sign into your Help Scout account. Enter your Help Scout credentials and click Log in.
  2. On the next page, click the Authorize button to continue.
  3. After the authorization process is successfully completed, you’ll be directed back to Stitch.
  4. Click All Done.

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 Help Scout 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 Help Scout, 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.


Help Scout table reference

conversation_threads

The conversation_threads table contains info about the threads that make up conversations.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created_at

Useful links

conversation_threads schema on GitHub

Help Scout API method

Join conversation_threads with on
conversations
conversation_threads.conversation_id = conversations.id
conversation_threads.customer.id = conversations.primary_customer.id
conversation_threads.assigned_to.id = conversations.assignee.id
conversation_threads.created_by.id = conversations.assignee.id
conversation_threads.assigned_to.id = conversations.closed_by
conversation_threads.created_by.id = conversations.closed_by
conversation_threads.assigned_to.id = conversations.created_by.id
conversation_threads.created_by.id = conversations.created_by.id
customers
conversation_threads.customer.id = customers.id
users
conversation_threads.assigned_to.id = users.id
conversation_threads.created_by.id = users.id

action

OBJECT

text

STRING

type

STRING

assigned_to

OBJECT

email

STRING

first

STRING

id

INTEGER

last

STRING

photo_url

STRING

type

STRING

attachments

ARRAY

bcc

ARRAY

body

STRING

cc

ARRAY

conversation_id

INTEGER

created_at

DATE-TIME

created_by

OBJECT

email

STRING

first

STRING

id

INTEGER

last

STRING

photo_url

STRING

type

STRING

customer

OBJECT

email

STRING

first

STRING

id

INTEGER

last

STRING

photo_url

STRING

id

INTEGER

opened_at

DATE-TIME

saved_reply_id

INTEGER

source

OBJECT

type

STRING

via

STRING

state

STRING

status

STRING

to

ARRAY

type

STRING

conversations

The conversations table contains info about the conversations in your Help Scout mailbox. Stitch will replicate all conversations, including active, closed, open, pending, and spam.

Note: If custom fields are available, Stitch will replicate them.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

conversations schema on GitHub

Help Scout API method

Join conversations with on
conversation_threads
conversations.id = conversation_threads.conversation_id
conversations.primary_customer.id = conversation_threads.customer.id
conversations.assignee.id = conversation_threads.assigned_to.id
conversations.closed_by = conversation_threads.assigned_to.id
conversations.created_by.id = conversation_threads.assigned_to.id
conversations.assignee.id = conversation_threads.created_by.id
conversations.closed_by = conversation_threads.created_by.id
conversations.created_by.id = conversation_threads.created_by.id
customers
conversations.primary_customer.id = customers.id
mailbox_folders
conversations.folder_id = mailbox_folders.id
conversations.mailbox_id = mailbox_folders.mailbox_id
mailbox_fields
conversations.mailbox_id = mailbox_fields.mailbox_id
mailboxes
conversations.mailbox_id = mailboxes.id
workflows
conversations.mailbox_id = workflows.mailbox_id
users
conversations.assignee.id = users.id
conversations.closed_by = users.id
conversations.created_by.id = users.id

assignee

OBJECT

email

STRING

first

STRING

id

INTEGER

last

STRING

photo_url

STRING

type

STRING

bcc

ARRAY

cc

ARRAY

closed_at

DATE-TIME

closed_by

INTEGER

created_at

DATE-TIME

created_by

OBJECT

email

STRING

first

STRING

id

INTEGER

last

STRING

photo_url

STRING

type

STRING

custom_fields

ARRAY

id

INTEGER

name

STRING

text

STRING

value

STRING

customer_waiting_since

OBJECT

friendly

STRING

last_reply_from

STRING

time

DATE-TIME

folder_id

INTEGER

id

INTEGER

mailbox_id

INTEGER

number

INTEGER

preview

STRING

primary_customer

OBJECT

email

STRING

first

STRING

id

INTEGER

last

STRING

photo_url

STRING

type

STRING

source

OBJECT

type

STRING

via

STRING

state

STRING

status

STRING

subject

STRING

tags

ARRAY

color

STRING

id

INTEGER

tag

STRING

threads

INTEGER

type

STRING

updated_at

DATE-TIME

user_updated_at

DATE-TIME

customers

The customers table contains info about the customers in your Help Scout account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

customers schema on GitHub

Help Scout API method

Join customers with on
conversation_threads
customers.id = conversation_threads.customer.id
conversations
customers.id = conversations.primary_customer.id

address

OBJECT

city

STRING

country

STRING

lines

ARRAY

postal_code

STRING

state

STRING

age

STRING

background

STRING

chats

ARRAY

id

INTEGER

type

STRING

value

STRING

created_at

DATE-TIME

emails

ARRAY

id

INTEGER

type

STRING

value

STRING

first_name

STRING

gender

STRING

id

INTEGER

job_title

STRING

last_name

STRING

location

STRING

organization

STRING

phones

ARRAY

id

INTEGER

type

STRING

value

STRING

photo_type

STRING

photo_url

STRING

properties

ARRAY

name

STRING

type

STRING

value

STRING

social_profiles

ARRAY

id

INTEGER

type

STRING

value

STRING

updated_at

DATE-TIME

websites

ARRAY

id

INTEGER

value

STRING

happiness_ratings_report

The happiness ratings report provides a company’s ratings for a specified time range.

Replication Method

Full Table

Primary Keys

conversation_id

rating_created_at

rating_customer_id

Useful links

happiness_ratings_report schema on GitHub

Help Scout API method

conversation_id

INTEGER

rating_comments

STRING

rating_created_at

DATE-TIME

rating_customer_id

INTEGER

rating_customer_name

STRING

rating_id

INTEGER

rating_user_id

INTEGER

rating_user_name

STRING

thread_created_at

DATE-TIME

thread_id

INTEGER

type

STRING

mailbox_fields

The mailbox_fields table contains info about the custom fields associated with your Help Scout mailboxes.

Replication Method

Full Table

Primary Key

id

Useful links

mailbox_fields schema on GitHub

Help Scout API method

Join mailbox_fields with on
conversations
mailbox_fields.mailbox_id = conversations.mailbox_id
mailbox_folders
mailbox_fields.mailbox_id = mailbox_folders.mailbox_id
mailboxes
mailbox_fields.mailbox_id = mailboxes.id
workflows
mailbox_fields.mailbox_id = workflows.mailbox_id

id

INTEGER

mailbox_id

INTEGER

name

STRING

options

ARRAY

id

INTEGER

label

STRING

order

INTEGER

order

INTEGER

required

BOOLEAN

type

STRING

mailbox_folders

The mailbox_folders table contains info about the mailbox folders in your Help Scout account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

mailbox_folders schema on GitHub

Help Scout API method

Join mailbox_folders with on
conversations
mailbox_folders.id = conversations.folder_id
mailbox_folders.mailbox_id = conversations.mailbox_id
mailbox_fields
mailbox_folders.mailbox_id = mailbox_fields.mailbox_id
mailboxes
mailbox_folders.mailbox_id = mailboxes.id
workflows
mailbox_folders.mailbox_id = workflows.mailbox_id

active_count

INTEGER

id

INTEGER

mailbox_id

INTEGER

name

STRING

total_count

INTEGER

type

STRING

updated_at

DATE-TIME

user_id

INTEGER

mailboxes

The mailboxes table contains info about the mailboxes in your Help Scout account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

mailboxes schema on GitHub

Help Scout API method

Join mailboxes with on
conversations
mailboxes.id = conversations.mailbox_id
mailbox_fields
mailboxes.id = mailbox_fields.mailbox_id
mailbox_folders
mailboxes.id = mailbox_folders.mailbox_id
workflows
mailboxes.id = workflows.mailbox_id

created_at

DATE-TIME

email

STRING

id

INTEGER

name

STRING

slug

STRING

updated_at

DATE-TIME

team_members

This report contains information about team members.

Replication Method

Full Table

Primary Keys

team_id

user_id

Useful links

team_members schema on GitHub

Help Scout API method

team_id

INTEGER

user_id

INTEGER

teams

This report contains information about all the different teams in the company.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

teams schema on GitHub

Help Scout API method

created_at

DATE-TIME

id

INTEGER

initials

STRING

mention

STRING

name

STRING

photo_url

STRING

timezone

STRING

updated_at

DATE-TIME

users

The users table contains info about the users in your Help Scout account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

users schema on GitHub

Help Scout API method

Join users with on
conversation_threads
users.id = conversation_threads.assigned_to.id
users.id = conversation_threads.created_by.id
conversations
users.id = conversations.assignee.id
users.id = conversations.closed_by
users.id = conversations.created_by.id

created_at

DATE-TIME

email

STRING

first_name

STRING

id

INTEGER

last_name

STRING

photo_url

STRING

role

STRING

timezone

STRING

type

STRING

updated_at

DATE-TIME

workflows

The workflows table contains info about the workflows in your Help Scout account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

modified_at

Useful links

workflows schema on GitHub

Help Scout API method

Join workflows with on
conversations
workflows.mailbox_id = conversations.mailbox_id
mailbox_fields
workflows.mailbox_id = mailbox_fields.mailbox_id
mailbox_folders
workflows.mailbox_id = mailbox_folders.mailbox_id
mailboxes
workflows.mailbox_id = mailboxes.id

created_at

DATE-TIME

id

INTEGER

mailbox_id

INTEGER

modified_at

DATE-TIME

name

STRING

order

INTEGER

status

STRING

type

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.