Skip to content
PDFBetter Help center

Workflows & integrations · API & agents

Get webhooks when documents are signed or forms submitted

In Settings → API keys → Webhooks, enter an https Endpoint URL, pick Events and click Add endpoint. Copy the signing secret (shown once) and use it to verify the PDFBetter-Signature header.

Updated 2 min read Available on Business

On this page (4)
  1. Add an endpoint
  2. Events
  3. Receiving events
  4. Manage endpoints

Webhooks tell your server the moment something changes, so you don't have to poll. They're part of the Business plan and live on the same page as your API keys.

Add an endpoint

  1. Step 1: Open API keys

    Click Settings at the bottom of the sidebar, then API keys, and scroll to Webhooks.

  2. Step 2: Enter the endpoint

    Type your Endpoint URL. It must use https and reach a public address. Add a Description if you have several.

  3. Step 3: Pick events

    Tick the Events you want, or All events (including ones added later).

  4. Step 4: Save and copy the secret

    Click Add endpoint. Copy the signing secret now; it won't be shown again.

  5. Step 5: Send a test

    Click Test next to the endpoint and check your server's logs for the event.

Events

EventType
Request sent / Recipient viewed / Recipient signedsignature_request.sent, .viewed, .signed
Request completedsignature_request.completed
Recipient declined / Request canceled / Request expiredsignature_request.declined, .canceled, .expired
Form responseform.response_created
Document exporteddocument.exported
Bulk fill finishedbulk_job.completed
Workflow awaiting approval / succeeded / failed / export ready / webhook stepworkflow.run.*

Receiving events

  • Reply with any 2xx within 10 seconds and do slow work afterwards. Redirects count as failures.
  • Verify the PDFBetter-Signature header with the endpoint's signing secret. The developer docs show how, with code.
  • Failed deliveries are retried. The event id stays the same, so de-duplicate on it.
  • Order isn't guaranteed. Fetch the resource if you need its latest state.

Manage endpoints

Next to each endpoint: Test sends a test event, Rotate secret issues a new signing secret (it takes effect immediately), Disable/Enable pauses deliveries, and the trash icon deletes it. Deleting stops deliveries at once, including queued retries.

Can a workflow send a webhook?

Yes. Add a Send webhook step, or set an Export step to Also send to my webhook endpoints (Business). Both go to the endpoints set up here.

I'm not on Business. Is there another way to get notified?

Zapier and Make triggers (for example Document Fully Signed) work on any plan with an account and don't use this page.

Did this answer your question?

Still stuck? Ask a person.

Tell us what you were trying to do and what happened instead. We reply within two business days, usually sooner.