docusign_get_envelope_form_data, the tool that reads back the values signers filled into a DocuSign envelope.
Authentication
DocuSign tools use the DocuSign connector, which authenticates with JWT Grant (server-to-server). Users configureintegration_key, user_id and private_key, plus optional account_id and environment. See docusign.md for setup and the one-time admin consent step.
docusign_get_envelope_form_data
Returns every value a signer entered — text fields, checkboxes, radio buttons and dropdowns. Read-only, and most useful once an envelope reaches completed.
Inputs
Required:envelope_id: Id of the envelope to read.
field_names: Return only these fields. Matching is case-insensitive, because template tab labels are hand-authored and their casing drifts between template versions.
Output
Structured content includes:envelope_id,envelope_statuscount: number of fields returnedfields: array of{name, value, original_value}values: a flatname → valuemap for direct lookuprecipients: per-signer grouping with signing timestampsmissing_fields: present only whenfield_namesasked for something the envelope doesn’t have
Two behaviours to design around
Values are returned verbatim, never interpreted. A checkbox typically reads"x" or an empty string — not true/false. A radio group returns the selected option’s label. Any yes/no or scoring logic belongs in the caller.
For clinical or otherwise consequential scoring (screening instruments, risk flags), keep that logic in deterministic code — python_code — rather than asking a model to read the value. A scoring rule that is a lookup table should stay a lookup table.
A requested field that isn’t on the envelope is reported, not dropped. It appears in missing_fields and in the markdown summary. This matters: on a screening form “answered no” and “never asked” are different answers, and a tool that silently omitted the absent field would make a question that stopped being asked look like a negative response.
Notes
- Field names come from the template’s tab labels — stable within a template, different across templates. A template revision that renames a tab will surface as a
missing_fieldsentry rather than a wrong value. - An envelope that is not yet
completedmay return partial or empty form data; checkenvelope_statusbefore trusting absence.