Close.io feature snapshot

A high-level look at Stitch's Close.io (v2017-03-01) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Deprecated

Supported By

Singer Community

Stitch Plan

Paid

Singer GitHub Repository

Close.io Repository

DATA SELECTION
Table Selection

Unsupported

Column Selection

Unsupported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Unsupported

Loading Reports

Supported

Connecting Close.io

Close.io setup requirements

To set up Close.io in Stitch, you need:

  • A paid Stitch plan. While those currently in the Free Trial will also be able to set up Close.io, replication will be paused until a paid plan is selected after the trial ends.

Step 1: Generate a Close.io API Key

  1. Sign into your Close.io account.
  2. Click the user menu (your icon) in the top right corner.
  3. Click Settings.
  4. In the Company menu (located under the You menu), click Your API Keys.
  5. In the Your API Keys section, click the Generate New API Key button.
  6. A new API Key will display. Keep this handy; you’ll need it in the next step.

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

  5. In the API Key field, paste your Close.io API Key.

Step 3: Define the historical sync

The Sync Historical Data setting will define the starting date for your Close.io 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 Close.io’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.

Close.io 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.

Initial and historical replication jobs

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


Close.io Replication

Replicating activity data

Every time Stitch runs a replication job for Close.io, the last 24 hours’ worth of data will be replicated for the activities table.

As Close.io doesn’t currently provide a way to query for activities based on modification time, Stitch replicates data in this way to ensure updated activities are captured. A list of available querying methods can be found in Close.io’s documentation.

Setting the Replication Frequency to a higher frequency - like 30 minutes - can result in re-replicating recent data and contribute to greater row usage. Selecting a lower frequency can help keep your row count low.

Refer to the documentation for each of these tables in the next section for more info.

Attribution window examples

In the tabs below are examples of attribution windows behave during historical (initial) and ongoing replication jobs.

For historical and full re-replications of Close.io data, Stitch will query for and extract data newer than or equal to the date defined in the Start Date field in the Integration Settings page.

The Start Date, in conjunction with the Attribution Window, will define the minimum date Stitch should query for when extracting historical data. This is calculated as:

Start Date - Attribution Window = Minimum Extraction Date

Example

During the initial set up, the Start Date field is set to 07/03/2017, or ``.

To account for the Attribution Window, Stitch would calculate the Minimum Extraction Date value as: 2017-07-03 00:00:00 - 24 hours = 2017-07-02 00:00:00

If you were to write a SQL query using this date for the activities table, it might look like this:

  SELECT *
    FROM closeio.activities
   WHERE date_created >= '2017-07-02 00:00:00'   /* Min. Extraction Date */
ORDER BY date_created

For ongoing replication jobs, Stitch will query for and extract data using the last saved maximum value in the table’s Replication Key column and the Attribution Window setting.

Note: This applies to every replication job that takes place after the historical replication job.

Example

The last maximum saved Replication Key value for the activities table is 2017-10-01 00:00:00.

To account for the Attribution Window of 24 hours, we’d subtract this from the last maximum saved Replication Key value:

2017-10-01 00:00:00 - 24 hours = 2017-09-30 00:00:00

In this case, Stitch would query for and extract data that is newer than or equal to 2017-09-30 00:00:00 and older than or equal to 2017-10-01 00:00:00.

If this were a SQL query, it might look like this:

  SELECT *
    FROM activities
   WHERE date_created >= '2017-09-30 00:00:00'
                              /* max Replication Key value - Attribution Window */
     AND date_created <= '2017-10-01 00:00:00'
                              /* max Replication Key value from previous job */
ORDER BY date_created

Historical event log data limitations

Due to how Close.io’s API functions, only 30 days of historical data is available for event logs:

Most actions in Close.io that change an object are logged in the event log. For example, creating a lead, sending an email, or deleting a note will create an event log entry. The event log API allows you to access these events, up to 30 days back in history.

This means that despite what the integration’s Start Date is set to, Stitch will only be able to retrieve 30 days of historical data from the connection date for the event_log table.

Additionally, note that if you ever reset the integration, this will also apply to the date the integration is reset.


Close.io table schemas


activities

Replication Method: Append-Only Incremental
Primary Key: id
Contains Nested Structures?: Yes

The activities table contains the activities performed on a lead or its contacts.

Table Info & Attributes

activities & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

Activity Types & Subtables

Depending on the type of activity - EmailThread, for example - you may see subtables, as these record types contain nested data structures.

Append-Only Replication

This table is Append-Only. Whenever an existing row is updated, it will be appended to the end of the table as a new row.

activities Attributes

While we try to include everything Close.io has here, this may not be a full list of attributes. Refer to Close.io's documentation for a full list and description of each attribute.

  • Activity ID (id)

  • envelope

  • properties*

  • message_id

  • sender*

  • date

  • subject

  • is_autoreply

  • from*

  • bcc*

  • reply_to

  • to*

  • in_reply_to*

  • date_created

  • references*

  • body_text_quoted*

  • need_smtp_credentials

  • in_reply_to_id

  • updated_by_name

  • old_status_label

  • transferred_from

  • user_id

  • updated_by

  • cc*

  • opportunity_value

  • task_assigned_to

  • created_by

  • status

  • email_account_id

  • template_id

  • transferred_to

  • attachments*

  • message_ids*

  • voicemail_duration

  • local_phone

  • body_html_quoted*

  • opens*

  • task_id

  • lead_id

  • task_assigned_to_name

  • body_text

  • thread_id

  • task_text

  • user_name

  • note

  • source

  • import_id

  • to*

  • recording_url

  • date_scheduled

  • subject

  • body_preview

  • created_by_name

  • phone

  • sender

  • duration

  • date_sent

  • _type

  • new_status_label

  • opportunity_value_formatted

  • opportunity_id

  • opens_summary

  • new_status_type

  • remote_phone

  • new_status_id

  • contact_id

  • body_html

  • opportunity_date_won

  • opportunity_value_currency

  • old_status_type

  • bcc*

  • organization_id

  • old_status_id

  • opportunity_confidence

  • date_updated

  • template_name

  • opportunity_value_period

  • voicemail_url

  • send_attempts *

  • direction

leads

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The leads table contains the leads in your Close.io account.

Table Info & Attributes

leads & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

leads Attributes

While we try to include everything Close.io has here, this may not be a full list of attributes. Refer to Close.io's documentation for a full list and description of each attribute.

  • Lead ID (id)

  • integration_links*

  • description

  • updated_by

  • status_id

  • opportunities*

  • organization_id

  • date_updated

  • created_by

  • tasks*

  • status_label

  • created_by_name

  • date_created

  • contacts*

  • updated_by_name

  • display_name

  • html_url

  • addresses*

  • name

  • url

leads__opportunities

Replication Method: Key-based Incremental
Primary Key: id : _sdc_level_0_id
Contains Nested Structures?: No

The leads__opportunities table contains info about the opportunities associated with the leads in your Close.io account. This subtable will only be created if your data warehouse doesn't natively support nested data structures.

Table Info & Attributes

leads__opportunities Attributes

While we try to include everything Close.io has here, this may not be a full list of attributes. Refer to Close.io's documentation for a full list and description of each attribute.

  • Lead ID (id)

  • Row ID (_sdc_level_0_id)

  • items__value

  • items__date_lost

  • items__created_by

  • items__user_id

  • items__contact_id

  • items__updated_by_name

  • items__updated_by

  • items__status_id

  • items__user_name

  • items__organization_id

  • items__value_formatted

  • items__date_created

  • items__id

  • items__value_currency

  • items__value_period

  • items__lead_id

  • items__confidence

  • items__contact_name

  • items__date_updated

  • items__status_label

  • items__note

  • items__lead_name

  • items__status_type

  • items__created_by_name

  • items__date_won


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.