Send contracts and watch them close from one deal desk

By General Input

See every closing deal beside its contract, let an assistant prepare the paperwork, and send it for signature only after you have checked the numbers.

Integrations

  • Documenso
  • HubSpot
  • Slack Bot

Type

App

Categories

  • Sales

I want a deal desk app for my sales reps. They should be able to send contracts out for signature and watch them close without ever opening Documenso directly.

The main screen is a board of late stage deals. Pull them from HubSpot with Search Deals, filtered to the pipeline stages I treat as closing stages, and show each deal's name, amount, owner and close date. Let me choose which stages count as closing during setup by reading the available stages with List Pipelines, so the board matches how my team actually sells.

Join every deal to its Documenso agreement. Load agreements with Find Envelopes and give each row exactly one of three states: no contract yet, out for signature, or signed. For rows that are out for signature, show how many days the agreement has been waiting and the name of the recipient everyone is blocked on. Read the envelope's status and recipient list with Get Envelope, and the individual recipient's signing status with Get Envelope Recipient. When the app creates an agreement for a deal, store the deal id against the envelope id in app storage so the join is exact from then on. For agreements that already existed before the app, fall back to matching the envelope title against the deal name.

Selecting a deal that has no contract yet shows a Prepare contract button that kicks off a background agent. The agent reads the deal's properties, finds the deal's associated contact with Search Contacts, looks through the available templates with Find Envelopes filtered to templates, picks the one that matches the deal, and creates the agreement with Use Envelope Template, prefilling the recipient and every field value it can derive from the deal and the contact. It must leave the envelope as a draft. When it finishes, it writes back into the app a summary of what it filled in, field by field, and the app shows that summary on the deal's detail panel so the rep can check the numbers before anything goes out.

The agent must never distribute an envelope. That is a hard rule. A draft envelope sends no email to anyone until it is distributed, so the review step is free and every send stays a deliberate human action. On the draft review panel, show the contract amount the agent filled in directly next to the deal amount from HubSpot, and flag it prominently when the two do not match, so a wrong number is caught before the customer ever sees it.

The rep sends by pressing Send on the reviewed draft, which calls Distribute Envelope, and the row moves to out for signature. Rows that have been waiting longer than a threshold I can configure get flagged as stalled and show a Nudge button that calls Redistribute Envelope to resend the signing invite to whoever has not yet signed. Any row can be killed with a Cancel button that calls Cancel Envelope.

When an agreement comes back signed, write a note onto the HubSpot deal with Create Note recording that the contract was signed, when, and by whom, and post to our deal desk channel with the Slack Send a Message action. The app has no schedule, so detect this on refresh: when the board loads and finds an agreement that has become complete and has not been logged yet, do the note and the Slack post then, and persist a marker so it fires exactly once per agreement and never repeats on the next refresh. Let me pick the deal desk channel during setup using List Channels.

Reps should see only the deals they own by default, matched on the deal owner, with a toggle that switches the board to the whole team so a manager can see everything. Remember each person's choice of that toggle.

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