What this automation does
Your CS team lives in Slack. GHL manages the automation. The Slack Integration bridges them: when GHL detects a high-priority event — a churn signal, a PQL threshold crossed, an NPS detractor response, a failed payment — it fires a formatted Slack notification to the right channel with the context needed to act immediately.
This eliminates the GHL inbox monitoring overhead. The right team member gets notified in Slack with enough context to respond without switching tools.
How it works in GHL
GHL fires outbound webhooks to Slack’s Incoming Webhooks endpoint (or via Zapier/Make for formatted messages). Each notification type goes to a configured Slack channel with a consistent format.
Notification types and routing:
| GHL event | Slack channel | Notification format |
|---|---|---|
| PQL score threshold crossed | #plg-pipeline | Contact name, company, score, top behavioral signals, link to GHL contact |
| NPS detractor response (0–6) | #cs-alerts | Contact name, NPS score, open text response, CS owner, link to GHL conversation |
| Health score drops below 50 | #cs-alerts | Contact name, company, health score, score change, last login date |
| Health score drops below 25 | #cs-urgent | Same as above + @mention of CS lead |
| Payment failed | #billing-alerts | Contact name, plan, MRR value, payment failure reason, dunning day |
| Cancellation intercept triggered | #cs-urgent | Contact name, exit survey response, CS owner, link to contact |
| New trial signup above ACV threshold | #sales | Contact name, company size (if captured), source, link to GHL contact |
| Win-back converted | #wins | Contact name, MRR value recovered, days since churn |
Slack message format:
Each notification includes:
- Contact name and company.
- The specific event that triggered the alert.
- The key metric value (health score, NPS score, MRR value, dunning day).
- One-click link directly to the GHL contact record.
- (For CS alerts) The assigned CS rep’s name.
Trigger → action in Slack
The notification is not the end of the flow — it’s the start. Each Slack notification in the snapshot includes a CTA that routes to a GHL task or workflow:
- PQL alert: “Convert” button (links to the PQL conversion sequence in GHL) or “Assign to rep” button.
- Detractor alert: “Schedule call” button (links to the CS rep’s Calendly) or “Reply now” (links to GHL inbox conversation).
- Payment failure: “View account” link + “Dunning day X” status.
This means a CS rep can triage their entire alert queue from Slack and jump directly into the right GHL action without hunting for contacts.
The outcome metric this moves
Mean time to intervention — how long it takes your team to act on a high-priority event after it fires. Without Slack integration, a CS rep might check GHL twice a day and miss a 4-hour intervention window on a detractor or a PQL. With real-time Slack notifications, the average intervention time drops from hours to minutes.
GHL-to-Slack alerts — part of the SaaS Snapshot, live in 24 hours
Does this require a paid Slack plan?
No — Slack Incoming Webhooks are available on all Slack plans including the free tier. The integration uses GHL's outbound webhook action (available on all GHL plans) pointing to a Slack Incoming Webhook URL. Setup takes about 15 minutes.
Can I route alerts to different channels for different CS reps?
Yes — the snapshot's Slack notification workflow uses a contact lookup to find the assigned CS rep. If your GHL contacts have an 'Owner' field, the workflow can route to a rep-specific channel (e.g., `#cs-alice`, `#cs-bob`) or include an @mention of the rep in the shared channel.
What if I use Teams instead of Slack?
Microsoft Teams also supports Incoming Webhooks. The GHL webhook action points to a Teams webhook URL instead of Slack. The message format uses Teams' Adaptive Cards format (slightly different JSON structure). The snapshot configuration guide includes the Teams variant alongside the Slack variant.