Zendesk Talk
1. How to connect to Zendesk Talk?
You can follow the following steps to build a connection with your Zendesk Support. If you need any helps to set up your integration, please contact us.
1. Go to the Resources page and click the Add Resource button.
2. In the "Select a data source" step, select Zendesk Talk under Apps.
3. In the "Configure the data source" step, enter the following information:
Start Date:
Retrieve data from a specific date and time. The date should be defined in UTC date and time, such as 2017-01-25T00:00:00Z.Email
: the email address that is registered for your Zendesk account.API Token
: The value of the API token generated. See here to get an API token.Subdomain
: The subdomain for your Zendesk Support.
4. In the "Select the tables", choose tables that you want to connect. See here for more details on each table.
2. How to generate an API token for Zendesk Talk?
Zendesk Talk and Zendesk Support can share the same API token. If you have already generated an API token for Zendesk Support, then you can use the same one to connect to Zendesk Talk.
To connect to your Zendesk account on Acho, you have to enable API token access and generate a token in Zendesk. You must be an administrator and API token access must be enabled. Here are the instructions to do so.
2. Enable API token access.
3. Click Add API token and find your API tokens as shown below.
4. Click Save.
3. How to set up Data Sync?
Acho supports creating schedulers to retrieve the latest data from your Zendesk Talk account at a certain time interval. To see more details, you can visit here.
4. Available Tables
For every third-party App integration, there are many tables that can be imported. Outside of the reference tables, here are some of the most used tables for your analytics
Account Overview
The Account Overview table shows the overview statistics about your account.
Name | Type | Description |
average_call_duration | integer | Average time of call across all calls |
average_queue_wait_time | integer | Average time caller spent in queue waiting to be routed to an agent |
average_wrap_up_time | integer | Average wrap-up time across all calls |
max_calls_waiting | integer | Maximum number of calls waiting for an agent in the queue, including caller on the line and callback requests |
max_queue_wait_time | integer | Maximum time caller spent in queue waiting to be routed to an agent |
total_call_duration | integer | Total duration of all calls |
total_calls | integer | Total number of inbound and outbound calls |
total_voicemails | integer | Total number of calls that went to voicemail for any reason |
total_wrap_up_time | integer | Total wrap-up time across all calls |
On the Professional plan and above, the table has the following additional properties:
Name | Type | Description |
average_callback_wait_time | integer | Average callback time a customer has been waiting for an agent in the queue. Excludes Available agents greeting |
average_hold_time | integer | Average time caller spent on hold per call |
average_time_to_answer | integer | Average time between system answering a call and customer being connected with an agent. Includes greetings and other recordings played |
total_callback_calls | integer | Total number of callback requests (successful or not) |
total_calls_abandoned_in_queue | integer | Total number of calls where customer hung up while waiting in the queue |
total_calls_outside_business_hours | integer | Total number of calls received outside business hours |
total_calls_with_exceeded_queue_wait_time | integer | Total number of calls sent to voicemail after exceeding the max wait time in the queue |
total_calls_with_requested_voicemail | integer | Total number of calls where customer requested to be put through to voicemail by dialing 1 |
total_hold_time | integer | Total hold time across all calls |
total_inbound_calls | integer | Total number of inbound calls |
total_outbound_calls | integer | Total number of outbound calls |
total_textback_requests | integer | Total number of textback messages sent from IVR |
total_embeddable_callback_calls | integer | Total number of callback calls requested via Web Widget (successful or not) |
Addresses
When you purchase a phone number in Talk, some countries have regulations that require you to provide an address to verify your business. The Addresses table retrieves the list of addresses that are used for verification.
Name | Type | Read-only | Mandatory | Description |
id | integer | true | false | Automatically assigned upon creation |
city | string | false | true | The city of the address |
country_code | string | false | true | The ISO code of the country for this address |
name | string | false | true | The name of the address |
provider_reference | string | false | false | The provider reference of the address |
province | string | false | true | The province of the address |
state | string | false | false | The state of the address |
street | string | false | true | The street of the address |
zip | string | false | true | The zip of the address |
Agents Activity
The Agents Activity table shows the descriptive statistics for each agent.
Name | Type | Description |
agent_id | string | The agent's id |
agent_state | string | The agent's state. Allowed values are "online", "offline", "away", or "transfers_only" |
available_time | integer | Total time agent was available to answer calls and set to "online". Does not include time on calls or in wrap-up mode |
avatar_url | string | The URL to agent's avatar |
away_time | integer | Total time agent's status was set to "away" |
call_status | string | The agent's call status. Allowed values are "on_call", "wrap_up", or "null" |
calls_accepted | integer | The total number of phone calls the agent has accepted |
calls_denied | integer | The total number of times the agent has declined an incoming call |
calls_missed | integer | The total number of times an agent has not answered their phone and the call was routed to the next available agent |
forwarding_number | string | The forwarding number set up by the agent, or null if the agent has no forwarding number |
name | string | The agent's name |
online_time | integer | Total time agent's status was set to "online", "away", or "transfers_only" |
transfers_only_time | integer | Total time agent's status was set to "transfers_only" |
total_call_duration | integer | Total time the agent was on call across all calls |
total_talk_time | integer | Total talk time (excludes hold time and consultation) |
total_wrap_up_time | integer | Total time spent in wrap-up across all calls |
via | string | The channel (client/phone) the agent is registered on |
On the Professional plan and above, the JSON object has the following additional properties:
Name | Type | Description |
accepted_third_party_conferences | integer | The average number of conference calls accepted, the number accepted by the selected agent, and the percentage difference between the two |
accepted_transfers | integer | Total numbers of transfers the agent accepted |
average_hold_time | integer | Average time the agent spent on hold per call |
average_talk_time | integer | Average talk time across all calls (excludes hold time and consultation) |
average_wrap_up_time | integer | Average wrap-up time across all calls |
calls_put_on_hold | integer | Total number of calls the agent placed on hold |
started_third_party_conferences | integer | The average number of conference calls initiated, the number initiated by the selected agent, and the percentage difference between the two |
started_transfers | integer | Total numbers of transfers the agent started |
total_hold_time | integer | Total time the agent was on hold across all calls |
Agents Overview
The Agents Overview table shows the overview statistics for all agents.
Name | Type | Description |
average_wrap_up_time | integer | Average wrap-up time across all calls |
total_calls_accepted | integer | Total number of calls agents answered |
total_calls_denied | integer | Total number of calls agents denied |
total_calls_missed | integer | Total number of calls agents missed |
total_talk_time | integer | Total talk time across all calls (excludes hold time and consultation) |
total_wrap_up_time | integer | Total wrap-up time across all calls |
Note: Metrics like total_calls_accepted
, total_calls_denied
, total_calls_missed
, and total_calls_put_on_hold
can be greater than total_inbound_calls
. Example: One inbound call is missed by two agents or denied by two agents.
On the Professional plan and above, the table has the following additional properties:
Name | Type | Description |
average_accepted_transfers | integer | Average number of transfers agents accepted |
average_available_time | integer | Average time an agent was available to answer calls and set to "online". Does not include time on calls or in wrap-up mode |
average_away_time | integer | Average time agent's status was set to "away" |
average_calls_accepted | integer | Average number of calls agents answered |
average_calls_denied | integer | Average number of calls agents denied |
average_calls_missed | integer | Average number of calls agents missed |
average_calls_put_on_hold | integer | Average number of calls an agent placed on hold |
average_hold_time | integer | Average time caller spent on hold per call |
average_online_time | integer | Average time agent's status was set to "online", "away", or "transfers_only" |
average_transfers_only_time | integer | Average time agent's status was set to "transfers only" |
average_started_transfers | integer | Average number of transfers agents started |
average_talk_time | integer | Average agent talk time across all calls (excludes hold time and consultation) |
total_accepted_transfers | integer | Total number of transfers agents started |
total_calls_put_on_hold | integer | Total number of calls agents placed on hold |
total_hold_time | integer | Total hold time across all calls |
total_started_transfers | integer | Total number of transfers agents started |
Calls (Incremental sync)
The Call table retrieves a complete list of information on inbound and outbound calls.
Name | Type | Description |
id | integer | Call id |
agent_id | integer | The id of the first agent who picked up the call |
call_charge | string | Total charge for the call. String representation of a decimal number with six decimal places. Example: "1.230000". Null if no charge was received from Twilio |
call_group_id | integer | The id number of the group the call was last placed in before completion. |
call_recording_consent | string | Call recording consent value configured for the phone number. Allowed values are "always", "opt_in", "opt_out" or "never" |
call_recording_consent_action | string | Call recording consent option selected by the caller. Allowed values are "caller_opted_in", "caller_opted_out" or "null" |
call_recording_consent_keypress | string | Keypress the caller chose to give their call recording consent option. Allowed values are "3" or "null" |
callback | boolean | True if the call was initiated by a callback request from the customer |
callback_source | string | The source of the callback request. Allowed values are "null", "queue" or "web widget" |
completion_status | string | Status of the call. Allowed values are "completed", "abandoned_in_queue", "abandoned_in_ivr", "abandoned_in_voicemail", "abandoned_on_hold" or "pending_voicemail" |
consultation_time | integer | Sum of how long in seconds agents consulted with each other while the customer was on hold |
created_at | date | When the call object was created |
customer_requested_voicemail | boolean | The customer requested to be directed to voicemail instead of waiting for an agent to answer |
default_group | boolean | The call was answered by an agent who is a member of the call's default group, if group routing is used |
direction | string | Inbound or outbound. The agent or customer who initialized the call |
duration | integer | Call duration in seconds |
exceeded_queue_time | boolean | The customer exceeded the maximum queue wait time and did not speak with an agent |
hold_time | integer | Sum of how long in seconds the customer was placed on hold by an agent(s) |
ivr_action | string | Menu action that was used by the caller in the IVR menu selection. Possible values: "null" (if IVR is not used), "menu", "voicemail", "group", "phone_number", "textback", "invalid" (returned for an invalid keypress) |
ivr_destination_group_name | string | Name of the group that received the call through IVR routing. null if IVR is disabled |
ivr_hops | integer | How many menu options the customer went through in IVR before talking to an agent. null if IVR is disabled |
ivr_routed_to | string | Phone number where call was routed to by IVR. Example: "+1311123456789". null if IVR is disabled |
ivr_time_spent | integer | How long in seconds the customer spent in IVR. Null if IVR is disabled |
minutes_billed | integer | Minutes billed |
not_recording_time | integer | How long in seconds spent not recording on the call. |
outside_business_hours | boolean | The call was received outside business hours |
overflowed | boolean | True if the call overflowed |
overflowed_to | string | The phone number that the call overflowed to. null if overflowed is false |
phone_number | string | Talk phone associated with the call. Example: "+1311123456789" |
phone_number_id | integer | Talk phone number id |
quality_issues | array | A summary of the call's quality issues related to the call provided to Zendesk from Twilio. Until the information is made available by Twilio, the array contains "information_not_available". If there are no issues, the array contains "none". Other possible values: one or more of "silence", "high_jitter", "high_packet_loss", "high_pdd", "high_latency" |
recording_control_interactions | integer | The amount of times agents have paused or resumed a recording on the call. |
recording_time | integer | How long in seconds spent recording on the call |
talk_time | integer | Sum of how long in seconds the customer was in conference with an agent(s). If a call is not accepted by an agent this will be 0 |
ticket_id | integer | The id of the ticket related to the call |
time_to_answer | integer | How long in seconds the customer waited for an agent to answer after hearing the Available agents greeting |
updated_at | date | When the call object was last created |
voicemail | boolean | If true, the call was a voicemail |
wait_time | integer | How long in seconds the customer was in the call before an agent answered |
wrap_up_time | integer | Sum of how long in seconds the agent(s) spent in wrap up |
Call Legs (Incremental sync)
The Call Legs table shows information for each call leg. A call leg is a logical connection between two voice gateways or between a gateway and an IP telephony device. Legs are a subsection of calls and return information specific to each agent that interacted with the call, or any action the system took on the call.
Name | Type | Description |
id | integer | Leg id |
agent_id | integer | Id of the agent associated with this part of the call. When |
available_via | string | Ways the agent is available for incoming calls. It can be null on customer leg. Allowed values are "browser" or "phone" |
call_charge | string | Call charge on the leg. String representation of a decimal number with six decimal places. Example: "1.230000" |
call_id | integer | Call id |
completion_status | string | Completion status of the leg. Allowed values are "agent_declined", "agent_missed", "agent_transfer_declined", "customer_hang_up" or "completed" |
conference_from | integer | ID of agent who initiated the 3rd party conference |
conference_time | integer | Time that agent spent in 3rd party conference (if call has multiple conferences we will sum the conference time) |
conference_to | integer | ID of user or agent who joined the 3rd party conference |
consultation_from | integer | ID of the agent who requested the consultation |
consultation_time | integer | How long the agent consulted with another agent while the customer was on hold. null if there was no consultation |
consultation_to | integer | The id of the agent who received and accepted the consultation request. null if there was no transfer |
created_at | date | When the leg object was created |
duration | integer | How long in seconds the leg existed |
forwarded_to | string | Phone number the call was forwarded to. Example: "+1311123456789". It can be null on customer leg |
hold_time | integer | How long in seconds the leg existed |
minutes_billed | integer | Minutes billed |
quality_issues | array | A summary of the call's quality issues related to the call provided to Zendesk from Twilio. Until the information is made available by Twilio, the array contains "information_not_available". If there are no issues, the array contains "none". Other possible values: one or more of "silence", "high_jitter", "high_packet_loss", "high_pdd", "high_latency" |
talk_time | integer | How long in seconds the agent was in conference with the customer for this leg |
transferred_from | integer | The id of the agent who initialized the transfer. This value must be 0 on the first agent's leg. null if there was no transfer |
transferred_to | integer | The id of the agent who received and accepted the transfer request |
type | string | The type of the leg. Allowed values are "customer", "agent", "external" or "supervisor" |
updated_at | date | When the leg object was last updated |
user_id | integer | Id of the customer or user associated with this part of the call. When user_id is positive then agent_id must be 0 and the type is |
wrap_up_time | integer | How long in seconds the leg was in wrap up. It can be null on customer leg |
Current Queue Activity
The Agents Overview table shows statistics for current queue activities.
Name | Type | Description |
agents_online | integer | The current number of agents online or away, including those on call and on wrap up |
average_wait_time | integer | The average wait time for all callers who are waiting for an available agent (in seconds) |
callbacks_waiting | integer | The current number of callers in the callback queue waiting for the next available support agent |
calls_waiting | integer | The current number of callers in the queue waiting for the next available support agent |
embeddable_callbacks_waiting | integer | The current number of callback requests from Web Widget in the queue waiting for the next available support agent |
longest_wait_time | integer | The longest wait time for any caller in the queue (in seconds) |
Greeting Categories
The Greeting Categories table shows a list of categories that are used for classifying different greetings.
Name | Type | Description |
id | integer | The greeting category ID |
name | string | The name of the greeting category |
Greetings
The Greetings table retrieves all the information for each greeting.
Name | Type | Description |
id | The greeting ID | |
active | boolean | The value is true if the greeting is associated with one or more phone numbers |
audio_name | string | Greeting audio name provided in greeting .mp3 or .wav format |
audio_url | string | The path to the greeting sound file |
category_id | integer | The id of the greeting category. *Writeable on create only. |
default | boolean | True if the greeting is a system default greeting |
default_lang | boolean | Whether or not the greeting has a default language |
has_sub_settings | boolean | Sub-settings for categorized greetings |
ivr_ids | array | The IDs of the IVRs associated with the greeting |
name | string | The name of the greeting |
pending | boolean | Whether or not the greeting is pending |
phone_number_ids | array | The IDs of the phone numbers associated with the greeting |
upload_id | integer | Upload ID associated with the greeting |
IVRs
Interactive voice response (IVR) uses keypad tones to route customers to the right agent or department, provide recorded responses for frequently asked questions, and deflect calls by allowing callers to switch the interaction to text. The IVRs table returns information about each IVR in your account
Name | Type | Read-only | Mandatory | Description |
id | integer | true | false | The IVR ID |
menus | array | false | false | The list of the IVR menus |
name | string | false | false | The name of the IVR |
phone_number_ids | array | false | false | The list of IDs of all the phone numbers configured with this IVR |
phone_number_names | array | true | false | The list of the names of all the phone numbers configured with this IVR |
IVR Menus
Name | Type | Read-only | Mandatory | Description |
id | integer | true | false | The IVR menu ID |
default | boolean | true | false | Whether this is the default menu for the IVR |
greeting_id | integer | false | false | The ID of the greeting associated with the IVR menu |
name | string | false | false | The name of the IVR menu |
routes | array | true | false | The list of the IVR menu routes |
IVR Routes
Name | Type | Read-only | Mandatory | Description |
id | integer | true | false | The IVR route ID |
action | string | false | false | The action that will be performed by the IVR route. Allowed values are "group", "voicemail", "phone_number", "textback", or "menu". |
greeting | string | true | false | The name of the greeting associated with the IVR route |
keypress | string | false | false | The keypress associated with the IVR route. Allowed values are "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "#", or "default". |
option_text | string | true | false | A text describing the options of the route. Example: When the option is |
options | object | false | false | The options for the IVR route depending on the action. |
overflow_options | array | false | false | Options for managing overflow calls |
Phone Numbers
Name | Type | Description |
id | integer | Automatically assigned upon creation |
call_recording_consent | string | What call recording consent is set to |
capabilities | object | Whether a phone number has mms, sms, or voice capability. |
categorised_greetings | object | Greeting category ids and names. |
categorised_greetings_with_sub_settings | object | The id and any settings associated with each greeting category. If the category has no settings, it defaults to the category name. |
country_code | string | The ISO code of the country for this number |
created_at | string | The date and time the phone number was created |
default_greeting_ids | array | The names of default system greetings associated with the phone number. |
default_group_id | integer | Default group id. *Writeable on most of the plans. |
display_number | string | The formatted phone number |
external | boolean | The external caller id number |
failover_number | string | Failover number associated with the phone number |
greeting_ids | array | Custom greetings associated with the phone number. |
group_ids | array | An array of associated groups. *Writeable on most of plans. |
ivr_id | integer | ID of IVR associated with the phone number |
line_type | string | The type of line associated with the phone number |
location | string | The number's geographical location. For example, "CA" or "Leeds" |
name | string | The nickname if one is set. Otherwise the display_number |
nickname | string | The nickname of the number if one is set |
number | string | The phone number digits |
outbound_enabled | boolean | Whether or not the phone number has outbound enabled |
priority | integer | Level of priority associated with the phone number |
recorded | boolean | Whether calls for the number are recorded or not |
schedule_id | integer | ID of schedule associated with the phone number |
sms_enabled | boolean | Whether or not the phone number has sms enabled |
sms_group_id | integer | The group associated with this phone number |
token | string | A generated token, unique for each phone number and used when provisioning the number. *Writeable on create only. |
toll_free | boolean | Whether the number is toll-free or local |
transcription | boolean | Whether calls for the number are transcribed or not |
voice_enabled | boolean | Whether or not the phone number has voice en |
Last updated