For Sheena — step-by-step instructions to wire up the NPS survey in GHL
The NPS survey page is already built and live. This guide shows you how to connect it to GHL so clients automatically receive the survey at the right time.
What's already done:
hpfhq.com/nps — live and workingWhat you need to do:
You already have a workflow called "NPS Survey Blast - 1st month" in GHL. It triggers when a contact gets the nps-1st-month tag.
1 Open the workflow in GHL → Automation → "NPS Survey Blast - 1st month"
2 Click on "Send NPS Survey Email" action
3 Update the subject line to:
4 Update the email body to include this link (replace the old survey link):
Sample email body:
Hey {{contact.first_name}},
You've been with us for a month now, and we'd love to hear how things are going.
It takes 30 seconds — just one quick question:
Your feedback helps us deliver a better coaching experience for everyone.
— The HPF Team
5 Add an SMS action (optional but recommended — higher open rate):
Add a new "Send SMS" action before the email. SMS text:
6 Save the workflow. Don't publish yet — test first (Step 5 below).
⚠️ Important: coach_name field
The {{contact.coach_name}} field needs to match one of: John, Bryan, or Ryan (case doesn't matter). If this custom field doesn't exist in GHL, create it, or replace with the coach's first name directly.
1 Duplicate the "NPS Survey Blast - 1st month" workflow
2 Rename to "NPS Survey Blast - 3rd month"
3 Change the trigger tag from nps-1st-month to nps-3rd-month
4 Update the survey link — change period=1 to period=2
5 Update the subject to: "How's your coaching journey going, {{contact.first_name}}?"
6 Save (don't publish yet)
Recurring every 90 days after: Create an automation that adds the nps-3rd-month tag every 90 days for active clients. Or create separate workflows for each period (period=3, 4, etc.) — whatever is simpler in your GHL setup.
We need to prevent surveys going to cancelled clients.
1 In both NPS workflows, add a new trigger: "Contact Tag Added" → tag: cancelled
2 Set the action to "Remove from workflow" or "Stop"
3 Also add stop triggers for any other cancellation tags you use (e.g., churned, inactive)
GHL needs to automatically add NPS tags at the right time:
| When | Tag to Add | How |
|---|---|---|
| 30 days after start | nps-1st-month | Workflow triggered by onboarding date + 30 day wait |
| 90 days after start | nps-3rd-month | Workflow triggered by onboarding date + 90 day wait |
| Every 90 days after | nps-3rd-month (remove + re-add) | Recurring workflow on active client list |
If you already have a milestone tagging workflow, just add the NPS tags to it. If not, create a simple one:
1 Send a test to yourself. In GHL, manually add the nps-1st-month tag to your own contact.
2 Check your email/SMS — click the survey link.
3 Complete the survey — enter a biggest win, score 10, submit.
4 Check Slack — you should see a message in #coaching-wins.
5 Check the tracking page — go to hpfhq.com/team/fulfillment → click "NPS Tracking" (or go directly to hpfhq.com/team/fulfillment/nps). Your test response should appear.
✅ If all 5 checks pass, publish both workflows.
After the workflows are published and tested, send the survey to all existing active clients:
1 Go to Contacts in GHL
2 Filter: contacts with tag active-client (or your equivalent) AND without tag nps-1st-month
3 Select all filtered contacts
4 Bulk action → Add tag → nps-1st-month
5 This triggers the "NPS Survey Blast - 1st month" workflow for all of them
⚠️ Do this during business hours (not late at night)
The SMS will go out immediately. Best time: weekday morning or early afternoon.
| What | Where |
|---|---|
| Real-time alerts (9-10 scores) | Slack #coaching-wins |
| Detractor alerts (1-6 scores) | Slack #coaching-chat (tags John) |
| All responses + scores | hpfhq.com/team/fulfillment/nps |
| How the system works | hpfhq.com/nps-guide.html |
| Survey preview | hpfhq.com/nps?email=test@test.com&name=Test |
NPS GHL Setup Guide — May 2026
Questions? Message Emil on Slack.