V1
.follow_up_time
, call_outcome
, etc.string
, boolean
, integer
, float
, date
, time
.Currently the LLM used for Variable extraction is gpt-4o , keeping this in mind while writing the variable prompt will give better results
POST
, GET
, etc.{{phone_number}}
, {{email_id}}
api_body
are auto-filled with actual valuestranscript
interaction_modality
token
in the Authorization header. The outlet_id
is decoded from this token to identify the correct account.POST /v2/post_call/data/variables
Name | Type | Required | Description |
---|---|---|---|
token | string | Yes | JWT token used to authenticate and extract the outlet_id . |
[
{
"var_name": "customer_name",
"var_type": "string",
"description": "name of the customer as inferred from the conversation",
"variable_id": null,
"destination_ids": [
32657790,
81891481,
22529718
]
},
{
"var_name": "customer_phone_no.",
"var_type": "string",
"description": "phone No. of the customer as inferred from the conversation",
"variable_id": 25589883,
"destination_ids": [
90824215
]
}
]
{
"message": "success",
"payload": [
{
"var_name": "string",
"var_type": "email",
"description": "string",
"variable_id": 0,
"destination_ids": [
0
]
}
]
}
GET /v2/post_call/data/variables
payload
array, where each object represents a configured variable.{
"message": "success",
"payload": [
{
"var_name": "name",
"var_type": "string",
"description": "Name of the customer",
"variable_id": 54,
"destination_ids": [
4,
5
]
},
{
"var_name": "email_id",
"var_type": "string",
"description": "Email of the user",
"variable_id": 55,
"destination_ids": [
4,
5
]
},
{
"var_name": "phone_number",
"var_type": "string",
"description": "phone number of the user",
"variable_id": 56,
"destination_ids": [
4,
4,
5
]
},
{
"var_name": "enquiry_type",
"var_type": "string",
"description": "enquiry asked by the user",
"variable_id": 57,
"destination_ids": [
4,
5
]
},
{
"var_name": "occasion",
"var_type": "string",
"description": "occasion mentioned by the user",
"variable_id": 58,
"destination_ids": [
4,
5
]
},
{
"var_name": "call_summary",
"var_type": "string",
"description": "Summary of the entire conversation with the user , described in around 30-40 words",
"variable_id": 60,
"destination_ids": [
4,
5
]
}
]
}
Field | Type | Description |
---|---|---|
var_name | string | Unique name of the variable. |
var_type | string | Data type of the variable. |
description | string | Purpose and usage of the variable. |
variable_id | integer | Unique ID for the variable. |
destination_ids | array[integer] | List of destination IDs this variable is mapped to. |
application/json
Field | Type | Required | Description |
---|---|---|---|
variable_id | integer | Yes | ID of the variable to connect. Must already exist for the outlet. |
destination_id | integer | Yes | ID of the destination where the variable value should be sent. |
[
{
"variable_id": 12,
"destination_id": 4
}
]
{
"success": false,
"message": "Variable with ID not found"
}
DELETE /v2/post_call/data/outlet/{outlet_id}/variables
Name | Type | Required | Description | Example |
---|---|---|---|---|
variable_id | integer | Yes | The ID of the variable you want to delete. | 14 |
{
"variable_id": 14
}
{
"success": true,
"message": "Variable deleted successfully"
}
POST /v2/post_call/data/destinations
Name | Type | Required | Description |
---|---|---|---|
token | string | Yes | JWT token used to authenticate and extract the outlet_id . |
[
{
"destination_name": "Webhook Destination",
"destination_type": "custom",
"api_url": "https://api.example.com/webhook",
"api_method": "POST",
"api_headers": "{\"Content-Type\": \"application/json\", \"Authorization\": \"Bearer token123\"}",
"api_body": "{\"customer_name\": \"{{customer_name}}\", \"order_id\": \"{{order_id}}\"}"
}
]
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6OTcsInR5cGUiOiJPVVRMRVQifQ.q80hmm1uQlIVKLpfMLV10bleJPOFO48tgCN5zOVvxv4
{
"destination": [
{
"destination_name": "CRM Webhook",
"destination_type": "webhook",
"api_url": "https://crm.example.com/webhook",
"api_method": "POST",
"api_headers": {
"Authorization": "Bearer abcdef123456",
"Content-Type": "application/json"
},
"api_body": {
"lead_name": "John Doe",
"contact_email": "johndoe@example.com",
"phone_number": "+919876543210",
"call_summary": "Customer interested in product demo",
"location": "Bengaluru"
}
},
{
"destination_name": "Salesforce CRM",
"destination_type": "crm",
"api_url": "https://salesforce.example.com/api/leads",
"api_method": "PUT",
"api_headers": {
"Authorization": "Bearer sf_token_987654",
"Content-Type": "application/json",
"X-Custom-Header": "custom-value"
},
"api_body": {
"full_name": "Jane Smith",
"email": "janesmith@example.com",
"phone": "+918765432109",
"lead_score": "85",
"source": "Inbound call"
}
}
]
}
{
"success": true,
"message": "Destinations fetched successfully",
"payload": [
{
"destination_name": "CRM Webhook",
"destination_type": "webhook",
"destination_id": 4,
"api_url": "https://crm.example.com/api/lead",
"api_method": "POST",
"api_headers": {
"Authorization": "Bearer ABC123",
"Content-Type": "application/json"
},
"api_body": {
"lead_name": "{{guest_name}}",
"email": "{{email_id}}"
}
}
]
}
{
"success": false,
"message": "Outlet with ID not found"
}
Key | Type | Required | Description |
---|---|---|---|
token | string | Yes | JWT token used to authenticate the client. The outlet_id is extracted from the token. |
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6OTcsInR5cGUiOiJPVVRMRVQifQ.q80hmm1uQlIVKLpfMLV10bleJPOFO48tgCN5zOVvxv4
application/json
{
"destination": [
{
"destination_name": "CRM Webhook",
"destination_type": "webhook",
"api_url": "https://crm.example.com/webhook",
"api_method": "POST",
"api_headers": {
"Authorization": "Bearer ABC123",
"Content-Type": "application/json"
},
"api_body": {
"lead_name": "{{guest_name}}",
"contact_email": "{{email_id}}"
}
}
]
}
{
"success": true,
"message": "Destinations created successfully"
}
Key | Type | Required | Description |
---|---|---|---|
token | string | Yes | JWT token used to authenticate the API client and extract the outlet_id . |
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6OTcsInR5cGUiOiJPVVRMRVQifQ.q80hmm1uQlIVKLpfMLV10bleJPOFO48tgCN5zOVvxv4
Parameter | Type | Required | Description |
---|---|---|---|
destination_id | integer | Yes | The unique ID of the destination to be deleted. |
{
destination_id=5
}
{
"success": true,
"message": "Destination deleted successfully"
}
api_body
is defined, dynamic placeholders like {{guest_name}}
or {{email_id}}
are replaced with actual values during runtime.{{guest_name}}
, {{email_id}}
, etc.{
"name": "{{guest_name}}",
"email": "{{email_id}}",
"phone": "{{phone_number}}"
}
Field | Description |
---|---|
guest_name | Name of the user interacting with the system |
email_id | Email address of the user (if collected) |
phone_number | Phone number of the user |
brand_id | Identifier of the brand linked to the conversation |
outlet_id | ID of the outlet or location |
timestamp | When the call/conversation ended (ISO format) |
call_id | Unique ID for the call/session |
call_outcome | Outcome of the call (e.g., interested, not_interested) |
source | Source of the lead (e.g., website, IVR, Facebook) |