Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/Dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ The three numbers at the top break it down:
- **Viewed, not signed**: somebody opened it and then stopped. These are your warmest leads for a nudge.
- **Stalled over 72h**: nothing has happened for three days.

If a signer's email bounced or couldn't be sent, the document appears first, under **Can't reach the signer**. Each row shows the document, the signer, and what happened (for example `Pat Lee · Bounced`). Click the row to open **Fix signer email**, correct the address, and resend. See [How to Fix a Signer's Email Address](./TurboSign/Managing-Your-Signatures.md#how-to-fix-a-signers-email-address). Documents in this list don't also appear in **Needs a Nudge**, because a reminder to an address that bounced would bounce too.

Underneath them is **Needs a Nudge**, a short list of the specific documents that have been sitting the longest.

![The Needs a Nudge list highlighted inside the In Flight panel](/img/dashboard/needs_a_nudge.png)
Expand Down
3 changes: 2 additions & 1 deletion docs/Integrations/Wrike/signature-automation.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ In the **Wrike activity updates** section of the signature action step, you'll s
| **Progress** | A signer signs but the document is not yet fully complete | Document-level partial-signing progress |
| **Finalization failed** | The signed PDF could not be finalized (e.g. a signing error) | The document is **not** marked Completed |
| **Voided** | The signature request is voided or cancelled | e.g. `Document voided` |
| **Email not delivered** | A signer's signing email bounced, was blocked, or was marked as spam | Names the signer and the address, says why, and links to **Fix the signer's email in TurboDocx** |

These rows map to the same signature lifecycle events surfaced by [TurboSign webhooks](../../TurboSign/Webhooks.md) — see that page if you also want these events pushed to your own endpoints.

Expand All @@ -196,7 +197,7 @@ Each row is independent. You can, for example, post a comment on **Viewed** and

### How it behaves

- **Comments are off by default.** A row only posts a comment if you turn it on, so existing automations don't suddenly start commenting when you save.
- **Defaults for new automations.** A new automation starts with comments on for **Viewed**, **Signed**, **Finalization failed**, **Voided** and **Email not delivered**. Existing automations keep the choices they were saved with, so they don't suddenly start commenting. Turn on **Email not delivered** in an existing automation to be told in Wrike when a signer can't be reached.
- **Per-recipient progress.** The **Signed** comment includes how many of the total signers have signed (`X of Y signed`) so multi-signer flows read in sequence.
- **Non-blocking.** Activity updates never interrupt the signature flow — if a Wrike comment or status change can't be applied, signing still completes and the event is logged.
- **Deleted status safety.** If a status you selected is later removed in Wrike, TurboDocx posts a warning comment instead of silently failing.
Expand Down
6 changes: 6 additions & 0 deletions docs/TurboSign/Email-Deliverability-and-DKIM-DMARC.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ keywords:
- dkim signature
- arc seal
- email troubleshooting
- email bounced
- signer email not received
---

# Email Deliverability (DKIM / DMARC / SPF)
Expand All @@ -20,6 +22,10 @@ TurboDocx emails, including TurboSign signature requests and reminders, are sent

The most common cause is something modifying the email **in transit, after it was signed**, usually a security gateway between the sender and the inbox. The steps below help you confirm where it's happening and what to do about it.

:::tip First check whether the email arrived at all
TurboSign shows the delivery state of every signing email. Hover over a signer's avatar in the TurboSign document list: **Delivered** means their mail provider accepted the email, so if they still can't find it, this page applies. **Bounced** or **Blocked** means the address itself is the problem, and you can correct it with **Fix signer email**. See [Check Whether a Signer's Email Arrived](./Managing-Your-Signatures.md#check-whether-a-signers-email-arrived).
:::

## What's happening

A DKIM signature includes a cryptographic hash of the message body. The email is signed before it leaves our infrastructure. If anything along the delivery path changes the body, even slightly, the hash no longer matches and DKIM fails. Because DMARC passes only when SPF or DKIM is aligned, DMARC can fail as a result.
Expand Down
83 changes: 83 additions & 0 deletions docs/TurboSign/Managing-Your-Signatures.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ keywords:
- digital signature management
- online signature tracking
- signature reminder
- email bounced
- fix signer email
- email delivery status
- electronic document workflow
- paperless signing
- signature analytics
Expand All @@ -42,6 +45,7 @@ Once you've sent your document for signature, your work isn't done! This guide c
## What You'll Learn

- 📊 **Track signature progress** and see who's signed
- 📬 **Check whether each signer's email arrived** and fix an address that bounced
- 📧 **Resend signature emails** when needed
- ❌ **Void documents** that need to be cancelled
- 🔍 **View audit trails** for complete signature history
Expand All @@ -54,6 +58,7 @@ Once you've sent your document for signature, your work isn't done! This guide c
| Action | Purpose |
|--------|---------|
| **Void Document** | Cancel signature request |
| **Fix signer email** | Correct a signer's address after their email bounced, and resend |
| **Resend Email** | Send reminder to recipients |
| **Download PDF** | Get fully signed document |
| **Audit Trail** | View complete activity history |
Expand Down Expand Up @@ -99,6 +104,80 @@ The change saves immediately. Signers and CC recipients still get their copies.

---

## Check Whether a Signer's Email Arrived

TurboSign tracks every signing email it sends. A signer's request can only be signed if it reaches them, so the TurboSign dashboard tells you when it didn't.

**In the document list:**

- When a signer's email bounces, the document's **Status** shows **Email bounced** instead of **Under Review**.
- Hover over a signer's avatar to see their **Email delivery** state, when it changed, and what to do next.

![A document whose Status shows Email bounced, with the signer's hover card showing Email delivery: Bounced](/img/turbosign/EmailBouncedStatus.png)


| Delivery state | What it means | What to do |
|----------------|---------------|------------|
| **Sent** | We sent it and are waiting for their mail provider. | Nothing yet. |
| **Delivered** | Their mail provider accepted it. | If they can't find it, ask them to check spam or junk. |
| **Delayed** | Their mail provider is slow to accept it. We keep retrying. | Usually nothing. It often resolves on its own. |
| **Bounced** | The address doesn't exist or can't receive mail. | Fix the signer's email (see below). |
| **Blocked** | The address bounced before, so we didn't send it. | Fix the signer's email (see below). |
| **Marked as spam** | The signer reported the email as spam. | Check the address with the signer before sending again. |
| **Failed** | We couldn't send the email. | Resend it from the row menu. |

**Show only the documents with a problem:** open the **Status** filter and pick **Delivery problems**. The list then shows only documents with a signer whose email bounced, was blocked, was marked as spam, or failed. You can combine it with other statuses, such as **Under Review**.

:::note Delivered doesn't mean read
**Delivered** means the signer's mail provider accepted the email. It may still have been filtered into spam or junk. TurboSign doesn't track opens.
:::

### Get an email when a signer's email bounces

By default, the person who sent the document gets a "Your signing request didn't arrive" email when a signer's email bounces or is blocked. Its **Fix signer email** button opens the fix straight away. Organization admins can turn this off for everyone:

1. Click your **account avatar** at the bottom of the left sidebar, then click **Settings**.
2. In the menu on the left, click **Features and integrations**.
3. On the **Signatures** card, click **Configure E-Signature**.
4. In the **General** section, scroll to **Sender Notifications** and clear **Email me when a signer's email bounces**.

<br/>

---

## How to Fix a Signer's Email Address

If a signer's email bounced or was blocked, correct their address and send the request again in one step.

### Step-by-Step: Fixing a Signer's Email

**Step 1: Open Fix signer email**

1. Navigate to your **TurboSign Dashboard**
2. Find the document that shows **Email bounced**
3. Click the **three-dot menu (⋮)** next to the document, then click **Fix signer email**

![Document context menu with Fix signer email highlighted](/img/turbosign/FixSignerEmailMenu.png)

You can also click **Fix signer email** in the "Your signing request didn't arrive" alert email, or click the document in the **Can't reach the signer** list on the [Dashboard](../Dashboard.md).

**Step 2: Enter the new address**

4. Type the correct address in **New email**
5. Click **Update And Resend**

![Fix signer email dialog showing the current address crossed out, the new address, and the Update And Resend button highlighted](/img/turbosign/FixSignerEmailDialog.png)

The signer gets a new signing email at the new address straight away. Their old signing link stops working, and the change is recorded in the audit trail as **Signer email changed**, with who made it and the old and new addresses.

:::tip
**Resend Email** warns you when a signer's address bounced, because resending to it would bounce again. Fix the address instead.
:::

<br/>

---

## How to Resend Signature Emails

Need to send a gentle reminder to recipients who haven't signed yet? TurboSign makes it easy to resend signature requests to the next person in your signing order.
Expand Down Expand Up @@ -220,6 +299,10 @@ These are the two most important user events to monitor for tracking signature p
- **Document Digitally Signed by TurboSign** - When TurboSign applies digital signatures
- **Document Updated** - When the document is modified or updated via signature
- **Document Sent** - When the document is initially distributed for signature
- **Email Bounced** - When a signer's email didn't reach them, or wasn't sent because the address bounced before
- **Email Marked as Spam** - When the signer reported the signing email as spam
- **Email Failed to Send** - When the signing email couldn't be sent
- **Signer Email Changed** - When someone corrected a signer's address. The entry shows who changed it, the signer, and the old and new addresses


<br/>
Expand Down
64 changes: 56 additions & 8 deletions docs/TurboSign/Webhooks.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: TurboSign Webhooks
sidebar_position: 6
description: "Configure TurboSign webhooks to receive notifications for signature events: sent, viewed, signed, completed, voided, and finalization failures."
description: "Configure TurboSign webhooks to receive notifications for signature events: sent, viewed, signed, completed, voided, finalization failures, and signer emails that weren't delivered."
keywords:
- webhook configuration
- signature webhooks
Expand Down Expand Up @@ -35,7 +35,7 @@ keywords:

# Webhooks

Webhooks enable your application to receive real-time notifications when important events occur in TurboSign. Instead of polling for changes, webhooks push event data to your specified endpoints immediately across the whole signature lifecycle — when a document is sent, viewed, signed by each recipient, completed, voided, or fails to finalize.
Webhooks enable your application to receive real-time notifications when important events occur in TurboSign. Instead of polling for changes, webhooks push event data to your specified endpoints immediately across the whole signature lifecycle — when a document is sent, viewed, signed by each recipient, completed, voided, or fails to finalize, and when a signer's signing email doesn't reach them.

![Diagram comparing webhooks, which push new data to your app, with APIs, which your app has to ask for data](/img/webhooks/webhook-schema.png)

Expand Down Expand Up @@ -93,8 +93,9 @@ Webhooks can be configured from the E-Signature settings on the **Features and i
- **Signature Completed**: Triggered when all recipients have signed and the signed PDF is finalized
- **Finalization Failed**: Triggered when the signed PDF fails to finalize (e.g. KMS signing error); the document is not marked Completed
- **Signature Voided**: Triggered when a document is voided or cancelled
- **Email Not Delivered**: Triggered when a signer's signing email bounces, is blocked, or is reported as spam

![Subscribe to Events section with all seven signature webhook events highlighted](/img/webhooks/signature-webhook-config.png)
![Subscribe to Events section with the signature webhook events highlighted](/img/webhooks/signature-webhook-config.png)

6. **Save Configuration**
- Click "Save Configuration" to activate your webhooks
Expand Down Expand Up @@ -131,7 +132,7 @@ Your webhook secret is used to verify that webhooks are genuinely from TurboDocx

## Webhook Events

TurboSign emits **seven** subscribable events across the signature lifecycle. Every event shares the same envelope (`event`, `event_id`, `created_at`, `version`, `data`); only the `data` object differs per event.
TurboSign emits **eight** subscribable events across the signature lifecycle. Every event shares the same envelope (`event`, `event_id`, `created_at`, `version`, `data`); only the `data` object differs per event.

| Event | Fires when |
| ----- | ---------- |
Expand All @@ -142,6 +143,7 @@ TurboSign emits **seven** subscribable events across the signature lifecycle. Ev
| `signature.document.completed` | All recipients have signed and the signed PDF is finalized |
| `signature.document.finalization_failed` | The signed PDF fails to finalize (e.g. KMS signing error); the document is **not** completed |
| `signature.document.voided` | The document is voided or cancelled |
| `signature.recipient.email_bounced` | A signer's signing email bounced, was blocked, or was reported as spam |

### How the signing events fit together

Expand Down Expand Up @@ -345,6 +347,49 @@ Triggered when a document is voided or cancelled.
}
```

### Signature Recipient Email Bounced

Triggered when a signing email doesn't reach a signer, while the document is still out for signature. Use it to alert your team or correct the address in your own system.

**Event Name**: `signature.recipient.email_bounced`

It fires when:

- the signer's mail provider rejected the email (`delivery_status: "bounced"`),
- TurboSign didn't send it because the address bounced before (`delivery_status: "blocked"`), or
- the signer reported the email as spam (`delivery_status: "complained"`).

**Payload Example**:

```json
{
"event": "signature.recipient.email_bounced",
"event_id": "evt_5b0d8f7c1e2a4c6b9d3f0a1e2b3c4d5e",
"created_at": "2025-08-26T12:05:41.118Z",
"version": "1.0",
"data": {
"document_id": "9eee553b-28b6-4b43-b52b-4ef9957cc503",
"title": "Statement of Work Example Draft",
"recipient_id": "4c1f7e2a-8b3d-4e5f-9a6b-0c1d2e3f4a5b",
"recipient_email": "jordan.diaz@example.com",
"recipient_name": "Jordan Diaz",
"delivery_status": "bounced",
"reason": "address_not_found"
}
}
```

`reason` is one of:

| `reason` | Meaning |
| -------- | ------- |
| `address_not_found` | The address doesn't exist |
| `mailbox_unavailable` | The receiving mail server permanently refused the email for another reason (for example, the mailbox is disabled) |
| `previously_bounced` | Mail to this address bounced before, so TurboSign didn't send it |
| `spam_report` | The signer reported the email as spam |

To fix the address, open the document in TurboSign and use **Fix signer email**. The signer gets a new signing link, and their old link stops working.

### Payload Fields

Every event shares the top-level envelope fields. The `data` fields present depend on the event — the last column lists which events include each field.
Expand All @@ -360,9 +405,9 @@ Every event shares the top-level envelope fields. The `data` fields present depe
| `data.status` | string | Human-readable status | sent, completed, finalization_failed, voided |
| `data.status_enum` | string | Programmatic status enum value | completed, voided |
| `data.sent_at` | string | When the document was dispatched to recipients | sent |
| `data.recipient_id` | string | Unique identifier of the recipient | viewed, recipient_signed, signed |
| `data.recipient_email` | string | Recipient's email address | viewed, recipient_signed, signed |
| `data.recipient_name` | string | Recipient's display name | recipient_signed |
| `data.recipient_id` | string | Unique identifier of the recipient | viewed, recipient_signed, signed, email_bounced |
| `data.recipient_email` | string | Recipient's email address | viewed, recipient_signed, signed, email_bounced |
| `data.recipient_name` | string | Recipient's display name | recipient_signed, email_bounced |
| `data.viewed_at` | string | When the recipient first viewed the document | viewed |
| `data.signed_at` | string | When the signature was applied | recipient_signed, signed |
| `data.remaining_signers` | number | Count of signers who have not yet completed | recipient_signed, signed |
Expand All @@ -373,6 +418,8 @@ Every event shares the top-level envelope fields. The `data` fields present depe
| `data.failure_step` | string | Which step failed (e.g. `document_finalization`) | finalization_failed |
| `data.voided_at` | string | When the document was voided | voided |
| `data.void_reason` | string | Reason for voiding | voided |
| `data.delivery_status` | string | `bounced`, `blocked`, or `complained` | email_bounced |
| `data.reason` | string | Why the email didn't arrive (see the table above) | email_bounced |

## Signature Verification

Expand Down Expand Up @@ -748,7 +795,8 @@ If you encounter issues not covered here:
"signature.document.signed",
"signature.document.completed",
"signature.document.finalization_failed",
"signature.document.voided"
"signature.document.voided",
"signature.recipient.email_bounced"
],
"secretExists": true,
"maskedSecret": "whs***f6a",
Expand Down
Binary file added static/img/turbosign/EmailBouncedStatus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/turbosign/FixSignerEmailDialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/turbosign/FixSignerEmailMenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading