Skip to main content
This guide helps you move a Docusign embedded signing integration to Formable. You still create a send, mint a recipient signing URL, embed it, and download the completed PDF. You drop OAuth account paths, clientUserId, and returnUrl redirects in favor of Bearer API keys, a simpler create payload, and webhook- or poll-driven completion. If you also prepare templates inside your product, migrate that first with Docusign → Embedded templates. Formable signing always starts from a prepared template.
New to Formable? Complete the Embedded signing walkthrough first, then use this page as a translation layer from Docusign envelopes and recipient views.
Prefer a white-glove migration? Email matt@formabledocs.com and we’ll handle moving your Docusign integration to the Formable API.

What you’re moving

In Docusign you typically:
  1. Authenticate with OAuth and call account-scoped REST paths
  2. Create an envelope with a recipient that has a clientUserId (embedded / captive signer)
  3. Call EnvelopeViews:createRecipientView with matching identity fields plus a returnUrl
  4. Redirect or iframe the view URL (often ~5 minute TTL)
  5. Detect completion via Connect / eventNotification or the returnUrl query event, then download documents
In Formable you:
  1. Authenticate with a Bearer API key (fmbl_…)
  2. Create an embedded signature request from a templateId with a signers array (each with email, name, and role)
  3. Mint a signingUrl from each signer’s recipientSignatureId (no clientUserId, no returnUrl)
  4. Load it in a plain iframe (URL lasts 1 hour)
  5. Handle document_completed or poll status, then download the signed envelope
The product journey stays the same: prepare a document, send it, embed signing, react when done. The API surface is smaller and organization-scoped by the key rather than by accountId in the path.
1

Get a Formable API key

Create an organization and key in Settings. See Authentication. You do not need JWT or Authorization Code exchange for the standard integration.
2

Migrate templates and field IDs

Re-upload documents and place fields in Formable. If you embed template editing, follow Embedded templates migration.
3

Replace Envelopes:create

Map template roles and tab values to signers, sender, and optional fields.
4

Replace createRecipientView

Call create signing URL; drop clientUserId, returnUrl, and authenticationMethod.
5

Swap Connect for Formable webhooks

Register one org webhook URL and verify Content-Sha256. See Webhooks.

What’s similar

Several Docusign ideas transfer directly:
  • A reusable template still backs many sends.
  • You still create a send unit (envelope → signature request), then open a short-lived URL for the signer.
  • Prefill / tab values still happen at send time; Formable uses fields: [{ fieldId, value }].
  • Demo / non-billing traffic maps to testMode: true (instead of relying only on a demo account). Test mode documents are watermarked and are not legally binding.
  • After completion you still fetch a combined signed PDF.
If your Docusign flow is “create envelope from template → create recipient view → iframe → Connect → download,” you are remapping objects and removing embedded-signer bookkeeping, not redesigning the user journey.

What’s different

These Docusign-specific pieces do not carry over: You no longer maintain a parallel “captive signer” identity. Create the request when you’re ready to send, mint the URL when the user is ready to sign, and listen for completion out of band.

Concept map

Endpoint map

Auth

Docusign:
against /restapi/v2.1/accounts/{accountId}/.... Formable:
No accountId in the path. Create the key in Settings and keep it on the server. Full details: Authentication.

Migrate the flow

1. Create the signature request (was: create envelope)

Docusign (simplified):
Formable:
Response
Pass a signers array on every create. Each signer needs email, name, and role. sender is optional and defaults to the org owner. Map tab / merge values to fields using Formable fieldIds from the template editor (not Docusign tabLabels). Save each signer’s recipientSignatureId to mint their signing URL.

2. Create the signing URL (was: recipient view)

Docusign:
Formable:
Response
No clientUserId, returnUrl, or authenticationMethod. You do not re-send the signer’s email and name on the URL call — pass their recipientSignatureId from the create response. Formable URLs last 1 hour. Creating a URL for an already completed request returns 409.

3. Embed on the client

Use onSigningComplete instead of a Docusign returnUrl redirect for client UX. Confirm completion with document_completed or by polling status until Completed before downloading. See Embedded signing.

4. Download the signed PDF

Response
Webhook verification uses Content-Sha256 instead of X-DocuSign-Signature-1. See Verifying webhooks and Webhooks overview.

Differences to plan for

Drop JWT / Auth Code token exchange for a Bearer API key on your server. The organization is implied by the key, so paths omit accountId.
Embedded is the default. Create the request, then mint the URL when the user is ready. You do not mark recipients as captive at create time.
Listen for onSigningComplete to update the client immediately. Confirm with a webhook or poll before downloading, then build any “signing finished” screen in your own app.
Plan refresh logic around a 1 hour TTL instead of Docusign’s shorter recipient-view window. Still mint just in time; don’t store URLs for later sessions.

Checklist

1

Create a Formable API key

2

Prepare templates and field IDs

Or migrate the embedded template flow separately.
3

Replace Envelopes:create

Use create embedded signature request with signers (including role), optional sender, and optional fields.
4

Replace createRecipientView

Call create signing URL with each signer’s recipientSignatureId; drop clientUserId, returnUrl, and authenticationMethod.
5

Swap Connect for Formable webhooks

Handle document_completed and download the signed envelope.

Next steps

Embedded templates migration

Map Docusign template edit views to Formable.

Embedded signing walkthrough

Full Formable signing walkthrough.

Webhooks

Register endpoints and understand delivery.

Authentication

Bearer fmbl_ API keys.