Multi-Agent Support: Gen AI - Voice Bot
Overview
This document outlines a Multi-Agent GenAI Voice Bot architecture specifically designed for iX Hello. It emphasizes scalable customer support, advanced automation, and seamless transitions to human agents. This system employs multiple specialized AI agents managed by an orchestration layer to efficiently handle complex, end-to-end voice interactions.
Prerequisites
Before commencing bot creation, ensure the following prerequisites are met:
Access to iX Hello Studio Mode.
Familiarity with basic iX Hello navigation.
Basic knowledge of RESTful API principles and JSON format for handling the data returned by the API.
Let's create a Custom App
On the left navigation, go to Apps-> Custom Apps -> New Custom App.


Data Source
In the top menu tabs, select “Data Sources” then “Create New Data Source”. Provide the following details:

Name: GenerativeAI
Integration Configuration: Generative AI

Name: InternalContent
Integration Configuration: Internal Content DS

Name: InternalContent
Integration Configuration: Internal Content DS

Method Creation
Click on methods and create new methods. Enter the following in the fields
Method Creation for InternalContent Datasource
Method: SaveTransferInfo
Name: SaveTransferInfo
Request Type: AddRecord
Parameters:
ContentID: transfer_data
Record: { "{{Context.CurrentDateTimeUTC}}": { "phone_number": "{{Session.outgoing_number}}", "client_name": "{{Session.client_name}}", "language": "{{Session.language}}", "datetime": "{{Context.CurrentDateTimeUTC}}", "conversation": "{{Session.chat.conversation}}" } }
RecordPosition: First
Valid Result Template: Saved
Empty Result Template: Sorry, I am unable to process this request.
Sample Result:

Method Creation for PortalDatasource
Method: PostScheduleCall
Name: PostScheduleCall
Request Type: Post
Request Header: {"X-API-KEY": "XXXXXX"}
Method Path: /schedule/
Query Path: ?bot=IXHELLO_DEMO_USECASE
Request Body: { "Bot": "IXHELLO_DEMO_USECASE", "Phone Number": "{{Session.outgoing_number}}", "Delay": {{user_timeframe}}, "language": "{{Session.language}}", "Client Name": "{{Session.client_name}}", "customerPhoneNumber": "{{Session.customer_phone_number}}", "secretCode": "{{Session.secret_code}}" }
Result Type: Record
Valid Result Template: Call Scheduled { "Client Name": "{{ClientName}}", "Phone Number": "{{PhoneNumber}}", "Amount Owed": {{AmountOwed}}, "Delay": {{TimeDelay}}, "language":"{{Language}}", "bot": "AMEX_PAYMENT"}
Empty Result Template: Schedule failed
Sample Result:

Method: GetData
Name: GetData
Request Type: GET
Request Header: {"X-API-KEY": "XXXXXX"}
Method Path: /schedule/list/phone/{{PhoneNumber}}
Query Path: ?bot=IXHELLO_DEMO_USECASE
Request Body: Blank
Result Type: ListofRecords
Record Template: {"client_name": "{{client_name}}", "customer_phone_number": "{{customer_phone_number}}", "language": "{{language}}", "outboundNumber": "{{phone_number}}", "request_id": {{request_id}}}
Record Json Path: $.records[*]
Record Limit: 1
Valid Result Template: {{Records}}
Empty Result Template: No records found

Sample Response:

Creating an Intent
Let's see in the next document on how the Intent - Orchestration is done.
Navigate to the ‘Intents’ tab and click on the ‘Create New Intent’ button.

Name: ChatIntent
Description: Chat Intent
Intent Type: Orchestration
Dialog Delegation Strategy: FallbackToSkill
Choose - Set this intent as a fallback Intent

For Orchestration follow this document.
Further Steps are not needed for this bot as the inputs will be collected by GEN AI in orchestration.
Please find the attached demo recording showcasing the functions and performance of the Multi-Agent Voice Bot.
Last updated
Was this helpful?