Webhook Sources
DevFlow supports webhooks from a wide range of services. This guide covers all supported sources and how to set them up.
GitHub
Track repository activity, pull requests, issues, deployments, and more.
Installation via GitHub App (Recommended)
- Go to Settings → Integrations
- Click Install GitHub App
- Select repositories to monitor
- Grant permissions
- Authorize the installation
What you'll receive:
- ⭐ Stars and forks
- 🐛 Issues opened/closed/commented
- 🔀 Pull requests created/merged/reviewed
- ✅ Workflow runs (CI/CD status)
- 🚀 Releases published
- 📝 Repository events
Manual Webhook Setup
- Go to your repository → Settings → Webhooks
- Click Add webhook
- Payload URL:
https://your-domain.com/api/webhook/github - Content type:
application/json - Secret: (optional, for security)
- Events: Choose what to monitor
- Click Add webhook
Render
Get instant deployment notifications from Render.
Email Forwarding Setup
Since Render doesn't support custom webhooks directly, we use email forwarding:
Copy your Render Webhook URL from Settings
- Format:
https://your-domain.com/api/webhook/render?userId=YOUR_USER_ID
- Format:
Set up Google Apps Script email forwarder:
// tools/render-email-forwarder.js
const WEBHOOK_URL = "YOUR_WEBHOOK_URL_HERE";
function processRenderEmails() {
const threads = GmailApp.search("from:notify@render.com is:unread");
threads.forEach((thread) => {
const messages = thread.getMessages();
messages.forEach((message) => {
const subject = message.getSubject();
const body = message.getPlainBody();
const payload = {
subject: subject,
body: body,
from: message.getFrom(),
date: message.getDate().toISOString(),
};
UrlFetchApp.fetch(WEBHOOK_URL, {
method: "post",
contentType: "application/json",
payload: JSON.stringify(payload),
});
message.markRead();
});
});
}
- Set up a time-based trigger to run every minute
What you'll receive:
- 🚀 Deployment started
- ✅ Deployment succeeded
- ❌ Deployment failed
- 🔄 Service updates
- 💰 Billing alerts
Vercel
Monitor your Vercel deployments.
Manual Webhook Setup
- Go to your Vercel project → Settings → Git
- Scroll to Deploy Hooks
- Name: "DevFlow Notifications"
- URL:
https://your-domain.com/api/webhook/vercel - Click Add
What you'll receive:
- 🚀 Deployment created
- ✅ Deployment ready
- ❌ Deployment failed
- 🌐 Domain configured
- 📦 Build logs
Stripe
Track payments, subscriptions, and customer events.
Setup
- Go to Stripe Dashboard → Developers → Webhooks
- Click Add endpoint
- Endpoint URL:
https://your-domain.com/api/webhook/stripe - Events to send: Choose relevant events
- Copy the Signing secret (store in your .env)
Popular events:
- 💰
payment_intent.succeeded - ❌
payment_intent.failed - 📅
customer.subscription.created - 🔄
customer.subscription.updated - ⚠️
invoice.payment_failed
Linear
Track issues and project updates.
Setup
- Go to Linear → Settings → API → Webhooks
- Click New webhook
- URL:
https://your-domain.com/api/webhook/linear - Events: Select events to track
- Secret: (optional)
What you'll receive:
- 📋 Issue created/updated
- ✅ Issue completed
- 🏷️ Label changes
- 📌 Project updates
- 💬 Comments added
Custom Webhooks
DevFlow can receive webhooks from ANY service that supports HTTP POST requests.
Generic Webhook URL
https://your-domain.com/api/webhook/custom?userId=YOUR_USER_ID
Example: Sending a Custom Webhook
curl -X POST https://your-domain.com/api/webhook/custom?userId=abc123 \
-H "Content-Type: application/json" \
-d '{
"event": "test",
"data": {
"message": "Hello from my custom service!"
}
}'
Filtering by Source
You can configure which sources are allowed to send you notifications:
- Go to Settings → Preferences
- Under Allowed Sources, select specific sources
- Leave empty to allow all sources
For more advanced filtering (per repository, event type, etc.), see the Filtering Guide.
Need a Source That's Not Listed?
We're constantly adding new integrations!
- 💬 Request a source
- 🛠️ Build your own integration
- 📧 Email us: support@devflow.app
Next Steps: