Skip to content

DocuSign E-Signature

Send agreements for e-signature via the DocuSign eSignature API. The extension plugs into the registration module, which owns agreement templates (agreement_templates) and captured signatures (signature_records) during B2B/B2C account onboarding — this extension registers a DocuSign-backed implementation of the module's ESignatureStrategy interface for routing those agreements to an external signing provider.

Placeholder implementation

The strategy in this version is a scaffold, not a working DocuSign integration. create_signing_request logs the request and returns a fixed placeholder request id with no signing URL, check_status always reports pending, and get_signed_document returns nothing. No calls are made to the DocuSign API.

At a glance

Extension id docusign
Category registration
Version 0.1.0
Provides ESignatureStrategy implementation (registered as docusign)
External account DocuSign — Account ID, Integration Key, JWT User ID, RSA private key

What It Provides

  • E-signature strategyDocuSignStrategy, registered with the strategy resolver as an ESignatureStrategy implementation named docusign when the extension activates.
  • The ESignatureStrategy interface it implements covers three operations: create a signing request for an agreement (signer email, signer name, optional callback URL) returning a request id, signing URL, and status; check a request's status (pending, signed, declined, expired); and download the signed document.
  • Nothing else — the package contributes no webhook endpoints, Temporal workflows, schedules, admin pages, GraphQL fields, or event subscriptions.

Setup

  1. Once installed (or dev-linked in development), the extension is discovered at startup. Enable it for a channel from Settings > Extensions (per-channel activation via ChannelExtension).
  2. Enter the DocuSign credentials in the extension's configuration form (fields below). The manifest's install hint reads: "pip install docusign-esign, then configure API credentials in extension settings" — note that the current code does not import that SDK (see the placeholder warning above).

Configuration Reference

Key Type Required Secret Description
account_id string No No Account ID
integration_key string No No Integration Key
user_id string No No User ID (for JWT)
private_key_path string No No RSA Private Key Path
base_url string No No Defaults to https://demo.docusign.net/restapi (DocuSign demo environment)

Note

The config schema marks no field as required and no field as secret, so values are stored and rendered unmasked in the admin configuration form.

Operational Notes

  • The strategy is registered but not yet consumed. No core code path currently resolves ESignatureStrategy; the registration flow records signatures directly through the registration module's SignatureService into signature_records (method, signer IP, user agent, agreement version, SHA-256 content hash). Enabling this extension therefore has no runtime effect on the signing flow yet.
  • The registration module's built-in default captures signatures client-side (canvas/typed) with no external service (BuiltInSignatureStrategy).
  • Whether an agreement needs a signature at all is controlled per agreement template (requires_signature, on by default), not by this extension.