Supported Request Variables

API Dialplan enables seamless communication between Smartflo and your application through secure HTTPS requests. Whenever an incoming call reaches a DID associated with an API Dialplan, Smartflo sends an HTTPS request containing the call details to your configured endpoint. Your application processes this request, executes the required business logic, and returns routing instructions that determine how the call should be handled.

This approach allows businesses to integrate their existing applications with minimal changes while leveraging Smartflo's dynamic call routing capabilities.

For example, whenever an incoming call is received, Smartflo invokes your configured HTTPS endpoint and sends the call details required for your application to make a routing decision. The request can be sent using either GET or POST, depending on the configuration selected while creating the API Dialplan.

For POST requests, the configured variables are sent in the request body.
For GET requests, the configured variables are sent as query parameters.

The request payload is fully configurable from the Configurations tab, allowing you to include only the parameters required by your application.

Sample Request (POST)

{
  "uuid": "f8aXXX9f",
  "call_id": "1736XXXXXXXX1",
  "caller_id_number": "9876XXXX10",
  "call_to_number": "080XXXXX901",
  "billing_circle": "Delhi",
  "start_stamp": "2026-08-06T11:05:30Z",
  "broadcast_campaign_details": {
    "broadcast_campaign_name": "KaXXXXXign",
    "broadcast_campaign_id": "1XXXX2"  }
}

Request Variables

FieldDescription
uuidUnique identifier for the call
call_idSmartflo Call ID
caller_id_numberCustomer's mobile number
call_to_numberDID number
billing_circleTelecom circle
start_stampCall initiation timestamp
broadcast_campaign_detailsBroadcast campaign through which the API Dialplan was triggered.

Custom Parameters Support

API Dialplan allows you to pass up to three custom parameters along with the transfer object. These parameters enable you to carry additional business-specific information throughout the call lifecycle without affecting the routing logic.

The values provided in these parameters are automatically propagated to the corresponding Smartflo Webhook events, allowing your application to correlate call events with your internal systems such as CRM, ERP, Order Management, or Ticketing platforms.

Note: A maximum of three custom parameters (custom_parameter_1, custom_parameter_2, and custom_parameter_3) can be passed in a single transfer response.

Sample Transfer Response

The following example transfers the call to a mobile number while passing three custom parameters.

[
  {
    "transfer": {
      "type": "number",
      "data": ["981XXXXXXX"],
      "ring_type": "order_by",
      "skip_active": true,
      "custom_parameter_1": "value1",
      "custom_parameter_2": "value2",
      "custom_parameter_3": "value3"
    }
  }
]

Example Use Case

Consider an e-commerce company using API Dialplan for intelligent call routing. When a customer calls support, the customer's application determines the appropriate destination and returns the following response:

{
  "transfer": {
    "type": "agent",
    "data": ["05000001"],
    "custom_parameter_1": "ORD123456",
    "custom_parameter_2": "Premium",
    "custom_parameter_3": "Delhi"
  }
}

When Smartflo sends the call webhook, it includes these values:

  • custom_parameter_1ORD123456 (Order ID)
  • custom_parameter_2Premium (Customer Segment)
  • custom_parameter_3Delhi (Customer Region)

Your application can use these values to correlate webhook events with the original customer request, update CRM records, trigger workflows, or generate reports without making additional database lookups.