Building Notification Workflows with Notification Center
Notification Center lets you build automated workflows that send notifications when specific Userflow events occur. You can send notifications to Slack channels, email addresses, or both—without writing any code.
What is Notification Center?
Notification Center is a visual workflow builder where you:
Choose an event that triggers the notification (e.g., "Flow Completed", "NPS Response Submitted", "Company Created")
Add conditions to filter which events should send notifications (optional)
Select destinations where notifications should be sent (Slack channels, email addresses, or both)
Customize the message that gets sent, including dynamic user and company attributes
Test the workflow before activating it
Notification Center is multi-channel by design—it's not specific to Slack. You can use it to send email notifications, Slack notifications, or both, and support for additional channels (like Microsoft Teams) may be added in the future.
Before you start
To use Notification Center with Slack, you need to:
Connect the Slack integration first → See: Connecting Slack to Userflow
Have the right role permissions:
Create/delete workflows: Owner, Admin
Enable/disable/update workflows: Owner, Admin, Editor
Creating your first workflow
Step 1: Name your workflow
Go to Settings > Notification Center
Click Create a workflow
Enter a name for your workflow (e.g., "Trial Signup Flow Completed")
Optionally, add a description to help your team understand what this workflow does
Step 2: Select an event
Choose the event that will trigger this notification.
Available events: Any native Userflow event, including:
Flow Started
Flow Completed
Checklist Task Completed
NPS Response Submitted
Survey Response Submitted
Company Created
User Attribute Updated
Custom events tracked via Userflow.js
Example: If you want to notify your team every time someone completes your "Product Tour" flow, select Flow Completed as the event.
Step 3: Add conditions (optional)
Conditions let you filter which events trigger notifications. You can add two types of conditions:
Event attribute conditions
Filter based on properties of the event itself.
Example: Only send notifications when the "Product Tour" flow is completed (not other flows):
Condition:
flow_nameequalsProduct Tour
Note: Not all events have event attributes. For example, "Company Created" may not have additional filterable properties.
User and company attribute conditions
Filter based on properties of the user or company associated with the event.
Examples:
Only notify when the user's
lifecycle_stageisLeadOnly notify when the company's
planisEnterpriseOnly notify when the user's
signup_dateis within the last 7 days
You can add multiple conditions. All conditions must be true for the notification to be sent.
Step 4: Choose destinations
Select where you want notifications to be sent. You can choose:
Email - Send to one or more email addresses
Slack - Send to one or more Slack channels
Both - Send to both email and Slack
Adding an email destination
Click Add destination > Email
Enter the email address
Repeat to add more email addresses
Adding a Slack destination
Click Add destination > Slack
Select a channel from the dropdown (only public channels are shown)
Repeat to add more channels
Note: You can only select from public channels in your connected Slack workspace. Private channels are not supported.
Tip: You can send the same notification to multiple destinations—for example, send to both a Slack channel and an email list.
Step 5: Customize your message
For each destination you've added, you'll configure the message content.
Email message settings
Subject line - The email subject
Message body - The email content (supports rich text formatting)
Slack message settings
Message - The message text that will appear in Slack (supports rich text formatting)
Using dynamic variables
You can inject dynamic user and company attributes directly into your messages using variable placeholders.
Example message:
A user just completed the Product Tour!
User: {{user_email}}
Company: {{company_name}}
Subscription: {{company_plan}}
Customer since: {{company_created_at}}
Available variables: Any custom attribute you've set up in Userflow via your Userflow.js installation, plus standard attributes like:
{{user_id}}{{user_email}}{{user_name}}{{company_id}}{{company_name}}
To add a variable:
Type
{{in the message fieldSelect the attribute from the dropdown
Close with
}}
Variables will be replaced with actual values when notifications are sent.
Step 6: Test your workflow
Before activating your workflow, test it to make sure notifications are sent correctly.
Click the Test button at the top of the workflow editor
Userflow will send a sample notification to all configured destinations
Check your Slack channel and/or email inbox to verify the message appears correctly
Note: Test notifications use placeholder data for variables (e.g., user@example.com, Acme Corp) since no actual event has occurred.
Step 7: Activate your workflow
Once you're satisfied with your testing:
Click Save to save the workflow
Toggle the workflow status to Active
Your workflow is now live. Whenever the configured event occurs and all conditions are met, Userflow will send notifications to the destinations you specified.
Managing workflows
Viewing all workflows
Go to Settings > Notification Center to see a list of all workflows.
For each workflow, you'll see:
Workflow name
Status (Active, Inactive, Draft)
Last modified date
Who created it
Editing a workflow
Click on a workflow from the list
Make your changes
Click Save
Note: Changes to an active workflow take effect immediately.
Enabling or disabling a workflow
Toggle the Active/Inactive switch on any workflow to turn it on or off without deleting it.
Use case: Temporarily disable a workflow during maintenance or testing, then re-enable it later.
Deleting a workflow
Click on a workflow
Click the Delete button
Confirm the deletion
Warning: Deleting a workflow is permanent and cannot be undone.
Common workflow examples
Notify a channel when users complete onboarding
Event: Flow Completed
Conditions:
flow_nameequalsOnboarding Flow
Destination: Slack - #product-team
Message:
🎉 New user completed onboarding!
User: {{user_email}}
Company: {{company_name}}
Plan: {{company_plan}}
Alert customer success when NPS detractors respond
Event: NPS Response Submitted
Conditions:
nps_scoreis less than or equal to6
Destination: Slack - #customer-success
Message:
⚠️ NPS Detractor Alert
User: {{user_email}}
Company: {{company_name}}
Score: {{nps_score}}
Feedback: {{nps_comment}}
Send a daily digest email of all flow completions
Event: Flow Completed
Conditions: (none - send for all flows)
Destination: Email - product-team@company.com
Message:
Subject: Daily Flow Completion Digest
Flow: {{flow_name}}
User: {{user_email}}
Completed at: {{completed_at}}
Note: This will send one email per flow completion. For true daily digest functionality, you would need to use a separate tool or custom integration to batch these.
Notification Center vs. Custom Alerts
You may be wondering how Notification Center differs from the Custom Alerts feature (Settings > Alerting).
Custom Alerts are designed for performance monitoring—they fire when a flow's metrics drop below a threshold (e.g., completion rate falls below 50%).
Notification Center sends notifications based on individual user activity—every time a specific event occurs.
Both features can send notifications, but they serve different purposes:
Feature | Use for | Triggered by |
|---|---|---|
Notification Center | Real-time user activity alerts | Individual user events (e.g., one user completes a flow) |
Custom Alerts | Performance monitoring | Metric thresholds (e.g., completion rate drops) |
You can use both features together. For example:
Use Notification Center to notify your CS team every time a user submits an NPS detractor response
Use Custom Alerts to notify your product team if the overall NPS completion rate drops below 20%
Troubleshooting
My workflow isn't sending notifications
Possible causes:
The workflow is inactive - Check that the toggle is set to "Active"
The event hasn't occurred - Verify that the trigger event is actually happening in your product
Conditions are too restrictive - Review your conditions to make sure they're not filtering out all events
Slack connection expired - Go to Settings > Integrations > Slack and verify the connection status
The selected Slack channel was deleted or renamed - Edit your workflow and reselect the channel
How to debug:
Use the Test button to send a sample notification—this bypasses conditions and verifies your destinations work
Check the Logs tab in Settings > Integrations > Slack to see if any notifications were sent (or failed)
Temporarily remove all conditions to see if notifications start working
Variables aren't being replaced with actual values
Possible causes:
The attribute doesn't exist for that user/company - Not all users have all attributes
The variable syntax is incorrect - Make sure you're using
{{attribute_name}}formatThe attribute name doesn't match - Check your Userflow.js installation to verify the attribute names
Fix:
Go to Users in Userflow and look up a test user to see which attributes are actually set
Update your workflow to only use attributes that exist
Consider adding fallback text in your message
Best practices
Start simple, then iterate
Don't try to build complex workflows with multiple conditions right away. Start with:
One event
One destination
A simple message
Test it, make sure it works, then add conditions and additional destinations.
Use descriptive workflow names
Instead of "Workflow 1" or "Slack notification", use names like:
"Trial Signup Completed → Product Channel"
"NPS Detractor Alert → CS Team"
"Enterprise User Onboarded → Sales Team"
This makes it easier to manage workflows as your list grows.
Test before activating
Always use the Test button before activating a workflow. This ensures:
Your destinations are configured correctly
Your message formatting looks right
Variables are replaced correctly
Monitor the logs
Check the Logs tab in Settings > Integrations > Slack periodically to catch any delivery failures early.
Don't over-notify
Be selective about which events warrant notifications. If your team is getting dozens of Slack messages per hour, they'll start ignoring them.
Good use of notifications:
High-value events (enterprise user signs up, NPS detractor response)
Exceptions and errors (flow failed to start, missing tooltip target)
Key milestones (user completes onboarding, reaches activation)
Bad use of notifications:
Every single flow view
Every button click
Low-priority informational events