- Print
- PDF
Intent Detection with Knovvu Virtual Agent
The Real-Time Guidance (RTG) solution assists agents during live interactions by monitoring conversations and triggering relevant guidance. One of the most effective ways to do this is through intent detection, powered by the Knovvu Virtual Agent's NLU capabilities. By classifying user messages into predefined intents (e.g., RequestRefund or CancelSubscription), the system can understand the true context of a conversation. Unlike keyword matching or rule-based triggers, this approach delivers more accurate and relevant guidance aligned with customer needs.
Step-by-Step Configuration
1. Enter VA Integration Settings in CA Tenant
To enable intent detection in Real-Time Guidance, you must first integrate the Virtual Agent (VA) system with the CA tenant. This is done by filling in the required fields under Administration > Settings > Real-time Guidance > VA Integration tab.
API address, Identity base URL, Client ID, and secret information are needed for the VA's intent detection feature.
2. Configure VA Project
Create a Virtual Agent (VA) project specifically for the intent detection feature, or use the existing RTG-Integration project flow designed for this purpose. In the existing project, a Condition node is used to filter intent-agent and intent-customer values from the CustomAction field under the Channel Data in the activity.
{height="500" width=""}
From the Virtual Agents tab in VA interface, enter the intent and utterances to be used for scenario triggering in Real-time Guidance.
Intent List:
Utterance List:
An action flow should be designed for each intent to define the appropriate response or guidance, ensuring that the necessary actions are presented to the agents.
For example, in the below action flow for "campaign" type intent, a "say" node is used for action to be presented to the agent such as "offer points" which is derived from the "text" field in the activity object.
3. Create a New Scenario for Knovvu VA
Once the Virtual Agent project is configured, go to the Scenarios section in Real-Time Guidance and create a new scenario. In the Add Trigger section, select Knovvu VA as the trigger type and enter the name of the relevant VA project.
Once the configuration is complete, the intent detection feature is ready to be used for scenario triggering in Real-Time Guidance.
Work & Data Flow
Example request for VA Synch API Call:
curl --location --request POST 'https://eu.va.knovvu.com/magpie/ext-api/messages/synchronized' \
--header 'Content-Type: application/json' \
--header 'Project: RTG-Integration' \
--header 'X-Knovvu-Conversation-Id: 20250613143138' \
--data-raw '{
"text": "kampanya",
"serviceUrl": "http://agent-web.sestek-ca/copilot/AgentService/api/v1/Notification/CallBack/20250613143138",
"conversation": {
"id": "20250613143138"
},
"channelId": "RTG",
"type": "message",
"channelData": {
"CustomAction": "intent-customer",
"CustomActionData": "{
\"Transcription\": [
{
\"ID\": \"439295\",
\"Sentence\": \"Merhaba, ben Knovvu Sanal Asistan. Size nasıl yardımcı olabilirim?\",
\"Channel\": 1,
\"TranscriptTime\": null,
\"TranscriptDuration\": null
},
{
\"ID\": \"686481\",
\"Sentence\": \"selam\",
\"Channel\": 2,
\"TranscriptTime\": null,
\"TranscriptDuration\": null
},
{
\"ID\": \"583425\",
\"Sentence\": \"Canlı temsilci ile iletişime geçiliyor\",
\"Channel\": 1,
\"TranscriptTime\": null,
\"TranscriptDuration\": null
},
{
\"ID\": \"928223\",
\"Sentence\": \"kampanya\",
\"Channel\": 2,
\"TranscriptTime\": \"2024-04-24T11:11:27.169Z\",
\"TranscriptDuration\": \"0-57:0-22\"
}
]
}",
"IsVoiceBased": false
}
}'
Example response from VA Synch API Call:
{
"type": "message",
"id": "0b8c5c4d-5fd5-4190-9a29-29f91707a537",
"timestamp": null,
"localTimestamp": null,
"localTimezone": null,
"serviceUrl": "http://localhost",
"channelId": "webchat-external",
"from": null,
"conversation": {
"isGroup": null,
"conversationType": null,
"id": "20250612133431",
"name": null,
"aadObjectId": null,
"role": null,
"tenantId": null
},
"text": "Puan teklif et!",
"speak": null,
"inputHint": null,
"summary": null,
"suggestedActions": null,
"attachments": [],
"entities": [],
"channelData": {
"IsSynchronizer": true,
"HasExternalAudioContent": false,
"SrConfidence": null,
"CustomProperties": {
"Checklist": "NULL",
"Intent": "Campaign",
"Confidence": "0.995",
"ActionType": "1"
},
"CustomAction": null,
"CustomActionData": null,
"ProjectName": "RTG-Integration",
"ResponseType": 0,
"EndUser": {
"Name": null,
"Phone": null,
"Email": null,
"Twitter": null,
"Id": null
}
},
}