# Dynamic Variables

Emails can be customized all the way to the level of editing the HTML, as you can read in our [email customization article](https://24sessions.zendesk.com/hc/en-us/articles/4404422486289). But to make sure that the right custom data is still added to the email, you can use dynamic variables which will be explained in this article.

This article covers:

* [Using dynamic variables](#h_01FR2QBZGXBKFSV24BKWDPQBN4)
* All the available dynamic variables
  * [General variables](#h_ed7b4cd413)
  * [User variables](#16-dynamic-variables)
  * [Guest variables](#h_4a0797b66c)
  * [Date variables](#h_062d3022da)
  * [Other useful variables](#h_3e5dcd5e75)
* [Things to keep in mind](#h_01FR2QD72MSD7WS6R3XMQC3FRF)

#### **Using dynamic variables** <a href="#h_01fr2qbzgxbkfsv24bkwdpqbn4" id="h_01fr2qbzgxbkfsv24bkwdpqbn4"></a>

Variables populate customised data into email notifications sent by 24sessions. They allow you to create personalised notifications with information for both users and guests about the meetings.

Here is how a dynamic variable looks like inside an email notification template:

```
Hi {{meeting.guest.name}}
```

Note: the variable is case sensitive hence the double curly braces {{ }}

\
Dynamic variables contain information about the meeting and its participants. 24sessions provides you with several dynamic variables to choose from.&#x20;

&#x20;

#### General variables <a href="#h_ed7b4cd413" id="h_ed7b4cd413"></a>

* **company.name -** your company name
* **meeting.id -** id of the meeting
* **meeting.status -** status of the meeting (scheduled, completed, missed or cancelled)
* **meeting.type.name -** name of the meeting
* **meeting.type.duration -** duration of the meeting
* **general.hostname -** the URL of the meeting. Please note, when using a custom domain use the domain instead of this variable
* **wrapup |nl2br -** the post-meeting note left by the user to the guest
* **meeting.description** - All other information from the invitee questions and/or personal message when scheduling a meeting as a user

*Pro tip: use*

*if you don't want to send out the meeting description if the Guest scheduled the meeting*

&#x20;

#### User variables <a href="#id-16-dynamic-variables" id="id-16-dynamic-variables"></a>

We define users as the hosts of a meeting. Below you will find a description for each user specific variables.

* **meeting.user.name -** name of the user
* **meeting.user.email -** email of the user
* **meeting.user.phone** - phone number of the user
* **meeting.user.jobTitle** - job title of the user
* **meeting.user.locationName** - address location name of the user
* **meeting.user.city** - location city of the user
* **meeting.user.state** - location state of the user
* **meeting.user.postcode** - location postcode of the user
* **meeting.user.country** - location country of the user

&#x20;

#### Guest variables <a href="#h_4a0797b66c" id="h_4a0797b66c"></a>

The guest variables contain information about your guests. Below you will find a description of each guest variable:

* **meeting.guest.name -** name of the meeting guest
* **meeting.guest.email -** email of the meeting guest
* **meeting.guest.phone -** phone number of the guest
* **meeting.guest.accessKey -** access code for guest to enter the meeting room

  &#x20;

#### Date variables <a href="#h_062d3022da" id="h_062d3022da"></a>

We offer one date variable that can be used formatted to match your needs.

* **meeting.date -** date of the meeting

Adding a date object will automatically adjust the timezone. The format of the date can be changed by modifying the date object. Some examples:

* `{{ meeting.date | date('D d F') }}` will display *Fri 01 January*
* `{{ meeting.date | date('D d F Y') }}` will display *Fri 01 January 2021*
* `{{ meeting.date | date('Y-m-d H:i T') }}` will display *2021-01-01 23:59 CET*
* `{{ meeting.date | date('D d F') }}` at `{{ meeting.date | date('H:i') }}` will display *Fri 01 January at 23:59*

By default, all months and weekdays are displayed in English. Change the language by adding a replace object to the placeholder

* `{{ meeting.date | date('D d F') | replace({'January' : 'januari', 'February': 'februari', 'March': 'maart', 'April': 'april', 'May': 'mei', 'June' : 'juni', 'July': 'juli', 'August': 'augustus', 'September': 'september', 'October': 'oktober', 'November': 'november', 'December': 'december', 'Mon': 'maandag', 'Tue': 'dinsdag', 'Wed': 'woensdag', 'Thu': 'donderdag', 'Fri': 'vrijdag', 'Sat': 'zaterdag', 'Sun': 'zondag'}) }}` om `{{ meeting.date | date('H:i') }}` uur will display *vrijdag 01 januari om 23:59 uur*

Click [here](http://php.net/manual/en/function.date.php) to read more about date and time format.

&#x20;

#### Rescheduling <a href="#h_3e5dcd5e75" id="h_3e5dcd5e75"></a>

When a meeting is rescheduled use the following reason variable:

* **meeting.reschedulingReason -** reason why a meeting is rescheduled

&#x20;

#### Cancelling <a href="#h_2656db6152" id="h_2656db6152"></a>

When a meeting is cancelled, use the following reason variable:

* **reason -** reason why a meeting is cancelled

&#x20;

#### Important to remember <a href="#h_01fr2qd72msd7ws6r3xmqc3frf" id="h_01fr2qd72msd7ws6r3xmqc3frf"></a>

* Variables are case sensitive.
* To include variables in the template always use {{ double curly braces }}.
* Variables contain no fallback value which means that if a variable does not return anything it will be ignored.&#x20;
* Wrong variables will raise an error when editing the notification template.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/24sessions/emails-notifications/dynamic-variables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
