Zum Hauptinhalt springen
DocumentMS

Integration

Document management webhooks

Webhooks push DocumentMS events outward as they happen: a document uploaded, a new version created, an approval granted, a signature completed, a permission changed or a record deleted. Payloads are signed so the receiver can verify they came from us.

What this connection does

Webhooks push DocumentMS events outward as they happen: a document uploaded, a version created, an approval granted, a signature completed, a permission changed, a record deleted. Payloads are signed so the receiver can verify origin and detect replay.

Webhooks are what make DocumentMS usable as a component rather than a destination. An approval here can advance a case in another system without either side polling the other, which is both faster and considerably cheaper in API calls.

What you need on your side

Have these ready before you start; the configuration itself takes minutes.
  • An HTTPS endpoint that can receive POST requests and respond quickly
  • Somewhere to store the signing secret, so payload signatures can be verified
  • An idempotent handler — networks retry, and a handler that processes the same event twice will eventually be asked to

Setting it up

Test with one user and one document before rolling out. Connection events and permission changes appear in the audit trail.
  1. Step 1: Register the endpoint

    Add your HTTPS endpoint and select which event types to receive. Subscribe narrowly rather than to everything.

  2. Step 2: Verify signatures

    Check the signature on every payload before acting on it. An unverified webhook endpoint is an unauthenticated write path into your system.

  3. Step 3: Respond fast, process async

    Acknowledge receipt immediately and do the work asynchronously, so a slow downstream system does not cause retries.

  4. Step 4: Handle retries idempotently

    Use the event identifier to detect a repeat. Delivery is at-least-once, not exactly-once.

Limits worth knowing before you rely on it

Stated up front rather than discovered later. Every integration has boundaries, and a directory that hides them just moves the discovery to a support ticket.
  • Delivery is at-least-once — a handler must be idempotent, because duplicate delivery is normal rather than exceptional
  • Event ordering is not guaranteed across event types; do not infer sequence from arrival order
  • Failed deliveries retry with exponential backoff — 1 minute, 5, 15, 1 hour, then every 6 hours — for up to 72 hours. An endpoint failing continuously for 72 hours is disabled and its owner emailed; events are replayable from the dashboard for 30 days, so a disabled endpoint does not mean lost events
We can set the connection up against a sandbox tenant on a demo call so you can see the behaviour rather than read about it.