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.readorg.permission.conversation.readorg.permission.message.read
For agent state data, you will need to enable:org.permission.readorg.permission.customer.readorg.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.placedAtmetrics from Kustomer. - We track the SLA for chats, social and SMS via the
first_responded_at-external_created_atmetrics. 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_atmetric. 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.