Supabase ➔ Notion API Payload Specification

Technical reference for automating data exchange between Backend/DB and Workspace 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 Notion API intake pipeline and mapped to your Workspace targets.

Authentication & Event Specs

ParameterSource (Supabase)Destination (Notion API)
Auth MechanismAnon / Service Role KeyBearer Integration Token
Trigger Eventpostgres_changesIngest Pipeline

Sample Webhook JSON Payload

{
  "event": "postgres_changes_to_notion",
  "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": "Notion API",
    "auth_mode": "Bearer Integration Token",
    "target_endpoint": "https://api.notion.com/v1/ingest",
    "mapped_fields": {
      "page_id": "{{source.schema}}",
      "database_id": "{{source.table}}",
      "last_edited_by": "{{source.commit_timestamp}}",
      "properties": "{{source.record_data}}"
    }
  }
}

Quick Integration Setup

  1. Retrieve your secret API credentials from your Supabase developer dashboard using authentication method Anon / Service Role Key.
  2. Configure the target endpoint URL to route payloads into the Notion API intake pipeline.
  3. Map incoming schema properties according to the JSON specification detailed above.

Expected HTTP Response Codes

Status CodeMeaningTroubleshooting Step
200 OKSuccessPayload accepted and queued for routing.
401 UnauthorizedAuth FailureVerify headers for valid Anon / Service Role Key credentials.
422 UnprocessableSchema ErrorCheck field keys alignment between source and target payload.

Related Technical Specifications