Render Integration Guide
Learn how to receive deployment notifications from Render in DevFlow.
Why use Email Forwarding?
Render currently supports detailed webhooks for job failures but not generic "Deployment Succeeded" events for all service types in a standard format that fits everyone.
The most reliable way to get instant notifications for ANY Render event (Deployments, Service Status, billing) is to forward their notification emails to DevFlow.
Step 1: Get Your DevFlow Webhook URL
- Go to your DevFlow Dashboard → Settings.
- Look for the Developer Information section.
- Copy your Render / Custom Webhook URL.
It should look like this:https://devflow.app/api/webhook/render?userId=YOUR_USER_ID
Step 2: Set up Email Forwarding (Gmail Users)
We will use a simple Google Apps Script to check for emails from Render and forward them to DevFlow.
- Go to Google Apps Script and create a New Project.
- Name it "Render to DevFlow".
- Replace the code in
Code.gswith the following:
// Paste your DevFlow Webhook URL here
const WEBHOOK_URL =
"https://devflow.app/api/webhook/render?userId=YOUR_USER_ID";
function processRenderEmails() {
// Find unread emails from Render
const threads = GmailApp.search(
"from:notify@render.com is:unread time_newer_than:1h",
);
threads.forEach((thread) => {
const messages = thread.getMessages();
messages.forEach((message) => {
if (message.isUnread()) {
const subject = message.getSubject();
const body = message.getPlainBody();
const date = message.getDate();
// Send to DevFlow
const payload = {
subject: subject,
body: body,
date: date,
source: "render",
};
try {
UrlFetchApp.fetch(WEBHOOK_URL, {
method: "post",
contentType: "application/json",
payload: JSON.stringify(payload),
});
console.log("Forwarded: " + subject);
// Mark as read so we don't send it again
message.markRead();
// Optional: Archive it
// thread.moveToArchive();
} catch (e) {
console.error("Failed to forward: " + e);
}
}
});
});
}
- Replace
WEBHOOK_URLwith the URL you copied in Step 1. - Save the project (Floppy disk icon).
Step 3: Automate the Script
To make sure it runs automatically:
- In the Apps Script editor, click on Triggers (Alarm clock icon on the left).
- Click + Add Trigger (bottom right).
- Configure it as follows:
- Choose which function to run:
processRenderEmails - Select event source:
Time-driven - Select type of time based trigger:
Minutes timer - Select minute interval:
Every minute
- Choose which function to run:
- Click Save.
- You will be asked to grant permissions. Click Review Permissions, choose your account, and allow access to Gmail (Proceed to unsafe if warned - it's your own script).
Step 4: Test It
- Trigger a manual deploy in Render (or wait for one).
- Wait 1-2 minutes.
- Check your Telegram/Discord channel connected to DevFlow.
- You should see a notification! 🎉
Tip: Make sure your user preferences in DevFlow allow "Render" as a source (or allow all sources).
Troubleshooting
No notifications?
- Check your Google Apps Script "Executions" tab to see if it ran and if there were errors.
- Check your "Spam" folder to ensure Render emails aren't going there.
- Verify your User ID in the Webhook URL is correct.
Duplicate notifications?
- The script checks for
is:unreadand marks them as read. If you read the email manually before the script runs, it won't forward it.
- The script checks for