How to Set Up Supabase Webhook Notifications with Webhookify

Supabase is an open-source Firebase alternative that provides a full suite of backend services including a PostgreSQL database, authentication, real-time subscriptions, storage, and Edge Functions. For developers building modern applications, Supabase's database webhooks are a powerful feature that lets you trigger HTTP requests whenever data changes in your PostgreSQL tables. Whether you want to know when a new user signs up, an order is placed, or a record is deleted, Supabase database webhooks fire automatically on INSERT, UPDATE, and DELETE operations. With Webhookify, you can turn those database change events into instant notifications on Telegram, Discord, Slack, Email, or your mobile device -- all without writing custom webhook handler code.
This guide walks you through setting up Supabase database webhooks with Webhookify so you get real-time alerts whenever your database changes, giving you complete visibility into your application's data layer.
Why Monitor Supabase Webhooks with Webhookify?
-
Real-Time Database Change Alerts: Know the instant a row is inserted, updated, or deleted in any of your Supabase tables. Get a Telegram message when a new user signs up or a Slack alert when an order status changes, without polling your database.
-
User Activity Monitoring: Track authentication events and user behavior by monitoring changes to your users table or auth-related tables. Get notified when new accounts are created, profiles are updated, or accounts are deleted.
-
Application Health Visibility: Monitor critical tables like error logs, job queues, or audit trails. Receive immediate alerts when errors are inserted into your log table or when background jobs fail, enabling faster incident response.
-
AI-Powered Data Summaries: Supabase webhook payloads include the full row data in JSON format, including both the old and new values for UPDATE events. Webhookify's AI summarizes these changes into human-readable messages like "New user signed up: jane@example.com (Premium plan)."
-
Zero Additional Infrastructure: Supabase database webhooks run as PostgreSQL triggers, but you still need an HTTP endpoint to receive them. Webhookify provides that endpoint instantly, eliminating the need to deploy a separate server or serverless function.
Prerequisites
- A Supabase project. Create one for free at supabase.com if you do not have one.
- At least one table in your Supabase database that you want to monitor.
- A Webhookify account. Sign up for free at webhookify.app.
- A notification channel configured in Webhookify (Telegram bot, Discord webhook, Slack workspace, or Email address).
- Access to the Supabase Dashboard with permissions to manage Database Webhooks.
Step-by-Step Setup Guide
Create a Webhookify Endpoint
Log in to your Webhookify dashboard at webhookify.app. If you are new, sign up for a free account -- it takes less than a minute.
Click "Create Endpoint" and name it something descriptive like "Supabase DB Changes" or "Supabase New Users." Webhookify generates your unique HTTPS URL:
https://hook.webhookify.app/w/your-unique-endpoint-id
Copy this URL. The endpoint is active immediately and ready to receive HTTP POST requests from Supabase. You will see all incoming payloads in your Webhookify dashboard in real time.
Configure Your Notification Channel
Set up your notification channels in Webhookify before connecting Supabase. Go to Settings in the dashboard:
- Telegram: Connect the Webhookify bot for instant personal alerts. Great for monitoring new user sign-ups on your side project.
- Discord: Add a Discord webhook URL for team channels. Useful for keeping your dev team informed about database changes.
- Slack: Connect your workspace for professional notification workflows. Ideal for monitoring production database events.
- Email: Enter your email for a permanent audit trail of database changes.
- Mobile Push: Install the Webhookify app on iOS or Android. If you are monitoring a table related to purchases or payments, enable the cash sound for a satisfying notification.
Consider setting up different notification channels for different tables. For example, user sign-ups go to Telegram while error logs go to Slack.
Set Up Webhooks in Supabase
Now configure Supabase to send database change events to your Webhookify endpoint:
- Log in to the Supabase Dashboard.
- Select your project.
- Navigate to Database in the left sidebar.
- Click on Webhooks (under the Database section).
- If this is your first webhook, you may need to enable the
pg_netextension. Supabase will prompt you to do this -- click Enable to proceed. - Click "Create a new webhook".
- Fill in the configuration:
- Name: Give it a descriptive name like "new_users_webhook" or "orders_webhook."
- Table: Select the table you want to monitor (e.g.,
users,orders,profiles). - Events: Check the boxes for INSERT, UPDATE, and/or DELETE depending on which operations you want to track.
- Type: Select HTTP Request.
- HTTP Method: Choose POST.
- URL: Paste your Webhookify endpoint URL.
- Click Create webhook.
You can create multiple webhooks for different tables. For example, one webhook for your users table to track sign-ups and another for your orders table to track purchases.
Select Events to Monitor
Supabase database webhooks support three event types that correspond to SQL operations:
INSERT Events:
- Triggered when a new row is inserted into the monitored table.
- The webhook payload contains the new row data in the
recordfield. - Use case: Monitor new user registrations, new orders, new support tickets.
UPDATE Events:
- Triggered when an existing row is modified in the monitored table.
- The payload includes both the old row data (
old_record) and the new row data (record), making it easy to see exactly what changed. - Use case: Track order status changes, user profile updates, subscription plan changes.
DELETE Events:
- Triggered when a row is removed from the monitored table.
- The payload contains the deleted row data in the
old_recordfield. - Use case: Monitor account deletions, removed content, cancelled orders.
For most monitoring scenarios, enabling INSERT events is the highest priority. UPDATE events are valuable for tracking state changes, and DELETE events help with auditing data removal.
Auth Events via Edge Functions:
If you want to monitor Supabase Auth events (user sign-ups, sign-ins, password resets), you can create a Supabase Edge Function that listens to auth hooks and forwards them to your Webhookify endpoint. This involves creating a small Edge Function that calls your Webhookify URL when auth events occur.
Test Your Configuration
Test the setup by triggering a database change:
- Go to the Table Editor in the Supabase Dashboard.
- Select the table you configured the webhook for.
- Click "Insert row" and add a new record with sample data.
- Within seconds, check your Webhookify dashboard -- you should see the webhook payload appear with the full row data.
- Verify that your notification channel (Telegram, Discord, Slack, or mobile) received the alert.
To test UPDATE events, edit an existing row in the Table Editor. For DELETE events, remove a row. Each operation should trigger a corresponding notification through Webhookify.
If the test works, your webhook is properly configured. Every database change to the monitored table will now trigger a real-time notification.
Supabase Webhook Events You Can Monitor
Supabase database webhooks are powered by PostgreSQL triggers and the pg_net extension. Here are the events and data they capture:
Database Table Events:
INSERT-- New row inserted into a table. Payload includesrecord(new row data).UPDATE-- Existing row modified. Payload includesrecord(new data) andold_record(previous data).DELETE-- Row removed from a table. Payload includesold_record(deleted row data).
Payload Structure: Each webhook payload includes:
type-- The event type (INSERT, UPDATE, or DELETE)table-- The name of the tableschema-- The schema (usually "public")record-- The new row data (for INSERT and UPDATE)old_record-- The previous row data (for UPDATE and DELETE)
Auth Events (via Edge Functions):
- User sign-up (new account created)
- User sign-in (authentication event)
- Password reset requested
- Email confirmed
- User deleted
Auth events require an Edge Function to capture and forward to Webhookify, as they are not directly available through database webhooks unless you monitor the auth.users table.
Real-World Use Cases
-
New User Onboarding Alerts: Monitor INSERT events on your
profilesoruserstable to get a Telegram notification every time a new user signs up. The notification includes the user's email, name, and selected plan, helping you understand your growth in real time. -
Order and Payment Tracking: Set up webhooks on your
orderstable to receive push notifications when new orders are placed. Combined with Webhookify's cash sound, you get an audible alert for every purchase, similar to a point-of-sale system. -
Content Moderation: Monitor INSERT and UPDATE events on user-generated content tables (posts, comments, reviews). Get Slack notifications when new content is submitted so your moderation team can review it promptly.
-
Error and Incident Monitoring: Create a webhook on your application's error log table. Every time a new error is inserted, you receive an immediate notification on Discord or Slack, enabling faster incident response without relying solely on third-party error tracking services.
Example Notification
When a new row is inserted into your orders table, Supabase sends a webhook that Webhookify captures:
{
"type": "INSERT",
"table": "orders",
"schema": "public",
"record": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": "f9e8d7c6-b5a4-3210-fedc-ba0987654321",
"product_name": "Pro Subscription",
"amount": 49.00,
"currency": "USD",
"status": "completed",
"customer_email": "alex@example.com",
"created_at": "2026-02-21T16:45:00.000Z"
},
"old_record": null
}
Webhookify's AI summary would display:
New Order in Supabase: Pro Subscription -- $49.00 USD from alex@example.com. Status: completed. Table: orders (INSERT).
This clear, human-readable format lets you instantly understand the database change without parsing JSON.
Troubleshooting
-
Webhook not firing after inserting a row: Ensure the
pg_netextension is enabled in your Supabase project. Go to Database > Extensions and search for "pg_net." If it is not enabled, toggle it on. Database webhooks depend on this extension. -
Webhook fires but Webhookify shows no incoming requests: Check the URL in your Supabase webhook configuration. It must be the exact Webhookify URL starting with
https://. Also verify that your Supabase project has outbound network access (some restrictive network configurations may block external HTTP calls). -
UPDATE events do not show the old record data: Make sure you are monitoring the correct table and that the webhook is configured for UPDATE events. The
old_recordfield should contain the previous values. If it is null, the webhook may have been set up as an INSERT-only trigger. -
Auth events are not being captured: Supabase database webhooks only monitor table operations (INSERT, UPDATE, DELETE). To capture authentication events, you need to either monitor the
auth.userstable directly (if permissions allow) or create a Supabase Edge Function that hooks into auth events and forwards them to your Webhookify endpoint. -
High volume of notifications from a busy table: If a table receives many updates per second, you might get overwhelmed with notifications. Consider creating the webhook only on specific tables that matter most, or use Supabase's SQL conditions to filter which events trigger the webhook (e.g., only INSERT events where
status = 'error').
You can create targeted webhooks by monitoring specific tables for specific operations. For example, create one webhook that only monitors INSERT events on your orders table and another that monitors DELETE events on your users table. This way, you get the right alerts without noise from irrelevant database operations.
Monitor Your Supabase Database in Real Time
Create a free Webhookify endpoint and get instant notifications for every database change in Supabase. Alerts on Telegram, Discord, Slack, or mobile push.
Get Started FreeRelated Articles
- How Webhooks Work: A Technical Deep Dive
- How to Get Webhook Alerts on Discord
- Security Event Monitoring with Webhooks
- Building Real-Time Analytics with Webhooks
- How to Set Up Firebase Webhook Notifications
- How to Set Up Auth0 Webhook Notifications