Mailshake integration summary

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

Mailshake feature snapshot

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

STITCH
Release status

Beta

Supported by

Singer Community

Stitch plan

Free

API availability

Available

Singer GitHub repository

singer-io/tap-mailshake

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Mailshake

Step 1: Retrieve your Mailshake API key

  1. Sign into your Mailshake account.
  2. Click Extensions > API.
  3. If your account already has an API key, it will display in the Your Access section of the page.

    Otherwise, click the Create API Key button. Your API key will display on the page.

Keep this page open - you’ll need it to complete the next step.

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

  5. In the API Key field, paste the Mailshake API key you retrieved in Step 1.

Step 3: Define the historical sync

The Sync Historical Data setting defines the starting date for your Mailshake 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 Mailshake’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.

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

Step 5: Set tables and columns to replicate

To complete the setup, you’ll need to select the tables and columns you want to replicate to your destination.

Check out the Schema section to learn more about the available tables in Mailshake and how they replicate.

  1. In the list of tables that displays - or in the Tables to Replicate tab, if you skipped this step during setup - locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A green checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A green 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.

Note: If you change these settings while a replication job is still in progress, they will not be used until the next job starts.

Initial and historical replication jobs

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


Mailshake table reference

Replication Method :

Key-based Incremental

Replication Key :

created

Primary Key :

id

API endpoint :

List a team’s campaigns

The campaigns table contains info about your team’s campaigns.

id
INTEGER

Reference:

created
DATE-TIME

actionDate
DATE-TIME

archived
BOOLEAN

endedAt
DATE-TIME

isPaused
BOOLEAN

messages
ARRAY

object
STRING

sender
OBJECT

created
DATE-TIME

emailAddress
STRING

fromName
STRING

id
STRING

Reference:

object
STRING

campaigns (table), sender (attribute)

title
STRING

url
URI


Replication Method :

Key-based Incremental

Replication Key :

actionDate

Primary Key :

id

API endpoint :

Get click activity

The clicks table contains info about recent click activity.

id
INTEGER

actionDate
DATE-TIME

campaign
OBJECT

isDuplicate
BOOLEAN

link
URI

object
STRING

parent
OBJECT

id
INTEGER

message
OBJECT

clicks (table), message (attribute)

object
STRING

type
STRING

clicks (table), parent (attribute)

recipient
OBJECT

action
STRING

created
DATE-TIME

emailAddress
STRING

fields
OBJECT

clicks (table), fields (attribute)

first
STRING

fullName
STRING

id
INTEGER

Reference:

isPaused
BOOLEAN

last
STRING

object
STRING

clicks (table), recipient (attribute)

Replication Method :

Key-based Incremental

Replication Key :

created

Primary Key :

id

API endpoint :

List leads

The leads table contains info about the leads in your Mailshake account.

id
INTEGER

created
DATE-TIME

assignedTo
OBJECT

emailAddress
STRING

first
STRING

fullName
STRING

id
INTEGER

Reference:

last
STRING

object
STRING

leads (table), assignedTo (attribute)

campaign
OBJECT

lastStatusChangeDate
DATE-TIME

object
STRING

openedDate
DATE-TIME

recipient
OBJECT

created
DATE-TIME

emailAddress
STRING

fields
OBJECT

first
STRING

fullName
STRING

id
INTEGER

Reference:

last
STRING

object
STRING

leads (table), recipient (attribute)

status
STRING


Replication Method :

Key-based Incremental

Replication Key :

actionDate

Primary Key :

id

API endpoint :

Get opened activity

The opens table contains info about recently opened emails.

id
INTEGER

actionDate
DATE-TIME

campaign
OBJECT

isDuplicate
BOOLEAN

object
STRING

parent
OBJECT

id
INTEGER

message
OBJECT

opens (table), message (attribute)

object
STRING

type
STRING

opens (table), parent (attribute)

recipient
OBJECT

action
STRING

created
DATE-TIME

emailAddress
STRING

fields
OBJECT

first
STRING

fullName
STRING

id
INTEGER

Reference:

isPaused
BOOLEAN

last
STRING

object
STRING

opens (table), recipient (attribute)

Replication Method :

Key-based Incremental

Replication Key :

created

Primary Key :

id

API endpoint :

List recipients

The recipients table contains info about the recipients in a campaign.

id
INTEGER

Reference:

created
DATE-TIME

action
STRING

campaignId
INTEGER

Reference:

emailAddress
STRING

fields
OBJECT

VARIES
ANY

recipients (table), fields (attribute)

first
STRING

fullName
STRING

last
STRING

object
STRING


Replication Method :

Key-based Incremental

Replication Key :

actionDate

Primary Key :

id

API endpoint :

Get reply activity

The replies table contains info about recent replies to your emails.

id
INTEGER

actionDate
DATE-TIME

body
STRING

campaign
OBJECT

externalConversationID
STRING

externalID
STRING

externalRawMessageID
STRING

object
STRING

parent
OBJECT

id
INTEGER

message
OBJECT

replies (table), message (attribute)

object
STRING

type
STRING

replies (table), parent (attribute)

plainTextBody
STRING

rawBody
STRING

recipient
OBJECT

action
STRING

created
DATE-TIME

emailAddress
STRING

fields
OBJECT

replies (table), fields (attribute)

first
STRING

fullName
STRING

id
INTEGER

Reference:

isPaused
BOOLEAN

last
STRING

object
STRING

replies (table), recipient (attribute)

subject
STRING

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

created

Primary Key :

id

API endpoint :

List all senders

The senders table contains info about your team’s senders.

id
STRING

Reference:

created
DATE-TIME

emailAddress
STRING

fromName
STRING

object
STRING

offerType
STRING


Replication Method :

Key-based Incremental

Replication Key :

actionDate

Primary Key :

id

API endpoint :

Get sent activity

The sent_messages table contains info about recently sent emails.

id
INTEGER

actionDate
DATE-TIME

body
STRING

campaign
OBJECT

sent_messages (table), campaign (attribute)

externalConversationID
STRING

externalID
STRING

externalRawMessageID
STRING

from
OBJECT

address
STRING

first
STRING

fullName
STRING

last
STRING

object
STRING

sent_messages (table), from (attribute)

message
OBJECT

sent_messages (table), message (attribute)

object
STRING

plainTextBody
STRING

rawBody
STRING

recipient
OBJECT

action
STRING

created
DATE-TIME

emailAddress
STRING

fields
OBJECT

first
STRING

fullName
STRING

id
INTEGER

Reference:

isPaused
BOOLEAN

last
STRING

object
STRING

sent_messages (table), recipient (attribute)

subject
STRING

to
ARRAY

address
STRING

first
STRING

fullName
STRING

last
STRING

object
STRING

sent_messages (table), to (attribute)

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

teamID

Primary Key :

id

API endpoint :

List team members

The team_members table contains info about the individual members of your team.

id
INTEGER

Reference:

teamID
INTEGER

emailAddress
STRING

first
STRING

fullName
STRING

isDisabled
BOOLEAN

isTeamAdmin
BOOLEAN

last
STRING

object
STRING

teamBlockedDate
DATE-TIME

teamName
BOOLEAN



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.