menu logo

API/Voicebot/Workflow

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

Authentication

All API requests require an API key to be included in the headers:

Authorization: Bearer [access-key]

Create Workflow

POST https://voicebot.intron.health/voicebot/v1/workflows

Create a new workflow with customizable parameters.

Request Body JSON

Field Type Description Required Options Default
name String Name of the workflow yes
description String Description of the workflow no
workflow_type String Type of workflow yes ROBOCALL | CONVERSATION ROBOCALL
message String Message template with variables yes

Example Request and Response

                    
                        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]"
                        }'
                    
                
                    
                        import requests

                        url = "https://voicebot.intron.health/voicebot/v1/workflows"

                        payload = {
                            "name": "Integrator Workflow",
                            "description": "Workflow description V2",
                            "workflow_type": "ROBOCALL",
                            "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                        }
                        headers = {
                            "Authorization": "Bearer YOUR_ACCESS_TOKEN"
                        }

                        response = requests.request("POST", url, headers=headers, json=payload)

                        print(response.json)
                    
                
                    
                        const requestOptions = {
                            method: "POST",
                            headers: {
                                'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
                            },
                            body: JSON.stringify({
                                "name": "Integrator Workflow",
                                "description": "Workflow description V2",
                                "workflow_type": "ROBOCALL",
                                "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                            })
                        };
                            
                        fetch("https://voicebot.intron.health/voicebot/v1/workflows", requestOptions)
                        .then((response) => response.text())
                        .then((result) => console.log(result))
                        .catch((error) => console.error(error));
                    
                
                    
                        {
                            "status": "Ok",
                            "message": "workflow created successfully",
                            "data": {
                                "id": "123e4567-e89b-12d3-a456-426614174000",
                                "name": "Integrator Workflow",
                                "description": "Workflow description V2",
                                "workflow_type": "ROBOCALL",
                                "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                            }
                        }
                    
                

List Workflows

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'
                    
                
                    
                        import requests

                        url = "https://voicebot.intron.health/voicebot/v1/workflows"
                        headers = {
                            "Authorization": "Bearer YOUR_ACCESS_TOKEN"
                        }

                        response = requests.request("GET", url, headers=headers)

                        print(response.json)
                    
                
                    
                        const requestOptions = {
                            method: "GET",
                            headers: {
                                'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
                            }
                        };
                            
                        fetch("https://voicebot.intron.health/voicebot/v1/workflows", requestOptions)
                        .then((response) => response.text())
                        .then((result) => console.log(result))
                        .catch((error) => console.error(error));
                    
                
                    
                        {
                            "status": "Ok",
                            "message": "workflows retrieved successfully",
                            "data": [
                                {
                                    "id": "123e4567-e89b-12d3-a456-426614174000",
                                    "name": "Integrator Workflow",
                                    "description": "Workflow description V2",
                                    "workflow_type": "ROBOCALL",
                                    "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                                }
                            ]
                        }
                    
                

Get Workflow Details

GET https://voicebot.intron.health/voicebot/v1/workflows/
:workflow_id

Retrieve details of a specific workflow.

Path Variables

Field Type Description Required Default Options
workflow_id String The unique identifier of the workflow yes

Example Request and Response

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

                        url = "https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000"
                        headers = {
                            "Authorization": "Bearer YOUR_ACCESS_TOKEN"
                        }

                        response = requests.request("GET", url, headers=headers)

                        print(response.json)
                    
                
                    
                        const requestOptions = {
                            method: "GET",
                            headers: {
                                'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
                            }
                        };
                            
                        fetch("https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000", requestOptions)
                        .then((response) => response.text())
                        .then((result) => console.log(result))
                        .catch((error) => console.error(error));
                    
                
                    
                        {
                            "status": "Ok",
                            "message": "workflow retrieved successfully",
                            "data": {
                                "id": "123e4567-e89b-12d3-a456-426614174000",
                                "name": "Integrator Workflow",
                                "description": "Workflow description V2",
                                "workflow_type": "ROBOCALL",
                                "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                            }
                        }
                    
                

Update Workflow

PUT https://voicebot.intron.health/voicebot/v1/workflows/
:workflow_id

Update an existing workflow's details.

Path Variables

Field Type Description Required Default Options
workflow_id String The unique identifier of the workflow to update yes

Request Body JSON

Field Type Description Required Options Default
name String Name of the workflow no
description String Description of the workflow no
workflow_type String Type of workflow no ROBOCALL | CONVERSATION ROBOCALL
message String Message template with variables 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]"
                        }'
                    
                
                    
                        import requests

                        url = "https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000"

                        payload = {
                            "name": "Updated Integrator Workflow",
                            "description": "Updated workflow description V2",
                            "workflow_type": "ROBOCALL",
                            "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                        }
                        headers = {
                            "Authorization": "Bearer YOUR_ACCESS_TOKEN"
                        }

                        response = requests.request("PUT", url, headers=headers, json=payload)

                        print(response.json)
                    
                
                    
                        const requestOptions = {
                            method: "PUT",
                            headers: {
                                'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
                            },
                            body: JSON.stringify({
                                "name": "Updated Integrator Workflow",
                                "description": "Updated workflow description V2",
                                "workflow_type": "ROBOCALL",
                                "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                            })
                        };
                            
                        fetch("https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000", requestOptions)
                        .then((response) => response.text())
                        .then((result) => console.log(result))
                        .catch((error) => console.error(error));
                    
                
                    
                        {
                            "status": "Ok",
                            "message": "workflow updated successfully",
                            "data": {
                                "id": "123e4567-e89b-12d3-a456-426614174000",
                                "name": "Updated Integrator Workflow",
                                "description": "Updated workflow description V2",
                                "workflow_type": "ROBOCALL",
                                "message": "Hello [name], your appointment is scheduled for [date] at [time]"
                            }
                        }
                    
                

Delete Workflow

DELETE https://voicebot.intron.health/voicebot/v1/workflows/
:workflow_id

Delete an existing workflow.

Path Variables

Field Type Description Required Default Options
workflow_id String The unique identifier of the workflow to delete yes

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'
                    
                
                    
                        import requests

                        url = "https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000"
                        headers = {
                            "Authorization": "Bearer YOUR_ACCESS_TOKEN"
                        }

                        response = requests.request("DELETE", url, headers=headers)

                        print(response.json)
                    
                
                    
                        const requestOptions = {
                            method: "DELETE",
                            headers: {
                                'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
                            }
                        };
                            
                        fetch("https://voicebot.intron.health/voicebot/v1/workflows/123e4567-e89b-12d3-a456-426614174000", requestOptions)
                        .then((response) => response.text())
                        .then((result) => console.log(result))
                        .catch((error) => console.error(error));
                    
                
                    
                        {
                            "status": "Ok",
                            "message": "workflow deleted successfully",
                            "data": {}
                        }
                    
                

Workflow Message Requirements

  • The message length after replacing variables must not exceed 1000 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