Log signed Documenso contracts as closed won in HubSpot

By General Input

When a contract is fully signed, we read the agreed terms, move the matching HubSpot deal to closed won, and post a deal desk summary to Slack.

Integrations

  • Documenso
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Operations

When a contract is fully signed in Documenso, close the loop in the CRM automatically so signed deals never sit unrecorded. Trigger this workflow on the Documenso webhook for the document completed event. Use the envelopeId field on the webhook payload as the canonical identifier for the envelope rather than the legacy numeric document id, and ignore any event where the envelope status is not COMPLETED.

Start with Get Envelope in Documenso to pull the envelope title, the full recipient list with names and email addresses, and the signing timestamps for each recipient. Then use Download Envelope Item to fetch the signed PDF, so you are reading the terms that were actually agreed rather than what was originally quoted.

Read the signed PDF and extract: the total contract value and currency, the start date, the term length, any renewal or auto renewal language including notice periods, and any unusual clauses worth a second look. Unusual means things like non standard payment terms, uncapped liability, custom service levels, termination for convenience, or bespoke discounting.

Find the matching opportunity in HubSpot using Search Deals. Match on the signer email domain and the company name from the envelope, and cross check against the deal name, the amount, and recent activity. Treat the match as confident only when the evidence lines up: the same company, an open deal in a late stage, and an amount in the same range as the contract. If several deals could plausibly match, or the only candidates are already closed or belong to a different company, treat that as no confident match.

When the match is confident, use Update Deal to move the deal to closed won, set the amount to the contract value you read from the signed PDF, and set the close date to the date the final signer completed. Then use Create Note to attach a plain English summary of the terms to that same deal, covering contract value, start date, term length, renewal terms, who signed and when, and anything unusual, so the account team has the detail on the record without opening the PDF.

Finally, post a deal desk summary to Slack using the Slack Bot Send a Message operation. Include the contract value, the company, who signed and when, the deal you updated, and a short flagged section for anything legal or finance should look at, such as auto renewal, unusual liability language, or payment terms outside the standard. Link back to the HubSpot deal so the team can jump straight to it.

If no confident deal match exists, do not guess and do not write anything to HubSpot. Writing closed won to the wrong deal is worse than doing nothing. Instead, post to Slack with the envelope title, the signers, the contract value you read, and the candidate deals you considered and rejected, and ask a human to link it to the right opportunity manually.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account