Kustomer integration summary

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

Kustomer feature snapshot

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

STITCH
Release status

Released on March 26, 2020

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-kustomer

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

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 Kustomer

Kustomer setup requirements

To set up Kustomer in Stitch, you need:

  • A Kustomer admin role. Admin permissions or a role with read and write security permissions are required to create an API key in Kustomer.


Step 1: Create a Kustomer API key

  1. Login to your Kustomer account.
  2. Navigate to Settings > API Keys
  3. Click New API Key.
  4. Select the roles that can have access to the API key.
  5. Leave the API expriation options blank. If you set an expiration date, the API key will expire and break the connection to Stitch. In the event that this happens, you’ll need to re-generate the API key in Kustomer and enter the new key into Stitch.
  6. Click Create.
  7. Copy the API key and keep it readily available for the next step.

Note: Kustomer will only display the key once, so save it somewhere secure for future reference.

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

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

Step 3: Define the historical replication start date

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

Kustomer 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 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 Kustomer 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 Kustomer, 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.


Kustomer table reference

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getConversations

The conversations table contains information about conversations in the Kustomer app.

id
STRING

The conversation ID.

updated_at
STRING

assigned_teams
ARRAY

value
STRING

conversations (table), assigned_teams (attribute)

assigned_users
ARRAY

value
STRING

conversations (table), assigned_users (attribute)

channels
ARRAY

value
STRING

conversations (table), channels (attribute)

created_at
STRING

created_by
OBJECT

id
STRING

type
STRING

conversations (table), created_by (attribute)

custom
OBJECT

auto_response_at
STRING

brand_str
STRING

case_id_str
STRING

close_out_tree
STRING

contact_reason_tree
STRING

desk_ticket_url
STRING

new_primary_menu_str
STRING

refund_status_str
STRING

return_requested_str
STRING

return_str
STRING

rma_id_str
STRING

serial_number_str
STRING

yale_call_reason_tree
STRING

yale_connectivity_str
STRING

yale_finish_str
STRING

yale_model_str
STRING

yale_notes_txt
STRING

yale_resolution_str
STRING

yale_serial_number_str
STRING

conversations (table), custom (attribute)

customer
OBJECT

id
STRING

type
STRING

conversations (table), customer (attribute)

direction
STRING

done_count
INTEGER

ended
BOOLEAN

ended_at
STRING

ended_by
OBJECT

id
STRING

type
STRING

conversations (table), ended_by (attribute)

ended_by_type
STRING

ended_reason
STRING

external_id
STRING

first_done
OBJECT

assigned_teams
ARRAY

value
STRING

conversations (table), assigned_teams (attribute)

assigned_users
ARRAY

value
STRING

conversations (table), assigned_users (attribute)

business_time
INTEGER

created_at
STRING

created_by
STRING

created_by_teams
ARRAY

value
STRING

conversations (table), created_by_teams (attribute)

last_message_direction
STRING

last_message_direction_type
STRING

message_count
INTEGER

message_count_by_channel
OBJECT

email
INTEGER

sms
INTEGER

voice
INTEGER

conversations (table), message_count_by_channel (attribute)

note_count
INTEGER

outbound_message_count
INTEGER

outbound_message_count_by_channel
OBJECT

email
INTEGER

sms
INTEGER

voice
INTEGER

conversations (table), outbound_message_count_by_channel (attribute)

time
INTEGER

conversations (table), first_done (attribute)

first_message_in
OBJECT

channel
STRING

created_at
STRING

direction_type
STRING

id
STRING

sent_at
STRING

conversations (table), first_message_in (attribute)

first_message_out
OBJECT

channel
STRING

created_at
STRING

created_by
STRING

created_by_teams
ARRAY

value
STRING

conversations (table), created_by_teams (attribute)

direction_type
STRING

id
STRING

sent_at
STRING

conversations (table), first_message_out (attribute)

first_response
OBJECT

assigned_teams
ARRAY

value
STRING

conversations (table), assigned_teams (attribute)

assigned_users
ARRAY

value
STRING

conversations (table), assigned_users (attribute)

business_time
INTEGER

created_at
STRING

created_by
STRING

created_by_teams
ARRAY

value
STRING

conversations (table), created_by_teams (attribute)

id
STRING

response_time
INTEGER

sent_at
STRING

time
INTEGER

conversations (table), first_response (attribute)

first_response_since_last_done
OBJECT

assigned_teams
ARRAY

value
STRING

conversations (table), assigned_teams (attribute)

assigned_users
ARRAY

value
STRING

conversations (table), assigned_users (attribute)

business_time
INTEGER

created_at
STRING

created_by
STRING

created_by_teams
ARRAY

value
STRING

conversations (table), created_by_teams (attribute)

id
STRING

response_time
INTEGER

sent_at
STRING

time
INTEGER

conversations (table), first_response_since_last_done (attribute)

imported_at
STRING

last_activity_at
STRING

last_done
OBJECT

assigned_teams
ARRAY

value
STRING

conversations (table), assigned_teams (attribute)

assigned_users
ARRAY

value
STRING

conversations (table), assigned_users (attribute)

business_time
INTEGER

created_at
STRING

created_by
STRING

created_by_teams
ARRAY

value
STRING

conversations (table), created_by_teams (attribute)

last_message_direction
STRING

last_message_direction_type
STRING

message_count
INTEGER

message_count_by_channel
OBJECT

email
INTEGER

sms
INTEGER

voice
INTEGER

conversations (table), message_count_by_channel (attribute)

note_count
INTEGER

outbound_message_count
INTEGER

outbound_message_count_by_channel
OBJECT

email
INTEGER

sms
INTEGER

voice
INTEGER

conversations (table), outbound_message_count_by_channel (attribute)

time
INTEGER

conversations (table), last_done (attribute)

last_message_at
STRING

last_message_direction
STRING

last_message_in
OBJECT

created_at
STRING

id
STRING

sent_at
STRING

conversations (table), last_message_in (attribute)

last_message_out
OBJECT

created_at
STRING

id
STRING

sent_at
STRING

conversations (table), last_message_out (attribute)

last_message_unresponded_to
OBJECT

created_at
STRING

id
STRING

sent_at
STRING

conversations (table), last_message_unresponded_to (attribute)

last_message_unresponded_to_since_last_done
OBJECT

created_at
STRING

id
STRING

sent_at
STRING

conversations (table), last_message_unresponded_to_since_last_done (attribute)

last_received_at
STRING

last_response
OBJECT

assigned_teams
ARRAY

value
STRING

conversations (table), assigned_teams (attribute)

assigned_users
ARRAY

value
STRING

conversations (table), assigned_users (attribute)

business_time
INTEGER

created_at
STRING

created_by
STRING

created_by_teams
ARRAY

value
STRING

conversations (table), created_by_teams (attribute)

id
STRING

time
INTEGER

conversations (table), last_response (attribute)

links
OBJECT

merged_target
BOOLEAN

message_count
INTEGER

modified_at
STRING

modified_by
OBJECT

id
STRING

type
STRING

conversations (table), modified_by (attribute)

name
STRING

note_count
INTEGER

org
OBJECT

id
STRING

type
STRING

conversations (table), org (attribute)

outbound_message_count
INTEGER

preview
STRING

priority
INTEGER

queue
OBJECT

id
STRING

type
STRING

conversations (table), queue (attribute)

reopen_count
INTEGER

rev
INTEGER

role_group_versions
STRING

satisfaction
STRING

satisfaction_level
OBJECT

sent_by_teams
ARRAY

value
STRING

conversations (table), sent_by_teams (attribute)
conversations (table), satisfaction_level (attribute)

sla
OBJECT

breach
OBJECT

at
STRING

metric
STRING

conversations (table), breach (attribute)

breached
BOOLEAN

matched_at
STRING

metrics
OBJECT

first_response
OBJECT

breach_at
STRING

satisfied_at
STRING

conversations (table), first_response (attribute)

longest_unresponded_message
OBJECT

breach_at
STRING

satisfied_at
STRING

conversations (table), longest_unresponded_message (attribute)
conversations (table), metrics (attribute)

status
STRING

summary
OBJECT

first_breach_at
STRING

satisfied_at
STRING

conversations (table), summary (attribute)

version
INTEGER

conversations (table), sla (attribute)

sla_data
OBJECT

id
STRING

type
STRING

conversations (table), sla_data (attribute)

sla_version
OBJECT

id
STRING

type
STRING

conversations (table), sla_version (attribute)

snooze
OBJECT

status
STRING

status_at
STRING

time
STRING

conversations (table), snooze (attribute)

snooze_count
INTEGER

status
STRING

suggested_shortcuts
STRING

suggested_tags
STRING

tags
ARRAY

value
STRING

conversations (table), tags (attribute)

total_done
OBJECT

business_time
INTEGER

time
INTEGER

conversations (table), total_done (attribute)

total_open
OBJECT

business_time
INTEGER

business_time_since_last_done
INTEGER

time
INTEGER

time_since_last_done
INTEGER

conversations (table), total_open (attribute)

total_snooze
OBJECT

business_time
INTEGER

time
INTEGER

conversations (table), total_snooze (attribute)

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getCustomers

The customers table contains information about customers in the Kustomer app.

id
STRING

The customer ID.

updated_at
STRING

active_users
STRING

avatar_url
STRING

birthday_at
STRING

conversation_counts
OBJECT

all
INTEGER

done
INTEGER

open
INTEGER

snoozed
INTEGER

customers (table), conversation_counts (attribute)

created_at
STRING

created_by
OBJECT

id
STRING

type
STRING

customers (table), created_by (attribute)

custom
OBJECT

accepts_marketing_bool
BOOLEAN

activation_date_str
STRING

app_version_str
STRING

august_id_str
STRING

august_serial_number_str
STRING

bridge_date_installed_at
STRING

bridge_serial_number_str
STRING

connect_firmware_version_str
STRING

connect_serial_number_str
STRING

doorbell_date_installed_at
STRING

doorbell_firmware_version_str
STRING

doorbell_serial_str
STRING

firmware_version_str
STRING

keypad_firmware_version_str
STRING

keypad_installed_at
STRING

keypad_serial_str
STRING

last_autoresponse_at
STRING

last_order_id_num
INTEGER

last_order_name_str
STRING

latest_csat_num
INTEGER

latest_nps_num
INTEGER

lock_date_installed_at
STRING

lock_firmware_version_str
STRING

lock_serial_number_str
STRING

orders_count_num
INTEGER

os00_str
STRING

owner_guest_str
STRING

products_owned_str
STRING

proof_of_purchase_str
STRING

purchase_date_str
STRING

sales_force_id_str
STRING

total_spent_num
INTEGER

customers (table), custom (attribute)

deleted
STRING

display_color
STRING

display_icon
STRING

display_name
STRING

emails
ARRAY

email
STRING

type
STRING

verified
BOOLEAN

customers (table), emails (attribute)

external_id
STRING

external_ids
ARRAY

type
STRING

verified
BOOLEAN

customers (table), external_ids (attribute)

facebook_ids
STRING

first_name
STRING

gender
STRING

imported_at
DATE-TIME

instagram_ids
STRING

last_activity_at
DATE-TIME

last_conversation
OBJECT

channels
ARRAY

value
STRING

customers (table), channels (attribute)

id
STRING

sentiment
OBJECT

confidence
NUMBER

polarity
INTEGER

customers (table), sentiment (attribute)

tags
ARRAY

value
STRING

customers (table), tags (attribute)
customers (table), last_conversation (attribute)

last_customer_activity_at
STRING

last_message_at
STRING

last_message_in
OBJECT

channel
STRING

sent_at
STRING

sentiment
STRING

customers (table), last_message_in (attribute)

last_message_out
OBJECT

sent_at
STRING

customers (table), last_message_out (attribute)

last_message_unresponded_to
OBJECT

channel
STRING

sent_at
STRING

customers (table), last_message_unresponded_to (attribute)

last_name
STRING

last_seen_at
STRING

links
OBJECT

locale
STRING

locations
STRING

modified_at
STRING

modified_by
OBJECT

id
STRING

type
STRING

customers (table), modified_by (attribute)

name
STRING

org
OBJECT

id
STRING

type
STRING

customers (table), org (attribute)

phones
ARRAY

phone
STRING

type
STRING

verified
BOOLEAN

customers (table), phones (attribute)

preview
OBJECT

channel
STRING

preview_at
STRING

subject
STRING

text
STRING

type
STRING

customers (table), preview (attribute)

progressive_status
STRING

recent_items
ARRAY

id
STRING

meta
OBJECT

klass_name

customers (table), meta (attribute)

type
STRING

updated_at
STRING

customers (table), recent_items (attribute)

recent_location
OBJECT

updated_at
STRING

customers (table), recent_location (attribute)

rev
INTEGER

role_group_versions
STRING

satisfaction_level
OBJECT

first_satisfaction
OBJECT

sent_by_teams
ARRAY

value
STRING

customers (table), sent_by_teams (attribute)
customers (table), first_satisfaction (attribute)

last_satisfaction
OBJECT

sent_by_teams
ARRAY

value
STRING

customers (table), sent_by_teams (attribute)
customers (table), last_satisfaction (attribute)
customers (table), satisfaction_level (attribute)

sentiment
OBJECT

confidence
NUMBER

polarity
INTEGER

customers (table), sentiment (attribute)

shared_emails
STRING

shared_external_ids
STRING

shared_phones
STRING

shared_socials
STRING

signed_up_at
STRING

smooch_ids
STRING

socials
STRING

tags
STRING

time_zone
STRING

urls
STRING

username
STRING

verified
BOOLEAN

watchers
STRING

whatsapps
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getKObject

The kobjects table contains information about Kustomer objects in the Kustomer app.

id
STRING

The KObject ID.

updated_at
STRING

The date the object was last updated.

created_at
STRING

custom
OBJECT

billing_status_str
STRING

comment_txt
STRING

delighted_link_str
STRING

order_created_at
STRING

order_number_str
STRING

order_updated_at
STRING

purchase_amount_num
INTEGER

score_num
INTEGER

shipping_address_str
STRING

shipping_country_str
STRING

shipping_state_str
STRING

shipping_zip_str
STRING

skus_txt
STRING

special_instructions_str
STRING

tags_str
STRING

total_price_num
NUMBER

total_price_str
STRING

updated_at
STRING

kobjects (table), custom (attribute)

customer
OBJECT

id
STRING

type
STRING

kobjects (table), customer (attribute)

description
STRING

external_id
STRING

icon
STRING

klass
OBJECT

id
STRING

type
STRING

kobjects (table), klass (attribute)

links
OBJECT

org
OBJECT

type
STRING

kobjects (table), org (attribute)

title
STRING

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getMessages

The messages table contains information about messages in the Kustomer app.

id
STRING

The message ID.

updated_at
STRING

The day the message was last updated.

created_at
STRING

custom
OBJECT

billing_status_str
STRING

comment_txt
STRING

delighted_link_str
STRING

order_created_at
STRING

order_number_str
STRING

order_updated_at
STRING

purchase_amount_num
INTEGER

score_num
INTEGER

shipping_address_str
STRING

shipping_country_str
STRING

shipping_state_str
STRING

shipping_zip_str
STRING

skus_txt
STRING

special_instructions_str
STRING

tags_str
STRING

total_price_num
NUMBER

total_price_str
STRING

updated_at
STRING

messages (table), custom (attribute)

customer
OBJECT

id
STRING

type
STRING

messages (table), customer (attribute)

description
STRING

external_id
STRING

icon
STRING

images
ARRAY

value
STRING

messages (table), images (attribute)

klass
OBJECT

id
STRING

type
STRING

messages (table), klass (attribute)

links
OBJECT

org
OBJECT

type
STRING

messages (table), org (attribute)

tags
ARRAY

value
STRING

messages (table), tags (attribute)

title
STRING

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getNotes

The notes table contains information about notes in the Kustomer app.

id
STRING

The note ID.

updated_at
DATE-TIME

body
STRING

conversation
OBJECT

id
STRING

type
STRING

notes (table), conversation (attribute)

created_at
DATE-TIME

created_by
OBJECT

id
STRING

type
STRING

notes (table), created_by (attribute)

customer
OBJECT

id
STRING

type
STRING

notes (table), customer (attribute)

deleted
BOOLEAN

deleted_at
DATE-TIME

deleted_by
OBJECT

id
STRING

type
STRING

notes (table), deleted_by (attribute)

external_id
STRING

imported_at
DATE-TIME

links
OBJECT

modified_at
DATE-TIME

modified_by
OBJECT

id
STRING

type
STRING

notes (table), modified_by (attribute)

org
OBJECT

id
STRING

type
STRING

notes (table), org (attribute)

type
STRING

user_mentions
ARRAY

id
STRING

type
STRING

notes (table), user_mentions (attribute)

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getShortcuts

The shortcuts table contains information about shortcuts in the Kustomer app.

id
STRING

The shortcut ID.

updated_at
DATE-TIME

The time the shortcut was last updated.

conversation
OBJECT

name
OBJECT

operator
STRING

value
STRING

shortcuts (table), name (attribute)

tags
OBJECT

operator
STRING

value
ARRAY

value
STRING

shortcuts (table), value (attribute)
shortcuts (table), tags (attribute)
shortcuts (table), conversation (attribute)

created_at
DATE-TIME

created_by
OBJECT

id
STRING

type
STRING

shortcuts (table), created_by (attribute)

deleted
BOOLEAN

draft
OBJECT

text
STRING

shortcuts (table), draft (attribute)

is_private
BOOLEAN

links
OBJECT

modified_at
STRING

modified_by
OBJECT

id
STRING

type
STRING

shortcuts (table), modified_by (attribute)

name
STRING

org
OBJECT

id
STRING

type
STRING

shortcuts (table), org (attribute)

payload
OBJECT

text
OBJECT

blocks
ARRAY

data
OBJECT

shortcuts (table), data (attribute)

depth
INTEGER

entity_ranges
ARRAY

key
INTEGER

length
INTEGER

offset
INTEGER

shortcuts (table), entity_ranges (attribute)

inline_style_ranges
ARRAY

length
INTEGER

offset
INTEGER

style
STRING

shortcuts (table), inline_style_ranges (attribute)

key
STRING

text
STRING

type
STRING

shortcuts (table), blocks (attribute)

entity_map
OBJECT

0
OBJECT

data
OBJECT

fallback_text
STRING

key
STRING

url
STRING

shortcuts (table), data (attribute)

mutability
STRING

type
STRING

shortcuts (table), 0 (attribute)

1
OBJECT

data
OBJECT

fallback_text
STRING

key
STRING

url
STRING

shortcuts (table), data (attribute)

mutability
STRING

type
STRING

shortcuts (table), 1 (attribute)

2
OBJECT

data
OBJECT

url
STRING

shortcuts (table), data (attribute)

mutability
STRING

type
STRING

shortcuts (table), 2 (attribute)

3
OBJECT

data
OBJECT

url
STRING

shortcuts (table), data (attribute)

mutability
STRING

type
STRING

shortcuts (table), 3 (attribute)
shortcuts (table), entity_map (attribute)
shortcuts (table), text (attribute)
shortcuts (table), payload (attribute)

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getTags

The tags table contains information about tags in the Kustomer app.

id
STRING

The tag ID.

updated_at
DATE-TIME

The last time the tag was updated.

color
STRING

created_at
DATE-TIME

created_by
OBJECT

id
STRING

type
STRING

tags (table), created_by (attribute)

deleted
BOOLEAN

links
OBJECT

modified_at
STRING

modified_by
OBJECT

id
STRING

type
STRING

tags (table), modified_by (attribute)

name
STRING

org
OBJECT

id
STRING

type
STRING

tags (table), org (attribute)

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getTeams

The teams table contains information about teams in the Kustomer app.

id
STRING

The team ID.

updated_at
DATE-TIME

The time the team was last updated.

created_at
DATE-TIME

created_by
OBJECT

id
STRING

type
STRING

teams (table), created_by (attribute)

deleted
BOOLEAN

deleted_at
STRING

deleted_by
OBJECT

id
STRING

type
STRING

teams (table), deleted_by (attribute)

display_name
STRING

icon
STRING

links
OBJECT

members
ARRAY

value
STRING

teams (table), members (attribute)

modified_at
STRING

modified_by
OBJECT

id
STRING

type
STRING

teams (table), modified_by (attribute)

name
STRING

org
OBJECT

id
STRING

type
STRING

teams (table), org (attribute)

role_groups
ARRAY

value
STRING

teams (table), role_groups (attribute)

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

getUsers

The users table contains information about users in the Kustomer app.