Execute an Omni-Channel Flow

Executes the Omni-Channel flow to route voice calls. It passes the call ID (Salesforce VoiceCallId or telephony vendor ContactId) as parameters to the flow and returns the rep or queue routing instructions to the contact flow. By default, Salesforce Voice uses the Omni-Channel flow (or fallback queue) specified for the phone channel that matches the dialed number. If the dialed number doesn’t match an existing phone channel, you can optionally set a new dialed number, Omni-Channel flow, and fallback queue as input parameters to this API call.

URI

https://{MyDomain}.my.salesforce-scrt.com/telephony/v1/voiceCalls/{CALL ID}/omniFlow

Where {MyDomain} is a value configured as part of Salesforce Voice setup and {CALL ID} is the Salesforce voiceCallId or the telephony vendor’s contact ID.

HTTP Method

PATCH

Headers

Authorization: Bearer <token>

String. Standard header. The authorization token, where <token> is the JSON Web Token (JWT). Required.

Content-Type: <format>
String. Standard header. The format of the request body. Valid formats include JSON and XML. For example, application/json or application/xml. Required.
Telephony-Provider-Name: <telephony provider name>
String. Custom header. The name of the telephony provider that calls this API. For example, Amazon Connect.

Parameters

Property Name Type Description Required
dialedNumber string Set a new dialed number to account for a dialed number that doesn’t have a phone channel set up. Dialed number is the phone number called. Yes
flowDevName string Set the Omni-Channel flow using its developer name. No
fallbackQueue string Set the fallback queue using its Salesforce queue developer name or ID. No
flowInputParameters string Set additional inputs to the Omni-Channel flow. No

Salesforce Voice uses this order of precedence to route voice calls.

  1. Uses the Omni-Channel Flow and Fallback Queue settings for the phone channel that matches the dialed number. The flow takes precedence. If the flow fails, the fallback queue is used.
  2. Uses the flowDevName and fallbackQueue parameters specified in the Execute Omniflow API call.

Important

Example

Request:
1PATCH /telephony/v1/voiceCalls/0LQRM0000006CSz/omniFlow
2{
3    "dialedNumber": "+18445791189"
4    "flowDevName": "Route_VoiceCall",
5    "fallbackQueue": "00G111222333444",
6    "flowInputParameters": {
7        "Input1": "one",
8        "Input2": "two"
9    }
10}
Response without errors:
1{
2  "agent": "[AGENT_INFO]",
3  "queue": "[QUEUE_INFO]"}

AGENT_INFO and QUEUE_INFO correspond to the ExternalId field in the CallCenterRoutingMap

Note

Response with errors:
1{
2  "errors": ["error1", "error2"]
3}

When Unified Routing with Skill-Based Routing is used, the ExecuteOmniFlow API doesn’t return the assigned Agent ID or Queue ID in the response. The agent or queue assignment happens after the API call is complete, based on agent skills or availability.

Note