Supabase ➔ Tally Payload Specification

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

Authentication & Event Specs

ParameterSource (Supabase)Destination (Tally)
Auth MechanismAnon / Service Role KeyBearer Token Header
Trigger Eventpostgres_changesIngest Pipeline

Sample Webhook JSON Payload

{
  "event": "postgres_changes_to_tally",
  "timestamp": 1788105199,
  "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": "Tally",
    "auth_mode": "Bearer Token Header",
    "target_endpoint": "https://api.tally.com/v1/ingest",
    "mapped_fields": {
      "submission_id": "{{source.schema}}",
      "form_id": "{{source.table}}",
      "responder_email": "{{source.commit_timestamp}}",
      "fields_payload": "{{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 Tally 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