Debug your Render services in Claude Code and Cursor.

Try Render MCP
How-to
September 16, 2025

Light Up Your Builds with Render Webhooks

Raph Terrier

This side project began as many do: with a gadget collecting dust in a drawer.

After joining Render in August and spending many of my workdays on video content, I had the idea to repurpose an old LED panel as a background accent for demos and calls. I laser‑cut a Render logo plate, attached it to the panel, and made it glow.

Folks seemed to like it!

Slack post showing v1 of the Render LED panel
Slack post showing v1 of the Render LED panel

One teammate suggested we could take it a step further by connecting it to Render’s webhooks:

Slack reply suggesting hooking it up with Render webhooks
Slack reply suggesting hooking it up with Render webhooks

Of course, I had to give it a go. Why stop at a simple decoration when we can make something fun and functional with a little bit of code?

From backdrop to build beacon

The panel's on-board Raspberry Pi has a built-in Wi-Fi chip, which made things surprisingly quick. Altogether, it took me just a couple hours of tinkering: now whenever a service in my Render workspace builds or deploys, the panel lights up with colors!

GIF of the LED panel lighting up based on webhook events
GIF of the LED panel lighting up based on webhook events

Behind the glow

Render’s webhooks made this straightforward. The device listens for four events (build_started, build_ended, deploy_started, deploy_ended) and maps each to a distinct gradient and animation on the 32×32 panel. It turns remote build and deploy activity into something you can see across the room, without having to check a dashboard tab.

Device code

On the device side, I more or less vibe‑coded the MicroPython script. I’ve tinkered with IoT in the past (from Raspberry, to Arduinos, bluetooth, sensors, NeoPixels...) but I wasn’t about to spend hours hand‑tuning light sequences. Thankfully I didn’t have to—AI models helped me get there much faster (although debugging still took a while). The result: deploys get waves, builds get pulses, and completions flash quickly so you can see them at a glance.

Webhook proxy

A small snag: Render requires a secure HTTPS endpoint for webhooks (safety first!), but the Pico W on my home network only handles plain HTTP. The fix was to spin up a tiny proxy service on Render. It accepts webhooks at a public HTTPS /webhook endpoint and forwards the JSON payload to my Raspberry Pi through my router’s port forward. Render takes care of the secure side, and my device code stays simple.

That's the whole project: a logo that glows when builds happen, driven by webhook events, a small proxy, and some MicroPython animation code. It does an impressively effective job of turning remote, digital events like deploys into something physical and close to you.

Webhooks in practice

What makes this more than a blinking desk toy is the webhook layer. The same mechanism can broadcast many kinds of service events and trigger whatever you want on the other side: posting to chat, kicking off automation, aggregating logs, or yes, lighting up LEDs. Webhooks cover the deployment lifecycle, service availability, scaling events, and more. They let you react to real platform signals instead of relying on timers or polls. Delivery is reliable too: Render expects a 2xx within about 15 seconds and retries on failures. This reliability is what makes them useful not only for hobby projects like mine, but for serious automation in production workflows.

Curious about available events? Check out the Render docs for a complete list of events and examples. Webhooks are available on Professional plans and above.

Enable webhooks

Getting this working takes just a minute:

  1. In the Render dashboard, open Integrations > Webhooks.
  2. Click + Create webhook and give it a name (for example, Pi demo).
  3. Set the URL to your proxy endpoint (for example, https://your-proxy.onrender.com/webhook).
  4. Pick the events to send. For this project, I enabled:
    • build_started
    • build_ended
    • deploy_started
    • deploy_ended
  5. Save. Render will start delivering events as they happen.

Want to test your setup without triggering a real deploy? You can simulate a webhook by sending a test event manually with curl:

bash
curl -X POST https://your-proxy.onrender.com/webhook \
-H "Content-Type: application/json" \
-d '{"type":"deploy_started","data":{"service":{"name":"example"}}}'

Browse trigger history

The Recent deliveries table shows every attempt with the event label (for example, Deploy Started) and the result. Expand a row to see the JSON payload and your endpoint’s response. If the device was offline or your proxy returned a non‑2xx, click Resend to resend. Render also retries failures automatically for a short window. Many transient glitches resolve themselves this way.

webhooks trigger history
webhooks trigger history

Where this could go next

  • Add signatures on the proxy to validate webhook requests
  • Display the service name or status text on the panel (although readability is tricky)
  • Map more event types (availability, autoscaling) to animations
  • Trigger other off‑device actions (chat posts, sounds, logging)

🎉 Every deploy deserves to feel like a celebration. 🎉 For me, that meant glowing LEDs on my desk. For you, it might mean automation that saves your team precious time. With Render webhooks, you can turn routine events into moments worth celebrating.

Make your next deploy glow