Skip to content

Dropbox Sign (HelloSign)

Send agreements for e-signature via Dropbox Sign (formerly HelloSign) 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 Dropbox Sign-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 Dropbox Sign 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 Dropbox Sign API.

At a glance

Extension id hellosign
Category registration
Version 0.1.0
Provides ESignatureStrategy implementation (registered as hellosign)
External account Dropbox Sign — API Key, Client ID

What It Provides

  • E-signature strategyHelloSignStrategy, registered with the strategy resolver as an ESignatureStrategy implementation named hellosign 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 Dropbox Sign credentials in the extension's configuration form (fields below). The manifest's install hint reads: "pip install dropbox-sign, then configure API key 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
api_key string No No API Key
client_id string No No Client ID
test_mode boolean No No Test Mode — defaults to true

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.