Links

Dynamic Variables

Personalise your message with dynamic variables
Dynamic variables can be used to personalize outgoing messages. Addressing Contacts personally in Conversations can be a key component of relationship building by making them feel seen and included.
There are three types of dynamic variables on the platform:
Standard Contact Variables represent standard contact fields such as first name, last name and email.
Custom Contact Field Variables represent customized fields added to the space.
Workflow Variables are temporary variables that exist only during a Workflow session. Once the Contact exits the Workflow, the value of the variable will be erased. There are 3 types of Workflow Variables: Trigger Variables, Output Variables, and variables created through Ask a Question step.

Dynamic Variables: Examples

Dynamic variables can be included by adding the "$" prefix to the contact field. The following are its syntax:
$contact, $assignee or $system
The platform supports the interpolation of static text + dynamic variables.

Standard Contact Variables

Variable
Description
$contact.name
Is replaced by the full name of the contact (First Name + Last Name).
$contact.firstname
Is replaced by the first name of the contact.
$contact.lastname
Is replaced by the last name of the contact.
$contact.email
Is replaced by the email of the Contact.
$contact.country
Is replaced by the Contact's country. If the Contact has no country stored, it will not be replaced and the actual string will be sent.
$contact.id
Is replaced by the contact ID of the Contact.

Custom Contact Field Variables

Variable
Description
$contact.field_name
Is replaced by the value in the custom field. For example, if the Custom Field "City" exists and one contact has the value "New York", sending $contact.city will be replaced by New York.

System Variables

Variable
Description
$system.current_datetime
Is replaced by the current date and time in the Workspace’s timezone. Format: YYYY-MM-DD hh:mm:ss (e.g. 2021-01-10 09:15:27)
$system.current_date
Is replaced by the current date in the workspace’s timezone. Format: YYYY-MM-DD (e.g. 2021-01-10)
$system.current_time
Is replaced by the current time in the workspace’s timezone. Format: hh:mm:ss (e.g. 09:15:27)

Assignee Variables

Name
Description
$assignee.id
Is replaced by the user ID of the assignee for a Contact.
$assignee.name
Is replaced by the full name of the assignee for a Contact (First Name + Last Name).
$assignee.email
Is replaced by the email of the assignee for a Contact.
$assignee.firstname
Is replaced by the first name of the assignee for a contact.
$assignee.lastname
Is replaced by the last name of the assignee for a contact.
$assignee.team
Is replaced by the name of the assignee’s team

Workflow - Trigger Variables

Trigger variables are variables that are tied to a Workflow trigger. They are only available when the specific trigger is used for the Workflow.

Trigger Variables for Conversation Opened Trigger

Variable
Description
$conversation.first_incoming_message
The first incoming message of the conversation after the conversation is opened
$conversation.first_incoming_message_channel_id
The channel ID of the first incoming message of the conversation after the conversation is opened

Trigger Variables for Conversation Closed Trigger

Variable
Description
$conversation.opened_time
Is replaced by the time when the Conversation opened. Format: YYYY-MM-DD hh:mm:ss
(e.g. 2021-01-10 09:15:27)
$conversation.opened_by_source
Is replaced by the source of how the Conversation was opened
$conversation.closed_time
Is replaced by the time when the Conversation closed. Format: YYYY-MM-DD hh:mm:ss
(e.g. 2021-01-10 09:15:27)
$conversation.closed_by
Is replaced by the user ID of the user who closes the conversation. *If the conversation is closed by bot, workflow or API, this field will be empty.
$conversation.closed_by_source
Is replaced by the source of how the conversation was closed
$conversation.first_response_time
Is replaced by the first response time provided by the assignee to the Contact Format: hh:mm:ss (e.g. 08:18:58)
$conversation.resolution_time
Is replaced by the resolution time of the conversation Format: hh:mm:ss (e.g. 00:19:08)
$conversation.incoming_messages_ count
Is replaced by the number of incoming messages that were received from the conversation
$conversation.outgoing_messages_count
Is replaced by the number of outgoing messages that were sent to the conversation
$conversation.category
Is replaced by the conversation category of the conversation's closing note
$conversation.summary
Is replaced by the conversation summary of the conversation's closing note
$conversation.assignee
Is replaced by the user ID of the assignee for that Conversation.
$conversation.assignee_team
Is replaced by the name of the team of the assignee
$conversation.last_assignment_time
Is replaced by the time of the last user assigned to the conversation Format: YYYY-MM-DD hh:mm:ss (e.g. 2021-01-10 09:15:27)
In the event that a standard contact field shares the same name as a custom contact field, priority for data retrieval will be given to the standard contact variable. For correct data retrieval, make sure all the variable names are unique.

How to use a dynamic variable?

Messaging Console

You can include a dynamic variable in your message while responding to a contact. There are 2 ways to use dynamic variables:
  1. 1.
    By typing the dollar sign "$"
2. By Clicking on the variable Icon at the bottom of the Messages Module
Besides contact fields, you can also include a custom field by typing the custom field's name.

Snippets

While composing a snippet content, you can include a dynamic variable to personalise your quick replies.
Tips: You can have multiple dynamic variables in a single content. Make use of them while composing your messages
Important: If the field you are trying to send is empty or the field does not exist at all, the string will not be replaced.

Workflows

Besides trigger variables that tied to a specific trigger, there are also other variables that can be created and used in the Workflows.
  1. 1.
    Save responses from the Contact as variables in the Ask a Question step.
2. It is also possible to create output variables by adding Form Field in Shortcut Form. The values of the variables are defined and provided by the User who initiated the Shortcut and filled up the Shortcut form.
then, use the dynamic variables saved in Workflow steps.

Workflow Steps that support dynamic variable

Send Message
Text
Send Message
WhatsApp Template
Send Message
Facebook Tagged Message
Ask a Question
Question Text Field
Branch
Contact Field Condition
Branch
Variable Condition
Update Contact Field
-
Add Comment
-
Close Conversation
Summary
HTTP Request
-
Add Google Sheets Row
-

Dialogflow

You can also include dynamic variables in Dialogflow for the responses and values of parameters. To use dynamic variable in Dialogflow, type $dynamic.variable.
Example of usage of dynamic variables in value of parameter
Example of usage of dynamic variables in responses