---
title: "11.23 Placeholders: Contact and Trigger Data"
description: Messages and template mappings can include data that is filled in when the step runs.
url: "https://peikly.com/docs/placeholders-contact-and-trigger-data/"
updated: "2026-10-10"
category: Automation Workflows
tags:
  - Manual sync
---

# 11.23 Placeholders: Contact and Trigger Data

Messages and template mappings can include data that is filled in when the step runs.

**In WhatsApp steps** (plain text and template parameter mapping):

- Contact: `{FullName}`, `{CompanyName}`, `{WhatsAppNumber}`, `{EmailAddress}`, `{City}`, `{Country}`
- System: `{Now:yyyy-MM-dd}` (date), `{Now:HH:mm}` (time)
- Trigger data: `{Trigger.<key>}`, for example `{Trigger.customer.email}`

**In email steps** (custom subject and body): the same placeholders as email templates, such as `{{ContactFullName}}` and `{{ContactEmail}}` ([10.4](/docs/email-templates/)), plus trigger data as `{{Trigger.<key>}}`.

**Trigger data keys** come from store and website events: for example `customer.name`, `customer.email`, `customer.whatsapp`, `event.type`, and the event's own fields such as `event.cart.total` or `post.title`. With **External Integration Event Received** selected, the designer lists the recommended keys under **Recommended Trigger Metadata**. See also [21.6](/docs/using-external-events-in-workflows/).

**Pitfalls:**

- WhatsApp uses single braces `{…}` and email uses double braces `{{…}}`. Mixing them up sends the placeholder text literally.
- A contact field that is empty is sent empty. "Hi {FullName}," becomes "Hi ," when the contact only has a number. A WhatsApp contact created from an unknown number gets their WhatsApp profile name, or the number when there is none.
