Verdocs - Developer Documentation

Webhooks

Receive envelope and template events at your own HTTPS endpoint instead of polling the API.

Rather than constantly polling for updates, Webhooks allow your application to receive immediate updates as users interact with Templates and Documents. To receive Webhook calls, you must provide an endpoint within your app reachable via an HTTPS POST call. When enabled, your endpoint will be called once per event.

To enable Webhooks, visit your Organization Settings panel in the Verdocs Dashboard and open Developer Settings. Here you can configure your Webhook endpoint and the events you wish to receive:

Sample Webhook Config

Webhook Events

Select an event to see the full TypeScript shape of its request body and an example. All dates in payloads are ISO 8601 strings.

Envelope events

POSTenvelope_created
// The JSON body POSTed to your endpoint. Dates are ISO 8601.interface WebhookRequest {  // Unique per delivery. Retries and resends reuse it.  id: string;  event: 'envelope_created';  created_at: string;  organization_id: string;  data: EnvelopeBase;}interface EnvelopeBase {  id: string;  name: string | null;  status:    | 'pending'    | 'in progress'    | 'complete'    | 'declined'    | 'canceled'    | 'expired';  profile_id: string | null;  organization_id: string | null;  template_id: string | null;  sender_name: string | null;  sender_email: string | null;  visibility: 'private' | 'shared';  // True when Verdocs doesn't email or text recipients  no_contact: boolean;  // Reminder intervals, in milliseconds  initial_reminder: number | null;  followup_reminders: number | null;  max_reminder_days: number;  next_reminder: string | null;  expires_at: string | null;  canceled_at: string | null;  signed: boolean;  brand_key: string | null;  // Custom data supplied when the envelope was created  data: Record<string, unknown> | null;  created_at: string;  updated_at: string;}

Recipient events

Template events

Organization events