Skip to main content

Inbound Webhook Tools

An inbound webhook is a public URL that turns each signed form submission, from a Framer form or any sender that signs JSON with the shared secret, into a new record of one type under a parent record. Inbound webhooks need a Business or Enterprise plan to be active or capturing.

Available tools​

ToolWhat it does
anydb_create_inbound_webhookCreates a webhook on a record and returns its url and secret.
anydb_list_inbound_webhooksLists the webhooks you can manage in a team, optionally for one record.
anydb_get_inbound_webhookReads one webhook's settings, status, stats, field map, and receiving URL.
anydb_update_inbound_webhookChanges the name, description, fieldMap, recordName, or templateName.
anydb_set_inbound_webhook_statusSets the webhook to active, capturing, or disabled.
anydb_rotate_inbound_webhook_secretReplaces the signing secret.
anydb_delete_inbound_webhookDeletes the webhook and every submission it stored.
anydb_list_inbound_webhook_deliveriesLists recent submissions without their payloads.
anydb_get_inbound_webhook_deliveryReads one submission with its payload.
anydb_replay_inbound_webhook_deliveryCreates a record from a failed or captured submission.

Set up a webhook​

  1. Call anydb_list_inbound_webhooks for the record so you do not create a second endpoint for the same form.
  2. Call anydb_create_inbound_webhook with the parent record, the type's templateName, a name, and the adapter.
  3. Copy the returned url and secret into the sender (in Framer, the form's Webhook settings). The secret is shown only when the webhook is created and when it is rotated. If it is lost, rotate it.
  4. Submit a test form. A new webhook is capturing: it stores submissions but creates no records.
  5. Read the field names with anydb_list_inbound_webhook_deliveries and anydb_get_inbound_webhook_delivery, and map any that do not match a cell with anydb_update_inbound_webhook.
  6. Call anydb_set_inbound_webhook_status with active, or create the webhook with startActive: true.

Statuses​

StatusBehavior
capturingStores submissions and creates no records. Use it to check the sender's field names.
activeEach valid submission becomes a record.
disabledThe URL answers 404.
suspendedThe daily limit was reached. Setting any status lifts the suspension.

Setting a webhook active does not create records from submissions it already captured. Use anydb_replay_inbound_webhook_delivery for those.

Field mapping​

fieldMap maps a sender's field name to a cell key. Matching already ignores case, spaces, and punctuation, so map only names that do not match a cell. Updating fieldMap replaces the whole map, so send every mapping you want to keep.

Troubleshoot a delivery​

A delivery has the status captured, created, failed, or processing. A failed delivery with per-field errors was refused with 422 and created no record. After fixing the type or the fieldMap, replay it. A delivery that already created a record cannot be replayed, and replay is refused while the webhook is capturing.

Submission payloads are personal data

A payload is what a person typed into a form. Read it only to learn the sender's real field names and value shapes.