Insights & Optimization
7 min read

The Userflow Slack Notification Playbook: 14 Workflows You Can Copy in Minutes

A copy-able library of Slack notification workflows for Userflow, grouped by job: onboarding, NPS, account milestones, and custom events. Recreate each in minutes.
Nicole Schreiber-Shearer
June 24, 2026
Adoption
Activation
Churn Reduction

A user leaves a 3 on your NPS survey on Tuesday. Your CS team finds it in the monthly rollup, long after the account churned. The signal was there the whole time. Nobody saw it in time to act.

This is the oldest problem in product work, and it was never about lacking data. Teams have always had dashboards full of it. The problem is the lag between something happening in the product and a human acting on it: the export, the Friday report, the standup where it finally comes up. By then the moment has passed.

Userflow's native Slack integration closes that gap. Product signals like onboarding completions, NPS scores, and accounts hitting a limit land in the channel your team already has open, the moment they happen, while there's still something to do about them. No Zapier, no webhooks, no engineering ticket.

This is a practical library of those setups: fourteen Slack notification workflows, grouped by the job they do, that you can recreate in a few minutes each. Each one spells out three things: what triggers the alert, which channel it goes to, and who acts on it.

Key Takeaways

  • Userflow's native Slack integration routes product signals to Slack with no Zapier, webhooks, or custom code. Already running a Zap for this? You can retire it.
  • Every notification workflow has the same three parts: a trigger event, a destination channel, and a message you can personalize with dynamic variables.
  • Route by the team that owns the response, not by event type. A single catch-all channel turns into noise fast.
  • Conditions are how you keep volume sane. Filter on flow name, score, account value, or recency so only the signals worth acting on fire.

How Userflow Slack Notifications Work

Every setup in this playbook is built the same way, in the Notification Center under Settings. Once you know the four parts, the fourteen recipes below are just different combinations of them.

Event: the trigger, like Flow Completed or Question Answered, picked from the events Userflow already tracks for your account.

Conditions: optional filters that decide which events actually fire, like a specific flow name or an NPS score below a threshold.

Destination: where the alert goes, a Slack channel, an email address, or both.

Message: what it says, with dynamic variables like user email and company name dropped in so the alert arrives with context.

Build it, hit Test to send a sample with placeholder data, and switch it on. That's the whole pattern. Each recipe below just swaps the event, the condition, the channel, and the words.

Three things to know going in:
1) Notifications go to public Slack channels, not private ones
2) Each Userflow account connects to one Slack workspace at a time
3) A dynamic variable fails silently if the attribute isn't set on a user, so always test before you go live and confirm every variable resolves.

Here's the full playbook at a glance before the detailed recipes.

# Setup Trigger Routes To
1 New user completes onboarding Flow Completed + flow name Product/Growth
2 High-value user completes onboarding Flow Completed + flow name + high-value account attribute Sales
3 User completes a key activation step Flow Completed or custom activation event Growth
4 New signup stalls before activating Signup event + signup_date in last 7 days CS/Growth
5 NPS detractor responds Question Answered + score ≤ 6 CS
6 NPS promoter responds Question Answered + score ≥ 9 Marketing/CS
7 NPS response from a high-value account Question Answered + high-value account attribute Key accounts channel
8 High-value account signs up Signup event + high-value account attribute Sales
9 Account crosses a usage threshold Custom usage event + value condition CS/Sales
10 Account reaches seat capacity Custom "reached seat limit" event Sales
11 Key flow completed by target segment Flow Completed + flow name + lifecycle stage Growth
12 User hits a feature limit Custom limit event Feature-owning team
13 User connects an integration Custom "connected an integration" event Product
14 User invites a teammate Custom "invited a teammate" event Growth

Onboarding Notifications

For PMs and growth teams who want to know the moment a user reaches a milestone, not at the next reporting cycle.

#1. New User Completes Onboarding → Product Channel

Trigger: Flow Completed, with a condition on your onboarding flow name.
Routes to: your product or growth channel.
Acts on it: the PM or growth owner who follows up while the user is still engaged.

This is the foundational onboarding setup. A user finishes the flow, the channel lights up, and the message carries the user email, company name, and plan so nobody has to go look it up.

#2. High-Value User Completes Onboarding → Sales Channel

Trigger: Flow Completed, with a condition on the onboarding flow name plus a company attribute that marks a high-value account (account value, or a tier attribute you define).
Routes to: your sales channel.
Acts on it: the account owner or AE who wants a warm reason to reach out.

Same trigger as the first setup, narrowed with one more condition so only high-value accounts reach sales.

#3. User Completes a Key Activation Step → Growth Channel

Trigger: Flow Completed (or a custom activation event), with a condition on the specific step or flow that represents your activation moment.
Routes to: your growth channel.
Acts on it: whoever owns trial-to-paid conversion.

Activation is a buying signal, and it's freshest the moment it fires. Route it while the user is still in the product.

#4. New Signup Stalls Before Activating → CS or Growth Channel

Trigger: a signup or account-created event, with a user condition like signup_date within the last 7 days.
Routes to: your CS or growth channel.
Acts on it: whoever owns early lifecycle nudges.

Notification Center fires when an event happens, so it can't directly notify you that something didn't happen. The practical version is to alert on recent signups and let your team or a segment surface who hasn't progressed, rather than expecting a single "hasn't started onboarding" trigger. Conditions on recency keep the list focused on the cohort you can still reach.

Pro tip: Use descriptive workflow names. "Trial Signup Completed → Product Channel" beats "Workflow 1" once your list of workflows grows. Future you will be grateful.

NPS Notifications

For CS and product teams who need to see feedback while it's still actionable, not in next month's NPS rollup.

#5. NPS Detractor Responds → CS channel

Trigger: Question Answered from your NPS survey, with a condition that the score is 6 or below.
Routes to: your customer success channel.
Acts on it: the CSM who can reach out the same day.

This is the highest-urgency setup in the playbook. Carry the user, the company, and the verbatim comment into the message so the CSM sees the score and the words at the same time.

#6. NPS Promoter Responds → Marketing or CS Channel

Trigger: Question Answered from your NPS survey, with a condition that the score is 9 or above.
Routes to: your marketing or CS channel.
Acts on it: whoever runs reviews, references, and case studies.

A promoter is a referral, a testimonial, or a G2 review waiting to happen. Catch them while the goodwill is fresh.

#7. NPS Response from a High-Value Account → Dedicated Channel

Trigger: Question Answered from your NPS survey, with a condition on a high-value account attribute like account value.
Routes to: a dedicated key-accounts channel.
Acts on it: the account owner for that segment.

Any NPS score from a top-tier account is worth a human eye, whether it's a detractor to save or a promoter to activate.

Pro tip: You can send the same notification to more than one destination. Route a detractor alert to both your CS Slack channel and a CS leader's email, so the signal lands even if the channel is quiet.

Account Milestone Notifications

For sales, CS, and growth teams tracking the accounts that move the number.

#8. High-Value Account Signs Up → Sales Channel

Trigger: a signup or account-created event, with a condition on a company attribute that marks a high-value account (account value, or a tier attribute you define).
Routes to: your sales channel.
Acts on it: the AE or account owner.

High-value signups shouldn't sit in a feed with every other event. One condition pulls them out and puts them in front of the person who acts.

#9. Account Crosses a Usage Threshold → CS or Sales Channel

Trigger: a custom usage event, with a condition on an attribute like account value or a usage count.
Routes to: your CS channel for expansion, or sales for upsell.
Acts on it: whoever owns growth within the account.

A combined condition, high value and high recency, is the most actionable and the lowest noise. Filter hard here.

#10. Account Reaches Seat Capacity → Sales Channel

Trigger: a custom "reached seat limit" event.
Routes to: your sales channel.
Acts on it: the AE who can open an expansion conversation.

This is an upsell signal that's easy to miss in a dashboard and obvious in a Slack message.

#11. Key Flow Completed By a Target-Segment Account → Growth Channel

Trigger: Flow Completed, with conditions on both the flow name and a company attribute like lifecycle stage.
Routes to: your growth channel.
Acts on it: the lifecycle or growth owner.

Two conditions narrow a broad event down to exactly the accounts you're trying to move.

Pro tip: Conditions are your volume control. Threshold conditions (only above a value), time-window conditions (only recent users), and combined conditions (high value and high recency) are the three patterns that keep a channel useful instead of noisy.

Custom Event Notifications

For any team that tracks product-specific events Userflow doesn't capture by default.

#12. User Hits a Feature Limit → Feature-Owning Team's Channel

Trigger: a custom "hit the export limit" event (or your own limit event).
Routes to: the channel for the team that owns that feature.
Acts on it: the PM or growth owner watching for upgrade intent.

Hitting a limit is a signal that a user wants more. Route it to whoever can act on that.

#13. User Connects an Integration → Product Channel

Trigger: a custom "connected an integration" event.
Routes to: your product channel.
Acts on it: the PM tracking adoption of that integration.

Custom events turn product-specific moments into routed signals, as long as your app is actually sending the event.

#14. User Invites a Teammate → Growth Channel

Trigger: a custom "invited a teammate" event.
Routes to: your growth channel.
Acts on it: whoever owns expansion and virality.

An invite is an account growing itself. Worth seeing in real time.

Pro tip: A custom event only works as a trigger if Userflow is genuinely receiving it. Typing a name into the event field doesn't create the event. Set it up first, tie it to a real action in your app through your Userflow.js installation, then route it. Send a test and confirm it resolves before you rely on it.

Don't Route Everything to One Channel

There's one mistake almost everyone makes the first time: send every event to a single #notifications channel.

Within a week, it's noise. People mute it, and the detractor alert you needed to see is buried under a pile of events nobody cares about. A muted channel is worse than no channel, because the signal is technically arriving and still not getting seen.

The fix is built into how the playbook is organized. Route by the team that owns the response, so each channel only carries signals that the team can act on. And use conditions to filter hard, so the alerts that arrive are the ones worth an interruption. Sales-relevant signals to the sales channel, CS-relevant signals to the CS channel, product-relevant signals to the product channel.

Each team gets a channel they trust. That trust is the whole point.

Frequently Asked Questions

How do I connect Userflow to Slack?

Go to Settings > Integrations, click Add integration, select Slack, and authorize the connection in the popup. You need an Owner or Admin role in Userflow and permission to install apps in your Slack workspace. Once connected, you build notification workflows in Notification Center.

How do I route NPS responses to Slack?

Create a workflow in Notification Center using the Question Answered event from your NPS survey. Add a condition on the score (6 or below for detractors, 9 or above for promoters), choose your Slack channel as the destination, and write a message that includes the user, company, and comment. Test it, then turn it on.

How do I send onboarding notifications to Slack?

Use the Flow Completed event with a condition on your onboarding flow's name, route it to your product or growth channel, and personalize the message with dynamic variables like user email and company name. Add a company attribute condition if you only want high-value accounts to trigger it.

Do I need Zapier to send Userflow alerts to Slack?

No. Userflow's Slack integration is native, so it sends alerts to Slack without Zapier, webhooks, or custom code. If you've been routing Userflow activity to Slack through a Zap, there's a migration path to move to the native integration without double-posting.

Can Userflow send notifications to private Slack channels?

Notifications route to public channels in your connected Slack workspace. Each Userflow account connects to one Slack workspace at a time.

What's the difference between Notification Center and Custom Alerts?

Notification Center sends notifications based on individual user activity, like one user completing a flow or submitting an NPS score. Custom Alerts fire on metric thresholds, like a flow's completion rate dropping below a set percentage. Use Notification Center for real-time user-level signals and Custom Alerts for performance monitoring. Many teams use both.

Can I send the same notification to Slack and email?

Yes. Notification Center is multi-channel. A single workflow can send to one or more Slack channels, one or more email addresses, or both at once.

Why aren't my variables showing up in the message?

A dynamic variable fails when the underlying attribute isn't set on a user. Send a test notification first and confirm every variable resolves to a real value. If you see an empty placeholder, the attribute isn't set, so fix the installation or remove the variable from the template.

Build the First One Today

The fastest way to get value out of this playbook is to build a single workflow, not all fourteen. Pick the one signal your team keeps finding out about too late, the detractor, the high-value signup, the stalled trial, and route it to the channel that team already has open.

Then watch how fast the response gets when the signal comes to the team instead of waiting in a dashboard.

Ready to route your product signals to the channels your team already works in? Try it for free in Userflow today→

Section name one
Section name one
Section name one
Section name one