Overview
Webhooks allow you to automatically send notifications when events happen in external services. Connect your favorite tools and never miss important updates.How Webhooks Work
Setting Up a Webhook
- Create a alert in Dashtray app
- Copy your webhook URL
- Go to the external service
- Create a webhook pointing to your Dashtray URL
- Customize the template in the app
- Done! You’re getting notifications
Popular Integrations
GitHub
Get notifications for pushes, pull requests, deployments, and more. Setup:- Go to your repository → Settings → Webhooks
- Click “Add webhook”
- Paste your Dashtray webhook URL
- Select events: Push, Pull Request, Deployment, etc.
- Click “Add webhook”
Stripe
Get notifications for payments, disputes, subscription changes. Setup:- Go to Stripe Dashboard → Developers → Webhooks
- Click “Add endpoint”
- Paste your Dashtray webhook URL
- Select events: charge.succeeded, charge.failed, customer.created, etc.
- Save
Zapier
Connect 5,000+ apps to Dashtray. Setup:- Create a Zap
- Select trigger (any app + event)
- Add action: “Webhooks by Zapier” → POST
- URL: Your Dashtray webhook
- Data: Map the fields you want
- Test and activate
Supabase
Get notified of database changes. Setup:- Go to Supabase → Database → Webhooks
- Click “Create a new hook”
- Table: Select your table
- Events: INSERT, UPDATE, DELETE
- HTTP request URL: Your Dashtray webhook
- Save
SendGrid
Monitor email delivery. Setup:- SendGrid Dashboard → Settings → Mail Send
- Event Webhook
- HTTP POST URL: Your Dashtray webhook
- Select events: Bounce, Clicked, Delivered, etc.
- Save
Custom Webhooks
Any service that supports webhooks can work with Dashtray. Requirements:- Webhook support (HTTP POST)
- JSON payload support
- Your webhook URL
Webhook URL Format
Your webhook URL is unique to each alert:- Each alert gets its own 7-character code (the code is the credential)
- Keep it secret (treat like a password)
- If compromised, rotate the URL from the alert page — the old code stops working immediately
- The JSON payload you send becomes
{{variable}}fields for your notification template
Payload Customization
When you send data to Dashtray, it becomes available as variables in your template. Example payload from Stripe:Security
Keep URLs Secret
Treat webhook URLs like passwords. Anyone with your URL can send notifications to your phone. Don’t:- Commit to GitHub
- Post in public channels
- Share unnecessarily
- Store in environment variables
- Use secrets manager
- Rotate if compromised
Protect Your Webhook URL
The short code is the only credential — anyone with the URL can send notifications to your phone. If a URL leaks, rotate it from the alert’s webhook settings immediately. Old URLs return 404 after rotation.Troubleshooting
Webhook not triggering
- Check webhook URL is correct (copy-paste from Dashtray)
- Verify events are enabled in the service
- Trigger the event manually
- Check service’s webhook logs
Webhook triggering but no notification
- Check template is configured (should say “Configured ✓”)
- Try manually testing the webhook
- Check if you’re in quiet hours — held events arrive in one digest when the window ends (check history to confirm the event was received)
- Verify alert is active (toggle switch is ON)
Wrong data in notification
- Check payload structure matches your template
- Use correct variable names with
- Test with a sample payload
- Check data path (use dot notation for nested data)
Rate Limiting
Each alert has a rate limit: 60 requests per minute If you exceed this:- Requests are rejected with
429 Rate limit exceeded— they are not queued - The service you connected should retry on its own schedule
- Sustained floods (500+/min) auto-pause the alert; re-enable it from the app
- Multiple alerts with different triggers
- Filtering at the source
- Batch notifications
Best Practices
✅ Do:- Use descriptive alert names
- Test webhooks before going live
- Monitor webhook delivery in history
- Set appropriate frequency
- Use template variables for rich data
- Send every possible event (creates notification overload)
- Share webhook URLs publicly
- Hardcode URLs in code
Examples by Industry
E-commerce
- New order received
- Payment failed
- Shipment tracking
- Return request
SaaS
- Subscription upgraded/downgraded
- Account created
- Payment declined
- Usage threshold reached
Development
- Build passed/failed
- Deployment complete
- Error rate spike
- Code review requested
Monitoring
- Alert triggered
- Metric threshold reached
- Service down
- Performance issue
Support
Need help?- Check FAQ
- Review Troubleshooting
- Report issues on GitHub