Omnichannel Variables

Prev Next

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.