# Unblock contracts stuck waiting on your own signature

> When a customer signs but your side has not, this alerts the internal signer in Slack with the deal value and re-sends their signing email.

- Workflow type: agent
- Services: DocuSeal, HubSpot, Slack
- Categories: Sales, Operations
- Published: 2026-08-07

## What it does

- Reacts the moment any single person finishes signing in DocuSeal, instead of waiting for the whole document to be fully executed.
- If the customer has signed and the only person left is on your team, posts an urgent Slack message tagging them with the counterparty name, the deal value and a direct link to sign, then re-sends their signing email.
- If the customer is the one still holding the document, stays quiet until they have had it more than two business days, then sends a gentler reminder instead.
- Records a note on the matching HubSpot deal covering who has signed and who is still outstanding, and stays completely silent once everyone is done.

## What you'll need

- A DocuSeal account and its API key, found under API in your account settings
- A Slack workspace the workflow can post into, plus the Slack handles of the people who sign on your side
- A HubSpot login with access to your deals
- The list of email domains that count as your own, so the workflow can tell your team apart from the customer

## Prompt

Deals should never die waiting on our own signature. Watch DocuSeal with a poll trigger on the submitter completed event, so this runs every time an individual signer finishes rather than only when a document is fully executed.

As soon as it fires, call Get Submission in DocuSeal for the submission that signer belongs to and read the full list of submitters, each one's completion status, and when their signing request was sent. Classify every submitter as internal or external by email domain: addresses on our own company domains are internal, everyone else is the counterparty. Keep the internal domain list as a configurable input so we can add domains later.

If every submitter is already complete, stop immediately and do nothing. No Slack message, no note, no email. A finished contract should never generate a chase.

If the counterparty submitters have all signed and the only outstanding submitters are internal, treat this as a countersignature block. This is the case I care most about. First find the related deal by calling Search Deals in HubSpot using the counterparty company or contact name from the submission, and pull the deal amount. Then send an urgent message with Send a Message in Slack that tags the internal signer directly and states the counterparty name, the contract value from the deal, how long the document has been sitting, and the direct signing link for that submitter taken from the submission. Also call Update Submitter in DocuSeal for that internal signer to re-send their signature request email, so the link is waiting in their inbox as well. If more than one internal signer is outstanding, tag them all in a single message rather than sending one message per person.

If the outstanding submitter is the counterparty instead, stay quiet by default. Only act once they have had the document for more than two business days, counting weekdays only, and make that threshold a configurable input. When it is crossed, send a noticeably gentler Slack message to the deal owner suggesting a follow up, and re-send the signature request email with Update Submitter. Do not escalate or tag anyone urgently for a customer who is simply still reviewing.

In both of those branches, after locating the deal with Search Deals, attach a note to it using Create Note in HubSpot recording which submitters have signed and when, which are still pending, and what action this workflow just took. If Search Deals returns no confident match, skip the note and say so in the Slack message rather than guessing at a deal.

Let me configure the internal email domains, the Slack channel for alerts, the mapping from internal signer email to Slack user so tagging actually notifies them, and the business day threshold before a customer gets nudged.

## How to customize

- Change how long a customer can hold the document before they get a nudge, or switch customer nudges off entirely
- Send the alert to a shared deals channel or as a direct message to the signer who is holding things up
- Adjust the tone and urgency of each message, and what detail gets written onto the HubSpot deal note

## FAQ

### How does it know who is internal and who is the customer?

By email address. You give it the list of domains that belong to your company, and anyone signing from one of those is treated as internal. Everyone else is treated as the counterparty.

### Will this spam the team every time someone signs?

No. It only speaks up when a signature is genuinely blocked. If the customer is still reviewing within the normal window, or if everyone has already signed, it says nothing at all.

### What happens once the contract is fully signed?

Nothing. The workflow deliberately goes silent when every signer is complete, so a finished deal never generates a chase message.

### What if the contract is not linked to a HubSpot deal?

It looks for a matching deal using the counterparty name. If it cannot find a confident match, it still sends the Slack alert and simply skips the note rather than writing to the wrong deal.

### Does this work with a European DocuSeal account?

Yes. DocuSeal accounts in the EU region work the same way, you just point the connection at the EU address when you set up the credentials.

Use this prompt in General Input: https://www.generalinput.com/prompts/unblock-contracts-stuck-waiting-on-your-own-signature