Triggers
Triggers automate actions when leads meet specific conditions. Use triggers to notify your team the moment a lead becomes sales-ready, reaches a score threshold, or completes a sequence of actions.
Understanding Triggers
LeadVibe offers two types of triggers:
Milestone Triggers: Fire when a lead crosses a score threshold Sequence Triggers: Fire when a lead completes a specific sequence of events in order
Both trigger types can send notifications to Slack, Microsoft Teams, webhooks, or email.
Milestone Triggers
Milestone triggers activate when a lead's score reaches or exceeds a specific threshold. Use these to notify sales when leads become hot.
How Milestone Triggers Work
- Lead's score changes due to new activity
- LeadVibe checks if the score crossed a milestone threshold
- Trigger fires and sends notifications
- Recipients receive alert with lead details and score breakdown
Creating a Milestone Trigger
- Navigate to Configure → Milestone Triggers
- Click Create Trigger
- Configure the trigger settings:
Basic Settings:
- Name: Descriptive name (e.g., "Hot Lead Alert - 50 Points")
- Score Threshold: Minimum score to activate (e.g., 50)
- Fire Mode: When to fire
- Once: Only fires the first time threshold is crossed
- Always: Fires every time threshold is crossed (use carefully)
Lead Filters (Optional):
- Filter by Engagement Level (e.g., only "High" engagement leads)
- Filter by Profile Level (e.g., only "Ideal Customer" profiles)
- Filter by Account Level (e.g., only "Enterprise" accounts)
Notification Settings:
- Slack Channel or User: Send to specific channel or DM
- Teams Channel or User: Send to specific channel or chat
- Webhook URL: POST to external system
- Email Recipients: Send email alert
- Click Save Trigger

Milestone Trigger Example
Scenario: Notify sales when a lead reaches 50 points
Configuration:
- Name: "Sales Alert - Qualified Lead"
- Threshold: 50 points
- Fire Mode: Once
- Notification: Slack channel #sales-alerts
What Happens: When any lead crosses 50 points for the first time, LeadVibe posts a message to the #sales-alerts Slack channel with the lead's name, score, and top scoring activities.
Sequence Triggers
Sequence triggers activate when a lead performs a series of events in a specific order within a time window. Use these to identify high-intent behaviors.
How Sequence Triggers Work
- Define event sequence (e.g., page view → email open → form submit)
- Set time window (e.g., within 24 hours)
- Lead completes sequence in order
- Trigger fires and sends notifications
Creating a Sequence Trigger
- Navigate to Configure → Sequence Triggers
- Click Create Trigger
- Configure the trigger settings:
Basic Settings:
- Name: Descriptive name (e.g., "Demo Request Flow")
- Fire Mode: Once or Always
- Time Window: How long to wait for sequence completion (hours)
Event Sequence:
- Add event steps in order
- Each step can specify:
- Event Type: Which event to match (e.g., "page_view")
- Event Filters (optional): Metadata filters (e.g., path contains "pricing")
Example Sequence:
Step 1: page_view (path: /pricing)
↓ within 24 hours
Step 2: email_open (campaign: product_demo)
↓ within 24 hours
Step 3: form_submit (form_type: demo_request)
→ TRIGGER FIRES
Lead Filters (Optional):
- Same as Milestone Triggers
- Filter by engagement, profile, or account level
Notification Settings:
- Same options as Milestone Triggers
- Slack, Teams, webhook, or email
- Click Save Trigger

Sequence Trigger Example
Scenario: Alert sales when a lead shows high buying intent
Configuration:
- Name: "High Intent Sequence"
- Time Window: 48 hours
- Sequence:
- page_view (path contains "pricing")
- page_view (path contains "case-studies")
- email_open
- page_view (path contains "demo")
- Notification: Slack user @sales-rep
What Happens: When a lead completes all four steps within 48 hours, the assigned sales rep gets a direct Slack message with the lead's information and recent activity.
Notification Formats
Slack Notifications
Slack messages include:
Lead Information:
- Lead name or primary identifier
- Current score
- Engagement level
Score Breakdown (NEW):
- Top 3 activities from last 24 hours
- Format:
✓ Event Type (count × points) +total - Example:
✓ page_view (5× @ 10 pts) +50
Actions:
- Button to view lead in LeadVibe
- Button to claim/assign lead
Example Slack Message:
🔥 Hot Lead Alert
Lead: jane.doe@example.com
Score: 75 points
Level: High Engagement
Recent Activity:
✓ page_view (5× @ 10 pts) +50
✓ email_open (3× @ 5 pts) +15
✓ form_submit (1× @ 20 pts) +20
[View Lead] [Assign to Me]
Microsoft Teams Notifications
Teams messages include the same information as Slack:
- Lead details and current score
- Score breakdown with top activities
- Action buttons
- Rich formatting with cards
Webhook Notifications
Webhooks receive JSON payload:
Milestone Trigger Payload:
{
"trigger_type": "milestone",
"trigger_name": "Hot Lead Alert",
"lead_id": "ld_123",
"score": 75,
"threshold": 50,
"timestamp": "2025-01-15T10:30:00Z",
"score_breakdown": [
{
"event_type": "page_view",
"count": 5,
"points_each": 10,
"total_points": 50
},
{
"event_type": "email_open",
"count": 3,
"points_each": 5,
"total_points": 15
}
]
}
Sequence Trigger Payload:
{
"trigger_type": "sequence",
"trigger_name": "Demo Request Flow",
"lead_id": "ld_123",
"score": 85,
"sequence_completed": [
{
"step": 1,
"event_type": "page_view",
"timestamp": "2025-01-15T08:00:00Z"
},
{
"step": 2,
"event_type": "email_open",
"timestamp": "2025-01-15T10:00:00Z"
},
{
"step": 3,
"event_type": "form_submit",
"timestamp": "2025-01-15T10:30:00Z"
}
],
"timestamp": "2025-01-15T10:30:00Z",
"score_breakdown": [
{
"event_type": "page_view",
"count": 8,
"points_each": 10,
"total_points": 80
}
]
}
Email Notifications
Email notifications include:
- Subject line (customizable)
- Lead information
- Score and score breakdown
- Link to view lead in LeadVibe
- Optional custom message
Testing Your Triggers
Before relying on a trigger in production, you can test it against a specific lead to see whether it would fire. This helps you verify that thresholds, filters, and sequences are configured correctly -- without sending actual notifications.
How to Test a Trigger
- Navigate to Configure and open either Milestone Triggers or Sequence Triggers
- Find the trigger you want to test in the list
- Click the play icon in the actions column to open the test dialog
- Search for a lead to test against:
- Type a lead's email address or Lead ID into the search field
- As you type, matching leads appear in a dropdown with their email, match type, and engagement level
- Click a lead from the results to select them
- Optionally adjust the Days to look back (defaults to 30 days)
- Click Run Test
Understanding Test Results
After running a test, you will see one of two outcomes:
Would Fire: The trigger's conditions are met for this lead. For milestone triggers, this means the lead's score meets or exceeds the threshold. For sequence triggers, this means the lead completed the required event sequence within the time window.
Would Not Fire: The trigger's conditions are not met. Review the lead's score or event history to understand why, and adjust your trigger configuration if needed.
The test also shows the number of matches and, when applicable, a list of matched lead IDs.
Testing Tips
- Test with different leads: Try leads at various score levels or engagement stages to confirm your threshold is set correctly
- Adjust the lookback window: If testing a sequence trigger, make sure the lookback period covers enough history for the lead's events
- Test before activating: Run tests on new triggers before enabling them to avoid unexpected notification volume
- Verify filters: If your trigger has lead filters (engagement level, profile level, account level), test with leads that both match and do not match those filters to confirm they work as expected
Trigger Best Practices
Choosing Thresholds
Milestone Trigger Thresholds:
- Start with 3-4 milestones maximum
- Align thresholds with engagement levels
- Example thresholds: 25 (warm), 50 (hot), 75 (very hot)
- Test and adjust based on conversion data
Sequence Trigger Windows:
- 24 hours: High-intent, immediate action sequences
- 48-72 hours: Nurture sequences
- 7 days: Long-term research behaviors
Fire Mode Selection
Use "Once":
- For score milestones (avoid notification spam)
- For conversion-focused sequences
- When triggering CRM tasks or assignments
Use "Always":
- For monitoring ongoing behavior patterns
- For webhook integrations that need every occurrence
- When you want to track frequency (with caution)
Lead Filtering
Combine score thresholds with lead filters for precision:
Example 1: Only alert on enterprise leads
- Threshold: 50
- Account Level: Enterprise
Example 2: Only alert on ideal customer profiles
- Threshold: 40
- Profile Level: Ideal Customer
- Engagement Level: High
Example 3: Focus on specific engagement tier
- Threshold: 30
- Engagement Level: Medium or High
Notification Routing
Slack Recommendations:
- Use channels for team alerts (#sales-hot-leads)
- Use DMs for individual assignments (@sales-rep)
- Create dedicated channels per trigger type
- Avoid posting to general channels
Teams Recommendations:
- Similar to Slack
- Use Teams channels for team visibility
- Use chats for 1:1 notifications
Webhooks:
- Route to CRM for automatic lead assignment
- Send to marketing automation for campaign enrollment
- POST to Zapier for multi-system workflows
Advanced Trigger Patterns
Sequence Patterns for Buying Intent
High-Intent Research:
1. page_view (pricing)
2. page_view (features)
3. page_view (case-studies)
Time: 24 hours
Demo Request Journey:
1. email_open (product announcement)
2. page_view (demo page)
3. form_submit (demo request)
Time: 48 hours
Re-Engagement Success:
1. email_open (re-engagement)
2. page_view (any)
3. email_open (follow-up)
Time: 7 days
Combining Triggers
Use multiple triggers together for sophisticated workflows:
Tier 1 Alert (Score 25):
- Notification: Slack channel #marketing
- Action: Add to nurture campaign
Tier 2 Alert (Score 50):
- Notification: Slack channel #sales
- Action: Create CRM task for SDR
Tier 3 Alert (Score 75):
- Notification: Direct message to AE
- Action: Auto-assign lead in CRM
Troubleshooting
Trigger Not Firing
Check These Items:
- Trigger is enabled (not paused)
- Lead actually crossed the threshold (check score)
- Fire mode is set correctly (Once vs Always)
- Lead filters aren't excluding the lead
- Integration is connected (Slack, Teams)
For Sequence Triggers:
- Events occurred in correct order
- Events occurred within time window
- Event types match exactly (case-sensitive)
- Event metadata filters match (if used)
Too Many Notifications
Solutions:
- Change fire mode from "Always" to "Once"
- Increase threshold to reduce trigger frequency
- Add lead filters to narrow the audience
- Use separate channels for different trigger tiers
Notifications Not Received
Slack Issues:
- Verify Slack integration is connected
- Check channel exists and bot has access
- Verify user mentions work (@username format)
- Check Slack workspace permissions
Teams Issues:
- Verify Teams integration is connected
- Check webhook URL is valid
- Verify channel or chat access
- Check Teams app permissions
Webhook Issues:
- Verify URL is accessible
- Check endpoint accepts POST requests
- Verify endpoint returns 200 OK
- Check webhook signature validation
Score Breakdown Not Showing
Score breakdown shows the top 3 activities from the last 24 hours:
- If lead has no recent activity, breakdown may be empty
- Only counts events that contributed to score
- Filtered events and decay don't appear
- Check lead's activity timeline for context
API Access
You can manage triggers programmatically:
List Milestone Triggers
GET /triggers
curl -X GET "https://api.leadvibe.com/triggers" \
-H "Authorization: Bearer <token>"
Create Milestone Trigger
POST /triggers
curl -X POST "https://api.leadvibe.com/triggers" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Hot Lead Alert",
"threshold": 50,
"fire_mode": "once",
"slack_target_kind": "channel",
"slack_target_id": "C01234567",
"profile_filters": {
"engagement_level": ["High"]
}
}'
List Sequence Triggers
GET /sequences
curl -X GET "https://api.leadvibe.com/sequences" \
-H "Authorization: Bearer <token>"
Create Sequence Trigger
POST /sequences
curl -X POST "https://api.leadvibe.com/sequences" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Demo Request Flow",
"time_window_hours": 24,
"fire_mode": "once",
"event_steps": [
{
"event_type": "page_view",
"filters": {"path": "/pricing"}
},
{
"event_type": "email_open"
},
{
"event_type": "form_submit"
}
],
"teams_target_kind": "channel",
"teams_target_id": "19:abc123@thread.tacv2"
}'
Test a Trigger via API
POST /triggers/{id}/simulate (milestone) or POST /sequences/{id}/simulate (sequence)
curl -X POST "https://api.leadvibe.com/triggers/{id}/simulate" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"lead_id": "abc-123",
"days": 30
}'
Returns whether the trigger would fire for the specified lead. See the Milestone Trigger Simulate and Sequence Trigger Simulate API documentation for full details.
Search for a Lead
GET /leads/search?q={query}
curl "https://api.leadvibe.com/leads/search?q=jane" \
-H "Authorization: Bearer <token>"
Returns up to 10 matching leads by ID or email. See the Lead Search API documentation for details.
Related Features
- Milestone Events: View history of when triggers fired
- Sequence Events: View history of sequence completions
- Slack Integration: Connect LeadVibe to Slack
- Teams Integration: Connect LeadVibe to Microsoft Teams
- Webhooks: Integrate with external systems
- Lead Filters: Understanding lead attribute filtering