company logo

Help center

Go to Hello Hotel
BlogPricingAboutRoadmap
All collectionsAutomationsVariables

Variables

Reference for the variables available in Hello Hotel automations — what each returns, the exact syntax inserted into messages, and how to use the fallback syntax for missing values.

Variables let you drop live guest and reservation data into the messages your automations send. Write a single template, and each guest gets a personalized version when the automation runs.

You can use variables in any SMS, email subject, or email body in the workflow builder. The variable picker — accessible from the message field — inserts the right syntax for you.

How variables work

A variable is a placeholder wrapped in double curly braces. When the automation runs, Hello Hotel replaces the placeholder with the actual value for that guest and reservation.

For example, the template:

Hi {{guest.firstName}}, your room {{reservation.spaceNumber}} is ready.

Becomes, at send time:

Hi Alex, your room 14 is ready.

If a variable has no value (for example, a guest with no first name on file), the placeholder renders as blank by default. Use the fallback syntax to provide a default value instead.

Fallback syntax

Add a pipe (|) followed by your fallback value to handle missing data:

{{guest.firstName|there}}

This renders the first name if available, or "there" if not. You can use any text as a fallback:

  • {{guest.firstName|friend}} → "Alex" or "friend"

  • {{reservation.spaceNumber|your room}} → "14" or "your room"

Available variables

The variable picker in the workflow builder is the source of truth — open any message field and click the picker to see the current list. The tables below mirror the picker, with the exact syntax that gets inserted.

Guest

Name

Inserted as

What it returns

First Name

{{guest.firstName}}

The guest's first name

Last Name

{{guest.lastName}}

The guest's last name

Full Name

{{guest.fullName}}

The guest's first and last name combined

Email

{{guest.email}}

The guest's email address

Phone

{{guest.phoneNumber}}

The guest's phone number

Reservation

Name

Inserted as

What it returns

Check-in Date

{{reservation.checkInDate}}

The check-in date

Check-out Date

{{reservation.checkOutDate}}

The check-out date

Check-in Time

{{reservation.checkInTime}}

The check-in time

Check-out Time

{{reservation.checkOutTime}}

The check-out time

Check-in Date & Time

{{reservation.checkInDateTime}}

The check-in date and time combined

Check-out Date & Time

{{reservation.checkOutDateTime}}

The check-out date and time combined

Space Number

{{reservation.spaceNumber}}

The room or space number

Space Category

{{reservation.spaceCategory}}

The room category (e.g., "Deluxe Suite")

Space Description

{{reservation.spaceDescription}}

A description of the specific space

Space Category Description

{{reservation.spaceCategoryDescription}}

A description of the category (from your PMS)

Space Directions

{{reservation.spaceDirections}}

Directions to the space

Status

{{reservation.status}}

The current reservation status (e.g., "Confirmed")

Door Code

{{reservation.doorCode}}

The guest's door code, from their reservation in your PMS (on Cloudbeds, from the reservation field you choose under Integrations → Cloudbeds → Door codes)

Mews uses the word "space" instead of "room." Anywhere you see "space" in a variable name, it refers to the room the guest is staying in.

Guest Links

Name

Inserted as

What it returns

Guest Check-in URL

{{reservation.guestCheckInUrl}}

A one-tap magic link to the Mews guest portal online check-in flow. Falls back to the Navigator URL if the guest portal isn't activated for your property. See Mews Magic Links. Can’t be generated for a reservation with no email address on it — which is every Airbnb booking. See Mews Magic Links for the workaround. Once the reservation is checked in, the link opens the guest portal without the check-in step.

Guest Check-out URL

{{reservation.guestCheckOutUrl}}

A one-tap magic link to the Mews guest portal check-out flow. Stops working 24 hours after departure. Mews decides which reservations are eligible. See Mews Magic Links.

Digital Key URL

{{reservation.digitalKeyUrl}}

A one-tap magic link to the guest's digital room key. Only available if your property has Digital Key Links enabled in Settings → Integrations → Mews. See Mews Magic Links.

Payment Link

{{reservation.paymentUrl}}

A link the guest can use to pay the reservation's outstanding balance (on Mews, a stay that's already paid gets no link)

Pre-Authorization Link

{{reservation.preAuthUrl}}

A link the guest can use to authorize a hold on their card

Booking Channel

{{reservation.bookingSource}}

The channel the guest booked through (e.g., Direct, Airbnb, VRBO)

Cloudbeds properties: the picker offers the reservation basics, Booking Channel, and Payment Link (a Cloudbeds pay-by-link for the outstanding balance, created when the message is sent and valid for 30 days). Guest Check-in URL appears once Guest Experience check-in links is switched on in your Cloudbeds settings. Check-out, Digital Key, and Pre-Authorization links aren't offered — Cloudbeds has no equivalent. See Connecting Cloudbeds.

Custom

Your organization's own custom fields appear in a Custom group, as variables like {{custom.room8Access}}. An automation uses the value as it stood when the run started. See Custom Fields.

Organization

Name

Inserted as

What it returns

Review Link

{{organization.reviewUrl}}

Your property's review page, wrapped in a branded short link. Set the URL once under Organization Settings; it applies wherever you use the variable. Pairs well with a post-stay Guest question.

Tips

  • Use the picker. The variable picker in the workflow builder inserts the correct syntax with one click. No typing or memorizing names required.

  • Always use a fallback for guest names. {{guest.firstName|there}} is friendlier than a missing name. The fallback is invisible to the guest if the data is there.

  • Combine variables for richer messages. Hi {{guest.firstName|there}}, your room is {{reservation.spaceNumber}} and your check-out is at {{reservation.checkOutDateTime}}. reads naturally even when one or two fields are missing.

  • Send Test before activating. The Send Test button on any action runs the message with sample data so you can confirm every variable renders correctly.

Did this answer your question?
😞
😐
😁