Automations
An automation is composed of a trigger and an action.
Trigger + Action (automation example)
When a call is missed (trigger), a ticket is created (action) in your external system. This whole process consists of an automation.
Whenever an event occurs, an action will be triggered in the connection. This action is configured autonomously by you and will be triggered in your systems.
Actions configuration
Talkdesk doesn't manage actions from connections.
You must define and configure these actions according to your needs.
How to Configure an Automation
To configure an automation of a connection, go to the same place where any other integration is configured (make sure you are logged in to your Talkdesk account): Admin → Integrations → [intended connection].
Once you enter the intended connection, go to the Automations tab and click the Add automation button (as depicted below - Figure 38).
The input fields are dynamically generated from the query parameters and the input JSON
schema. These are defined in the configuration of the chosen action.
You can see below (Figures 40 and 41) an example of a configuration of an action with:
- ID - a query parameter of type number.
- Request Status - a property of the input schema of type string.
- Delivery Courier - a property of the input schema (an enum of strings).
- Phones - a property of the input schema (an array of strings).
When choosing the action above, in the automation configuration page (Figure 39), the fields that are rendered in the Configure the action section are the following (Figure 42 - right side):
You can correlate the value types in the input schema/query parameters with the components rendered in the automation configuration page (Figure 39):
number
andstring
are rendered as text boxes.boolean
is rendered as a checkbox.enum
is rendered as a dropdown.array
andobject
are rendered as text areas.
By using a
JSON
schema on the action’s input schema, there are multiple configurations you can make. Therefore, some valid and invalid examples are provided below, so you can have a better understanding of what is accepted or not. However, Talkdesk can’t predict all the possible scenarios when rendering the schema in the UI.
JSON Schemas
The Array without items, Array with empty items, Object without properties and Object with empty properties schemas are valid (see more below), but you won’t be able to configure anything in the automations configuration page.
You can render some other schemas in the automations configuration page, but you might not be able to have their automation saved (e.g.: oneOf, allOf, anyOf, if).
Not supported schemas will show a warning explaining that the respective action is not supported.
JSON Schemas
Object with properties of different types and Array inside object, with items can be seamlessly rendered in the automations configuration page (see more below).
Schemas Rendered in the Automation Configuration Page
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"title": "Array"
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"title": "Array",
"items": []
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Object",
"items": [
"type": "array",
"title": "Array",
"items": [
"type": "string",
"title": "String"
]
]
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Object"
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Object",
"properties": {}
}
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://example.com/example.json",
"type": "object",
"title": "Input",
"required": [
"id",
"status",
"ready_to_deliver"
],
"properties": {
"id": {
"type": "number",
"title": "Request Id"
},
"status": {
"type": "string",
"title": "Request Status"
},
"ready_to_deliver": {
"type": "boolean",
"title": "Ready to Deliver",
"description": "Description explaining what it is"
},
"delivery_courier": {
"type": "string",
"title": "Delivery Courier",
"enum": [
"CTT",
"DHL",
"MRW",
"Chronopost"
]
},
"nr_packages": {
"type": "number",
"title": "Number of packages",
"enum": [
1,
2,
3,
4
]
},
"phone": {
"type": "object",
"title": "phone",
"properties": {
"contact1": {
"type": "number",
"title": "contact1"
},
"contact2": {
"type": "object",
"title": "contact2",
"properties": {
"contact_object": {
"type": "object",
"title": "contact_object1",
"properties": {
"object_inside_object": {
"type": "number",
"title": "object_inside_object"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Object",
"properties": {
"project_key": {
"type": "string",
"title": "Project Key",
"description": "The ID for the JIRA project (e.g. INT)"
},
"issue_type": {
"type": "string",
"title": "Issue Type",
"enum": [
"Story",
"Xray Test",
"Epic",
"Task",
"Bug",
"Initiative",
"Feature",
"Spike"
]
},
"summary": {
"type": "string",
"title": "Issue Summary/Title"
},
"description": {
"type": "string",
"title": "Issue Description"
},
"acceptance_criteria": {
"type": "string",
"title": "Acceptance Criteria"
},
"feasibility": {
"type": "string",
"title": "Feasibility",
"enum": [
"Green - Looks Possible",
"Yellow - Stretch / Maybe",
"Orange - Needs More Definition",
"Red - Not Possible"
]
}
},
"dependencies": {
"issue_type": {
"title": "oneOf",
"oneOf": [
{
"properties": {
"issue_type": {
"title": "issue type enum",
"enum": [
"Story",
"Task"
]
},
"epic_link_id": {
"type": "string",
"title": "Epic Link ID",
"description": "The ID of the parent epic (e.g. INT-XXX)"
}
}
},
{
"properties": {
"issue_type": {
"title": "issue type enum",
"enum": [
"Epic"
]
},
"epic_name": {
"type": "string",
"title": "Epic Name"
}
},
"required": [
"epic_name"
]
}
]
}
},
"additionalProperties": false
}
Troubleshooting
If you have questions or technical issues, please open a ticket using this form.
Updated about 1 year ago