Linking DocuSign as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Contents

Alpha release

This source is currently in alpha. The interface and available tables may change.

The DocuSign connector syncs your e-signature data — envelopes, recipients, documents, templates, users, and folders — into the PostHog data warehouse. This lets you analyze contract and sales cycle activity alongside your product data.

Prerequisites

You need a DocuSign account and an integration key created in DocuSign Apps and Keys.

For JWT grant authentication (recommended), you also need to:

  1. Add an RSA key pair to your integration key.
  2. Grant one-time consent for the user you want to impersonate.

Note: Production integration keys must pass DocuSign's go-live review before they work outside the demo environment.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking DocuSign, you'll need to configure:

  • Environment – select Production for live accounts or Demo (sandbox) for testing. Production keys require go-live approval from DocuSign.

  • Authentication type – choose one of the following:

  • Integration key – your app's UUID from DocuSign Apps and Keys.
  • Impersonated user ID – the API user ID (UUID) of the user to impersonate. Find this under Apps and Keys → My Account Information.
  • RSA private key – the full PEM key including the -----BEGIN RSA PRIVATE KEY----- and -----END RSA PRIVATE KEY----- lines.

Refresh token

  • Integration key – your app's UUID from DocuSign Apps and Keys.
  • Secret key – your app's secret key.
  • Refresh token – a valid refresh token obtained through DocuSign's OAuth flow.

Optional fields

  • Account ID – leave blank to use your default account. Only needed if the impersonated user has access to multiple DocuSign accounts and you want to sync a non-default one.
  • Start date – how far back to sync. Defaults to the last 2 years. Use ISO 8601 format, e.g. 2023-01-01T00:00:00Z.

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

Envelope-based tables (envelopes, envelope_recipients, envelope_documents) and templates support incremental syncing. The users and folders tables always perform a full refresh since DocuSign does not support server-side date filtering for these resources.

Interrupted syncs resume from where they left off.

Configuration

OptionTypeRequired
EnvironmentselectYes
Authentication typeselectYes
Account IDtextNo
Start datetextNo

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
envelopes

Envelopes sent from the account — the container that holds the documents, recipients, and signing status for one agreement.

Incremental, Full refreshstatusChangedDateTime
envelope_recipients

One row per recipient on each envelope, flattened from the per-role recipient buckets (signers, carbon copies, agents, certified deliveries, and so on).

Incremental, Full refreshenvelopeStatusChangedDateTime
envelope_documents

Metadata for each document attached to an envelope. Document content itself is not synced.

Incremental, Full refreshenvelopeStatusChangedDateTime
templates

Reusable envelope templates defined on the account.

Incremental, Full refreshlastModified
users

Users belonging to the DocuSign account.

Full refresh
folders

Folders used to organize envelopes and templates on the account.

Full refresh

Troubleshooting

DocuSign needs one-time consent for the integration key. Grant consent for the impersonated user by visiting the consent URL for your app, then reconnect.

invalid_grant

DocuSign rejected the credentials. Check the integration key, the impersonated user ID, and that the key is authorized for the selected environment.

unauthorized_client

The integration key is not authorized for the selected environment. Production keys must pass DocuSign's go-live review before they work outside the demo environment.

401 Unauthorized

DocuSign authentication failed. Your credentials may have been revoked — reconnect with fresh credentials.

403 Forbidden

DocuSign denied access. Check that the impersonated user has permission to read the account's data.

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Was this page useful?