Skip to content
PynPyn

Webhooks

An inbound webhook is an address another system posts JSON to. Each webhook belongs to a form: a payload that arrives becomes a submission of that form for the employee the payload names, and that submission can trigger an automation. Webhooks are created on the form, in its Webhook drawer; Settings lists them all in one place.

The Webhooks view in Settings, listing the workspace's inbound webhooks.
Settings > General > Webhooks lists every inbound webhook created on a form.
  • The endpoint is POST /api/webhook/<webhook id> with the header Authorization: Bearer <secret> and a JSON body. The panel shows the URL and Header to send: “Post a JSON body here, with the secret as a bearer token.”
  • The body names the employee with subject_id and the answers under fields. The form’s Subject setting says which source system that id comes from, for example a BambooHR employee id.
  • Every call is answered 202 as soon as it is accepted; the History tab is the record of what became of each payload. Entries carry a code such as submitted, unknown-subject, invalid-fields or already-submitted.
  • A payload Pyn could not take raises a notice in Notices keyed by its code, so a caller repeating one mistake updates a single notice rather than raising many. Admins can also be emailed; see Set notification emails.
  • A webhook accepts nothing until it has a secret, and an archived webhook stops accepting payloads.
  • Create or replace a webhook secret
  • Rename a webhook from its panel
  • Read the History of payloads and export the whole log as CSV from the form’s Webhook drawer
  • Archive a webhook from its … menu

Open /settings/general/webhooks in Pyn, or open Settings in the primary navigation and select Webhooks under General. To create a webhook, open the form in Forms, select Settings in the rail and then Add Webhook.