TrueSign setup
All configuration happens in the TrueSign app → TrueSign Setup → eSignature → Settings — no deployment, no code change.
After installing the package
Installation automates the essentials; here is what is done for you and what remains:
| Automatic at install | Manual (once) |
|---|---|
| TES_Admin permission set assigned to the installer | Permission sets for other users (User Management) |
| 5 maintenance jobs scheduled — see Jobs | Yousign API key (secret — below) |
| Sandbox Remote Sites shipped with the package | Production Yousign Remote Site (https://api.yousign.app) |
| Self-callout Named Credential shipped | Public Site + TES_Guest permission set (webhook, weSign pages) |
| Verified sending address + "All email" deliverability (if weSign) | |
| A first active template |
Yousign connection
- API key: generate it in Yousign (Settings → API → API Keys) and paste it in the Settings screen. The field is masked after saving (
••••••••+ last 4 characters) — the key is never shown again in clear text, nor accessible outside the package. See Security architecture. - Environment: the Sandbox ↔ Production toggle switches the target URL without redeployment. In production, remember the
https://api.yousign.appRemote Site (sandbox is already packaged). - Test Connection: validates the credentials — expect the "Yousign connected" badge.
The Yousign key is not mandatory: an org that only signs with weSign saves its settings without a key — the guardrails apply at send time, not at data entry.
Sandbox and production API keys are segregated: a sandbox key does not work in production, and vice versa. In sandbox, signer emails must belong to your Yousign organization.
Configure the webhook
The webhook makes synchronization real time: Yousign notifies Salesforce on every signature event, and the interface updates by itself (event-driven tracking).
In production — automatic provisioning
- Expose the endpoint — create a Salesforce Site (Setup → Sites), then assign the site's Guest User the
TES_Guestpermission set shipped with the package: it carries exactly what is needed (webhook, weSign ceremony and certificate pages), least-privilege — no field-by-field configuration. The Settings screen shows the public Site URL that will be used. - Provision — click Provision webhook in Settings: TrueSign creates the webhook at Yousign through the API, and the HMAC secret generated by Yousign is stored automatically — nothing to copy-paste. The operation is idempotent: if the webhook already exists, TrueSign detects it and re-syncs the secret. If the secret can't be stored automatically, a message simply asks you to paste it into Settings.
- Verify — the Webhook intake card on the Settings screen lists every received event: it is the first checkpoint, and the first diagnostic reflex.
TrueSign verifies the HMAC signature of every notification and rejects any unauthenticated event (fail-closed).
The Yousign sandbox only allows webhook management from its dashboard (the API returns 403) — automatic provisioning therefore works for your customers in production, but not in sandbox. In sandbox: Yousign Dashboard → Webhooks → Create Webhook, paste the URL shown in Settings, subscribe to the 8 TrueSign events (signer.notified, signer.done, signer.declined, approver.approved, approver.rejected, signature_request.done, signature_request.expired, signature_request.canceled), then copy the secret into Settings.
Known trap: after a burst of rejected notifications (out-of-sync secret → 401), Yousign silently suspends deliveries without changing the webhook's displayed state — re-arm it from the dashboard.
Without the webhook, TrueSign still works: statuses sync on Refresh (see actions).
Global preferences
The Settings screen also carries the org defaults, overridable per template:
| Setting | Default | Description |
|---|---|---|
| Signature provider | Yousign | Yousign (AES/QES) or weSign (SES, inside your org) — overridable per template and per send. See Signature providers |
| Expiration | 30 days | Between 1 and 365 days |
| Authentication mode | Email OTP | SMS OTP (AES level) and access code configurable per template and per signer — see Signature levels |
| Language | fr | Default invitation language |
| Log retention | 90 days | See Logs & audit |
| Sending address | — | Verified Org-Wide Email Address, used as the sender identity for weSign emails |
| Chatter | Enabled | Automatic posts on records, can be disabled globally or per template |
The Governance section of this same screen contains the kill switch — the emergency shutdown of the integration.
Permission sets
| Permission set | Who | Grants access to |
|---|---|---|
TES_Admin | Administrators | Everything: configuration, templates, logs, migration, user management |
TES_User | Business users | Sending, tracking, cancelling their own requests |
TES_ReadOnly | Viewers | Read-only access to requests and statuses |
TES_GenUser | Gen users | Document generation + sending |
TES_BulkSendUser | Bulk senders | Bulk send — not included in TES_User |
The User Management screen (Administration sidebar) assigns these permission sets and tracks per-user usage.