Understanding placeholders and dynamic content
Placeholders are the engine behind personalised messages in Hubhus — they automatically pull live lead, event, and brand data into every email, SMS, and page at send-time. Write once, personalise for thousands.
TL;DR
Use %lead_name% for built-in fields, {{api_name}} for custom fields, @select[field] for select values, and @if(…){…}@endif for conditional content. Press Ctrl+K / Cmd+K to search all available placeholders instantly.
Get started in 4 steps
Open any email or SMS template and press Ctrl+K (Win) / Cmd+K (Mac) to open the placeholder search
Search using plain words — "lead name", "event date", "address", "signature" — and select the placeholder you need
For custom fields use {{api_name}} — find the API name under Campaign settings → Fields → Show API names
Wrap optional content in @if({{notes}}){ Additional notes: {{notes}} }@endif so it only appears when the field has a value
%lead_name%, %event_start_date%, %assigned_person_email% ·
Custom fields: {{api_name}} ·
Select field: @select[field] (label) / @select[field,slug] (slug)
Read more⌄
Placeholder types at a glance
- System placeholders —
%lead_name%,%lead_email%,%lead_phone%,%assigned_person_email%,%brand_name%,%event_resource_email% - Event placeholders —
%event_start_date%,%event_start_time%,%event_end_time%,%event_duration_minutes%,%event_location%,%event_datetime% - Custom fields —
{{api_name}}(e.g.{{zipcode}},{{project-notes}}) - Select fields —
@select[field]returns label,@select[field,slug]returns slug (use slugs in @if comparisons) - Pages & forms —
@page[slug,url], booking form references via Ctrl+K
Common patterns
Simple personalisation:
Hello %lead_name%,
Your visit is on %event_start_date% at %event_start_time%.
Conditional based on select field:
@if(@select[customer-type,slug] == business){
Thank you for your business inquiry.
}@else{
Thank you for your inquiry.
}@endif
Fallback recipient:
@if(%assigned_person_email%){
%assigned_person_email%
}@else{
%brand_contact_email%
}@endif
Only show if field has value:
@if({{notes}}){
Additional notes: {{notes}}
}@endif
Troubleshooting
Placeholder shows nothing — check the lead has a value for that field, the API name is correct, and that event placeholders are only used where an event exists.
Conditional not triggering — ensure you compare slugs not labels: @if(@select[priority,slug] == high){…}. Labels can change; slugs don't.
Wrong API name — go to Campaign settings → Fields → enable "Show API names" to see the exact identifier for each field.
Common searches
placeholder • dynamic content • personalize email • lead name placeholder • custom field placeholder • conditional content • @if
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article