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
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

import { RestClient } from "@signalwire/sdk";
const client = new RestClient({
project: "your-project-id",
token: "your-api-token",
host: "your-space.signalwire.com"
});
const result = await client.fabric.callFlows.create({
title: "Main IVR Flow",
});
console.log(`Created: ${result.id}`);