REST ClientFabricCall Flows

create

View as MarkdownOpen in Claude

Create a new call flow resource.

Request

titlestringRequired
The name of the Call Flow
flow_dataobjectOptional
Call Flow Builder state, stored as an opaque JSON object. Optional but must be paired with `relayml` — provide both fields together or omit both. When both are omitted, SignalWire creates a starter Call Flow.
relaymlobjectOptional
The calling SWML document this Call Flow should execute. Uses [calling SWML methods](/docs/swml/reference/calling). Optional but must be paired with `flow_data` — provide both fields together or omit both. When both are omitted, SignalWire creates a starter SWML document.

Response

idstringRequiredformat: "uuid"
Unique ID of the Call Flow.
project_idstringRequiredformat: "uuid"
Unique ID of the Project.
display_namestringRequired
Display name of the Call Flow Fabric Resource
typeenumRequired
Type of the Fabric Resource
Allowed values:
created_atdatetimeRequired
Date and time when the resource was created.
updated_atdatetimeRequired
Date and time when the resource was updated.
call_flowobjectRequired
Call Flow data.

Response Example

Response
{
"id": "993ed018-9e79-4e50-b97b-984bd5534095",
"project_id": "1313fe58-5e14-4c11-bbe7-6fdfa11fe780",
"display_name": "Welcome Call Flow",
"type": "call_flow",
"created_at": "2024-05-06T12:20:00Z",
"updated_at": "2024-05-06T12:25:00Z",
"call_flow": {
"id": "993ed018-9e79-4e50-b97b-984bd5534095",
"title": "Welcome Call Flow",
"flow_data": {},
"relayml": {
"sections": {
"main": [
{
"play": {
"url": "https://cdn.signalwire.com/swml/audio.mp3"
}
}
]
},
"version": "1.0.0"
},
"document_version": 1
}
}

Example

from signalwire.rest import RestClient
client = RestClient(
project="your-project-id",
token="your-api-token",
host="your-space.signalwire.com",
)
result = client.fabric.call_flows.create(
title="Main IVR Flow",
)
print(f"Created: {result['id']}")