This integration is powered by Singer's Close.io tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
Close.io integration summary
Stitch’s Close.io integration replicates data using the Close.io REST API . Refer to the Schema section for a list of objects available for replication.
Close.io feature snapshot
A high-level look at Stitch's Close.io (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on September 17, 2018 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Unsupported |
Column selection |
Unsupported |
Select all |
Unsupported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Close.io
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 replication start date
The Sync Historical Data setting defines 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:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
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, defines 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 for the table.
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 reference
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 1 of this integration.
This is the latest version of the Close.io integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
activities
Replication Method : |
Append-Only Incremental |
Replication Key |
date_created |
Primary Key |
id |
API endpoint : |
The activities
table contains info about various activities in your Close.io account.
An activity belongs to a lead and can represent any type of activity that was performed on a lead or its contact. This includes calls, emails, notes, and so on.
Attribution window
When Stitch replicates data for this table, it will use an attribution window of 24 hours to fetch updated activities.
This means that every time a replication job runs, the last 24 hours’ worth of data will be replicated for this table. This is because Close.io doesn’t provide a way to query for activites based on a modification time, only when activities are created. A list of available querying methods can be found in Close.io’s documentation.
Refer to the Replication section for more info and examples of how the attribution window is used to query for data.
id
The activity ID. |
|||||||||||||||||||||
date_created
The date the activity was created. |
|||||||||||||||||||||
_type
The activity type. Possible values:
|
|||||||||||||||||||||
attachments
A list of attachments associated with the activity.
|
|||||||||||||||||||||
bcc
For |
|||||||||||||||||||||
body_html
For |
|||||||||||||||||||||
body_html_quoted
|
|||||||||||||||||||||
body_preview
A preview of the body content. |
|||||||||||||||||||||
body_text
For |
|||||||||||||||||||||
body_text_quoted
|
|||||||||||||||||||||
cc
For |
|||||||||||||||||||||
contact_id
The contact ID associated with the activity. Reference: |
|||||||||||||||||||||
created_by
The ID of the user who created the activity. Reference:
|
|||||||||||||||||||||
created_by_name
The name of the user who created the activity. |
|||||||||||||||||||||
date_scheduled
The date the activity was scheduled for. |
|||||||||||||||||||||
date_sent
The date the activity was sent. |
|||||||||||||||||||||
date_updated
The date the activity was last updated. |
|||||||||||||||||||||
dialer_id
For |
|||||||||||||||||||||
direction
The direction of the call, email, or SMS. Possible values are:
|
|||||||||||||||||||||
duration
For |
|||||||||||||||||||||
email_account_id
For |
|||||||||||||||||||||
envelope
For
|
|||||||||||||||||||||
import_id
|
|||||||||||||||||||||
in_reply_to_id
|
|||||||||||||||||||||
lead_id
The ID of the lead associated with the activity. Reference: |
|||||||||||||||||||||
local_phone
For |
|||||||||||||||||||||
message_ids
A list of messages associated with the activity.
|
|||||||||||||||||||||
need_smtp_credentials
|
|||||||||||||||||||||
new_status_id
For |
|||||||||||||||||||||
new_status_label
For |
|||||||||||||||||||||
new_status_type
For |
|||||||||||||||||||||
note
For |
|||||||||||||||||||||
old_status_id
For |
|||||||||||||||||||||
old_status_label
For |
|||||||||||||||||||||
old_status_type
For |
|||||||||||||||||||||
opens
For
|
|||||||||||||||||||||
opens_summary
|
|||||||||||||||||||||
opportunity_confidence
For |
|||||||||||||||||||||
opportunity_date_won
For |
|||||||||||||||||||||
opportunity_id
For |
|||||||||||||||||||||
opportunity_value
For |
|||||||||||||||||||||
opportunity_value_currency
For |
|||||||||||||||||||||
opportunity_value_formatted
For |
|||||||||||||||||||||
opportunity_value_period
For |
|||||||||||||||||||||
organization_id
The ID of the organization associated with the activity. Reference: |
|||||||||||||||||||||
phone
For |
|||||||||||||||||||||
recording_url
For |
|||||||||||||||||||||
references
A list of references associated with the activity. |
|||||||||||||||||||||
remote_phone
For |
|||||||||||||||||||||
send_attempts
For
|
|||||||||||||||||||||
sender
For |
|||||||||||||||||||||
source
The source of the activity. |
|||||||||||||||||||||
status
For |
|||||||||||||||||||||
subject
For |
|||||||||||||||||||||
task_assigned_to
The ID of the user who the task is assigned to. Reference:
|
|||||||||||||||||||||
task_assigned_to_name
The name of the user who the task is assigned to. |
|||||||||||||||||||||
task_id
For Reference: |
|||||||||||||||||||||
task_text
For |
|||||||||||||||||||||
template_id
For |
|||||||||||||||||||||
template_name
For |
|||||||||||||||||||||
thread_id
|
|||||||||||||||||||||
to
For
|
|||||||||||||||||||||
transferred_from
|
|||||||||||||||||||||
transferred_to
|
|||||||||||||||||||||
updated_by
The ID of the user who last updated the activity. Reference:
|
|||||||||||||||||||||
updated_by_name
The name of the user who last updated the activity. |
|||||||||||||||||||||
user_id
The ID of the user associated with the activity. Reference:
|
|||||||||||||||||||||
user_name
The name of the user associated with the activity. |
|||||||||||||||||||||
users
For
|
|||||||||||||||||||||
voicemail_duration
For |
|||||||||||||||||||||
voicemail_url
For |
custom_fields
Replication Method : |
Key-based Incremental |
Replication Key |
date_updated |
Primary Key |
id |
API endpoint : |
The custom_fields
table contains info about the custom fields in your Close.io account.
Custom fields allow you to store arbitrary data on leads in Close.io. Refer to Close.io’s documentation for more info.
event_log
Replication Method : |
Key-based Incremental |
Replication Key |
date_updated |
Primary Key |
id |
API endpoint : |
The event_log
table contains info about events generated in your Close.io account. This could include creating a lead, sending an email, or deleting a note.
Historical data limitations
Due to how Close.io’s API functions, only 30 days of historical data is available for this table from the initial connection date.
Refer to the Replication section for more info.
id
The event ID. |
||
date_updated
The time the event was last updated. |
||
action
The type of action that was performed on the
Refer to Close.io’s documentation for a full list of possible values. |
||
changed_fields
For events where
|
||
data
The payload of the affected object, as if it were retrieved via Close.io’s API. This is |
||
date_created
The date the event was created. |
||
lead_id
The ID of the lead associated with the event, if applicable. In the case where Reference: |
||
meta
Additional information for certain activity types.
|
||
object_id
The ID of the affected object. In the case where |
||
object_type
The type of object associated with the event. Possible values include:
|
||
organization_id
The ID of the organization associated with the event. Reference: |
||
previous_data
This field is only returned for Close.io organization admins. For events where |
||
request_id
The unique request identifier. |
||
user_id
The ID of the user who generated the event. This will be Reference:
|
Replication Method : |
Key-based Incremental |
Replication Key |
date_updated |
Primary Key |
id |
API endpoint : |
The leads
table contains info about the leads in your Close.io account.
Leads represent a company or organization and may contain contacts, tasks, opportunities, and activities. In Close.io, a lead is synonymous with “account” in other CRMs.
id
The lead ID. Reference: |
||||||||||||||||||||||||||||
date_updated
The time the lead was last updated. |
||||||||||||||||||||||||||||
addresses
A list of physical addresses associated with the lead.
|
||||||||||||||||||||||||||||
contacts
A list of contacts associated with the lead.
|
||||||||||||||||||||||||||||
created_by
The ID of the user who created the lead. Reference:
|
||||||||||||||||||||||||||||
created_by_name
The name of the user who created the lead. |
||||||||||||||||||||||||||||
custom_fields
A list of custom fields associated with the lead, if applicable. |
||||||||||||||||||||||||||||
date_created
The date the lead was created. |
||||||||||||||||||||||||||||
description
The description of the lead. |
||||||||||||||||||||||||||||
display_name
The display name of the lead. |
||||||||||||||||||||||||||||
html_url
The Close.io URL for the lead. |
||||||||||||||||||||||||||||
integration_links
A list of integration links associated with the lead.
|
||||||||||||||||||||||||||||
name
The name of the lead. |
||||||||||||||||||||||||||||
opportunities
A list of opportunities associated with the lead.
|
||||||||||||||||||||||||||||
organization_id
The ID of the organization associated with the lead. Reference: |
||||||||||||||||||||||||||||
status_id
The ID of the status associated with the lead. |
||||||||||||||||||||||||||||
status_label
The status label. For example: |
||||||||||||||||||||||||||||
tasks
A list of tasks associated with the lead.
|
||||||||||||||||||||||||||||
updated_by
The ID of the user who last updated the lead. Reference:
|
||||||||||||||||||||||||||||
updated_by_name
The name of the user who last updated the lead. |
||||||||||||||||||||||||||||
url
The Close.io URL of the lead. |
Replication Method : |
Key-based Incremental |
Replication Key |
date_updated |
Primary Key |
id |
API endpoint : |
The tasks
table contains info about the tasks in your Close.io account. Tasks are action items with a given date that are assigned to a sales rep.
id
The task ID. |
date_updated
The date the task was last updated. |
_type
The task type. Possible values are:
|
assigned_to
The ID of the user the task is assigned to. Reference:
|
assigned_to_name
The name of the user the task is assigned to. |
body_preview
For |
contact_id
The contact ID associated with the task. Reference: |
contact_name
The name of the contact associated with the task. |
created_by
The ID of the user who created the task. Reference:
|
created_by_name
The name of the user who created the task. |
date
The date of the task. |
date_created
The date the task was created. |
due_date
The date the task is due. |
email_id
For |
emails
For |
is_complete
Indicates if the task has been completed. |
is_dateless
Indicates if the task is dateless. |
lead_id
The ID of the lead associated with the task. Reference: |
lead_name
The name of the lead associated with the task. |
local_phone
For |
object_id
The object ID. The value of this field varies depending on a task’s
|
object_type
The object type. Possible values vary depending on a task’s
|
opportunity_note
For |
opportunity_value
For |
opportunity_value_currency
For |
opportunity_value_formatted
For |
opportunity_value_period
For |
organization_id
The ID of the organization associated with the task. Reference: |
phone
For |
phone_formatted
For |
phone_number_description
For |
recording_url
For |
remote_phone
For |
remote_phone_description
For |
remote_phone_formatted
For |
subject
For |
text
For |
updated_by
The ID of the user who last updated the task. Reference:
|
updated_by_name
The name of the user who last updated the task. |
view
The view associated with the task. |
voicemail_duration
For |
voicemail_url
For |
Replication Method : |
Key-based Incremental |
Replication Key |
date_updated |
Primary Key |
id |
API endpoint : |
The users
table contains info about the users in your Close.io account.
In Close.io, users are typically your co-workers and sales reps, or those inside your company.
id
The user ID. Reference:
|
date_updated
The date the user was last updated. |
date_created
The date the user was created. |
email
The user’s email address. |
first_name
The first name of the user. |
image
The URL of the user’s avatar. |
last_name
The last name of the user. |
last_used_timezone
The user’s last used timezone. |
organizations
A list of organizations associated with the user. |
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.