Notion API ➔ Supabase Payload Specification

Technical reference for automating data exchange between Workspace and Backend/DB workflows.

💡 How this integration works:

1. Notion API triggers an event when page.updated occurs.
2. Data is packaged into a standard JSON webhook payload.
3. Payload is delivered into your Supabase intake pipeline and mapped to your Backend/DB targets.

Authentication & Event Specs

ParameterSource (Notion API)Destination (Supabase)
Auth MechanismBearer Integration TokenAnon / Service Role Key
Trigger Eventpage.updatedIngest Pipeline

Sample Webhook JSON Payload

{
  "event": "page.updated_to_supabase",
  "timestamp": 1788105200,
  "source": {
    "platform": "Notion API",
    "auth_mode": "Bearer Integration Token",
    "data": {
      "page_id": "sample_page_id_val",
      "database_id": "sample_database_id_val",
      "last_edited_by": "sample_last_edited_by_val",
      "properties": "sample_properties_val"
    }
  },
  "destination": {
    "platform": "Supabase",
    "auth_mode": "Anon / Service Role Key",
    "target_endpoint": "https://api.supabase.com/v1/ingest",
    "mapped_fields": {
      "schema": "{{source.page_id}}",
      "table": "{{source.database_id}}",
      "commit_timestamp": "{{source.last_edited_by}}",
      "record_data": "{{source.properties}}"
    }
  }
}

Quick Integration Setup

  1. Retrieve your secret API credentials from your Notion API developer dashboard using authentication method Bearer Integration Token.
  2. Configure the target endpoint URL to route payloads into the Supabase 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 Bearer Integration Token credentials.
422 UnprocessableSchema ErrorCheck field keys alignment between source and target payload.

Related Technical Specifications