Daily triage of stalled PandaDoc deals into Slack

Every weekday at 9am, find PandaDoc documents stuck in sent or viewed, decide whether to nudge or escalate, and post the digest in Slack.

Agentic Task
PandaDocHubSpotSlackSalesOperationsDaily DigestsNotifications & Alerts

Build an agent workflow that runs every weekday at 9am Eastern (cron trigger) and triages stalled PandaDoc documents. The point is per-document judgment, which is why this is an agent and not a fixed pipeline.

Step 1. Find stuck documents. Use PandaDoc List Documents filtered to status sent or viewed, where the last status change is more than three days ago. Skip anything sent in the last 48 hours.

Step 2. For each stuck document, gather context. Call PandaDoc Get Document Details for recipients and metadata, and PandaDoc List Document Audit Trail to see who has viewed, who hasn't, and how many times.

Step 3. Pull revenue context from HubSpot. Use PandaDoc List Linked Objects for Document to find the linked HubSpot deal, then call HubSpot Get Deal to read the deal amount and owner. If a document has no linked deal, mark its revenue-at-risk as unknown and continue.

Step 4. Decide per document. The agent picks one bucket: (a) recipient has not opened the document in five or more days, fire PandaDoc Send Manual Reminder with a short, tailored nudge referencing the document name; (b) recipient has opened multiple times without signing, or the linked deal amount is high-value (default threshold: top 20 percent of open deals, or $25,000 if there is no clear distribution), do not auto-nudge, instead flag it for the deal owner to handle personally; (c) bottleneck is internal (the last open action was by someone on our team, or a recipient on our domain still needs to act), skip it. Always skip docs sent in the last 48 hours.

Step 5. Post one Slack digest using Slack Send a Message to a channel called #pipeline-hygiene (let the user override the channel at setup). The digest should include: a one-line headline with the total dollars at risk and the count of docs in each bucket; a table or list of every stuck document with the document name, the linked deal name and amount, the recipient, the bucket the agent put it in, and the action taken (reminder sent / escalated to <owner> / skipped because <reason>). For the escalation bucket, @-mention the deal owner in the Slack message if their Slack handle is known.

Tone: the manual reminder copy should be short, polite, and reference the document by name. The Slack digest should be scannable for a sales leader skimming on a phone at 9am. Do not send any reminder if it would be the second nudge in the same week for the same recipient.

Additional information

What does this prompt do?
  • Finds PandaDoc documents that have been sitting in sent or viewed status for more than three days.
  • Cross-references each stuck document with HubSpot to pull the deal amount and owner so you can prioritize by revenue at risk.
  • Decides per document whether to send a friendly reminder, escalate to the deal owner, or skip, instead of blasting everyone the same nudge.
  • Posts one Slack digest with every document, the action it took, who needs to step in, and the total dollars at risk.
What do I need to use this?
  • A PandaDoc workspace where your sales contracts and proposals live.
  • A HubSpot account with deals linked to those PandaDoc documents.
  • A Slack workspace and a channel where the daily digest should land (a pipeline-hygiene channel works well).
How can I customize it?
  • Change the run time and which days it fires. The default is every weekday at 9am Eastern.
  • Adjust how long a document has to sit before it counts as stalled, and how many days of no recipient activity before a reminder is auto-sent.
  • Pick which Slack channel gets the digest, and optionally DM the deal owner directly when a high-value deal needs a human escalation.

Frequently asked questions

What counts as a stalled document?
Anything in sent or viewed status where nothing has changed for more than three days. Documents sent in the last 48 hours are skipped so the agent isn't pushy with fresh sends.
Why is this an agent instead of a fixed rule?
Every stuck document is stuck for a different reason. The agent looks at who has viewed, how many times, the deal size, and the owner, then picks between a gentle reminder, an internal escalation, or leaving it alone. A fixed rule would over-nudge.
Will it spam our prospects?
No. It skips anything sent in the last two days, anything where the bottleneck is internal, and any high-value deal, which gets escalated to the deal owner in Slack instead of auto-nudged.
Do I have to connect HubSpot?
Yes, for revenue prioritization. The agent reads the linked deal so it can put a dollar amount on what's at risk and route escalations to the right rep.
Can I change which Slack channel it posts to?
Yes. Swap the channel when you set it up. You can also have the agent DM the deal owner directly for high-value escalations on top of the channel digest.

Stop letting six-figure deals rot in someone's inbox.

Connect PandaDoc, HubSpot, and Slack once, and Geni works your pipeline every weekday at 9am.