May 2, 2026 · Developer Guide

E-Signature API Webhooks: Get Notified the Instant a Document Is Signed

Don't poll. Don't check. Get a webhook the moment a document is signed, viewed, or declined — and trigger your next workflow automatically.

Michael Beckett
Michael Beckett

Founder, Signbee

TL;DR

Webhooks replace polling. Instead of checking document status every 30 seconds, you receive a POST request the instant something happens. Register a URL, verify the signature, and trigger your workflow. Works with any app that sends documents for signature.

How e-signature webhooks work

1.You register a webhook URL with the e-signature provider
2.A signer opens, signs, or declines a document
3.The provider sends a POST request to your URL with event data
4.Your server processes the event and responds with 200 OK

Common webhook events

EventWhen it firesCommon action
document.sentDocument sent to recipientLog in CRM
document.viewedRecipient opens the documentNotify sales team
document.signedRecipient signsTrigger onboarding, payment
document.declinedRecipient declines to signAlert account manager
document.expiredSigning deadline passesResend or escalate

Webhook handler example

Next.js API route — handle signing events
// app/api/webhooks/signing/route.ts
import { NextRequest, NextResponse } from "next/server";

export async function POST(req: NextRequest) {
  const body = await req.json();
  const { event, document_id, signer_email, signed_at } = body;

  switch (event) {
    case "document.signed":
      // Update your database
      await db.contract.update({
        where: { documentId: document_id },
        data: { status: "SIGNED", signedAt: signed_at },
      });
      // Trigger next workflow
      await startOnboarding(signer_email);
      break;

    case "document.viewed":
      await notifySalesTeam(document_id, signer_email);
      break;

    case "document.declined":
      await alertAccountManager(document_id);
      break;
  }

  return NextResponse.json({ received: true }, { status: 200 });
}

Webhook security checklist

  • Verify the signature — check the HMAC signature in the request header
  • Use HTTPS — never expose a webhook URL over HTTP
  • Respond quickly — return 200 OK within 5 seconds, process async
  • Handle retries — webhooks may be sent multiple times; make handlers idempotent
  • Log everything — store raw payloads for debugging and audit

Frequently Asked Questions

What are e-signature webhooks?

HTTP callbacks that notify your app in real-time when signing events occur. They replace polling and enable automated workflows.

Which providers support webhooks?

DocuSign (Connect), HelloSign, PandaDoc, BoldSign, and Signbee all support webhooks. Implementation complexity varies significantly — see our full API comparison.

Real-time signing webhooks — 5 free docs/month.

Last updated: May 2, 2026 · Michael Beckett is the founder of Signbee and B2bee Ltd.

Related resources