# Chase stalled Ironclad contract signatures every morning

> Every weekday morning, find contracts stuck waiting on signatures, nudge only the people still holding things up, and post one clear summary to Slack.

- Workflow type: agent
- Services: Ironclad, Slack
- Categories: Operations
- Published: 2026-08-04

## What it does

- Checks every contract sitting in the signature step each weekday morning and works out how long each one has been waiting.
- Shows you who has signed, who opened the document but never signed, and who has not opened it at all.
- Sends a reminder only to the people still holding things up, and never to anyone who has already signed.
- Records every nudge on the contract itself, so there is a clear trail of who was chased and when.
- Posts one Slack summary ranked by how long each contract has been stuck, flagging anything past two weeks for your legal lead.

## What you'll need

- An Ironclad account with contracts that get sent out for signature
- A Slack workspace and a channel where the daily summary should land
- Permission for the workflow to read contract status and send signer reminders on your behalf
- Optional: the name of the legal lead who should be called out when a contract passes two weeks

## Prompt

Every weekday at 9am, chase the contracts that are stuck waiting on signatures in Ironclad.

Start by calling List Workflows in Ironclad to find every workflow currently sitting in the signature step. Page through the full list rather than reading only the first page. Ironclad list endpoints use a zero-indexed page parameter and a pageSize that defaults to 20 and maxes out at 100, so request pageSize 100 and keep incrementing page until a page comes back shorter than the page size.

For each workflow in the signature step, call Get Sign Status to read the sign step state and call List Signers to get the individual signers. Use the two together to sort every signer into one of three buckets: already signed, viewed the packet but has not signed, and never opened it at all. That distinction matters, because someone who has opened the document and gone quiet usually needs a different nudge from someone whose email may never have arrived.

Work out how long each packet has been outstanding in business days, skipping weekends. For any packet outstanding more than three business days, send a reminder with Remind Signer, but only to the signers who are still outstanding. Never remind anyone who has already signed.

Before sending, enforce the reminder cap: no signer gets reminded more than twice in any one week. Call List Workflow Comments on the workflow and read back the nudge records this workflow has previously written there. If a signer already has two recorded nudges in the last seven days, skip them, and note in the summary that they have hit the cap rather than silently dropping them.

After each round of reminders on a contract, record what you did with Create Workflow Comment on that workflow, naming each signer who was chased along with the date and time. This is the audit trail, so it should be specific enough that a reviewer can later see exactly who was contacted and when, and it is also what the reminder cap reads back on future runs.

Finally, post a single message to Slack with Send a Message summarizing every stalled packet. Sort by days outstanding, longest first. For each contract show the counterparty, how many business days it has been outstanding, exactly who is blocking it, and whether each blocker has viewed the document or never opened it. Call out anything outstanding more than fourteen days as an escalation for the legal lead. Send one consolidated message rather than one message per contract, and if nothing is stalled, say so briefly instead of sending an empty report.

## How to customize

- Change the timing: run it later in the morning, or only on certain days of the week.
- Adjust the thresholds: start chasing after two days instead of three, or escalate at ten days rather than fourteen.
- Change the reminder cap, pick a different Slack channel, or change who gets named on escalations.

## FAQ

### Will it send reminders to people who have already signed?

No. Anyone who has already signed is excluded from reminders. Only signers who are still outstanding get a nudge, which is the whole point of checking each signer individually first.

### How does it avoid annoying people with too many reminders?

There is a hard cap of two reminders per signer per week. Each nudge gets written onto the contract record, and the workflow reads that history back before sending anything, so it knows who has already been chased recently.

### What is the difference between someone who viewed the document and someone who never opened it?

Someone who opened the packet and went quiet is usually waiting on an internal approval or has a question about the terms. Someone who never opened it may not have received the email at all, or it went to the wrong address. Those need different follow-ups, so the summary tells you which is which.

### How is the waiting time counted?

In business days, so weekends do not count against a signer. A contract sent on Thursday will not be chased until the following Tuesday under the default three day threshold.

### Will the whole team be notified about every contract?

You get one consolidated Slack message per morning in the channel you choose, sorted with the longest stalled contracts first. The reminders themselves go by email to the individual signers, not to the Slack channel.

Use this prompt in General Input: https://www.generalinput.com/prompts/chase-stalled-ironclad-contract-signatures-every-morning