Callflow
About Callflow
Schema
Run a callflow on an active call
Key | Description | Type | Default | Required | Support Level |
---|---|---|---|---|---|
captures | Callflow extension | string() | false | ||
collected | Callflow extension | string() | false | ||
flow | include the flow you’d like to run (Pivot without the HTTP interaction) | object() | false | ||
id | The callflow ID to run | string() | false |
callflows.action
Call flows describe steps to take in order to process a phone call. They are trees of information related to a phone call such as “answer, play file, record file” etc. that are logically grouped together and ordered.
Key | Description | Type | Default | Required | Support Level |
---|---|---|---|---|---|
children./.+/ | Call flows describe steps to take in order to process a phone call. They are trees of information related to a phone call such as “answer, play file, record file” etc. that are logically grouped together and ordered. | #/definitions/callflows.action | false | ||
children | Children callflows | object() | false | ||
data | The data/arguments of the callflow module | object() | {} | true | |
module | The name of the callflow module to execute at this node | string(1..64) | true |
Including the flow
When doing dynamic call control, it was typical to issue a pivot
metaflow instead to reach out to the external server for callflow JSON. To save a round-trip, you can embed the flow JSON in the callflow
metaflow. The API request data:
{"action":"metaflow"
,"data":{
"module":"callflow"
,"data":{
"flow":{
"module":"device"
,"data":{"id":"{DEVICE_ID}"}
,"children":{...}
}
}
}
}
This will interrupt whatever callflow may be executing (and flush any queued commands) and continue the callflow execution as if the supplied flow was next in line to execute.