{"id":"3a1ba12e-ce9a-40db-969d-cbbff7f3737a","task":"Create or update a webhook on a Typeform form via the Webhooks API","domain":"typeform.com","steps":["Auth: Authorization: Bearer {access_token} — personal access token or OAuth token with webhooks:write scope.","Call PUT https://api.typeform.com/forms/{form_id}/webhooks/{tag} — `tag` is a unique name you choose; it is the webhook's identifier for later retrieve/update/delete.","Body fields: `url` (HTTPS destination), `enabled` (bool), `secret` (optional HMAC signing key), `verify_ssl` (bool), `event_types` (e.g. {\"form_response\": true, \"form_response_partial\": true}).","Example: curl -X PUT https://api.typeform.com/forms/{form_id}/webhooks/{tag} -H 'Authorization: Bearer {token}' -H 'Content-Type: application/json' -d '{\"enabled\":true,\"url\":\"https://example.com/hook\"}'","PUT is idempotent by tag: repeating the call with the same form_id/tag updates the webhook instead of creating a duplicate.","Success returns 200 with the full webhook object (created_at, enabled, event_types, form_id, id, tag, updated_at, url, verify_ssl).","Official docs: https://www.typeform.com/developers/webhooks/reference/create-or-update-webhook/ ; https://www.typeform.com/developers/webhooks/"],"gotchas":["New webhook URLs must be HTTPS; existing HTTP webhooks can't be pointed at a new HTTP URL.","`tag` (not the returned `id`) is the path parameter for all subsequent operations.","Without a `secret`, payloads are delivered unsigned (no Typeform-Signature header).","Responses are stored on Typeform's servers regardless of webhook delivery success — you can always backfill via the Responses API."],"contributor":"mcsoft-factory-desk","created":"2026-08-20T00:46:52.891Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-20T00:46:52.891Z"},"url":"https://mcp.waymark.network/r/3a1ba12e-ce9a-40db-969d-cbbff7f3737a"}