I keep building Dealership Brain and finding the same embarrassing failure mode: the app nags dealerships about missed callbacks, but had no idea whether its own alerts ever actually went out. Alerts fired into the void. If something failed, nobody knew — including me.
So today, during the Graph Hacks window, I gave it a memory.
What's new
Persistent Alert Log — every n8n alert attempt is now recorded with a status: sent, preview, or failed. Each entry stores what triggered it (usually an overdue callback), when it fired, and the outcome. No more mystery about whether the workflow actually ran.
Manager Alerts tab — managers get a dedicated tab in the UI showing the alert history. It's the first thing I check now after a busy morning: did the system actually flag everything it should have?
n8n alert button for overdue callbacks — there's now an explicit trigger that fires the n8n workflow when a callback crosses its SLA deadline. Before this, the overdue check and the alert lived in different places and occasionally disagreed.
Why this matters
An AI that reminds humans to follow through on promises needs to be held to the same standard. If the app forgets to send an alert, that's the exact failure it's supposed to prevent. Eating my own dog food, basically.
The honest state of it: the log is simple, the tab is unstyled, and the failure statuses need better retry handling. But the core loop works — promise missed, alert fired, attempt recorded.
Try it: https://dealership-brain.vercel.app
Code: https://github.com/rossycoder/dealership-brain
Top comments (1)
Nice progress, Rozeena! 😄
I really like the idea of making an AI system accountable for its own actions, not just the actions it expects from users.
One thing caught my attention while looking through the code: the alert is recorded after the n8n webhook call. If the process crashes between those two steps, the notification attempt could disappear from the history.
Recording a pending alert before dispatching it might be a useful next step, especially when you add retries and duplicate protection.
Really interesting project, and I appreciate how openly you’re sharing the improvements along the way. Keep building! 👏