Create AI Agent
POST/resources/ai_agents
Creates an AI Agent
Request
- application/json
Body
required
Array [
- ContextStepsEnd object
- ContextStepsValidSteps object
]
Array [
- ContextStepsEnd object
- ContextStepsValidSteps object
]
- MOD1
- MOD2
Array [
]
Array [
Array [
]
Array [
-
Keys: User-defined strings, that set the property names.
-
Values: A valid property type, which can be one of the following:
string
,integer
,number
,boolean
,array
,object
, ornull
. - String Function Property
- Integer Function Property
- Number Function Property
- Boolean Function Property
- Array Function Property
- Object Function Property
- Null Function Property
- oneOf Property
- allOf Property
- anyOf Property
- Const Property
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- Output object
- Expression object
- Webhook object
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
Array [
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
]
Array [
Array [
Array [
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
]
]
- MOD1
- MOD2
Array [
]
- MOD1
- MOD2
Array [
]
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
]
- MOD1
- MOD2
]
]
Name of the AI Agent.
My AI Agent
prompt
object
The instructions to send to the agent.
Prompt text
Randomness setting. Float value between 0.0 and 1.5. Closer to 0 will make the output less random.
Possible values: <= 1.5
Randomness setting. Alternative to temperature
. Float value between 0.0 and 1.0. Closer to 0 will make the output less random.
Possible values: <= 1
Threshold to fire a speech-detect event at the end of the utterance. Float value between 0.0 and 1.0. Decreasing this value will reduce the pause after the user speaks, but may introduce false positives.
Possible values: <= 1
Aversion to staying on topic. Float value between -2.0 and 2.0. Positive values increase the model's likelihood to talk about new topics.
Possible values: >= -2
and <= 2
Aversion to repeating lines. Float value between -2.0 and 2.0. Positive values decrease the model's likelihood to repeat the same line verbatim.
Possible values: >= -2
and <= 2
contexts
object
An object that defines the context steps for the AI. The context steps are used to define the flow of the conversation.
Every context object requires a default
key, which is the default context to use at the beginning of the conversation.
Additionally, more context steps can be defined as any other key in the object.
default
object
required
The default context to use at the beginning of the conversation. Additional context steps can be defined as any other key in the object.
steps
object[]
required
An array of objects that define the steps in the context. These steps are used to define the flow of the conversation.
anyOf
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
A boolean value that, when true, will end the contexts conversation and transition to a normal interaction.
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
An array of valid steps that the conversation can proceed to from this step.
If the array is empty, or the valid_steps
key is not present, the conversation will proceed to the next step in the context.
["get order","confirm order"]
property name*
ContextSteps object
steps
object[]
required
An array of objects that define the steps in the context. These steps are used to define the flow of the conversation.
anyOf
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
A boolean value that, when true, will end the contexts conversation and transition to a normal interaction.
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
An array of valid steps that the conversation can proceed to from this step.
If the array is empty, or the valid_steps
key is not present, the conversation will proceed to the next step in the context.
["get order","confirm order"]
post_prompt
object
The instructions to send to the agent.
Prompt text
Randomness setting. Float value between 0.0 and 1.5. Closer to 0 will make the output less random.
Possible values: <= 1.5
Randomness setting. Alternative to temperature
. Float value between 0.0 and 1.0. Closer to 0 will make the output less random.
Possible values: <= 1
Threshold to fire a speech-detect event at the end of the utterance. Float value between 0.0 and 1.0. Decreasing this value will reduce the pause after the user speaks, but may introduce false positives.
Possible values: <= 1
Aversion to staying on topic. Float value between -2.0 and 2.0. Positive values increase the model's likelihood to talk about new topics.
Possible values: >= -2
and <= 2
Aversion to repeating lines. Float value between -2.0 and 2.0. Positive values decrease the model's likelihood to repeat the same line verbatim.
Possible values: >= -2
and <= 2
params
object
Instructs the agent to acknowledge crosstalk and confirm user input when the user speaks over the agent.
Adjust the volume of the AI. Allowed values from -50
- 50
.
Possible values: >= -50
and <= 50
attention_timeout
object
Possible values: >= 10000
and <= 600000
Amount of time, in ms, to wait before prompting the user to respond. Allowed values from 10,000
- 600,000
. Set to 0
to disable.
anyOf
integer
number
Possible values: [0
]
A custom prompt that is fed into the AI when the attention_timeout is reached.
Ask if the user can listen to you or they need more time to respond
URL of audio file to play in the background while AI plays in foreground.
https://audiourl.com
Maximum number of times to loop playing the background file. undefined
means loop indefinitely.
5
Defines background_file volume within a range of -50
to 50
.
Possible values: >= -50
and <= 50
Takes a string, including a regular expression, defining barge behavior. For example, this param can direct the AI to stop when the word 'hippopotomus' is input.
Cancel order
Defines the number of words that must be input before triggering barge behavior, in a range of 1-99
.
Possible values: >= 1
and <= 99
Sets the prompt which binds the agent to its purpose.
Place an order
Used by check_for_input
and save_conversation
to identify an individual conversation.
Converation ID
Enables debugging to the set URL. Allowed values from 0
- 1
.
Possible values: <= 1
Each interaction between the AI and end user is posted in real time to the established URL.
https://example.com
Forces the direction of the call to the assistant. Valid values are inbound
and outbound
.
Possible values: [inbound
, outbound
]
DTMF digit, as a string, to signal the end of input (ex: '#')
#
Time, in ms, at the end of digit input to detect end of input. Allowed values from 250
- 10,000
.
Possible values: >= 250
and <= 10000
Amount of silence, in ms, at the end of an utterance to detect end of speech. Allowed values from 250
- 10,000
.
Possible values: >= 250
and <= 10000
The stability slider determines how stable the voice is and the randomness between each generation. Lowering this slider introduces a broader emotional range for the voice.
The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it. The higher the similarity, the closer the AI will sound to the original voice.
Amount of energy necessary for bot to hear you (in dB). Allowed values from 0.0
- 100.0
.
Possible values: <= 100
A URL for the hold music to play, accepting WAV, mp3, and FreeSWITCH tone_stream.
https://holdmusic.com
Enables hold music during SWAIG processing.
Amount of time, in ms, to wait before exiting the app due to inactivity. Allowed values from 10,000
- 3,600,000
.
Possible values: >= 10000
and <= 3600000
Check for input function with check_for_input. Example use case: Feeding an inbound SMS to AI on a voice call, eg., for collecting an email address or other complex information.
When enabled, barges agent upon any sound interruption longer than 1 second.
Provide a prompt for the agent to handle crosstalk.
Inform user that you can't hear anything
Allows multilingualism when true
.
The local timezone setting for the AI. Value should use IANA TZ ID
America/Ensenada
Sets a time duration for the outbound call recipient to respond to the AI agent before timeout, in a range from 10000
to 600000
.
Possible values: >= 10000
and <= 600000
Send a summary of the conversation after the call ends.
This requires a post_url
to be set in the ai parameters and the conversation_id
defined below.
This eliminates the need for a post_prompt
in the ai parameters.
Allows tweaking any of the indicated settings, such as barge_match_string
, using the returned SWML from the SWAIG function.
Allows your SWAIG to return SWML to be executed.
Post entire conversation to any SWAIG call.
Pass a summary of a conversation from one AI agent to another. For example, transfer a call summary between support agents in two departments.
Enable verbose logging.
When false, AI agent will initialize dialogue after call is setup. When true, agent will wait for the user to speak first.
pronounce
object[]
An array of JSON objects to clarify the AI's pronunciation of words or expressions.
The expression to replace.
pizza
The phonetic spelling of the expression.
pissa
Whether the pronunciation replacement should ignore case.
An array of hints (as strings) to provide context to the dialogue.
["One Hint","Two Hint"]
An array of JSON objects defining supported languages in the conversation.
SWAIG
object[]
An array of JSON objects to create user-defined functions/endpoints that can be executed during the dialogue.
defaults
object
Default URL to send status callbacks and reports to. Authentication can also be set in the url in the format of username:password@url.
username:password@https://example.com
Prebuilt functions the AI agent is able to call from this list of available native functions
Possible values: [check_time
, wait_seconds
]
includes
object[]
An array of objects to include remote function signatures. The object fields are url to specify where the remote functions are defined and functions which is an array of the function names as strings.
Remote functions to fetch and include in your AI application.
["transfer call","notify kitchen"]
URL to fetch remote functions and include in your AI application. Authentication can also be set in the url in the format of username:password@url
.
username:password@https://example.com
meta_data
object
functions
object[]
An array of JSON objects to define functions that can be executed during the interaction with the AI. Default is not set. The fields of this object are the six following.
A unique name for the function. For example, 'get_weather'.
get_weather
A description of the context and purpose of the function, to explain to the agent when to use it.
Get the weather information
parameters
object
The type of argument the AI is passing to the function. Possible values are 'string' and 'object'.
Possible values: [object
]
properties
object
required
An object containing the property definitions that are passed to the function.
A property definition is a valid JSON schema type with dynamic property names, where:
property name*
Function Parameters Type Union
oneOf
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [string
]
An array of strings that are the possible values
["value1","value2","value3"]
The default string value
default value
Regular expression pattern
^[a-zA-Z0-9_.-]*$
String format (email, date-time, etc.)
Possible values: [date_time
, time
, date
, duration
, email
, hostname
, ipv4
, ipv6
, uri
, uuid
]
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [integer
]
An array of integers that are the possible values
[1,2,3]
The default integer value
5
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [number
]
enum
object[]
An array of integers that are the possible values
anyOf
integer
number
default
object
The default integer value
anyOf
integer
number
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [boolean
]
The default boolean value
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [array
]
The default array value
Schema for array items
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [object
]
The default object value
Nested properties
Required property names
["name1","name2"]
The type of parameter(s) the AI is passing to the function.
Possible values: [null
]
A description of the property.
Property Description
An array of schemas where exactly one of the schemas must be valid.
An array of schemas where all of the schemas must be valid.
An array of schemas where at least one of the schemas must be valid.
A constant value that can be passed to the function.
An array of required property names from the properties
object.
["name1","name2"]
Whether the function is active. Default is true
.
meta_data
object
A powerful and flexible environmental variable which can accept arbitrary data that is set initially in the SWML script or from the SWML set_meta_data action. This data can be referenced locally to the function. All contained information can be accessed and expanded within the prompt - for example, by using a template string. Default is not set.
A powerful and flexible environmental variable which can accept arbitrary data that is set initially in the SWML script or from the SWML set_meta_data action. This data can be referenced locally to the function. All contained information can be accessed and expanded within the prompt - for example, by using a template string. Default is not set.
Scoping token for meta_data. If not supplied, metadata will be scoped to function's web_hook_url
. Default is set by SignalWire.
data_map
object
oneOf
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
expressions
object[]
required
An array of objects that define patterns and corresponding actions.
The actual input or value from the user or system.
I want a refund
A regular expression pattern to validate or match the string.
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
webhooks
object[]
required
An array of objects that define external API calls.
expressions
object[]
A list of expressions to be evaluated upon matching.
expressions
object[]
required
An array of objects that define patterns and corresponding actions.
The actual input or value from the user or system.
I want a refund
A regular expression pattern to validate or match the string.
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
error_keys
object
A string or array of strings that represent the keys to be used for error handling. This will match the key(s) in the response from the API call.
anyOf
string
string
The endpoint for the external service or API.
https://example.com
foreach
object
Iterates over an array of objects and processes a output based on each element in the array. Works similarly to JavaScript's forEach method.
The key to be used to access the current element in the array.
success
The key that can be referenced in the output of the foreach
iteration. The values that are stored from append
will be stored in this key.
deliverer
The max amount of elements that are iterated over in the array. This will start at the beginning of the array.
5
The values to append to the output_key.
Properties from the object can be referenced and added to the output_key by using the following syntax:
${this.property_name}.
The this
keyword is used to reference the current object in the array.
Any necessary headers for the API call.
The HTTP method (GET, POST, etc.) for the API call.
Possible values: [GET
, POST
, PUT
, DELETE
]
A boolean to determine if the input arguments should be passed as parameters.
An object of any necessary parameters for the API call. The key is the parameter name and the value is the parameter value.
require_args
object
A string or array of strings that represent the arguments
that are required to make the webhook request.
anyOf
string
string
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of username:password@url.
username:password:https://music.com
A file to play while the function is running. wait_file_loops
can specify the amount of times that files should continously play. Default is not set.
https://music.com
wait_file_loops
object
The number of times to loop playing the file. Default is not set.
anyOf
integer
string
Responses
- 201
- 401
- 404
- 422
The request has succeeded and a new resource has been created as a result.
- application/json
- Schema
- Example (from schema)
Schema
Array [
- ContextStepsEnd object
- ContextStepsValidSteps object
]
Array [
- ContextStepsEnd object
- ContextStepsValidSteps object
]
- MOD1
- MOD2
Array [
]
Array [
Array [
]
Array [
-
Keys: User-defined strings, that set the property names.
-
Values: A valid property type, which can be one of the following:
string
,integer
,number
,boolean
,array
,object
, ornull
. - String Function Property
- Integer Function Property
- Number Function Property
- Boolean Function Property
- Array Function Property
- Object Function Property
- Null Function Property
- oneOf Property
- allOf Property
- anyOf Property
- Const Property
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- Output object
- Expression object
- Webhook object
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
Array [
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
]
Array [
Array [
Array [
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
]
]
- MOD1
- MOD2
Array [
]
- MOD1
- MOD2
Array [
]
Array [
- ContextSwitchAction object
- PlaybackBGAction object
- SayAction object
- SetGlobalDataAction object
- SetMetaDataAction object
- StopAction object
- StopPlaybackBGAction object
- ToggleFunctionsAction object
- UnsetGlobalDataAction object
- UnsetMetaDataAction object
- UserInputAction object
Array [
- MOD1
- MOD2
Array [
]
]
- MOD1
- MOD2
- MOD1
- MOD2
]
]
- MOD1
- MOD2
]
]
Name of the AI Agent.
My AI Agent
prompt
object
The instructions to send to the agent.
Prompt text
Randomness setting. Float value between 0.0 and 1.5. Closer to 0 will make the output less random.
Possible values: <= 1.5
Randomness setting. Alternative to temperature
. Float value between 0.0 and 1.0. Closer to 0 will make the output less random.
Possible values: <= 1
Threshold to fire a speech-detect event at the end of the utterance. Float value between 0.0 and 1.0. Decreasing this value will reduce the pause after the user speaks, but may introduce false positives.
Possible values: <= 1
Aversion to staying on topic. Float value between -2.0 and 2.0. Positive values increase the model's likelihood to talk about new topics.
Possible values: >= -2
and <= 2
Aversion to repeating lines. Float value between -2.0 and 2.0. Positive values decrease the model's likelihood to repeat the same line verbatim.
Possible values: >= -2
and <= 2
contexts
object
An object that defines the context steps for the AI. The context steps are used to define the flow of the conversation.
Every context object requires a default
key, which is the default context to use at the beginning of the conversation.
Additionally, more context steps can be defined as any other key in the object.
default
object
required
The default context to use at the beginning of the conversation. Additional context steps can be defined as any other key in the object.
steps
object[]
required
An array of objects that define the steps in the context. These steps are used to define the flow of the conversation.
anyOf
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
A boolean value that, when true, will end the contexts conversation and transition to a normal interaction.
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
An array of valid steps that the conversation can proceed to from this step.
If the array is empty, or the valid_steps
key is not present, the conversation will proceed to the next step in the context.
["get order","confirm order"]
property name*
ContextSteps object
steps
object[]
required
An array of objects that define the steps in the context. These steps are used to define the flow of the conversation.
anyOf
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
A boolean value that, when true, will end the contexts conversation and transition to a normal interaction.
The name of the step. The name must be unique within the context. The name is used for referencing the step in the context.
Take Pizza order
The prompt or instructions given to the AI at this step.
Your name is Franklin and you are taking orders for Franklin's Pizza.
The conditions that must be met for the conversation to proceed to the next step. If a condition is not met, the conversation will not proceed to the next step. It's highly recommended you create a custom criteria for the step to get the intended behavior.
Customer wants to order Pizza
An array of SWAIG.functions that can be executed from this step.
["Take Order","Confirm Order","Confirm Address"]
An array of valid contexts that the conversation can transition to from this step.
["Place Order","Confirm Order"]
A boolean value that, when true, will skip the user's turn to respond in the conversation and proceed to the next step.
An array of valid steps that the conversation can proceed to from this step.
If the array is empty, or the valid_steps
key is not present, the conversation will proceed to the next step in the context.
["get order","confirm order"]
post_prompt
object
The instructions to send to the agent.
Prompt text
Randomness setting. Float value between 0.0 and 1.5. Closer to 0 will make the output less random.
Possible values: <= 1.5
Randomness setting. Alternative to temperature
. Float value between 0.0 and 1.0. Closer to 0 will make the output less random.
Possible values: <= 1
Threshold to fire a speech-detect event at the end of the utterance. Float value between 0.0 and 1.0. Decreasing this value will reduce the pause after the user speaks, but may introduce false positives.
Possible values: <= 1
Aversion to staying on topic. Float value between -2.0 and 2.0. Positive values increase the model's likelihood to talk about new topics.
Possible values: >= -2
and <= 2
Aversion to repeating lines. Float value between -2.0 and 2.0. Positive values decrease the model's likelihood to repeat the same line verbatim.
Possible values: >= -2
and <= 2
params
object
Instructs the agent to acknowledge crosstalk and confirm user input when the user speaks over the agent.
Adjust the volume of the AI. Allowed values from -50
- 50
.
Possible values: >= -50
and <= 50
attention_timeout
object
Possible values: >= 10000
and <= 600000
Amount of time, in ms, to wait before prompting the user to respond. Allowed values from 10,000
- 600,000
. Set to 0
to disable.
anyOf
integer
number
Possible values: [0
]
A custom prompt that is fed into the AI when the attention_timeout is reached.
Ask if the user can listen to you or they need more time to respond
URL of audio file to play in the background while AI plays in foreground.
https://audiourl.com
Maximum number of times to loop playing the background file. undefined
means loop indefinitely.
5
Defines background_file volume within a range of -50
to 50
.
Possible values: >= -50
and <= 50
Takes a string, including a regular expression, defining barge behavior. For example, this param can direct the AI to stop when the word 'hippopotomus' is input.
Cancel order
Defines the number of words that must be input before triggering barge behavior, in a range of 1-99
.
Possible values: >= 1
and <= 99
Sets the prompt which binds the agent to its purpose.
Place an order
Used by check_for_input
and save_conversation
to identify an individual conversation.
Converation ID
Enables debugging to the set URL. Allowed values from 0
- 1
.
Possible values: <= 1
Each interaction between the AI and end user is posted in real time to the established URL.
https://example.com
Forces the direction of the call to the assistant. Valid values are inbound
and outbound
.
Possible values: [inbound
, outbound
]
DTMF digit, as a string, to signal the end of input (ex: '#')
#
Time, in ms, at the end of digit input to detect end of input. Allowed values from 250
- 10,000
.
Possible values: >= 250
and <= 10000
Amount of silence, in ms, at the end of an utterance to detect end of speech. Allowed values from 250
- 10,000
.
Possible values: >= 250
and <= 10000
The stability slider determines how stable the voice is and the randomness between each generation. Lowering this slider introduces a broader emotional range for the voice.
The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it. The higher the similarity, the closer the AI will sound to the original voice.
Amount of energy necessary for bot to hear you (in dB). Allowed values from 0.0
- 100.0
.
Possible values: <= 100
A URL for the hold music to play, accepting WAV, mp3, and FreeSWITCH tone_stream.
https://holdmusic.com
Enables hold music during SWAIG processing.
Amount of time, in ms, to wait before exiting the app due to inactivity. Allowed values from 10,000
- 3,600,000
.
Possible values: >= 10000
and <= 3600000
Check for input function with check_for_input. Example use case: Feeding an inbound SMS to AI on a voice call, eg., for collecting an email address or other complex information.
When enabled, barges agent upon any sound interruption longer than 1 second.
Provide a prompt for the agent to handle crosstalk.
Inform user that you can't hear anything
Allows multilingualism when true
.
The local timezone setting for the AI. Value should use IANA TZ ID
America/Ensenada
Sets a time duration for the outbound call recipient to respond to the AI agent before timeout, in a range from 10000
to 600000
.
Possible values: >= 10000
and <= 600000
Send a summary of the conversation after the call ends.
This requires a post_url
to be set in the ai parameters and the conversation_id
defined below.
This eliminates the need for a post_prompt
in the ai parameters.
Allows tweaking any of the indicated settings, such as barge_match_string
, using the returned SWML from the SWAIG function.
Allows your SWAIG to return SWML to be executed.
Post entire conversation to any SWAIG call.
Pass a summary of a conversation from one AI agent to another. For example, transfer a call summary between support agents in two departments.
Enable verbose logging.
When false, AI agent will initialize dialogue after call is setup. When true, agent will wait for the user to speak first.
pronounce
object[]
An array of JSON objects to clarify the AI's pronunciation of words or expressions.
The expression to replace.
pizza
The phonetic spelling of the expression.
pissa
Whether the pronunciation replacement should ignore case.
An array of hints (as strings) to provide context to the dialogue.
["One Hint","Two Hint"]
An array of JSON objects defining supported languages in the conversation.
SWAIG
object[]
An array of JSON objects to create user-defined functions/endpoints that can be executed during the dialogue.
defaults
object
Default URL to send status callbacks and reports to. Authentication can also be set in the url in the format of username:password@url.
username:password@https://example.com
Prebuilt functions the AI agent is able to call from this list of available native functions
Possible values: [check_time
, wait_seconds
]
includes
object[]
An array of objects to include remote function signatures. The object fields are url to specify where the remote functions are defined and functions which is an array of the function names as strings.
Remote functions to fetch and include in your AI application.
["transfer call","notify kitchen"]
URL to fetch remote functions and include in your AI application. Authentication can also be set in the url in the format of username:password@url
.
username:password@https://example.com
meta_data
object
functions
object[]
An array of JSON objects to define functions that can be executed during the interaction with the AI. Default is not set. The fields of this object are the six following.
A unique name for the function. For example, 'get_weather'.
get_weather
A description of the context and purpose of the function, to explain to the agent when to use it.
Get the weather information
parameters
object
The type of argument the AI is passing to the function. Possible values are 'string' and 'object'.
Possible values: [object
]
properties
object
required
An object containing the property definitions that are passed to the function.
A property definition is a valid JSON schema type with dynamic property names, where:
property name*
Function Parameters Type Union
oneOf
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [string
]
An array of strings that are the possible values
["value1","value2","value3"]
The default string value
default value
Regular expression pattern
^[a-zA-Z0-9_.-]*$
String format (email, date-time, etc.)
Possible values: [date_time
, time
, date
, duration
, email
, hostname
, ipv4
, ipv6
, uri
, uuid
]
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [integer
]
An array of integers that are the possible values
[1,2,3]
The default integer value
5
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [number
]
enum
object[]
An array of integers that are the possible values
anyOf
integer
number
default
object
The default integer value
anyOf
integer
number
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [boolean
]
The default boolean value
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [array
]
The default array value
Schema for array items
Base interface for all property types
A description of the property.
Property description
Whether the property can be null.
The type of parameter(s) the AI is passing to the function.
Possible values: [object
]
The default object value
Nested properties
Required property names
["name1","name2"]
The type of parameter(s) the AI is passing to the function.
Possible values: [null
]
A description of the property.
Property Description
An array of schemas where exactly one of the schemas must be valid.
An array of schemas where all of the schemas must be valid.
An array of schemas where at least one of the schemas must be valid.
A constant value that can be passed to the function.
An array of required property names from the properties
object.
["name1","name2"]
Whether the function is active. Default is true
.
meta_data
object
A powerful and flexible environmental variable which can accept arbitrary data that is set initially in the SWML script or from the SWML set_meta_data action. This data can be referenced locally to the function. All contained information can be accessed and expanded within the prompt - for example, by using a template string. Default is not set.
A powerful and flexible environmental variable which can accept arbitrary data that is set initially in the SWML script or from the SWML set_meta_data action. This data can be referenced locally to the function. All contained information can be accessed and expanded within the prompt - for example, by using a template string. Default is not set.
Scoping token for meta_data. If not supplied, metadata will be scoped to function's web_hook_url
. Default is set by SignalWire.
data_map
object
oneOf
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
expressions
object[]
required
An array of objects that define patterns and corresponding actions.
The actual input or value from the user or system.
I want a refund
A regular expression pattern to validate or match the string.
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
webhooks
object[]
required
An array of objects that define external API calls.
expressions
object[]
A list of expressions to be evaluated upon matching.
expressions
object[]
required
An array of objects that define patterns and corresponding actions.
The actual input or value from the user or system.
I want a refund
A regular expression pattern to validate or match the string.
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
error_keys
object
A string or array of strings that represent the keys to be used for error handling. This will match the key(s) in the response from the API call.
anyOf
string
string
The endpoint for the external service or API.
https://example.com
foreach
object
Iterates over an array of objects and processes a output based on each element in the array. Works similarly to JavaScript's forEach method.
The key to be used to access the current element in the array.
success
The key that can be referenced in the output of the foreach
iteration. The values that are stored from append
will be stored in this key.
deliverer
The max amount of elements that are iterated over in the array. This will start at the beginning of the array.
5
The values to append to the output_key.
Properties from the object can be referenced and added to the output_key by using the following syntax:
${this.property_name}.
The this
keyword is used to reference the current object in the array.
Any necessary headers for the API call.
The HTTP method (GET, POST, etc.) for the API call.
Possible values: [GET
, POST
, PUT
, DELETE
]
A boolean to determine if the input arguments should be passed as parameters.
An object of any necessary parameters for the API call. The key is the parameter name and the value is the parameter value.
require_args
object
A string or array of strings that represent the arguments
that are required to make the webhook request.
anyOf
string
string
output
object
required
An object that defines the response
or action
to be taken when the webhook is successfully triggered.
A static response text or message returned to the AI agents context.
Order placed
action
object[]
A list of actions to be performed upon matching.
anyOf
context_switch
object
required
A JSON object containing the context to switch to. Default is not set.
The instructions to send to the agent. Default is not set.
Whether to consolidate the context. Default is false
.
A string serving as simulated user input for the AI Agent. During a context_switch in the AI's prompt, the user_prompt offers the AI pre-established context or guidance. Default is not set
playback_bg
object
required
A JSON object containing the audio file to play.
URL or filepath of the audio file to play.
http://audiofile.com
Whether to wait for the audio file to finish playing before continuing. Default is false
.
A message to be spoken by the AI agent.
Welcome to Franklin's Pizza.
A JSON object containing any global data, as a key-value map. This action sets the data in the global_meta_data
to be globally referenced.
{"small_size":"8 Inch","large_size":"12 Inch","closed":"Monday"}
A JSON object containing any metadata, as a key-value map. This action sets the data in the meta_data
to be referenced locally in the function.
{"extra_cheese":"Can't do","extra_large_pizza":"Only on Friday"}
Whether to stop the conversation.
Whether to stop the background audio file.
toggle_functions
object[]
required
Whether to toggle the functions on or off.
Whether to activate or deactivate the functions. Default is true
function
object
required
The function names to toggle.
anyOf
string
string
unset_global_data
object
required
The key of the global data to unset from the global_meta_data
. You can also reset the global_meta_data
by passing in a new object.
anyOf
string
object
unset_meta_data
object
required
The key of the local data to unset from the meta_data
. You can also reset the meta_data
by passing in a new object.
anyOf
string
object
Used to inject text into the users queue as if they input the data themselves.
I want a tasty Pizza.
Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of username:password@url.
username:password:https://music.com
A file to play while the function is running. wait_file_loops
can specify the amount of times that files should continously play. Default is not set.
https://music.com
wait_file_loops
object
The number of times to loop playing the file. Default is not set.
anyOf
integer
string
{
"name": "My AI Agent",
"prompt": {
"text": "Prompt text",
"temperature": 0,
"top_p": 0,
"confidence": 0,
"presence_penalty": 0,
"frequency_penalty": 0,
"contexts": {
"default": {
"steps": [
{
"name": "Take Pizza order",
"text": "Your name is Franklin and you are taking orders for Franklin's Pizza.",
"step_criteria": "Customer wants to order Pizza",
"functions": [
"Take Order",
"Confirm Order",
"Confirm Address"
],
"valid_contexts": [
"Place Order",
"Confirm Order"
],
"skip_user_turn": true,
"end": true
},
{
"name": "Take Pizza order",
"text": "Your name is Franklin and you are taking orders for Franklin's Pizza.",
"step_criteria": "Customer wants to order Pizza",
"functions": [
"Take Order",
"Confirm Order",
"Confirm Address"
],
"valid_contexts": [
"Place Order",
"Confirm Order"
],
"skip_user_turn": true,
"valid_steps": [
"get order",
"confirm order"
]
}
]
}
}
},
"post_prompt": {
"text": "Prompt text",
"temperature": 0,
"top_p": 0,
"confidence": 0,
"presence_penalty": 0,
"frequency_penalty": 0
},
"params": {
"acknowledge_interruptions": true,
"ai_volume": 0,
"attention_timeout": 0,
"attention_timeout_prompt": "Ask if the user can listen to you or they need more time to respond",
"background_file": "https://audiourl.com",
"background_file_loops": 5,
"background_file_volume": 0,
"barge_match_string": "Cancel order",
"barge_min_words": 0,
"conscience": "Place an order",
"conversation_id": "Converation ID",
"debug_webhook_level": 0,
"debug_webhook_url": "https://example.com",
"direction": [
"inbound"
],
"digit_termiantors": "#",
"digit_timeout": 0,
"end_of_speech_timeout": 0,
"eleven_labs_stability": 0,
"eleven_labs_similarity": 0,
"energy_level": 0,
"hold_music": "https://holdmusic.com",
"hold_on_process": true,
"inactivity_timeout": 0,
"input_poll_freq": "string",
"interrupt_on_noise": true,
"interrupt_prompt": "Inform user that you can't hear anything",
"languages_enabled": true,
"local_tz": "America/Ensenada",
"outbound_attention_timeout": 0,
"save_conversation": true,
"swaig_allow_settings": true,
"swaig_allow_swml": true,
"swaig_post_conversation": true,
"transfer_summary": true,
"verbose_logs": true,
"wait_for_user": true
},
"pronounce": [
{
"replace": "pizza",
"with": "pissa",
"ignore_case": true
}
],
"hints": [
"One Hint",
"Two Hint"
],
"languages": [
{
"name": "French",
"code": "fr-FR",
"voice": "fr-FR-Neural2-B",
"function_fillers": [
"great",
"ok"
],
"speech_fillers": [
"umm",
"hmm"
]
}
],
"SWAIG": [
{
"defaults": {
"web_hook_url": "username:password@https://example.com"
},
"native_functions": [
"check_time"
],
"includes": [
{
"functions": [
"transfer call",
"notify kitchen"
],
"url": "username:password@https://example.com",
"meta_data": {}
}
],
"functions": [
{
"function": "get_weather",
"description": "Get the weather information",
"parameters": {
"type": "object",
"properties": {},
"required": [
"name1",
"name2"
]
},
"active": true,
"meta_data": {},
"meta_data_token": "string",
"data_map": {
"output": {
"response": "Order placed",
"action": [
{
"context_switch": {
"system_prompt": "string",
"consolidate": true,
"user_prompt": "string"
}
},
{
"playback_bg": {
"file": "http://audiofile.com",
"wait": true
}
},
{
"say": "Welcome to Franklin's Pizza."
},
{
"set_global_data": {
"small_size": "8 Inch",
"large_size": "12 Inch",
"closed": "Monday"
}
},
{
"set_meta_data": {
"extra_cheese": "Can't do",
"extra_large_pizza": "Only on Friday"
}
},
{
"stop": true
},
{
"stop_playback_bg": true
},
{
"toggle_functions": [
{
"active": true,
"function": "string"
}
]
},
{
"unset_global_data": "string"
},
{
"unset_meta_data": "string"
},
{
"user_input": "I want a tasty Pizza."
}
]
}
},
"web_hook_url": "username:password:https://music.com",
"wait_file": "https://music.com",
"wait_file_loops": 0
}
]
}
]
}
Access is unauthorized.
- application/json
- Schema
Schema
string
Possible values: [Unauthorized
]
The server cannot find the requested resource.
- application/json
- Schema
Schema
string
Possible values: [Not Found
]
Client error
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
errors
object[]
required
Error type.
Error code.
Error details.
Request parameter associated with this error.
Link to developer resource for this error.
{
"errors": [
{
"type": "validation_error",
"code": "missing_required_parameter",
"message": "Name can't be blank",
"attribute": "name",
"url": "https://developer.signalwire.com/rest/signalwire-rest/overview/error-codes/#missing_required_parameter"
}
]
}