Dialpad's Omnichannel workflows provide you with many default variables to set you up for success.
These variables are populated with values, if present, and if no value exists for a variable, then the value is the empty string ““.
Variables contain values based on the state of:
Digital Engagement runtime system
User input
Analysis
Workflow execution factors
These variables are referenced using {{variable}} to perform replacement, comparison, and evaluation.
Let's dive into the details.
System variables
{{input}} – the most recent result of input from the user.
{{customer}} – information about the logged-in customer account.
{{provider}} – information about the provider/company.
Input variables
input.x
workflow.trigger.x
Modifiers to the above variables may be the following:
intent1, intent2, intent3 (E.g. input.intent1, input.intent2, input.intent3 and workflow.trigger.intent1, workflow.trigger.intent2, workflow.trigger.intent3)
score1, score2, score3
sentiment
lang
topmatches
Note
Intent1-3 and score1-3 are extracted from topmatches.
Entities are handled in the following way.
x can be DATE1, DATE2, …, ORG1, ORG2,…, MONEY1…, ID1…, TIME1…, GPE1…, NUMERIC1…, EMAIL1…, PERSON1… depending on the entities detected in input or workflow.trigger
Example variables are {{input.DATE1}} {{input.MONEY1}}, {{input.MONEY2}} {{input.intent1}} {{input.score1}}
input.channelinfo
input.type
input.data.media
input.data.filetype
input.data.filename
input.data.fileurl
input.data.filecaption
input.data.filesize
Customer variables
customer.email
customer.firstname
customer.name - customer
customer.phone
customer.businessid.email
customer.businessid.name
customer.businessid.phone
customer.businessid.lastseen
customer.queued
Values: true | false
Variable is set to true when the customer has been queued through a route node and is awaiting an agent resource. The queue state is bot-specific. If the customer navigates to a different bot, then their queue state does not follow. Suggested handling is to check this variable before sending to route node in order to provide comfort message to the user indicating they are already queued and will be routed when an agent becomes available.
Session/workflow variables
bot.name
Name of the digital workflow experience.
escalate.to.name
Name of the agent to which the customer was last escalated to.
escalate.sessionclose.cause
the cause for the close of the last agent session that the customer was escalated to.
customer.session.*
Any variable that starts with customer.session. (E.g. customer.session.mood) can be set in a workflow by an assign statement, and this variable will be available across workflows for the duration of the customer session (until a device abandonment, inactivity timeout, agent close, or bot close event occurs).
workflow.name
response.status (success/failure) for the last server-side API node execution result.
Provider variables
provider.name
provider.phone
provider.channel.type
provider.channel.vendor
provider.channel.id
provider.url Essentials Variables
Concierge Essentials – Contact Info Widget
{{custname}}
{{custemail}}
{{custphone}}
{{custcompany}}
{{custcompanyaddr}}
Email channel variables
threadID: The ID of the email thread.
messageID: ID of the customer's last email.
subject: Subject of the email.
snippet: Short snippet of the email.
labels: Comma-separated labels attached to the email.
toEmailAddr: Comma-separated email addresses from the To field of the customer's last email.
ccEmailAddr: Comma-separated email addresses from the CC field of the customer's last email.
Voice workflow variables
customer.id: The unique ID that identifies the customer (avatar) on the platform.
customer.name: Name associated with the customer’s avatar.
Usually ‘Guest User'
customer.email: Email address associated with the customer’s avatar.
Usually ‘guest-XXXXXX’
customer.phone: Phone number associated with the customer’s avatar.
Usually empty.
customer.session.lang: Customer's language detected based on text input.
customer.businessid.name: Name as per the customer’s business identity (email, voice, WhatsApp, etc) linked to the customer’s avatar.
customer.businessid.email: Email address as per customer’s business identity (email, voice, WhatsApp, etc) that is linked to the customer’s avatar.
customer.businessid.phone: Phone number as per customer’s business identity (email, voice, WhatsApp, etc) that is linked to the customer’s avatar.
customer.session.voice.callid: Dialpad call ID.
customer.session.voice.calldirection: Call direction
Inbound or outbound.
customer.session.voice.calluuid: The UUID of the call.
customer.session.voice.companyid: Dialpad company ID.
customer.session.voice.mastercallid: Master call ID of the current call ID.
customer.session.voice.originalto: Phone number of the original target that transferred the call to IVR.
customer.session.voice.recordingoff: Variable to store the customer’s call recording and transcription consent
This will be sent to Dialpad in a call transfer scenario for further action. The operator will not be able to manually enable call recording and transcription.
Allowed value: true. This sets recording and transcription off and can’t be turned on.
Note
Refer to this Help Center article to see how this variable can be used in a workflow.
customer.session.voice.targetid: Dialpad target ID that receives or initiates the IVR call.
customer.session.voice.targettype: Dialpad target type (Contact Center, Department) that receives/initiates the IVR call.
normalizedinput: The processed speech results where words might be changed to numbers, dates, times, and other normalization functions.
Note
Although each customer ID can have multiple business identities, the workflow variables will contain values (such as name, email, phone, etc.) corresponding to the channel (email, voice, WhatsApp, etc.) on which the message was received.
Routing
route
The value of the route state of the customer. Valid values are ( success, queued, unavailable, closed, cancel).
routingattribute.*
Any workflow variable of this form (E.g. routingattribute.timestamp) that is set to a value by, say, an assign node will be passed on to routing as an attribute.
agent.contactcenter variable
if {{agent.contactcenter}} is specified before the route node, then that is used as the first priority.
if {{agent.contactcenter}} is not specified, it uses the incoming channel’s Contact Center, if specified.
As a last resort (for backward compatibility), it uses the default Contact Center.
agent.firstname
This variable is used in the “Announce Agent to Customer” section of the legacy configuration page.
agent.name variable
This variable is used in the “Announce Agent to Customer” section of the legacy configuration page.
agent.skill variable
Text skill value when searching for an agent to route to.