Messaging and Notifications
Message Templates: Email & SMS Examples
Overview
Message templates let you write an email or text once and send it again and again — automatically when something happens on a job, or with one click when you need it. Templates live under Messaging → Templates in Pool Builder Geek.
Every template has three things that decide when it goes out and who gets it:
| Setting | What it controls | Examples |
|---|---|---|
| Type | When the message sends | Triggered (an event happens), Pre-Notification (a set number of days before a scheduled phase), Aging (something sits too long), Manual (you send it) |
| Message Event | The job activity it is tied to | construction.phase.scheduled, construction.phase.rescheduled, construction.phase.status.updated, construction.contact.assigned, construction.manual.message, media.shared.with.customer |
| Audience | Who receives it | Customer, Project Manager, Superintendent, Task Owner, Project Contacts, Admin, Sales |
Use Channels to send the same template by Email, SMS, Push, or any mix. One template can reach a homeowner by text and email at the same moment.
How to create a template
- Go to Messaging → Templates and click Add Template. To start from an existing one, open its row menu and choose Clone.
- Enter a Display Name your team will recognize, such as “Gunite Scheduled – Customer.”
- Pick the Message Event and Type. For Pre-Notification templates, set the phase and the number of Days before it.
- Turn on the Channels you want: Email, SMS, Push.
- Choose the Audience. You can select more than one.
- Write the Subject (email only) and Body. Insert tokens from the All Tokens list so each message fills in the right names and dates.
- Decide whether to include your Signature, set Status to Active, and set Visibility (Private or Published).
- Save, then send a test to yourself before relying on it.
Tokens (merge fields)
Tokens are wrapped in double curly braces and replaced with real job data when the message sends. Common ones:
| Token | Fills in |
|---|---|
{{customer.first_name}} | Homeowner’s first name |
{{customer.full_address}} | Homeowner’s address |
{{project.name}} / {{project.number}} | Job name or number |
{{project.service_address}} | Job site address |
{{task.name}} | Phase or task name, such as Gunite |
{{task.scheduled_date}} | Date the phase is scheduled |
{{task.assigned_to}} | Crew or sub assigned |
{{employee.name}} / {{loggedInUser.first_name}} | The staff member sending |
{{tenant.name}} / {{tenant.phone}} | Your company name and phone |
Available tokens depend on the Message Event; phase and task tokens appear only for phase or task events.
Email vs. SMS
- Email can carry detail: what to expect, checklists, links, and your signature.
- SMS should be short — one or two sentences, aim for under 160 characters, and include who it’s from.
- When a template sends both, write the body so it still reads well as a text.
Customer (homeowner) examples
Keep homeowners informed at every milestone so they call less and trust more.
Welcome to your project
Type: Triggered · Event: construction.contact.assigned · Audience: Customer · Channel: Email
Subject: Welcome to your {{tenant.name}} pool project!
Hi {{customer.first_name}},
Thank you for choosing {{tenant.name}}. Your project, {{project.name}}, is officially underway.
What happens next:
- You'll get an email or text each time a phase is scheduled or completed.
- Photos and updates will be posted to your project portal.
- Questions? Call us at {{tenant.phone}} or reply to this email.
We're excited to build your backyard!
Phase scheduled
Type: Triggered · Event: construction.phase.scheduled · Audience: Customer · Channels: Email + SMS
SMS: Hi {{customer.first_name}}, {{task.name}} is scheduled for {{task.scheduled_date}} at {{project.service_address}}. Please keep the work area clear. – {{tenant.name}}
Phase rescheduled
Type: Triggered · Event: construction.phase.rescheduled · Audience: Customer · Channel: SMS
Hi {{customer.first_name}}, heads up: {{task.name}} has moved to {{task.scheduled_date}}. Questions? Call {{tenant.phone}}. – {{tenant.name}}
Day-before reminder
Type: Pre-Notification (1 day before Gunite) · Audience: Customer · Channel: SMS
Reminder: our gunite crew arrives tomorrow, {{task.scheduled_date}}. Please unlock gates, move vehicles, and keep pets inside. – {{tenant.name}}
Phase completed
Type: Triggered · Event: construction.phase.status.updated (Completed) · Audience: Customer · Channel: Email
Subject: {{task.name}} is complete!
Hi {{customer.first_name}},
Good news — {{task.name}} is finished on {{project.name}}. Check your portal for new photos. We'll let you know as soon as the next phase is scheduled.
On my way (manual)
Type: Manual · Event: construction.manual.message · Audience: Customer · Channel: SMS
Hi {{customer.first_name}}, this is {{loggedInUser.first_name}} with {{tenant.name}}. I'm on my way and should arrive in about 20 minutes.
Subcontractor examples
Subs are usually set up as the Task Owner on a phase, so these templates reach the right crew without anyone texting from a personal phone.
Phase assigned
Type: Triggered · Event: construction.phase.assigned · Audience: Task Owner · Channels: Email + SMS
Subject: New job assigned: {{task.name}} – {{project.name}}
Hi, you've been assigned {{task.name}} on {{project.name}}.
Site: {{project.service_address}}
Scheduled: {{task.scheduled_date}}
Notes: {{task.description}}
Please confirm by replying or calling {{tenant.phone}}.
Schedule change
Type: Triggered · Event: construction.phase.rescheduled · Audience: Task Owner · Channel: SMS
Schedule change: {{task.name}} at {{project.service_address}} is now {{task.scheduled_date}}. Reply to confirm. – {{tenant.name}}
Day-before confirmation
Type: Pre-Notification (1 day before the phase) · Audience: Task Owner · Channel: SMS
Reminder: {{task.name}} tomorrow ({{task.scheduled_date}}) at {{project.service_address}}. Text back if anything changes. – {{tenant.name}}
Site ready for next trade
Type: Triggered · Event: construction.phase.status.updated (prior phase Completed) · Audience: Project Contacts · Channel: SMS
{{task.name}} is complete on {{project.name}} ({{project.service_address}}). The site is ready for the next trade. – {{tenant.name}}
Internal team examples
Use internal templates so project managers, superintendents, and office staff hear about changes the moment they happen.
New job handoff
Type: Triggered · Event: construction.contact.assigned · Audience: Project Manager, Superintendent · Channel: Email
Subject: New construction job: {{project.name}} (#{{project.number}})
You've been added to {{project.name}} for {{customer.full_name}}.
Address: {{project.service_address}}
Start date: {{project.start_date}}
Customer phone: {{customer.phone}}
Please review the plans and files in the project before kickoff.
Phase status changed
Type: Triggered · Event: construction.phase.status.updated · Audience: Project Manager · Channel: SMS
{{project.name}}: {{task.name}} is now {{task.status}}.
Customer posted a message
Type: Triggered · Event: post.customer.submitted · Audience: Project Contacts · Channels: Email + Push
Subject: New message from {{customer.full_name}}
{{customer.full_name}} posted on {{project.name}}. Please reply in the project feed within one business day.
All phases completed
Type: Triggered · Event: construction.phase.status.updated · Audience: Admin · Channel: Email
Subject: {{project.name}} – all phases complete
All construction phases are complete for {{customer.full_name}}. Next steps: final walkthrough, final invoice, and warranty registration.
Best practices
- Name templates by event and audience (“Gunite Scheduled – Customer”) so they’re easy to find and don’t get duplicated.
- Write one template per audience. Homeowners need reassurance; subs need address, date, and scope; PMs need status.
- Start small. Turn on a few high-value messages first — phase scheduled, rescheduled, and completed — then add more.
- Use Clone to copy a working template for a new phase instead of starting from scratch.
- Test before going live. Send to yourself and check that every token filled in.
- Set unused templates to Inactive instead of deleting them, so you can bring them back.
- Check the Message Queue tab to confirm what sent and when.
FAQ
Can one template go to the customer and the PM at the same time? Yes. Select multiple audiences. If they need different wording, create two templates on the same event.
What’s the difference between Private and Published? Private templates are visible only to your account; Published templates are shared for others to use from the Library.
Why didn’t a token fill in? The token may not be available for that Message Event, or the field is empty on the project. Check the All Tokens list for that event.
Can I send a template outside an automation? Yes. Create a template with Type Manual (for example, construction.manual.message) and send it from the project when needed.