Using variables

You can easily customize your responses or templates with dynamic content like your recipient's name by using our variables templating engine.

A response like this:

Hi {{ recipient.first_name | default: 'there' }},

… if it matches a recipient.first_name would render something like this

Hi Philippe,

… and if it didn't match anything something like this:

Hi there,

Getting started

Adding variables

Adding a variable to a response is as easy as clicking the {{ icon in the response composer:

Add a variable helper

A new modal will open where you can easily create your variable without knowing the exact syntax.

Add a variable helper

You can also create a response with dynamic content that entirely change depending if a variable is present or not.

It would look like this:

... if there's no recipient first name, it will render like this:

Hello,

... and if there's a recipient's first name, it will render like this:

Hi Philippe,

Build forms

When adding a variable, you don't have to use one that matches a data point provided by Missive (recipient, user). You can create a variable linked to no data, like in this screenshot:

Add a variable with no related data

When inserted in a draft, a form will ask the Missive user what should the value be:

Instead of using text placeholders (that you might forget to replace), this technique lets you create forms your team always has to fill in when inserting a response.

Liquid.js

Our templating engine is based on liquid.js and supports all of its tags and filters. Make sure to read the documentation if you want to go deeper and create complex logic.

Objects

recipient object

The recipient data is matched by first looking into the user contacts for matches based on the message recipient address, then on the message data itself.

Labels

Contact labels can be used to scope the search. For instance {{ recipient.work.phone_number }} would search only in phone numbers with the label work.

Object key
Description
Example

recipient.handle

Handle of the recipient(s). This depends on the message type, can be an email address, a phone number, etc.

frodo@missiveapp.com +1 (155) 555-555 @frodo

recipient.name

First and last name(s) of your recipient(s).

Philippe Lehoux

recipient.first_name

First name(s) of your recipient(s).

Philippe

recipient.middle_name

Middle name(s) of your recipient(s).

L.

recipient.last_name

Last name(s) of your recipient(s).

Lehoux

recipient.email

Email address(es) of your recipient(s).

frodo@missiveapp.com

recipient.phone_number

Phone number of your recipient(s).

+1 (155) 555-555

recipient.url

URL(s) associated with your recipient(s).

https://missiveapp.com/

recipient.physical_address

Physical address(es) associated with your recipient(s).

123 Missive Street Quebec, QC, G1K 3B4 Canada

recipient.twitter

Twitter username(s) associated with your recipient(s).

@frodo

recipient.facebook

Facebook username(s) associated with your recipient(s).

Philippe Lehoux

recipient.nickname

Nickname of your recipient(s).

Chewbacca

recipient.prefix

Prefix(es) of your recipient(s).

Mr.

recipient.suffix

Suffix(es) of your recipient(s).

PhD

recipient.gender

Gender(s) of your recipient(s).

Male

recipient.file_as

File as value of your recipient(s).

ACME

recipient.phonetic_first_name

Phonetic first name(s) of your recipient(s).

recipient.phonetic_last_name

Phonetic last name(s) of your recipient(s).

recipient.phonetic_middle_name

Phonetic middle name(s) of your recipient(s).

recipient.custom.order_amount

Access your recipient(s) custom contact data. Both variations Order Amount and order_amount would be accessible using the same key: recipient.custom.order_amount

$99

user object

The user object data is matched with the logged-in Missive user (you).

Object key
Description
Example

user.first_name

First name of the user

Philippe

user.last_name

Last name of the user

Lehoux

user.name

Name of the user

Philippe Lehoux

user.email

Email address of the user

frodo@missiveapp.com

user.avatar_url

URL of the user avatar

https://...

user.status

Status of the user

Working from home

user.status_emoji

Status emoji of the user

🏠

conversation object

The conversation object data is matched with the current conversation.

Object key
Description
Example

conversation.id

The ID of the conversation

d85eed67-5ac2-477b-aa27-521f01eb9783

message object

The message object data is matched with the current draft.

Object key
Description
Example

message.id

The ID of the message

d85eed67-5ac2-477b-aa27-521f01eb9783

message.from_handle

Handle of the sender. This depends on the message type, can be an email address, a phone number, etc.

frodo@missiveapp.com +1 (155) 555-555 @frodo

message.from_email

Email address of the sender

info@missiveapp.com

message.from_name

Name of the sender

Philippe Lehoux

message.from_first_name

First name of the sender

Philippe

message.from_last_name

Last name of the sender

Lehoux

Last updated