Kustomer is a contact platform that is mainly used for chat and e-mail (sometimes SMS, Social and Phone). More information about Kustomer can be found here.
Assembled integrates with Kustomer allowing your ticket data to be tracked and forecasted in our system.
Connecting Kustomer to Assembled
If you run into any issues during this step, please reach out to our Support Team.
- API key:
-
For ticket data, you will need to enable:
org.permission.search.read
org.permission.conversation.read
org.permission.message.read
For agent state data, you will need to enable:org.permission.read
org.permission.customer.read
org.permission.routing.read
-
- NOTE: This allows Assembled to make API requests on behalf of your account. As a result, this will cause an overall increase in your API usage.
- Successfully connecting Kustomer will have a Synced, Sync in progress, or Connected field on the specific card in the Settings > Integrations page.
Sync jobs on Assembled
For Kustomer, these are the sync jobs created:
Sync job | Definition | Frequency |
---|---|---|
backfill | Syncs data in the past, for a total of 5 years from the time the sync job was created. | As fast as possible |
default | Syncs new and updated data, generally every 5 minutes, as well as historical ticket data up to a total of 5 years from the initial sync date | Every 1 minute |
agent_states | Syncs agent states | Every 15 seconds |
Verify the Kustomer connection
There are two places on Assembled for you to verify if the integration has been correctly added. If either of these display zero or abnormal numbers, please reach out to our Support Team.
Assembled | Type of data |
---|---|
Realtime dashboard | Agent states + contact data |
Staffing Timeline → Contacts | Contact data |
Kustomer endpoints/services that we integrate with
/v1/customers/search
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Ticket data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 1 minute (there will be a spike at the start due to the backfill) |
/v1/routing/queues
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Queue data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 15 seconds |
/v1/routing/statuses
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Agent states |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 15 seconds |
/v1/assistants
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Ticket data (mainly for chatbots) |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 15 seconds |
/v1/routing/work-sessions
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Ticket event data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 15 seconds |
/v1/conversations
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Ticket data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 1 minute (there will be a spike at the start due to the backfill) |
/v1/conversations/<conversationId>/events
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Ticket event data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 1 minute (there will be a spike at the start due to the backfill) |
/v1/conversations/<conversationId>/messages
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Ticket data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | Every 1 minute (there will be a spike at the start due to the backfill) |
/v1/tags
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Queue data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | On demand |
/v1/teams
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | Queue data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | On demand |
/v1/users
Question | Answer |
---|---|
Do we parse PII data from this endpoint? | Yes, we do store conversation data on Kustomer by default. However, you can limit the type of data that is returned via the API. |
What data does this endpoint provide? | User data |
What is the rate limit for this endpoint? | Shared across all endpoints, with a maximum of 1000 requests per minute (potentially 2000 requests per minute with the Ultimate Plan) |
How often does Assembled hit this endpoint? | On demand |
Kustomer integration mappings
User roles
Kustomer | Assembled |
---|---|
Agent | Standard |
Ticket data (Email)
Kustomer | Assembled |
---|---|
firstResponse.createdAt (if present) OR externalTimestamp (if firstResponse is empty but earliestResponseMessage is not) | first_responded_at |
first_responded_at - external_created_at OR firstResponse.businessTime / 1000 (if kustomer.use_business_time is turned on) (SLA) | first_response_duration |
Ticket data (Chat, SMS, Social)
Kustomer | Assembled |
---|---|
firstResponse.createdAt (if present) OR externalTimestamp (if firstResponse is empty but earliestResponseMessage is not) | first_responded_at |
firstResponse.businessTime / 1000 (if kustomer.use_business_time is enabled) OR first_responded_at - createdAt (SLA) | first_response_duration |
Ticket data (Phone)
Kustomer | Assembled |
---|---|
meta.answeredAt | first_responded_at |
meta.answeredAt - meta.placedAt (SLA) | first_response_duration |
Ticket status
Kustomer | Assembled |
---|---|
done | closed |
open | open |
snoozed | snoozed |
empty |
Channels
Kustomer | Assembled |
---|---|
voice | Phone |
chat | Chat |
sms | SMS |
facebook, twitter-dm, twitter-tweet, instagram | Social |
FAQ
- We track the SLA for calls via the
meta.answeredAt
-meta.placedAt
metrics from Kustomer. - We track the SLA for chats, social and SMS via the
first_responded_at
-external_created_at
metrics. If you would like us to calculate first response times based on business hours, please reach out to our Support Team. - We track the SLA for e-mails via the
first_responded_at
-external_created_at
metric. If you would like us to calculate first response times based on business hours, please reach out to our Support Team. - We pull data from Kustomer at a maximum rate of 500 requests per minute.
Comments
0 comments
Please sign in to leave a comment.