Talkdesk
Trigger outbound calls in Talkdesk using Regal's Journey Builder
This integration enables real-time synchronization between Talkdesk and Regal, allowing organizations to automatically trigger personalized customer journeys based on call center interactions. Teams can create sophisticated follow-up sequences, automate SMS/email communications based on call outcomes, and deliver timely customer engagement without manual intervention.
Create Talkdesk Custom Integration
- Navigate to the "Builder" section within Talkdesk
- Click on the "Integrations" tab
- Search for "Custom Integration" and click "Add Integration"
- Configure the Basic Information:
- Name: Regal Integration
- Desc: Send data from Talkdesk to Regal
- Base path: https://events.regalvoice.com/events
- Authentication Type: Http Api Key
- Api Key Header Name: Authorization
- Key Value: YOUR_REGAL_API_KEY
- Hit "Save"
Create Talkdesk Actions
Once you have create the custom integration, we'll now want to add actions which will define the data schema for use in the automation to send data to Regal.
- Click into the new Integration you created
- Navigate to the "Actions" tab and click on "Add Action"
- Name your action (e.g. "Outbound Call Disposition")
- Note: You will be create actions for each Talkdesk trigger you plan on using
- Give your action a brief description
- URL Settings:
- Set to POST
- Leave the relative path blank
- Inputs & Outputs:
- Define your Input schema which defines the data you want to send to Regal (example)
- Leave the output schema blank
- Leave the timeout setting at 10 seconds
- Hit "Publish"
- Note: Once an action is published, you cannot edit it
Create a Talkdesk Automation
Now that we have created a custom integration and action(s) we can now put everything together to send data to Regal
- Within the custom integration, click on the "Automations" tab
- Click "Create Automation"
- Name your automation (ex: Send Outbound Call Disposition Data)
- Note: there will be multiple automations created depending on your use case
- Configure the automation:
- In: Talkdesk
- When: Select the relevant Trigger (ex: an outbound call disposition is set)
- Note: The available data to be passed within an Action is dependent on the trigger
- Then: Select the relevant Action
- Filter the event (optional): Add any additional filters, such as call type to narrow down when the event is sent
- Configure the action:
- Fill out the desired fields within the schema that was defined
- Ensure you have add at least one identifier (e.g. phone number, email, or userId) that match the users identifier in Regal
- Name your event or use the Talkdesk "Event Name" dynamic property (e.g. {{event}})
- Add in the event properties
- Example Event Properties:
{ "agent_fullname": "{{agent.name}}", "agent_email": "{{agent.email}}", "direction": "Outbound", "talkdesk_phone": "{{talkdesk_phone_number}}", "call_id": "{{call_id}}", "type": "{{call_type}}", "disposition": "{{call_disposition}}" }
- Set event source to "talkdesk"
Appendix
Action Input Schema Example:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Input",
"required": [
"traits",
"name",
"properties",
"eventSource"
],
"properties": {
"userId": {
"type": "string",
"title": "User ID"
},
"traits": {
"type": "object",
"title": "User Traits",
"properties": {
"phone": {
"type": "string",
"title": "Phone Number"
},
"email": {
"type": "string",
"title": "Email"
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"title": "Event Name"
},
"properties": {
"type": "object",
"title": "Event Properties",
"properties": {
"agent_fullname": {
"type": "string",
"title": "Agent Full Name"
},
"agent_email": {
"type": "string",
"title": "Agent Email"
},
"direction": {
"type": "string",
"title": "Call Direction"
},
"talkdesk_phone": {
"type": "string",
"title": "Talkdesk Phone"
},
"call_id": {
"type": "string",
"title": "Call ID"
},
"type": {
"type": "string",
"title": "Call Type"
},
"disposition": {
"type": "string",
"title": "Call Disposition"
},
"notes": {
"type": "string",
"title": "Notes"
},
"campaign_name": {
"type": "string",
"title": "Campaign Name"
},
"campaign_friendly_id": {
"type": "string",
"title": "Campaign ID"
},
"started_at": {
"type": "integer",
"title": "Started At"
},
"completed_at": {
"type": "integer",
"title": "Completed At"
},
"talk_time": {
"type": "integer",
"title": "Talk Time"
},
"wrapup_time": {
"type": "integer",
"title": "Wrapup Time"
},
"handle_time": {
"type": "integer",
"title": "Handle Time"
}
},
"additionalProperties": true
},
"eventSource": {
"type": "string",
"title": "Event Source"
}
},
"additionalProperties": false
}
Updated about 2 months ago