# Chase unsigned contracts and nudge stalled signers daily

> Every weekday we find the contracts still waiting on a signature, resend the ones going stale, and post a prioritized chase list to Slack.

- Workflow type: agent
- Services: Documenso, Gmail, Slack Bot
- Categories: Sales, Operations
- Published: 2026-08-07

## What it does

- Checks every contract still waiting on a signature each weekday morning and works out exactly who is holding it up.
- Tells apart the people who never opened the document from the ones who opened it and then went quiet, so you know whether to resend or reassure.
- Resends the signing invite on anything sitting longer than three days, and drafts a short personal nudge email for your oldest and highest value agreements.
- Posts one prioritized chase list to Slack showing each stuck contract, who is blocking it, how long it has been waiting, and what was done about it.

## What you'll need

- A Documenso account where your contracts get sent out for signature
- A Gmail account to send the nudge emails from, such as a shared contracts or sales address
- A Slack workspace and the channel where you want the daily chase list posted

## Prompt

Every weekday at 9am, chase the contracts that are stuck unsigned in Documenso and tell me exactly who is holding each one up.

Start by calling Find Envelopes with the status filter set to PENDING to get every envelope that has been sent out and is still waiting on signatures. Skip anything that is COMPLETED, REJECTED or CANCELLED, and ignore DRAFT envelopes that were never distributed.

For each pending envelope, call Get Envelope for the full detail such as the title, when it was sent and its recipients, then call Get Envelope Recipient to read the signing status of each individual recipient so you know precisely who has signed and who has not. Then call Get Envelope Audit Logs and use the audit trail to separate two very different kinds of blocker: recipients who have never opened the document at all, and recipients who opened it and then stalled without signing.

Bucket every outstanding envelope by days outstanding, measured from the date it was sent: 1 to 3 days, 4 to 7 days, 8 to 14 days, and 15 or more days. Treat the 8 to 14 and 15 or more buckets as urgent.

For any envelope outstanding longer than 3 days, call Redistribute Envelope to resend the signing invite to the recipients who have not yet actioned it. Before you resend, check that envelope's audit log for a recent resend, because you must never chase the same recipient more than once every 3 days. If someone was already nudged inside that window, leave them alone on this run and say so in the digest.

For the oldest agreements and the highest value ones, also draft and send a short personalized nudge with Gmail Send a Message. Keep it to a few sentences, warm and low pressure, never guilt-inducing. Name the specific document, say plainly what you need from them, and offer to help. Tailor the angle to the blocker type: if they have never opened it, gently check that the invite reached the right inbox and is not sitting in spam; if they opened it and then stalled, acknowledge that and offer to answer questions or walk through the terms. The same once-every-3-days limit applies to these emails.

Finish by posting one prioritized digest into Slack using the Slack Bot Send a Message operation, sorted with the most overdue and highest value agreements first. For each stalled envelope list the document name, who is blocking it, whether that person has opened it, how many days it has been waiting, and exactly what action you took, whether that was resending the invite, emailing a nudge, or skipping because they were already chased recently. Open with a one line summary giving the number of contracts stuck and how many you actioned. If nothing is stalled, post a short all clear instead of an empty list.

## How to customize

- Change the schedule: every weekday at 9am, once a day, or just Monday and Thursday
- Adjust how long a contract sits before it gets chased, and how often the same person can be nudged (three days by default for both)
- Pick which channel gets the digest, and which agreements count as high value enough to earn a personal email

## Example output

Contract chase, Thursday 9:00am
3 contracts stuck / 2 invites resent / 2 nudges emailed

15 days: Northwind MSA ($48k)
Blocked by sarah.chen@northwind.com, opened it 12 days ago but never signed
Action: invite resent, personal nudge emailed offering a walkthrough of the terms

8 days: Acme renewal
Blocked by legal@acme.io, has never opened the document
Action: invite resent, worth checking this is the right address

4 days: Beacon NDA
Blocked by t.rivera@beacon.co, opened it yesterday
Action: none, already nudged 2 days ago

## FAQ

### Will this annoy my customers with repeated reminders?

No. A contract has to be sitting for more than three days before it gets chased at all, and the same person is never nudged more than once every three days. Anything already signed, rejected or cancelled is skipped entirely.

### How does it know who is holding up a contract?

It reads the signing record for each contract to see which recipients have already signed and which have not, then checks the document history to see whether each outstanding person has even opened it yet.

### Why does it matter whether someone opened the document?

The two cases need different treatment. Someone who never opened it usually has an invite lost in spam or sent to the wrong address, so resending fixes it. Someone who opened it and stalled usually has a question or is waiting on internal approval, so a short personal note works far better than another automated reminder.

### What happens if a contract gets signed before the next run?

It drops off the chase list on its own. Each run only looks at contracts still waiting on a signature, so completed ones simply stop appearing.

### Can I use this with a self-hosted Documenso?

Yes. It works with any Documenso account you can send contracts for signature from, including self-hosted setups.

Use this prompt in General Input: https://www.generalinput.com/prompts/chase-unsigned-contracts-and-nudge-stalled-signers-daily