Overview
eSign is The One Stack's electronic signature platform. It creates signable document packages (envelopes), collects signer field values via a public signing link, renders a final PDF, and keeps an immutable audit trail. Other products on the platform — Legal, Build, CRM, AMS — use eSign through its API so their documents flow through one signing engine.
Key Features
- Envelopes: signable packages with one or more documents and ordered or parallel signers
- Signature fields: signature, initials, text, date, and checkbox fields placed by page coordinates
- Ordered or parallel signer flows
- Public signing via unique token per signer — no login required for signers
- PDF rendering that flattens the signed document
- Audit events for every envelope state change (created, sent, viewed, signed, declined, completed, voided, expired, reminder sent)
- Reminders to chase incomplete signers
- Void with reason
- Expiry dates on envelopes
- Source tracking so Legal, Build, CRM, AMS, etc. can link back to the originating record
- Setup wizard and admin out-of-box defaults
How To: Create an Envelope
- Open eSign and go to Envelopes > New.
- Set the title, expiry date (optional), and any source tracking (service name plus source record ID) so the caller can link back.
- Upload one or more documents. For each document, add signature fields — place a signature, initials, text, date, or checkbox on a specific page at a specific position.
- Add signers with name, email, and optionally a role (client, attorney, witness). If you need signing order, set each signer's order number.
- Save. The envelope is now Draft.
How To: Send for Signature
- On the envelope, click Send. The envelope moves to Sent.
- eSign generates a unique public signing URL for each signer and sends invites (via the calling product's email system — eSign publishes events, consumers deliver email).
- The first signer opens their link, reviews the document, fills fields, and submits. They can decline with a reason if needed.
- When that signer completes, status becomes Partial. Next signer in order gets notified. If parallel, all signers can sign immediately.
- When the last signer completes, the envelope moves to Completed.
How To: Set Up a Template
- Templates are managed per calling product. Legal has its own contract templates, AMS has email templates, and so on. eSign accepts whatever documents you send it.
- For a consistent envelope shape, build a template in the calling product and have it create envelopes with the same structure each time.
How To: Track Completion
- Open an envelope to see current status: draft, sent, partial, completed, declined, voided, or expired.
- The Audit tab shows every state change with actor, timestamp, IP address, and user agent for each signer event.
- When completed, click PDF to generate the flattened final document.
How To: Remind or Void
- If a signer is slow, click Remind on the envelope. eSign publishes a reminder event; the calling product sends the reminder email.
- To cancel, click Void and enter a reason. The envelope status becomes Voided and all outstanding signer links stop working.
How To: Handle the Public Signing Flow
- A signer receives an email with their unique link:
/api/v1/esign/sign/:token. - They open the link. eSign looks up the envelope (token uniquely identifies both envelope and signer), records a Viewed event, and shows them the documents.
- They fill field values via the UI (which calls POST
/:token/fields). - When they're done, they click Complete. eSign records a Signed event. If they're the last signer, the envelope moves to Completed.
- They can Decline instead, with a reason. Status becomes Declined and no further signers are contacted.
Frequently Asked Questions
Do signers need accounts? No. Signers get a unique URL with a token. No password, no login.
How are tokens kept secure? Each signer has a random URL-safe token. eSign looks up the envelope across all tenants by scanning for that exact token, so signer tokens act as a capability — keep them private.
What happens to the envelope if a signer declines? Envelope status becomes Declined and the flow stops. You'd typically void the envelope and create a new one with updates.
Can I reuse envelope content? Calling products (Legal, Build, CRM) are responsible for their own templating. eSign just takes the final content.
What events does eSign publish?
envelope.created, envelope.sent, envelope.viewed, envelope.signed, envelope.declined, envelope.completed, envelope.voided, envelope.expired, and reminder.sent. Consumer services (Legal, Build, AMS, CRM) subscribe to keep their own records in sync.
Where's the audit log? On each envelope, the Audit tab. Every state change writes an immutable event record.
Can I resend an envelope? Not directly — you void the old one and create a new one. The audit trail records both.
Troubleshooting
Signer link returns "Not found." The envelope was voided, expired, or the token is wrong. Check the envelope status.
Envelope stuck in Partial. One or more signers haven't completed. Click Remind or check who's outstanding on the Signers tab.
PDF won't generate. Generation is a separate action on the completed envelope. Confirm the envelope is in Completed status (not Partial or Sent).
Reminders aren't going out. eSign publishes reminder events; the calling product handles email delivery. Check the calling product's email config.
Calling product isn't syncing status. Make sure the calling product is subscribed to esign-events on the bus and its subscriber is running.
Field values missing on final PDF. Make sure the signer actually filled the field (some text/checkbox fields may be optional). Only submitted fields render on the PDF.