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
1{
2 "id": "993ed018-9e79-4e50-b97b-984bd5534095",
3 "project_id": "1313fe58-5e14-4c11-bbe7-6fdfa11fe780",
4 "display_name": "Booking Assistant",
5 "type": "call_flow",
6 "created_at": "2024-05-06T12:20:00Z",
7 "updated_at": "2024-05-06T12:20:00Z",
8 "call_flow": {
9 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
10 "title": "Booking Assistant",
11 "flow_data": {},
12 "relayml": {
13 "sections": {
14 "main": [
15 {
16 "denoise": {},
17 "play": {
18 "url": "https://cdn.signalwire.com/swml/audio.mp3"
19 }
20 }
21 ]
22 },
23 "version": "1.0.0"
24 },
25 "document_version": 1
26 }
27}

Example

1from signalwire.rest import RestClient
2
3client = RestClient(
4 project="your-project-id",
5 token="your-api-token",
6 host="your-space.signalwire.com",
7)
8
9result = client.fabric.call_flows.create(
10 title="Main IVR Flow",
11)
12print(f"Created: {result['id']}")