Workato allows you to integrate Talkdesk with other products supported by the Workato ecosystem through a Custom Connector.
The Custom Connector includes and allows for various triggers and actions. The triggers must be paired with a Custom Integration powered by Connections on the Talkdesk side. In it, you must then add an action using one of the following json schemas, depending on which trigger you applied on the Workato side.
Jsons list of triggers
A contact is created
{
"$schema" : "http://json-schema.org/draft-07/schema#",
"title" : "Root",
"type" : "object",
"required" : [ "contact_name", "contact_email" ],
"properties" : {
"event" : {
"title" : "Event",
"type" : "string",
"default" : "{{event}}"
},
"contact_id" : {
"title" : "Contact ID",
"type" : "string",
"default" : "{{contact_id}}"
},
"account_id" : {
"title" : "Account ID",
"type" : "string",
"default" : "{{account_id}}"
},
"contact_first_name" : {
"title" : "Contact first name",
"type" : "string",
"default" : "{{contact.first_name}}"
},
"contact_last_name" : {
"title" : "Contact last name",
"type" : "string",
"default" : "{{contact.last_name}}"
},
"contact_name" : {
"title" : "Contact name",
"type" : "string",
"default" : "{{contact.name}}"
},
"contact_email" : {
"title" : "Contact email",
"type" : "string",
"default" : "{{contact.email}}"
},
"contact_phone" : {
"title" : "Contact phone",
"type" : "string",
"default" : "{{contact.phone}}"
},
"contact_address" : {
"title" : "Contact address",
"type" : "string",
"default" : "{{contact.address}}"
},
"contact_company" : {
"title" : "Contact company",
"type" : "string",
"default" : "{{contact.company}}"
},
"contact_website" : {
"title" : "Contact website",
"type" : "string",
"default" : "{{contact.website}}"
},
"contact_title" : {
"title" : "Contact title",
"type" : "string",
"default" : "{{contact.title}}"
},
"account_email" : {
"title" : "Account email",
"type" : "string",
"default" : "{{account.email}}"
},
"account_name" : {
"title" : "Account name",
"type" : "string",
"default" : "{{account.name}}"
}
},
"additionalProperties" : false
}
An inbound call reaches the contact center
{
"$schema" : "http://json-schema.org/draft-07/schema#",
"title" : "Root",
"type" : "object",
"required" : [ "account_id" ],
"properties" : {
"event" : {
"title" : "Event",
"type" : "string",
"default" : "{{event}}"
},
"call_id" : {
"title" : "Callid",
"type" : "string",
"default" : "{{call_id}}"
},
"interaction_id" : {
"title" : "Interaction id",
"type" : "string",
"default" : "{{interaction_id}}"
},
"contact_id" : {
"title" : "Contact id",
"type" : "string",
"default" : "{{contact.id}}"
},
"account_id" : {
"title" : "Account id",
"type" : "string",
"default" : "{{account_id}}"
},
"contact_phone_number" : {
"title" : "Caller's number",
"type" : "string",
"default" : "{{contact_phone_number}}"
},
"interaction_context_id" : {
"title" : "Interaction context ID",
"type" : "string",
"default" : "{{interaction_context_id}}"
},
"talkdesk_phone_number" : {
"title" : "Contact Center number",
"type" : "string",
"default" : "{{talkdesk_phone_number}}"
},
"contact_first_name" : {
"title" : "Contact first name",
"type" : "string",
"default" : "{{contact.first_name}}"
},
"contact_last_name" : {
"title" : "Contact last name",
"type" : "string",
"default" : "{{contact.last_name}}"
},
"contact_name" : {
"title" : "Contact name",
"type" : "string",
"default" : "{{contact.name}}"
},
"contact_email" : {
"title" : "Contact email",
"type" : "string",
"default" : "{{contact.email}}"
},
"contact_phone" : {
"title" : "Contact phone",
"type" : "string",
"default" : "{{contact.phone}}"
},
"contact_company" : {
"title" : "Contact company",
"type" : "string",
"default" : "{{contact.company}}"
},
"contact_title" : {
"title" : "Contact title",
"type" : "string",
"default" : "{{contact.title}}"
},
"contact_address" : {
"title" : "Contact address",
"type" : "string",
"default" : "{{contact.address}}"
},
"contact_website" : {
"title" : "Contact website",
"type" : "string",
"default" : "{{contact.website}}"
},
"phone_vip" : {
"title" : "VIP phone number",
"type" : "string",
"default" : "{{phone.vip}}"
},
"phone_ivr" : {
"title" : "Using IVR",
"type" : "string",
"default" : "{{phone.ivr}}"
},
"interaction_type" : {
"title" : "Interaction type",
"type" : "string",
"default" : "{{interaction.type}}"
},
"account_email" : {
"title" : "Account email",
"type" : "string",
"default" : "{{account.email}}"
},
"account_name" : {
"title" : "Account name",
"type" : "string",
"default" : "{{account.name}}"
}
},
"additionalProperties" : false
}
An outbound call ends
{
"$schema" : "http://json-schema.org/draft-07/schema#",
"title" : "Root",
"type" : "object",
"required" : [ "account_id" ],
"properties" : {
"event" : {
"title" : "Event",
"type" : "string",
"default" : "{{event}}"
},
"call_id" : {
"title" : "Callid",
"type" : "string",
"default" : "{{call_id}}"
},
"interaction_id" : {
"title" : "Interaction id",
"type" : "string",
"default" : "{{interaction_id}}"
},
"contact_id" : {
"title" : "Contact id",
"type" : "string",
"default" : "{{contact.id}}"
},
"account_id" : {
"title" : "Account id",
"type" : "string",
"default" : "{{account_id}}"
},
"agent_id" : {
"title" : "Agent id",
"type" : "string",
"default" : "{{agent_id}}"
},
"total_duration" : {
"title" : "Total duration",
"type" : "string",
"default" : "{{total_duration}}"
},
"duration" : {
"title" : "Call duration",
"type" : "string",
"default" : "{{duration}}"
},
"waiting_time" : {
"title" : "Waiting time",
"type" : "string",
"default" : "{{waiting_time}}"
},
"hold_time" : {
"title" : "Hold time",
"type" : "string",
"default" : "{{hold_time}}"
},
"hangup" : {
"title" : "Hangup reason",
"type" : "string",
"default" : "{{hangup}}"
},
"proactive_outbound" : {
"title" : "Launched by Outbound Dialer",
"type" : "string",
"default" : "{{proactive_outbound}}"
},
"tags" : {
"title" : "Call ringing groups",
"type" : "string",
"default" : "{{tags}}"
},
"talkdesk_phone_number" : {
"title" : "Contact Center number",
"type" : "string",
"default" : "{{talkdesk_phone_number}}"
},
"contact_phone_number" : {
"title" : "Called number",
"type" : "string",
"default" : "{{contact_phone_number}}"
},
"agent_name" : {
"title" : "Agent name",
"type" : "string",
"default" : "{{agent.name}}"
},
"agent_email" : {
"title" : "Agent email",
"type" : "string",
"default" : "{{agent.email}}"
},
"agent_tags" : {
"title" : "Agent ringing groups",
"type" : "string",
"default" : "{{agent.tags_list}}"
},
"contact_first_name" : {
"title" : "Contact first name",
"type" : "string",
"default" : "{{contact.first_name}}"
},
"contact_last_name" : {
"title" : "Contact last name",
"type" : "string",
"default" : "{{contact.last_name}}"
},
"contact_name" : {
"title" : "Contact name",
"type" : "string",
"default" : "{{contact.name}}"
},
"contact_email" : {
"title" : "Contact email",
"type" : "string",
"default" : "{{contact.email}}"
},
"contact_phone" : {
"title" : "Contact phone",
"type" : "string",
"default" : "{{contact.phone}}"
},
"contact_company" : {
"title" : "Contact company",
"type" : "string",
"default" : "{{contact.company}}"
},
"contact_title" : {
"title" : "Contact title",
"type" : "string",
"default" : "{{contact.title}}"
},
"contact_address" : {
"title" : "Contact address",
"type" : "string",
"default" : "{{contact.address}}"
},
"contact_website" : {
"title" : "Contact website",
"type" : "string",
"default" : "{{contact.website}}"
},
"phone_vip" : {
"title" : "VIP phone number",
"type" : "string",
"default" : "{{phone.vip}}"
},
"phone_ivr" : {
"title" : "Using IVR",
"type" : "string",
"default" : "{{phone.ivr}}"
},
"interaction_type" : {
"title" : "Interaction type",
"type" : "string",
"default" : "{{interaction.type}}"
},
"account_email" : {
"title" : "Account email",
"type" : "string",
"default" : "{{account.email}}"
},
"account_name" : {
"title" : "Account name",
"type" : "string",
"default" : "{{account.name}}"
}
},
"additionalProperties" : false
}
Please contact Talkdesk Support for more info about templates and attributes, or if you have any questions about the above.