Enerflo 2.0 Event Filtering
Webhook filtering allows you to control exactly when a webhook fires by setting conditional rules on the event payload. Instead of receiving every webhook event, you can configure filters to only send webhooks when specific conditions are met.
Why Use Filtering?
Without filtering, subscribing to deal.updated.v2 sends a webhook for every field change: address updates, notes, stage navigation, everything. With filtering, you define rules that only deliver events matching your conditions.
Common use cases:
- Fire only when a deal reaches a specific stage
- Trigger when a field changes from one value to another
- Route webhooks by sales rep or territory
How It Works
- An event occurs (e.g., a deal is updated)
- The system evaluates your filter conditions against the payload
- If conditions match, the webhook is sent
- If not, it's logged as "filtered" (not sent)
View sent and filtered webhooks in Settings > Webhooks > Jobs.
Setting Up Filters
Location
Settings > Webhooks > Manage Subscriptions → Create or edit a subscription → Conditions section
Testing Your Filters
Every webhook subscription has a Condition Tester:
- Paste a webhook job ID from a real event
- Click Test
- View result:
- ✅ Pass - Webhook would send
- ❌ Fail - Webhook would be filtered
- ⚠️ Error - Invalid rule or bad job ID
Finding Job IDs
Settings > Webhooks > Jobs → View recent webhooks → Copy job ID
Example Patterns
Fire Once on Change
Fire only when a field becomes true, never again:
ALL group:
- current.state contains "hasHOA": true
- NOT group: previous.state contains "hasHOA": true
Fire Every Time a Field Changes
Fire whenever a specific field is modified, regardless of value:
ALL group:
- changes.state contains "AddressHOA"
Fire While True, Stop After Condition
Fire on every update while true, stop when threshold is met:
ALL group:
- current.state contains "wantsEfficiencyAdders": true
- NOT group: current.state contains "hasFinishedAdders": true
- NOT group: current.state contains "hasFinalizedProposal": true
Territory Filtering
Fire only for specific sales reps:
ANY group:
- current.salesRep.id equals "rep-uuid-1"
- current.salesRep.id equals "rep-uuid-2"
Updated 1 day ago
