Daily GEO re-engagement drafts for stalled HubSpot deals

Every weekday at 8am, an agent finds stalled early-stage HubSpot deals, checks each account's AI search visibility, and DMs each owner a ranked list of copy-ready openers.

Agentic Task
HubSpotNexuscaleSlackSalesDaily DigestsContent GenerationNotifications & Alerts
PromptCreate

Build me an agent workflow that runs every weekday at 8am in the org's local timezone and generates GEO-anchored re-engagement drafts for stalled HubSpot deals.

Step 1. Use HubSpot Search Deals to pull all open deals currently sitting in early-funnel stages (default: Discovery and Qualification) that have not had a stage change in the last 7 or more days. Include the deal's owner id, primary associated company id, deal name, amount, stage, and last-activity timestamp. Group results by owner.

Step 2. For each deal, use HubSpot Get Company to fetch the associated company's primary domain (and name). If a deal has no associated company or the company has no domain on file, keep the deal in the list but flag it as "no domain" and skip Step 3 for it.

Step 3. For each unique company domain, call Nexuscale Check AI Visibility (GEO) to get that account's current visibility profile across generative-AI search engines (e.g. ChatGPT, Perplexity, Gemini). Cache the result per domain so multiple deals against the same account only cost one API call.

Step 4. For each deal, draft a short re-engagement opener (max 3 sentences, plain text, no em dashes) grounded in the Nexuscale reading:

  • If the account's GEO score is low, lean on a "here's what your buyers are seeing in ChatGPT when they search for your category" angle, and reference the specific weak signal Nexuscale returned (e.g. missing from top answers, cited competitor, thin coverage).

  • If the account's GEO score is high, use an "expand share of voice / defend the position" angle.

  • If Nexuscale returned no data or the deal had no domain, write a neutral opener that does not mention GEO at all.

Never invent GEO numbers, engine names, or competitor citations that Nexuscale did not return. Only cite figures that are present in the API response.

Step 5. For each deal, use HubSpot Create Note to write a note on the deal record containing (a) the drafted opener and (b) a 2-3 line plain-language GEO summary derived from the Nexuscale response (overall score, standout engines, notable competitor mentions, and any "no data" flags). Associate the note with the deal id.

Step 6. For each deal owner (as returned by HubSpot Get Owner), resolve their Slack user via their email address, open a DM with Slack Open a Conversation, then use Slack Send a Message to post their personalized daily digest. The DM should contain:

  • A one-line intro naming today's date and how many stalled deals were found.

  • A ranked list of the stalled deals, ordered by amount desc then by days-since-last-activity desc. For each: deal name, amount, stage, days idle, a link to the HubSpot deal, a 1-line GEO summary, and the drafted opener in a copy-ready block.

  • Owners with zero stalled deals should not receive a DM at all.

Constraints:

  • Openers stay under 3 sentences, plain and specific, no em dashes.

  • Do not send emails to prospects. This workflow only writes drafts (into HubSpot notes and Slack DMs) for the rep to review.

  • Never fabricate visibility scores, engine names, or citations that Nexuscale did not return.

  • If the whole run finds zero stalled deals, skip Slack entirely and finish quietly.

Additional information

What does this prompt do?
  • Pulls the HubSpot deals that have been sitting in Discovery or Qualification for 7 or more days, grouped by their owner.
  • Checks each account's current visibility across generative AI search engines like ChatGPT, Perplexity, and Gemini.
  • Drafts a short, specific re-engagement opener for every deal, grounded in what its buyers are actually seeing in AI search results.
  • Attaches the opener plus a plain-language visibility summary to the deal as a HubSpot note, so it lives with the record.
  • Sends each owner a Slack DM with their ranked stalled deals and copy-ready openers for the day.
What do I need to use this?
  • A HubSpot account with permission to read deals, companies, and owners, and to create notes.
  • A Nexuscale account with API access so the agent can pull AI search visibility scores for each company.
  • A connected Slack workspace where the agent can send direct messages to each deal owner.
  • Agreement on which pipeline stages count as "stalled early funnel" (defaults to Discovery and Qualification, 7+ days idle).
How can I customize it?
  • Adjust the schedule (send it at 7am, only on Mondays, or twice a week).
  • Change which stages count as stalled or how many days of inactivity trigger a nudge.
  • Swap the Slack DM for a shared team channel, or add the sales manager as a CC recipient.
  • Tune the opener style (more casual, more technical, or in a language other than English).

Frequently asked questions

What is a GEO visibility score and why use it as the hook?
GEO (generative engine optimization) is how visible your prospect's brand is when their buyers ask ChatGPT, Perplexity, or Gemini about their category. It is a fresh, specific data point most reps have never mentioned before, which makes for a stronger re-engagement opener than "just circling back."
Will the agent invent visibility numbers if Nexuscale does not return them?
No. The prompt tells the agent to only cite figures Nexuscale actually returned. If a company has no domain on file or Nexuscale has no data, the agent flags that in the summary and skips the score-based framing.
Can I run this only for one pipeline or one team?
Yes. When you set up the workflow you can scope the HubSpot deal search to a specific pipeline, team, or set of owners, so it only touches the deals you care about.
Does this send emails to prospects on its own?
No. The agent only writes drafts. Openers are attached to the HubSpot deal as a note and sent to the deal owner in Slack. The rep decides what to send and when.
What happens on days when a rep has no stalled deals?
The agent will skip the DM for that owner rather than send an empty message, so reps only hear from it when there is actually something to work on.

Turn stalled pipeline into ready-to-send openers by 8am.

Connect HubSpot, Nexuscale, and Slack once, and Geni ships each rep their daily nudge list before they open their laptop.