Digital Engagement Variables
    • 05 Jun 2023
    • 1 Minute to read
    • Dark
    • PDF

    Digital Engagement Variables

    • Dark
    • PDF
    • New

    Article Summary

    Dialpad's Digital Engagement workflows offer default variables that are populated with values based on user input, analysis, and workflow execution factors. These variables can be referenced using "}" for replacement, comparison, and evaluation. The content lists various system variables, input variables, customer variables, session/workflow-related variables, provider variables, and essentials variables. It explains the purpose and usage of each variable type. Additionally, it mentions that the "route" variable represents the route state of the customer and can be passed on to routing as an attribute if set by an assign node.

    Dialpad's Digital Engagement 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

    Customer Variables

    • customer.firstname
    • - customer Resources and Information.
    • 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.
    • -
      • the 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.
    • response.status (success/failure) for the last server-side API node execution result.

    Provider Variables

    • provider.url Essentials Variables
    • Concierge Essentials – Contact Info Widget
    • {{custname}}
    • {{custemail}}
    • {{custphone}}
    • {{custcompany}}
    • {{custcompanyaddr}}


    • 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.

    Was this article helpful?