Overview
This document explains the voice automation process of SmartAssist with Talkdesk. The process involves routing the user audio through various components to enable speech-to-text conversion, identification of user intents, generation of responses, and synthesis of speech for playback to the user.
High-level Architecture
Pre-requisites
- Talkdesk account with voice automation studio flow.
- A Kore voice bot (SmartAssist bot) trained with few use cases.
Components and Permission Requirement
- SmartAssist account – Full Access
- Talkdesk account – Admin Access
Integration Setup Guide
Voice Automation Process
After a call is established between the user and Talkdesk, the following steps are initiated:
- The user audio is sent to the “Conversation Orchestrator” through the “Connect to Virtual Agent Voice” block within the studio flow.
- The user audio is forwarded to the Kore Voice Gateway (VG).
- Kore VG Transfers the WSS traffic to SmartAssist using SIP over TLS or UDP.
- SmartAssist Converts the Speech to Text and then sends it to the Bots Platform for identification.
- The Bots Platform generates the appropriate response, and SmartAssist converts that response into speech.
- SmartAssist returns the synthesized speech to the Kore Voice Gateway (VG) using SIP. Speech response is received by the “Connect to Virtual Agent Voice” block on Talkdesk.
- The response is sent to the user.
- At the end of automation, if an agent transfer is required, that is handled using Talkdesk Studio flow (optional).
Audio Streaming
Audio streaming is the primary component for enabling voice automation. It involves streaming Talkdesk audio to the Voice Stream URL over WSS using Conversation Orchestrator.
Here’s a basic flow within Talkdesk Studio.
Configuring the Studio Flow
- Download the Studio Flow and then import it into Talkdesk Studio. Learn more.
- Click the “Connect to Virtual Agent Voice” block within the flow.
- Enter the “Voice Stream URL” in the input field. The “Voice Stream URL” follows this structure:
- Host: savg-webserver.kore.ai
- Path: /audiosocket/talkdesk/
- Query Parameters:
- sipuri: URL encoded Phone Number associated with the bot – for example, %2B12344567888.
- botId: Bot ID of the bot you want to use – for example, st-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx.
- accountId: Account ID of the bot owner.
- token: JSON Web Token encrypted with the client secret of the bot with the following payload:
- {“appId”:”<Client ID>”}
- Client ID: From the Bot details
- Here is an example of what the URL looks like:
wss://savg-webserver.kore.ai/audiosocket/talkdesk/?sipuri=%2B12344567888&token=<EXAMPLE_JWT>&botId=st-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx&accountId=659ddsfg4r3e41dwefw8rf0d75c&agentassist=false
- Save and Publish the flow.
- Assign a number to the flow and you can test the automation. Learn more.
- You can customize the rest of the flow as required.
Testing the Studio Flow
You can dial the talkdesk purchased number which is assigned to that particular flow and test the voice automation after a successful configuration.
Additional Information
To enable AgentAssist functionality, use the “Stream Audio Unidirectional” block. Learn more. If you do not want to use AgentAssist, delete the “Stream Audio Unidirectional” block.