Turn stalled HubSpot deals into Microsoft Planner tasks

Every Monday at 8am, sweep HubSpot for deals stuck more than seven days, file each one as a Planner task for the owner, and recap the misses in Teams.

Agentic Task
HubSpotMicrosoft PlannerMicrosoft TeamsSalesOperationsNotifications & AlertsDaily Digests
PromptCreate

Every Monday at 8am, sweep our HubSpot pipeline for stalled deals and turn each one into a follow-up task in Microsoft Planner for the deal owner, then post a manager-facing recap to a Microsoft Teams sales channel. Run this on a weekly cron trigger.

Step 1. Find stalled deals in HubSpot. Use HubSpot Search Deals to pull all open deals (not in a closed-won or closed-lost stage) whose current pipeline stage has not changed in more than seven days. Ask me at setup which pipeline to watch and which stages count as closed. For each deal, read the deal amount, the current stage, the last activity date, and the most recent note or engagement so you have enough context to reason about it.

Step 2. Resolve each deal owner. Use HubSpot Get Owner on the deal's ownerId to get the owner's name and email. Keep a running map of ownerId to name, email, and how many stalled deals they own so we can build the recap later.

Step 3. Draft a concrete next step per deal. Based on the deal amount, stage, last activity, and recent notes, write one specific next action the owner should take. This should not be a generic "follow up" line. It should be a real recommendation: a specific outreach angle, a question the rep still needs to answer, a stakeholder to loop in, or a blocker to unblock. Keep it to two or three sentences.

Step 4. Skip deals that already have an open task. Before creating a Planner task, call Microsoft Planner List Tasks in Bucket on our designated Stalled Deals bucket and check whether any open (incomplete) task already references this HubSpot deal ID in its title or description. If one exists, skip this deal so we do not double-file.

Step 5. Create the Planner task. For each remaining stalled deal, call Microsoft Planner Create Task in the Stalled Deals bucket. Title it something like "Follow up: {deal name} ({stage}, ${amount})". Assign it to the deal owner (map the HubSpot owner's email to their Microsoft user). Set the due date to two business days from now. In the task description, include the drafted next step, the deal amount, the current stage, the days since last activity, and a direct link back to the HubSpot deal record.

Step 6. Post the manager recap. After all tasks are filed, call Microsoft Teams Create Channel Message to post a short summary in our sales channel (ask me at setup which team and channel). The recap should include: how many deals slipped this week, the three highest-value stalled deals with their owner and stage, and the three reps carrying the most stalled pipeline by count and by total amount. Keep the message scannable, not a wall of text.

Ask me at setup for: the HubSpot pipeline to watch, the list of closed stages to exclude, the Microsoft Planner plan ID and Stalled Deals bucket name, and the Microsoft Teams team and channel for the recap. Default the stall threshold to seven days but let me override it. If a HubSpot owner has no matching Microsoft user, still create the Planner task unassigned and flag those in the Teams recap.

Additional information

What does this prompt do?
  • Finds open HubSpot deals whose stage has not changed in over a week and are still active in your pipeline.
  • Reads the deal amount, current stage, last activity, and recent notes, then drafts a concrete next step for the owner (a specific outreach angle, a question to answer, or a blocker to unblock).
  • Creates a Microsoft Planner task in your Stalled Deals bucket for each one, assigned to the deal owner with a two-day due date and a link back to HubSpot.
  • Skips deals that already have an open Planner task so nothing gets double-filed.
  • Posts a Monday morning recap to a Microsoft Teams sales channel with the total number of slipped deals, the highest-value ones, and the reps carrying the most stalled pipeline.
What do I need to use this?
  • A HubSpot account with access to your deals pipeline and owner list.
  • A Microsoft 365 account connected to Planner, with a plan and a Stalled Deals bucket set up in advance.
  • A Microsoft Teams channel where the weekly recap should be posted.
  • Agreement on your team's definition of stalled (default is seven days without a stage change).
How can I customize it?
  • Change the stall threshold. Seven days is the default, but many teams prefer ten or fourteen depending on cycle length.
  • Adjust the due date on each Planner task or pick a different bucket if you already track pipeline work somewhere else.
  • Swap the recap destination. Post to a different Teams channel, or add a leadership-only version with just the top three deals by amount.

Frequently asked questions

How does the agent decide a deal is stalled?
It looks at deals that are still open (not in a closed stage) and whose pipeline stage has not changed in more than seven days. You can raise or lower the threshold when you set the workflow up.
Will it create duplicate tasks if the same deal is stalled two weeks in a row?
No. Before creating a task, the agent checks the Stalled Deals bucket for an open task tied to the same deal and skips it if one already exists.
Do I need a Planner plan and bucket already set up?
Yes. Create a plan in Microsoft Planner and add a bucket called Stalled Deals (or whatever name you prefer) before running this. The agent files tasks into that bucket.
Who gets assigned each Planner task?
The HubSpot deal owner. The agent looks up each deal's owner in HubSpot, then assigns the matching Microsoft user in Planner.
Can I use this if my sales team is on Slack instead of Teams?
This version posts the weekly recap to Microsoft Teams. Ask Geni to swap the recap step for Slack when you set it up and it will wire that in instead.

Related templates

Screen new HubSpot contacts for data breach exposure

The moment a new contact lands in HubSpot, we check their email against known data breaches and flag the high-risk ones so your team can act fast.

Have I Been Pwned
HubSpot
Slack Bot
Agentic Task
Auto-summarize new pull requests in Microsoft Teams

When a pull request opens in Azure DevOps, an agent writes a plain-English summary and posts it to Teams so reviewers instantly know what to prioritize.

Azure DevOps
Microsoft Teams
Agentic Task
Enrich and prioritize new Help Scout tickets in Slack

The moment a new Help Scout conversation arrives, we check the customer in your CRM, flag high-value accounts, and post a priority alert to Slack before anyone touches it.

Help Scout
HubSpot
Slack Bot
Agentic Task
Screen new HubSpot companies against Companies House

Every time a new company lands in HubSpot, we look it up on the UK register, save a due-diligence summary to the record, and alert your team to any red flags.

HubSpot
Companies House
Slack Bot
Agentic Task
Turn newly incorporated UK companies into HubSpot leads

Each weekday morning, spot UK companies registered the day before in your target sectors, add the best fits to HubSpot, and recap them in Slack.

Companies House
HubSpot
Slack Bot
Agentic Task
Keep Gladly customers in sync with new HubSpot contacts

Every time you add a contact in HubSpot, we automatically create or update their Gladly profile so support always sees up-to-date customer details.

Gladly
HubSpot
Deterministic Code

Stop letting deals rot in the pipeline.

Connect HubSpot, Microsoft Planner, and Teams once, and Geni runs this sweep every Monday morning.