execute
Execute a section or URL as a subroutine and return back to current document.
Parameters
Name | Type | Description |
---|---|---|
dest | string | Specifies what to execute. Required. The value can be one of:
|
params | object | Named parameters to send to section or URL. Optional. Default is not set. |
meta | object | User data, ignored by SignalWire. Optional. Default is not set. |
on_return | object | Code to execute after return. Optional. Default is not set. |
Variables
None
Examples
Executing a subroutine
- YAML
- JSON
version: 1.0.0
sections:
main:
- execute:
dest: subroutine
params:
file: "https://example.com/foo.wav"
subroutine:
- answer
{
"version": "1.0.0",
"sections": {
"main": [
{
"execute": {
"dest": "subroutine",
"params": {
"file": "https://example.com/foo.wav"
}
}
}
],
"subroutine": ["answer"]
}
}
Executing a subroutine and branching on return
- YAML
- JSON
version:1.0.0
sections:
main:
- execute:
dest: my_menu
params:
- file: "https://example.com/foo.wav"
- digits: "123"
on_return:
- switch:
- case:
- variable: return_value
- 1:
- transfer: sales
- 2:
- transfer: support
- 3:
- transfer: leave_a_message
- default:
- transfer: invalid_choice
subroutine:
- answer
{
"execute": {
"dest": "my_menu",
"params": { "file": "https://example.com/foo.wav", "digits": "123" },
"on_return": [
{
"switch": {
"case": {
"variable": "return_value",
"1": [{ "transfer": "sales" }],
"2": [{ "transfer": "support" }],
"3": [{ "transfer": "leave_a_message" }]
},
"default": [{ "transfer": "invalid_choice" }]
}
}
]
}
}