Skip to main content
A workflow can send a document for signature, deliver the signing link by text or email, and wait on the call until the document is signed. It can also take a value such as a Social Security number from the caller’s keypad, so neither the transcript nor the voice model ever holds it. Everything here is configuration in your workspace: your DocuSign account, your message templates and your workflow.

What you need

  • A DocuSign account. Developer (demo) accounts work for testing.
  • For texts, an SMS number on your workspace, and for emails, an email channel. Centillion assigns SMS numbers; see SMS.
  • Owners and Members change these settings; see workspace roles.

Connect DocuSign

Open Integrations and find Signing and messages. Choose Connect DocuSign, pick the environment, then connect one of two ways:
  • Sign in with DocuSign connects your account through Centillion’s DocuSign app.
  • Your own integration key uses DocuSign’s JWT grant: enter the integration key, the user the workflow acts as, and the RSA private key, which is stored encrypted and never shown again. In DocuSign, grant that key consent for the user first.
The Connect DocuSign dialog with the environment, a Sign in with DocuSign button, and the integration key, user ID, account ID and RSA private key fields.

Connect DocuSign: sign in, or enter your own integration key.

Then add the Connect HMAC key from your DocuSign account’s Connect settings, with the Connect URL shown under the connection. DocuSign tells Centillion when an envelope is viewed, signed or declined, and Centillion reads the envelope back from your account before a workflow moves on.

Write your message templates

Under Signing and messages → Message templates, choose New template. Each template has a name, a language, the SMS text, and the email subject and text. Every word is yours. Placeholders fill in at send time:
  • {link}: the signing link, or any link the step passes.
  • {first_name} or any workflow variable by its name. Sensitive variables never fill a message.
  • {opt_out}: your opt-out line, set under Opt-out lines for SMS and email. Email adds an unsubscribe link after it.
An SMS template with no opt-out wording shows a warning. Carriers review how your texts let people opt out, so add {opt_out} or your own words. A reply of STOP always stops your texts, whatever the template says.
The Signing and messages section with the e-signature connection, two message templates that use {link} and {opt_out}, and the SMS and email opt-out lines.

Signing and messages on the Integrations page: DocuSign, your templates and your opt-out lines.

How a signing step usually runs

Most businesses already create their envelopes in their own system. The workflow asks that system for the envelope, then takes it over:
  1. A Tool step runs a webhook tool that calls your endpoint. Your endpoint creates the envelope in your DocuSign account, or finds the one it already sent, and answers with its envelope id. A response mapping stores it in a workflow variable, such as envelope_id.
  2. A Tool step runs E-signature · Prepare for signature in adopt mode, with envelope_id mapped from that variable. It fills the fields from your workflow’s variables and returns the signing link. Each field is Required unless you clear the box: a required field with no value stops the step and nothing is sent, while an optional one, such as an address’s second line, is left blank.
  3. A Tool step texts the link with Messages · Send, or signs on the customer’s behalf with E-signature · Sign on behalf.
  4. A Wait for event step waits for Signed.
If you keep a DocuSign template instead, Prepare for signature can create the envelope from it.

Add connector actions

Open Tools, choose Add tool, then Connector action. Pick the action, then fill in what it needs:
A connector action panel set to Messages · Send, with the SMS channel, the signing_link template, and Sent to a customer.

A Messages · Send action: the channel, the template and who it goes to.

A workflow’s Tool step runs the action. Under Inputs, give each input a workflow variable or a value, or leave it to the model to fill from the conversation. Two exceptions: the envelope a step adopts comes from a workflow variable or a fixed value, never from the conversation, and an agent cannot adopt an envelope on its own. When one Tool step runs two actions that take an input of the same name, such as to, put them in separate Tool steps so each gets its own value. A step that is retried sends nothing twice. A conversation that comes back to the step later, through a loop in the workflow, sends again. Before every text to a customer, Centillion checks that the number has not opted out, is not on your do-not-call list, and, when the action asks for it, has a consent on record. When a text may go out, such as quiet hours where the customer lives, is yours to decide in the workflow. Before every email, it checks that the address has not unsubscribed. A refused or undelivered text tries the fallback channel. Messages to your staff go only to the number or address set on the action, and skip the consent check, never an opt-out. The first text a number sends to each customer carries the SMS notice your number was registered with. Messages carry Centillion’s own short link, never DocuSign’s. It opens a page with an Open the document button; the click asks DocuSign for a fresh signing session. So the link works for as long as you set, and a link preview or a mail scanner neither uses it up nor counts as an open. Each Prepare action chooses how the signer opens the documents:
  • Our signing link: the action returns the link, and the signer opens the documents from it. DocuSign sends that signer no reminders and no expiration notices, so the workflow sends the link, and any reminder, itself.
  • DocuSign’s email: DocuSign invites the signer, with its own reminders and expiration notices, and the action returns no link. Signing on behalf needs our signing link, so it cannot use this choice.

Signing on behalf

DocuSign does not let software sign a document. Sign on behalf records the customer’s verbal consent on the envelope (the time, your consent script’s version, and the conversation, step and try it was given in, as Centillion recorded them), then texts or emails the customer’s signing session to the person you name, who signs for them. The link never goes to the caller in this mode.

Wait for an event

Add a Wait for event step after the step that sends the document or the link. Connect one transition per event it waits for, such as Signed or Declined, and one Timeout transition. While it waits, the conversation goes on: the agent follows the step’s While waiting text and answers questions. On a call it says the Check-in line at the interval you set. In a chat or a text conversation, an event that arrives after the customer has gone quiet moves the conversation the next time they write. A call that ends while it waits is over: the next call is a new conversation, which starts from the beginning of the workflow. Use the expand button in While waiting to edit the instructions in a larger editor. Changes stay in the workflow draft until you save.
The workflow builder with a Wait for event step selected after a consent step, its Signed and Timed out transitions, and the inspector showing the while waiting text, a 15 minute timeout, the check-in line and a 60 second check-in.

A Wait for event step: what the agent does while it waits, the timeout and the check-in line.

The step counts events from the last Tool step action that starts something to wait for (Messages · Send, Prepare for signature or Sign on behalf), or from when the step began if none ran. Status, Signing link and Void do not move that point. So news that arrives while the agent is still talking is not missed, and each event moves the conversation once. Run the action a wait depends on from a Tool step: an action the agent calls on its own during a conversation step is not one a later wait counts from.

Sensitive values and keypad entry

In the workflow’s Global settings, list the Sensitive variables, such as ssn or date_of_birth. They are the workflow’s own variables, the ones an Update state step, a tool’s response or keypad entry writes; call and contact details such as contact.phone cannot be listed. Their values are stored encrypted and shown as •••-••-1234 in transcripts, conversations, the workflow’s judge and the dashboard, and a message never carries them. Only an action that needs the value, such as a concealed DocuSign field, reads it. On a subagent step, turn on Collect by keypad to take a variable from the caller’s keypad: the fewest and most digits, the key that ends the entry, and how long to wait after the last key. Ask for it in the step’s goal (“type your Social Security number, then press pound”). The digits go straight to the workflow and never reach speech-to-text or the voice model. Keypad entry is for calls; in chat, give the step another way on, such as an LLM condition.
The workflow builder with an SSN by keypad step selected and Collect by keypad turned on: variable ssn, 9 to 9 digits, ending with pound, a 15 second pause.

A subagent step that collects the SSN by keypad.

Healthcare and regulated data

DocuSign is your own vendor under your agreement with DocuSign. Texts go through Centillion’s Twilio account, so templates must carry no health information: say that documents are ready and include the link. A value marked sensitive is masked in any message before it is sent.
Last modified on November 2, 2026