Guides · Railway
Get a Mac notification when a Railway deployment succeeds, fails or crashes
Railway project webhooks post JSON on every deployment status change, with the project, environment and service named in the payload. With status as the type field, successes, failures and crashes each get a switch and a count.
Needs: the free EventBar app on your Mac, an EventBar account, and a Railway account with permission to add webhooks. About five minutes. Generic JSON.
Steps
- Create the webhook URL. In the EventBar dashboard, open the Webhooks tab, pick the group this belongs to (one group per site or app is the usual shape), choose the provider Generic JSON, name it, and press Create. Copy the URL; it stays visible and can be rotated any time.
- Paste it into Railway. In Railway: open the project, then Settings, then Webhooks, paste the hook URL and add it. Railway sends every deployment state change to it. Create the EventBar hook as Generic JSON with type field
status; Railway writes states in upper case (SUCCESS,FAILED,CRASHED) and EventBar lower-cases them. - Trigger one. Most services offer a test delivery; otherwise do the real thing once. It shows up in the dashboard's Events tab within a second and in the menu bar, as an undefined type named after the event. That first one is your proof the wiring works.
- Make it read well. Press Define on the new type and give it a title and a body template. Fields come from the payload, nested ones with dots. The table below is a starting point.
What you'll see
| Type | Title | Body template |
|---|---|---|
success | Deployed | {service.name} in {environment.name} of {project.name} |
failed | Deploy failed | {service.name} in {environment.name} |
crashed | Crashed | {service.name} in {environment.name} |
Every type has its own switch in the menu bar, so a noisy one can be quiet on this Mac and still counted. Counts cover the last hour, 24 hours, 7 days, 30 days and all time.
Worth knowing
- Railway also sends
BUILDINGandDEPLOYING; mute those two switches in the menu bar and keep the outcomes. - The payload's
typeisDEPLOYfor all of these, which is why the guide keys onstatus. Railway has revised this payload before; if a template renders empty, check one delivery in the dashboard's Events tab and adjust. - Railway doesn't sign webhook deliveries; the URL is the secret. Rotate it from the dashboard if it leaks.
The full contract, including how each preset reads a payload and what the answers mean, is in the API docs. Something about Railway's payload changed? Tell us and we'll fix the guide.