Blog
Database events, explained
Notes from building Rowfire: turning what happens in PostgreSQL and MySQL into Slack messages, tickets, campaigns and API calls, safely.
How to call a webhook from a SQL query
Send a POST to any URL or REST API for each new row a PostgreSQL, MySQL or MariaDB query returns, once per key, with the body built from the row's columns.
How to create Zendesk tickets from a SQL query
Open a Zendesk ticket for each new row a PostgreSQL, MySQL or MariaDB query returns, one per customer instead of one per retry, previewed before it sends.
How to send a Slack alert from a SQL query
Turn a SQL query on PostgreSQL, MySQL or MariaDB into Slack messages: one per new row, no duplicates on every run, previewed before anything posts.
How to send Slack alerts from Supabase
Turn a SQL query on your Supabase database into Slack messages or Zendesk tickets, with no database password, no triggers in your schema, and no repeats.
Stop refreshing the report: turn it into tickets
If your team checks a report for new problem rows every day, the query already exists. Make each new row a Zendesk ticket or Slack message, once, by itself.
How to trigger Braze campaigns from your database
Send a Braze custom event when something becomes true in PostgreSQL or MySQL, like a declined card or a stalled trial, and let a campaign take it from there.
Sixteen workers, one send: deduplicating with a ledger
Why Rowfire sends only when an INSERT reports it inserted a row, and how that one rule keeps 16 racing workers from sending the same message 16 times.
The events your app can't emit
Your application emits events when its code runs. It can't announce what didn't happen. Here is how a SQL trigger catches absences and derived conditions.