Webhooks
Webhooks allow you to receive real-time HTTP notifications when events occur in your FLTR account. Build event-driven workflows without polling the API.Overview
FLTR webhooks send HTTP POST requests to your endpoint when:- Documents are uploaded or deleted
- Datasets are created, updated, or deleted
- Document processing completes
- Errors occur during processing
Coming Soon: The webhook system is currently in design phase. This documentation describes the planned functionality. Contact us to join the beta.
Use Cases
Processing Notifications
Get notified when document indexing completes
Sync Systems
Keep external systems in sync with FLTR changes
Trigger Workflows
Start automation workflows on FLTR events
Monitor Activity
Track dataset usage and changes in real-time
Event Types
document.uploaded
Fired when a new document is successfully uploaded.document.processed
Fired when document chunking and embedding is complete.document.deleted
Fired when a document is deleted.dataset.created
Fired when a new dataset is created.dataset.updated
Fired when dataset metadata is updated.dataset.deleted
Fired when a dataset is deleted.document.processing_failed
Fired when document processing encounters an error.Creating Webhooks
Via Dashboard (Coming Soon)
- Log in to www.tryfltr.com
- Go to Settings → Webhooks
- Click Create Webhook
- Configure:
- URL: Your endpoint (must be HTTPS in production)
- Events: Select which events to receive
- Secret: Auto-generated signature secret
- Click Create
Via API (Planned)
Receiving Webhooks
Basic Endpoint
Security
Signature Verification
FLTR signs every webhook with HMAC-SHA256:Best Practices
Use HTTPS in production
Use HTTPS in production
FLTR will only send webhooks to HTTPS endpoints in production. HTTP is allowed for development/testing with localhost URLs only.
Always verify signatures
Always verify signatures
Never trust webhook payloads without signature verification. Attackers could forge requests.
Rotate webhook secrets
Rotate webhook secrets
Rotate secrets periodically (every 90 days) or immediately if compromised.
Return 200 quickly
Return 200 quickly
Respond with 200 OK within 5 seconds. Process events asynchronously:
Handle duplicate events
Handle duplicate events
Use event IDs to detect and ignore duplicates:
Retry Logic
How Retries Work
If your endpoint fails (non-200 status or timeout), FLTR will retry:- Retry attempts: Up to 3 retries
- Backoff: Exponential (1min, 5min, 30min)
- Timeout: 5 seconds per request
- Failure: Webhook marked as failed after 3 failures
Handling Retries
Return these status codes appropriately:| Code | Meaning | FLTR Action |
|---|---|---|
| 200-299 | Success | Mark delivered, no retry |
| 400-499 | Client error | No retry (likely bad webhook config) |
| 500-599 | Server error | Retry with backoff |
| Timeout | No response | Retry with backoff |
Testing Webhooks
Local Testing with ngrok
Expose local endpoint for testing:Manual Testing
Simulate webhook events:Test Mode (Coming Soon)
FLTR will provide test mode webhooks:Monitoring Webhooks
Webhook Logs (Planned)
View webhook delivery attempts in the dashboard:- Delivery status (success/failed)
- Response codes and times
- Error messages
- Retry attempts
- Event payloads
Alerts
Set up alerts for webhook failures:Common Use Cases
1. Slack Notifications
Get notified when documents are processed:2. Database Sync
Keep external database in sync:3. Workflow Trigger
Start automation on document upload:4. Error Monitoring
Track processing failures:Webhook Headers
FLTR sends these headers with every webhook:Rate Limits
Webhook deliveries don’t count toward your API rate limit. However:- Max 100 webhooks per account
- Max 1000 deliveries per hour per webhook
- Webhooks failing >80% over 24h will be auto-disabled