Omnichannel Variables
    • 11 Jul 2024
    • 3 Minutes to read
    • Dark
      Light
    • PDF

    Omnichannel Variables

    • Dark
      Light
    • PDF

    Article summary

    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 the 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 they 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 abandon, inactivity timeout, agent-close, or bot-close event happens.
    • 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. 

    IVR 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 (apple, email, voice, whatsapp, etc) linked to the customer’s avatar.
    • customer.businessid.email: Email address as per customer’s business identity (apple, email, voice, whatsapp, etc) that is linked to the customer’s avatar.
    • customer.businessid.phone: Phone number as per customer’s business identity (apple, 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 customer’s call recording consent
      • This will be sent to Dialpad in a call transfer scenario for further action.
      • Allowed values true | false.
    • customer.session.voice.targetid: Dialpad target ID that receives or initiates the IVR call.
    • customer.session.voice.targettype: Dialpad target type (callcenter, department) that receives/initiates the IVR call.

    Note
    Though each customer ID can have multiple business identities, the workflow variables will have the values (name, email, phone, etc) corresponding to the channel (apple, 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 route node, then that is used as the first priority.
      • if {{agent.contactcenter}} is not specified, it uses incoming channel’s Contact Center, if specified.
      • As a last resort (for backward compatibility) it uses the default Contact Center.
    • agent.skill variable
      • Text skill value when searching for an agent to route to.

    Was this article helpful?