Supabase ➔ Slack API Payload Specification
Technical reference for automating data exchange between Backend/DB and Messaging workflows.
💡 How this integration works:
1. Supabase triggers an event when postgres_changes occurs.
2. Data is packaged into a standard JSON webhook payload.
3. Payload is delivered into your Slack API intake pipeline and mapped to your Messaging targets.
Authentication & Event Specs
| Parameter | Source (Supabase) | Destination (Slack API) |
|---|---|---|
| Auth Mechanism | Anon / Service Role Key | OAuth Bot Token |
| Trigger Event | postgres_changes | Ingest Pipeline |
Sample Webhook JSON Payload
{
"event": "postgres_changes_to_slack",
"timestamp": 1788105200,
"source": {
"platform": "Supabase",
"auth_mode": "Anon / Service Role Key",
"data": {
"schema": "sample_schema_val",
"table": "sample_table_val",
"commit_timestamp": "sample_commit_timestamp_val",
"record_data": "sample_record_data_val"
}
},
"destination": {
"platform": "Slack API",
"auth_mode": "OAuth Bot Token",
"target_endpoint": "https://api.slack.com/v1/ingest",
"mapped_fields": {
"channel_id": "{{source.schema}}",
"user_id": "{{source.table}}",
"text": "{{source.commit_timestamp}}",
"ts": "{{source.record_data}}"
}
}
}
Quick Integration Setup
- Retrieve your secret API credentials from your Supabase developer dashboard using authentication method
Anon / Service Role Key. - Configure the target endpoint URL to route payloads into the Slack API intake pipeline.
- Map incoming schema properties according to the JSON specification detailed above.
Expected HTTP Response Codes
| Status Code | Meaning | Troubleshooting Step |
|---|---|---|
200 OK | Success | Payload accepted and queued for routing. |
401 Unauthorized | Auth Failure | Verify headers for valid Anon / Service Role Key credentials. |
422 Unprocessable | Schema Error | Check field keys alignment between source and target payload. |