Important: Version 2017-03-01 deprecation
This version of the Close.io integration will be deprecated on September 17, 2018 and no longer be formally supported by the Stitch Support Team.
Connections created from March 1, 2017 to September 16, 2018 use this version. Upgrade to the latest version (1.0) to take advantage of the new enhancements.
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 | |
Stitch Plan |
Paid |
Singer GitHub 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
- Sign into your Close.io account.
- Click the user menu (your icon) in the top right corner.
- Click Settings.
- In the Company menu (located under the You menu), click Your API Keys.
- In the Your API Keys section, click the Generate New API Key button.
- 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
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Close.io icon.
-
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. - 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.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
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
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 2017-03-01 of this integration.
activities
Replication Method: Append-Only Incremental
Primary Key: id
Contains Nested Structures?:
Yes
activities
table contains the activities performed on a lead or its contacts.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
leads
table contains the leads in your Close.io account.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
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.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
Related | Troubleshooting |
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.