Overview

Manage voicebot workflows through the API.
  1. Create new workflows with customizable messages and parameters
  2. List and retrieve existing workflows
  3. Update workflow details as needed
  4. Delete workflows
  5. List workflow requests and call statistics
  6. Get workflow request call details

Authentication

All API requests require an API key to be included in the headers:
Authorization: Bearer [access-key]

Create Workflow

Endpoint

POST https://voicebot.intron.health/voicebot/v1/workflows
Create a new workflow with customizable parameters.

Request Body JSON

FieldTypeDescriptionRequiredOptionsDefault
nameStringName of the workflowyes
descriptionStringDescription of the workflowno
workflow_typeStringType of workflowyesROBOCALL | CONVERSATIONROBOCALL
messageStringMessage template with variablesyes
include_replyBooleanInclude reply option in the workflownotrue | falsefalse
response_optionsObjectObject containing response options with numeric keys (e.g., {"1": "option text", "2": "option text"})no
call_back_urlStringURL to receive request status details on completionno

Example Request and Response (without reply)

curl --location 'https://voicebot.intron.health/voicebot/v1/workflows' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data '{
    "name": "Integrator Workflow",
    "description": "Workflow description V2",
    "workflow_type": "ROBOCALL",
    "message": "Hello [name], your appointment is scheduled for [date] at [time]",
    "include_reply": false,
    "call_back_url": "https://integrator_call_back_url/:callback"
}'

Example Request and Response (with reply)

curl --location 'https://voicebot.intron.health/voicebot/v1/workflows' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data '{
    "name": "Integrator Workflow with Reply",
    "description": "Workflow with reply options",
    "workflow_type": "ROBOCALL",
    "message": "Hello [name], your appointment is scheduled for [date] at [time]. Reply 1 to confirm, 2 to cancel.",
    "include_reply": true,
    "response_options": {
        "1": "To confirm your availability",
        "2": "To confirm you will not be available"
    },
    "call_back_url": "https://integrator_call_back_url/:callback"
}'

List Workflows

Endpoint

GET https://voicebot.intron.health/voicebot/v1/workflows
Retrieve a list of all workflows.

Example Request and Response

curl --location 'https://voicebot.intron.health/voicebot/v1/workflows' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Get Workflow Details

Endpoint

GET https://voicebot.intron.health/voicebot/v1/workflows/:workflow_id
Retrieve details of a specific workflow.

Path Variables

FieldTypeDescriptionRequiredDefaultOptions
workflow_idStringThe unique identifier of the workflowyes

Example Request and Response

curl --location 'https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Update Workflow

Endpoint

PUT https://voicebot.intron.health/voicebot/v1/workflows/:workflow_id
Update an existing workflow’s details.

Path Variables

FieldTypeDescriptionRequiredDefaultOptions
workflow_idStringThe unique identifier of the workflow to updateyes

Request Body JSON

FieldTypeDescriptionRequiredOptionsDefault
nameStringName of the workflowno
descriptionStringDescription of the workflowno
workflow_typeStringType of workflownoROBOCALL | CONVERSATIONROBOCALL
messageStringMessage template with variablesno
call_back_urlStringURL to receive request status details on completionno
include_replyBooleanInclude reply option in the workflownotrue | falsefalse
response_optionsObjectObject containing response options with numeric keys (e.g., {"1": "option text", "2": "option text"})no

Example Request and Response

curl --location --request PUT 'https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data '{
    "name": "Updated Integrator Workflow",
    "description": "Updated workflow description V2",
    "workflow_type": "ROBOCALL",
    "message": "Hello [name], your appointment is scheduled for [date] at [time]",
    "include_reply": true,
    "response_options": {
        "1": "To confirm your availability",
        "2": "To confirm you will not be available"
    },
    "call_back_url": "https://new_integrator_call_back_url/:callback"
}'

Delete Workflow

Endpoint

DELETE https://voicebot.intron.health/voicebot/v1/workflows/:workflow_id
Delete an existing workflow.

Path Variables

FieldTypeDescriptionRequiredDefaultOptions
workflow_idStringThe unique identifier of the workflow to deleteyes

Example Request and Response

curl --location --request DELETE 'https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

List Workflow Requests

Endpoint

GET https://voicebot.intron.health/voicebot/v1/workflows/:workflow_id/requests
Retrieve a list of all requests for a specific workflow.

Query Parameters

FieldTypeDescriptionRequiredDefault
pageIntegerPage number for paginationno1
per_pageIntegerNumber of items per pageno10

Example Request and Response

curl --location 'https://voicebot.intron.health/voicebot/v1/workflows/123/requests?page=1&per_page=10' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

List Workflow Calls

Endpoint

GET https://voicebot.intron.health/voicebot/v1/workflows/:workflow_id/calls
Retrieve a list of all calls for a specific workflow.

Query Parameters

FieldTypeDescriptionRequiredDefault
pageIntegerPage number for paginationno1
per_pageIntegerNumber of items per pageno10
batch_idStringFilter calls by batch IDno
statusStringFilter calls by statusno
phone_numberStringFilter calls by phone numberno

Example Request and Response

curl --location 'https://voicebot.intron.health/voicebot/v1/workflows/123/calls?page=1&per_page=10&batch_id=550e8400-e29b-41d4-a716-446655440000&status=COMPLETED&phone_number=+1234567890' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Workflow Message Requirements

  • The message length after replacing variables must not exceed 4000 characters
  • Use [parameter_name] syntax to insert dynamic values in your message
  • Example: “Hello [name], your appointment is scheduled for [date] at [time]“

Quotas and Limits

  • Rate limit: 60 requests per hour
  • Rate limit: 6 requests per minute