Observers
CC-style spectators on a signing request — notified on dispatch + at completion. They never sign.
An observer is a CC-style recipient on a signing request. They never sign; they get notified twice:
- On dispatch — when the first signing request goes out: "X is collecting signatures on Y."
- At completion — when every signer has signed: a copy of the final tamper-evident PDF + the audit-trail PDF.
Observers are workspace-scoped CCs, distinct from signers. They get no signing URL, no token, no field placement.
Adding observers
{
"observer_emails": [
"outside-counsel@law-firm.com",
"compliance@acme.com"
]
}Pass on
POST /v1/signing-requests. Cap is
20 observers per document. Email addresses are de-duplicated and
lower-cased server-side; if a signer's email is also in
observer_emails, it's removed from the observer list (no double
emails).
When are they emailed?
| Event | Observer notification |
|---|---|
| First signer is invited | "X is collecting signatures…" — sent to all observers |
| Subsequent signers are invited | No notification (observer's inbox already has the dispatch note) |
| Each signer signs | No notification (saved for completion) |
| All signers have signed | "Final signed PDF" + audit-trail PDF — sent to all observers |
Observers don't see real-time intermediate events. If you want
that level of detail, register a webhook — the
workspace webhook fires signing_request.signed per signer, plus
document.completed at the end.
Use cases
- Outside counsel that needs the final signed contract for the firm's file.
- Compliance / risk that wants the audit trail PDF for an archive without becoming a signer.
- Account exec who needs a trigger to update the CRM but isn't party to the contract.
What observers don't do
- Sign — they receive emails, not signing URLs.
- Place fields — that's
placement="manual"territory. - Edit observers — once a signing request is dispatched the observer list is fixed for that document.
