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.

5. Click Finish Setup. You will see a icon next to your Zendesk Talk resource. It may take a few minutes to several hours depending on the data size and the number of your tables. Once your APP's data is ready, you will receive a notification email.

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.

1. Click the Admin icon (img) in the sidebar, then select Channels > API. Or, you can go here directly: https://YourSUBDOMAIN.zendesk.com/agent/admin/api/settings (Remember to change "YourSUBDOMAIN" in the link to your subdomain name)

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 agent_id is positive, then user_id must be 0 and the type is "agent_leg"

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 customer_leg

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 group, "option_text" will be the name of the associated group

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