Shortcodes (dynamic placeholders)

The placeholders that get replaced automatically in your messages: guest name, dates, property, access codes and many more.

A shortcode is a placeholder of the form {{shortcode_name}} that you drop into a message or a template. ZenHost replaces it on send with the real value (guest name, stay dates, access code, etc.).

This is the tool that lets you write one message or template and send it personalized to hundreds of guests.

Where it's used

  • In the manual message composer (see Sending a message).
  • In message templates (see the Automations → Templates pillar).
  • In automations triggered by events (see Automations → Triggers).

The format is always the same: {{shortcode_name}} — two opening braces, the shortcode name, two closing braces.

Insert a shortcode

In any input that supports shortcodes, type {{ and the shortcode name, or copy it from the available shortcodes list.

Before sending, click the eye icon in the composer to open the Message preview: ZenHost renders your message with real values for the booking in context. You see exactly what the guest will receive.

The Shortcodes page

From the Automations → Shortcodes menu, you reach the list of every shortcode available in your workspace. The page shows two types:

  • System shortcodes — provided by ZenHost, cannot be deleted. They cover the most common cases (guest, booking, property, access codes, etc.).
  • Custom shortcodes — created by you, editable and deletable.

Each row shows:

  • The name of the shortcode (clickable, framed as {{shortcode_name}}).
  • The category: Accounts, Bookings, Guests, Properties, Locks, Customs.
  • The default value in the guest's language (with a selector if you handle multiple languages).
  • A short description of what the shortcode represents.
  • An action menu to edit or delete (custom shortcodes only).

System shortcodes — most used

A few examples of system shortcodes available everywhere:

  • {{guest_name}} — guest first name.
  • {{booking_arrival_date}} — arrival date.
  • {{booking_departure_date}} — departure date.
  • {{property_title}} — listing title.
  • {{lock_codes_door}} — main door access code(s).

The full list of system shortcodes is browsable directly on the Shortcodes page.

Custom shortcodes

To create a shortcode specific to your operation (e.g. {{bike_storage_address}} or {{local_market_hours}}):

  1. On the Shortcodes page, click Create shortcode.
  2. Give it a name (letters and underscores only — it'll be used as {{your_name}}).
  3. Enter a default value for each language you handle.
  4. Add a description so your teammates know what it's for.

On save, the shortcode becomes usable across ZenHost.

Override a shortcode per property

A shortcode has a default value at the workspace level, but you can override it per property. Useful for example for {{local_market_hours}} which changes per neighbourhood.

On a property's record, the Shortcodes menu opens the shortcodes management page for that listing. You see:

  • On the left, the account-level custom shortcodes for reference.
  • On the right, the property-specific values, editable language by language.

When a message is sent for a booking on this property, ZenHost uses the property value if it exists, otherwise the account value.

How ZenHost renders values

On send (or preview), the ZenHost server reads the shortcodes present in your text, identifies the context (booking, guest, property concerned), fetches the right values, and substitutes them before passing the message to the outbound channel.

If a shortcode is not found or has no value in the context, ZenHost replaces it with an empty string (the raw {{...}} never reaches the guest).