Skip to main content
DELETE
/
workflow
/
{id}
Delete Workflow
curl --request DELETE \
  --url https://api.cozmox.ai/workflow/{id} \
  --header 'Authorization: Bearer <token>'
{
  "nodes": [
    {
      "type": "conversation",
      "name": "<string>",
      "model": {
        "provider": "openai",
        "model": "gpt-4.1-2025-04-14",
        "temperature": 1,
        "maxTokens": 5025
      },
      "transcriber": {
        "provider": "assembly-ai",
        "language": "en",
        "confidenceThreshold": 0.4,
        "enableUniversalStreamingApi": false,
        "formatTurns": false,
        "endOfTurnConfidenceThreshold": 0.7,
        "minEndOfTurnSilenceWhenConfident": 160,
        "wordFinalizationMaxWaitTime": 160,
        "maxTurnSilence": 400,
        "realtimeUrl": "<string>",
        "wordBoost": [
          "<string>"
        ],
        "endUtteranceSilenceThreshold": 123,
        "disablePartialTranscripts": true,
        "fallbackPlan": {
          "transcribers": [
            {
              "provider": "assembly-ai",
              "language": "en",
              "confidenceThreshold": 0.4,
              "enableUniversalStreamingApi": false,
              "formatTurns": false,
              "endOfTurnConfidenceThreshold": 0.7,
              "minEndOfTurnSilenceWhenConfident": 160,
              "wordFinalizationMaxWaitTime": 160,
              "maxTurnSilence": 400,
              "realtimeUrl": "<string>",
              "wordBoost": [
                "<string>"
              ],
              "endUtteranceSilenceThreshold": 123,
              "disablePartialTranscripts": true
            }
          ]
        }
      },
      "voice": {
        "provider": "azure",
        "voiceId": "andrew",
        "cachingEnabled": true,
        "chunkPlan": {
          "enabled": true,
          "minCharacters": 30,
          "punctuationBoundaries": [
            "。",
            ",",
            ".",
            "!",
            "?",
            ";",
            "،",
            "۔",
            "।",
            "॥",
            "|",
            "||",
            ",",
            ":"
          ],
          "formatPlan": {
            "enabled": true,
            "numberToDigitsCutoff": 2025,
            "replacements": [
              {
                "type": "exact",
                "key": "<string>",
                "value": "<string>",
                "replaceAllEnabled": false
              }
            ],
            "formattersEnabled": "markdown"
          }
        },
        "speed": 1.25,
        "fallbackPlan": {
          "voices": [
            {
              "provider": "azure",
              "voiceId": "andrew",
              "cachingEnabled": true,
              "speed": 1.25,
              "chunkPlan": {
                "enabled": true,
                "minCharacters": 30,
                "punctuationBoundaries": [
                  "。",
                  ",",
                  ".",
                  "!",
                  "?",
                  ";",
                  "،",
                  "۔",
                  "।",
                  "॥",
                  "|",
                  "||",
                  ",",
                  ":"
                ],
                "formatPlan": {
                  "enabled": true,
                  "numberToDigitsCutoff": 2025,
                  "replacements": [
                    {
                      "type": "exact",
                      "key": "<string>",
                      "value": "<string>",
                      "replaceAllEnabled": false
                    }
                  ],
                  "formattersEnabled": "markdown"
                }
              }
            }
          ]
        }
      },
      "prompt": "<string>",
      "globalNodePlan": {
        "enabled": false,
        "enterCondition": ""
      },
      "variableExtractionPlan": {
        "schema": {
          "type": "string",
          "items": {},
          "properties": {},
          "description": "<string>",
          "pattern": "<string>",
          "format": "date-time",
          "required": [
            "<string>"
          ],
          "enum": [
            "<string>"
          ],
          "title": "<string>"
        },
        "aliases": [
          {
            "key": "<string>",
            "value": "<string>"
          }
        ]
      },
      "isStart": true,
      "metadata": {}
    }
  ],
  "id": "<string>",
  "orgId": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "name": "<string>",
  "edges": [
    {
      "from": "<string>",
      "to": "<string>",
      "condition": {
        "type": "ai",
        "prompt": "<string>"
      },
      "metadata": {}
    }
  ],
  "transcriber": {
    "provider": "assembly-ai",
    "language": "en",
    "confidenceThreshold": 0.4,
    "enableUniversalStreamingApi": false,
    "formatTurns": false,
    "endOfTurnConfidenceThreshold": 0.7,
    "minEndOfTurnSilenceWhenConfident": 160,
    "wordFinalizationMaxWaitTime": 160,
    "maxTurnSilence": 400,
    "realtimeUrl": "<string>",
    "wordBoost": [
      "<string>"
    ],
    "endUtteranceSilenceThreshold": 123,
    "disablePartialTranscripts": true,
    "fallbackPlan": {
      "transcribers": [
        {
          "provider": "assembly-ai",
          "language": "en",
          "confidenceThreshold": 0.4,
          "enableUniversalStreamingApi": false,
          "formatTurns": false,
          "endOfTurnConfidenceThreshold": 0.7,
          "minEndOfTurnSilenceWhenConfident": 160,
          "wordFinalizationMaxWaitTime": 160,
          "maxTurnSilence": 400,
          "realtimeUrl": "<string>",
          "wordBoost": [
            "<string>"
          ],
          "endUtteranceSilenceThreshold": 123,
          "disablePartialTranscripts": true
        }
      ]
    }
  },
  "voice": {
    "provider": "azure",
    "voiceId": "andrew",
    "cachingEnabled": true,
    "chunkPlan": {
      "enabled": true,
      "minCharacters": 30,
      "punctuationBoundaries": [
        "。",
        ",",
        ".",
        "!",
        "?",
        ";",
        "،",
        "۔",
        "।",
        "॥",
        "|",
        "||",
        ",",
        ":"
      ],
      "formatPlan": {
        "enabled": true,
        "numberToDigitsCutoff": 2025,
        "replacements": [
          {
            "type": "exact",
            "key": "<string>",
            "value": "<string>",
            "replaceAllEnabled": false
          }
        ],
        "formattersEnabled": "markdown"
      }
    },
    "speed": 1.25,
    "fallbackPlan": {
      "voices": [
        {
          "provider": "azure",
          "voiceId": "andrew",
          "cachingEnabled": true,
          "speed": 1.25,
          "chunkPlan": {
            "enabled": true,
            "minCharacters": 30,
            "punctuationBoundaries": [
              "。",
              ",",
              ".",
              "!",
              "?",
              ";",
              "،",
              "۔",
              "।",
              "॥",
              "|",
              "||",
              ",",
              ":"
            ],
            "formatPlan": {
              "enabled": true,
              "numberToDigitsCutoff": 2025,
              "replacements": [
                {
                  "type": "exact",
                  "key": "<string>",
                  "value": "<string>",
                  "replaceAllEnabled": false
                }
              ],
              "formattersEnabled": "markdown"
            }
          }
        }
      ]
    }
  },
  "observabilityPlan": {
    "provider": "langfuse",
    "tags": [
      "<string>"
    ],
    "metadata": {}
  },
  "backgroundSound": "office",
  "credentials": [
    {
      "provider": "anthropic",
      "apiKey": "<string>",
      "name": "<string>"
    }
  ],
  "globalPrompt": "<string>",
  "server": {
    "timeoutSeconds": 20,
    "url": "<string>",
    "headers": {},
    "backoffPlan": {
      "type": "fixed",
      "maxRetries": 0,
      "baseDelaySeconds": 1
    }
  },
  "compliancePlan": {
    "hipaaEnabled": {
      "hipaaEnabled": false
    },
    "pciEnabled": {
      "pciEnabled": false
    }
  },
  "analysisPlan": {
    "minMessagesThreshold": 1,
    "summaryPlan": {
      "messages": [
        {}
      ],
      "enabled": true,
      "timeoutSeconds": 30.5
    },
    "structuredDataPlan": {
      "messages": [
        {}
      ],
      "enabled": true,
      "schema": {
        "type": "string",
        "items": {},
        "properties": {},
        "description": "<string>",
        "pattern": "<string>",
        "format": "date-time",
        "required": [
          "<string>"
        ],
        "enum": [
          "<string>"
        ],
        "title": "<string>"
      },
      "timeoutSeconds": 30.5
    },
    "structuredDataMultiPlan": [
      {
        "key": "<string>",
        "plan": {
          "messages": [
            {}
          ],
          "enabled": true,
          "schema": {
            "type": "string",
            "items": {},
            "properties": {},
            "description": "<string>",
            "pattern": "<string>",
            "format": "date-time",
            "required": [
              "<string>"
            ],
            "enum": [
              "<string>"
            ],
            "title": "<string>"
          },
          "timeoutSeconds": 30.5
        }
      }
    ],
    "successEvaluationPlan": {
      "rubric": "NumericScale",
      "messages": [
        {}
      ],
      "enabled": true,
      "timeoutSeconds": 30.5
    }
  },
  "artifactPlan": {
    "recordingEnabled": true,
    "recordingFormat": "wav;l16",
    "videoRecordingEnabled": false,
    "pcapEnabled": true,
    "pcapS3PathPrefix": "/pcaps",
    "transcriptPlan": {
      "enabled": true,
      "assistantName": "<string>",
      "userName": "<string>"
    },
    "recordingPath": "<string>"
  },
  "startSpeakingPlan": {
    "waitSeconds": 0.4,
    "smartEndpointingEnabled": false,
    "smartEndpointingPlan": {
      "provider": "cozmox"
    },
    "customEndpointingRules": [
      {
        "type": "assistant",
        "regex": "<string>",
        "timeoutSeconds": 7.5,
        "regexOptions": [
          {
            "type": "ignore-case",
            "enabled": true
          }
        ]
      }
    ],
    "transcriptionEndpointingPlan": {
      "onPunctuationSeconds": 0.1,
      "onNoPunctuationSeconds": 1.5,
      "onNumberSeconds": 0.5
    }
  },
  "stopSpeakingPlan": {
    "numWords": 0,
    "voiceSeconds": 0.2,
    "backoffSeconds": 1,
    "acknowledgementPhrases": [
      "i understand",
      "i see",
      "i got it",
      "i hear you",
      "im listening",
      "im with you",
      "right",
      "okay",
      "ok",
      "sure",
      "alright",
      "got it",
      "understood",
      "yeah",
      "yes",
      "uh-huh",
      "mm-hmm",
      "gotcha",
      "mhmm",
      "ah",
      "yeah okay",
      "yeah sure"
    ],
    "interruptionPhrases": [
      "stop",
      "shut",
      "up",
      "enough",
      "quiet",
      "silence",
      "but",
      "dont",
      "not",
      "no",
      "hold",
      "wait",
      "cut",
      "pause",
      "nope",
      "nah",
      "nevermind",
      "never",
      "bad",
      "actually"
    ]
  },
  "monitorPlan": {
    "listenEnabled": false,
    "listenAuthenticationEnabled": false,
    "controlEnabled": false,
    "controlAuthenticationEnabled": false
  },
  "backgroundSpeechDenoisingPlan": {
    "smartDenoisingPlan": {
      "enabled": false
    },
    "fourierDenoisingPlan": {
      "enabled": false,
      "mediaDetectionEnabled": true,
      "staticThreshold": -35,
      "baselineOffsetDb": -15,
      "windowSizeMs": 3000,
      "baselinePercentile": 85
    }
  },
  "credentialIds": [
    "<string>"
  ]
}

Authorizations

Authorization
string
header
required

Retrieve your API Key from Dashboard.

Path Parameters

id
string
required

Response

200 - application/json
nodes
(ConversationNode · object | ToolNode · object)[]
required
  • ConversationNode
  • ToolNode
id
string
required
orgId
string
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
name
string
required
Maximum string length: 80
edges
object[]
required
transcriber
AssemblyAITranscriber · object

This is the transcriber for the workflow.

This can be overridden at node level using nodes[n].transcriber.

  • AssemblyAITranscriber
  • AzureSpeechTranscriber
  • CustomTranscriber
  • DeepgramTranscriber
  • ElevenLabsTranscriber
  • GladiaTranscriber
  • GoogleTranscriber
  • SpeechmaticsTranscriber
  • TalkscriberTranscriber
  • OpenAITranscriber
  • CartesiaTranscriber
voice
AzureVoice · object

This is the voice for the workflow.

This can be overridden at node level using nodes[n].voice.

  • AzureVoice
  • CartesiaVoice
  • CustomVoice
  • DeepgramVoice
  • ElevenLabsVoice
  • HumeVoice
  • LMNTVoice
  • NeuphonicVoice
  • OpenAIVoice
  • PlayHTVoice
  • RimeAIVoice
  • SmallestAIVoice
  • TavusVoice
  • cozmoxVoice
  • SesameVoice
  • InworldVoice
observabilityPlan
Langfuse · object

This is the plan for observability of workflow's calls.

Currently, only Langfuse is supported.

backgroundSound

This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'. You can also provide a custom sound by providing a URL to an audio file.

Available options:
off,
office
Example:

"office"

credentials
(AnthropicCredential · object | AnyscaleCredential · object | AssemblyAICredential · object | AzureCredential · object | AzureOpenAICredential · object | ByoSipTrunkCredential · object | CartesiaCredential · object | CerebrasCredential · object | CloudflareCredential · object | CustomLLMCredential · object | DeepgramCredential · object | DeepInfraCredential · object | DeepSeekCredential · object | ElevenLabsCredential · object | GcpCredential · object | GladiaCredential · object | GhlCredential · object | GoogleCredential · object | GroqCredential · object | HumeCredential · object | InflectionAICredential · object | LangfuseCredential · object | LmntCredential · object | MakeCredential · object | MistralCredential · object | NeuphonicCredential · object | OpenAICredential · object | OpenRouterCredential · object | PerplexityAICredential · object | PlayHTCredential · object | RimeAICredential · object | RunpodCredential · object | S3Credential · object | SmallestAICredential · object | SpeechmaticsCredential · object | SupabaseCredential · object | TavusCredential · object | TogetherAICredential · object | TrieveCredential · object | TwilioCredential · object | VonageCredential · object | WebhookCredential · object | XAiCredential · object | GoogleCalendarOAuth2ClientCredential · object | GoogleCalendarOAuth2AuthorizationCredential · object | GoogleSheetsOAuth2AuthorizationCredential · object | SlackOAuth2AuthorizationCredential · object | GoHighLevelMCPCredential · object)[]

These are dynamic credentials that will be used for the workflow calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials.

  • AnthropicCredential
  • AnyscaleCredential
  • AssemblyAICredential
  • AzureCredential
  • AzureOpenAICredential
  • ByoSipTrunkCredential
  • CartesiaCredential
  • CerebrasCredential
  • CloudflareCredential
  • CustomLLMCredential
  • DeepgramCredential
  • DeepInfraCredential
  • DeepSeekCredential
  • ElevenLabsCredential
  • GcpCredential
  • GladiaCredential
  • GhlCredential
  • GoogleCredential
  • GroqCredential
  • HumeCredential
  • InflectionAICredential
  • LangfuseCredential
  • LmntCredential
  • MakeCredential
  • MistralCredential
  • NeuphonicCredential
  • OpenAICredential
  • OpenRouterCredential
  • PerplexityAICredential
  • PlayHTCredential
  • RimeAICredential
  • RunpodCredential
  • S3Credential
  • SmallestAICredential
  • SpeechmaticsCredential
  • SupabaseCredential
  • TavusCredential
  • TogetherAICredential
  • TrieveCredential
  • TwilioCredential
  • VonageCredential
  • WebhookCredential
  • XAiCredential
  • GoogleCalendarOAuth2ClientCredential
  • GoogleCalendarOAuth2AuthorizationCredential
  • GoogleSheetsOAuth2AuthorizationCredential
  • SlackOAuth2AuthorizationCredential
  • GoHighLevelMCPCredential
globalPrompt
string
Maximum string length: 5000
server
object

This is where cozmox will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.

The order of precedence is:

  1. tool.server
  2. workflow.server / assistant.server
  3. phoneNumber.server
  4. org.server
compliancePlan
object

This is the compliance plan for the workflow. It allows you to configure HIPAA and other compliance settings.

analysisPlan
object

This is the plan for analysis of workflow's calls. Stored in call.analysis.

artifactPlan
object

This is the plan for artifacts generated during workflow's calls. Stored in call.artifact.

startSpeakingPlan
object

This is the plan for when the workflow nodes should start talking.

You should configure this if you're running into these issues:

  • The assistant is too slow to start talking after the customer is done speaking.
  • The assistant is too fast to start talking after the customer is done speaking.
  • The assistant is so fast that it's actually interrupting the customer.
stopSpeakingPlan
object

This is the plan for when workflow nodes should stop talking on customer interruption.

You should configure this if you're running into these issues:

  • The assistant is too slow to recognize customer's interruption.
  • The assistant is too fast to recognize customer's interruption.
  • The assistant is getting interrupted by phrases that are just acknowledgments.
  • The assistant is getting interrupted by background noises.
  • The assistant is not properly stopping -- it starts talking right after getting interrupted.
monitorPlan
object

This is the plan for real-time monitoring of the workflow's calls.

Usage:

  • To enable live listening of the workflow's calls, set monitorPlan.listenEnabled to true.
  • To enable live control of the workflow's calls, set monitorPlan.controlEnabled to true.
backgroundSpeechDenoisingPlan
object

This enables filtering of noise and background speech while the user is talking.

Features:

  • Smart denoising using Krisp
  • Fourier denoising

Both can be used together. Order of precedence:

  • Smart denoising
  • Fourier denoising
credentialIds
string[]

These are the credentials that will be used for the workflow calls. By default, all the credentials are available for use in the call but you can provide a subset using this.