GoHighLevel custom values or fields showing blank in messages

Short answer
A GoHighLevel merge field comes out blank when that contact has nothing saved in it, or when the workflow doesn't supply it: appointment fields need an appointment trigger. Custom values are account-wide constants set in Settings > Custom Values; custom fields hold each contact's data. Typed merge fields are case-sensitive, so insert them from the picker. Default text for empty fields is documented for email.
How to fix it
- Insert from the picker. Typed merge fields are case-sensitive; the picker gets the name exactly right.
- Value or field?. Custom values are the same for every contact (Settings > Custom Values). Custom fields are per contact.
- Check the contact. Open the contact and confirm the field has a value. Empty fields come out blank.
- Appointment details. Appointment start time and the like need the Appointment Status or Customer Booked Appointment trigger. A pipeline trigger doesn't know which appointment you mean.
- Test with a real booking. Test emails may not fill appointment fields.
- Set a default in email. Click the field in the email editor to set default text, like there instead of a missing first name.
- A yellow chip. In the editor, a yellow chip means the workflow doesn't supply that value.
Common questions
- Can I set a default for texts?
- HighLevel documents defaults for email; its merge-field overview says SMS has no fallback.
- Why does the field fill in tests but not live?
- Usually the live contacts don't have that field filled, or the trigger is different.
More workflow fixes
GoHighLevel sending duplicate text messages
Usually two triggers firing on one event, re-entry left on, or the same person saved as two contacts.
GoHighLevel workflow not triggering: a checklist
Usually it's still in Draft, the trigger filters don't match, or re-entry is off. The execution logs tell you which.
GoHighLevel workflow Wait step not working, or contacts stuck
Usually the wait is waiting exactly as set: for a reply or event with no timeout, inside an advanced window, or on timing that was edited later.
GoHighLevel workflow Goal Event not firing
Only one goal per workflow, each contact is checked against it once, and the event or filter has to match exactly.
GoHighLevel trigger links not tracking clicks
Usually a pasted URL instead of the trigger link itself, no workflow listening for the click, or a filter pointing at a different link.
GoHighLevel If/Else branch not matching
Usually AND and OR grouped wrong, a field updated in the same second as the check, or data that isn't there when the step runs.
GoHighLevel birthday or date triggers firing at the wrong time
The birthday trigger runs at 8 AM in the account's time zone and skips badly formatted dates. Waits set the hour; workflow settings set the time zone.
Related fixes
GoHighLevel appointment reminders going out at the wrong time
Usually the workflow's time zone, a fixed wait instead of one timed from the appointment, or calendar notifications sending a second copy.
Read the fixGoHighLevel Zoom or Google Meet link missing from appointments
Each assigned user has to connect their own Zoom or Google account, the calendar has to use that location, and the message has to include it.
Read the fix
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.