Contact Sales

All fields are required

A Deep Dive into Customer Support AI Assistant… | SignalWire
Developers

A Deep Dive into Customer Support AI Assistant Configuration

Exploring a JSON code snippet for an AI Agent

Len Graham

This guide breaks down a customer support virtual assistant configuration for SignalWire AI Agent, using a JSON snippet that defines the agent’s prompt, parameters, languages, and action capabilities. It explains how the configuration enables a receptionist-style flow, including greeting callers, transferring to specific targets, sending SMS messages, and generating a post-call summary through SignalWire AI Gateway (SWAIG) functions and post-prompt handling.

Customer Support AI Voice Agent Configuration

SignalWire’s AI Agent allows you to integrate AI into your voice applications with ease.

There are many ways to improve your customer support operations with AI. Virtual assistants powered by AI can handle customer inquiries, provide information, and even perform tasks like transferring calls, sending messages, or scheduling appointments. In this post, we'll take a detailed look at a specific configuration for such a virtual agent that can transfer calls and send text messages, acting as a virtual receptionist.

Introduction to the configuration

The configuration provided is in JSON format and is designed for a voice agent with the following features:

  • Name: John

  • Role: Customer Support Virtual Assistant

  • Availability: Monday through Friday, 9:00 AM EST to 5:00 PM EST

  • Additional Information: Fax number is 12345678911

The AI voice agent’s primary tasks include greeting callers, transferring calls to specific individuals (Jim or abc), sending messages, and summarizing conversations. It can communicate in both English (US) and Spanish (US).

You can access the entire code snippet here. Below, we’ll break down the JSON configuration.

Configuration details

Version information

The configuration file begins with version information:

{
 "version":"1.0.0",
 "sections":{
 "main":[
 // ...
 ]
 }
}

This section indicates that the configuration is using version 1.0.0 and defines the main sections that follow.

Main section

The main section contains the core configuration for the virtual AI assistant, including the prompt and parameters that define the AI’s abilities such as specific messaging or languages it can speak.

AI component

{
 "ai":{
 "post_prompt_url":"https://webhook.site/05c0d850-2f6f-493b-878f-7efba7a5249c",
 "params":{
 "debug_webhook_url":"https://webhook.site/05c0d850-2f6f-493b-878f-7efba7a5249c",
 "debug_webhook_level":"true",
 "local_tz":"America/New_York"
 },
 "prompt":{
 // ...
 },
 "SWAIG":{
 "functions":[
 // ...
 ],
 "post_prompt":{
 // ...
 },
 "languages":[
 // ...
 ]
 }
 }
}
  • post_prompt_url: A webhook URL where post-prompt data can be sent.

  • params: Additional parameters including debugging options and the local time zone.

  • prompt: Defines the initial prompt that the virtual assistant uses to engage with callers.

SWAIG component

"SWAIG":{
 "functions":[
 // ...
 ],
 "post_prompt":{
 // ...
 },
 "languages":[
 // ...
 ]
}
  • functions: This is a crucial section that defines the assistant's capabilities, including transferring calls and sending messages.

  • post_prompt: Specifies a post-prompt message to summarize the conversation.

  • languages: Lists the languages the virtual assistant can communicate in, along with voice options.

Functions

The most significant part of the configuration is the "functions" section, which defines the assistant's capabilities. Let's explore two of these functions for transferring calls and sending SMS messages:

Transfer function

{
 "function":"transfer",
 "data_map":{
 // ...
 },
 "argument":{
 // ...
 },
 "purpose":"use to transfer to a target"
}
  • function: Indicates that this function allows transferring calls.

  • data_map: Contains expressions and actions for transferring calls, including connecting to a target.

  • argument: Describes the type and properties of the argument (target) that can be transferred to.

  • purpose: Provides a description of the function's purpose.

Message function

{
 "function":"message",
 "data_map":{
 // ...
 },
 "argument":{
 // ...
 },
 "purpose":"use to send message to a target"
}
  • function: Specifies that this function is used for sending messages.

  • data_map: Contains expressions and actions for sending messages via SMS.

  • argument: Describes the type and properties of the argument (target) to which messages can be sent.

  • purpose: Provides a description of the function's purpose.

This AI virtual agent is equipped to handle calls, transfer callers to specific individuals, send text messages, and summarize conversations. Such configurations are at the heart of modern customer support AI solutions, streamlining communication and enhancing customer experiences.

As businesses continue to embrace AI-driven communications solutions, these configurations play a pivotal role in ensuring smooth interactions with customers.

Start building your first AI Agent for free. You can choose from predefined functions, or code your own. Bring your questions and issues to the team - you can find us on Discord!

Frequently Asked Questions

How can an AI voice agent reduce customer support wait times?

An AI voice agent can handle triage immediately, answer common questions, collect the details needed for resolution, and route the caller to the right destination, which reduces time spent in queues and cuts unnecessary transfers.

Which customer support requests are best suited for AI automation?

High-volume, repeatable requests work best, including order status, appointment scheduling or changes, account lookups, password resets, store hours, basic troubleshooting, and capturing lead or case details before escalation.

How does an AI agent know when to transfer to a human?

With SignalWire, you define transfer rules and allowable actions. The agent can escalate when the caller requests a person, the issue is outside scope, verification fails, the caller is frustrated, or a backend lookup returns an exception.

What context can be passed to a human agent during handoff?

With SignalWire, a structured handoff can include a short summary of the issue, caller intent, key entities like account identifiers or order numbers, the steps already attempted, and a reason code for the transfer.

How do you keep an AI support agent accurate and compliant?

Constrain the agent with a clear role, approved knowledge sources, and a limited set of permitted actions, then monitor conversations, test regularly, and iterate on prompts and routing based on real failure patterns.

Related Articles