Create Todoist tasks for HubSpot deal stage changes

When a HubSpot deal moves stages, Geni drafts the right next step and adds it to your Todoist Sales project, with the deal link and a due date built in.

Agentic Task
HubSpotTodoistSalesPersonal ProductivityNotifications & AlertsData Sync
PromptCreate

Build an agent workflow that turns HubSpot deal stage changes into Todoist next-step tasks. This is a direct replacement for HubSpot's native Todoist integration, which is being deprecated.

Trigger: an incoming webhook from a HubSpot workflow that fires when a deal's stage changes. The payload includes the deal's object ID, the new stage, and (when available) the previous stage and the HubSpot portal ID.

When the webhook fires, the agent should:

1. Look at the new stage. If it is closed-won, closed-lost, or any stage in my configured list of terminal stages, exit immediately without creating a task. Make the terminal-stage list editable in the workflow settings.

2. Call HubSpot Get Deal for the deal ID in the webhook payload. Request these properties at minimum: dealname, dealstage, pipeline, amount, closedate, hubspot_owner_id. Also include the associated contacts so we can find the primary contact.

3. Call HubSpot Get Contact for the primary associated contact and read firstname, lastname, and email.

4. Based on the new stage, draft the right next-step task. Use these defaults and let me edit the template per stage in settings:

- qualifiedtobuy: "Schedule discovery call with {contact name} for {deal name}"

- presentationscheduled: "Prep demo deck for {contact name} on {deal name}"

- decisionmakerboughtin: "Confirm decision criteria with {contact name} for {deal name}"

- contractsent: "Send mutual close plan to {contact name} for {deal name}"

- appointmentscheduled (proposal-sent equivalent): "Send pricing PDF to {contact name} for {deal name}"

For any other non-terminal stage, the agent should write a sensible next step that matches the stage's name and the typical sales motion for that stage.

5. Call Todoist Create Task to add the task to my Sales project (let me change the project name in settings). The task should have:

- content: the drafted next-step line with the deal name and primary contact name

- description: a one-line link back to the HubSpot deal at https://app.hubspot.com/contacts/{portalId}/deal/{dealId} plus the deal amount and close date for quick context

- due_date: two business days from now, skipping Saturday and Sunday. Make the day offset configurable.

- labels: a single label matching the new stage (use the stage's internal name, lower-kebab-case)

If the Sales project does not exist in Todoist, surface a clear error telling me to create it or change the project name in settings. If the deal has no associated contact, still create the task using just the deal name and skip the contact placeholder.

Settings I want to control: the Todoist project name, the list of terminal stage names to skip, the per-stage task template, and the due-date offset in business days.

What does this prompt do?

  • The moment a HubSpot deal moves to a new pipeline stage, a task lands in your Todoist Sales project with the right next step for that stage.
  • Each task is pre-written with the deal name, the primary contact, a link back to the HubSpot deal, a label matching the new stage, and a due date two business days out.
  • Closed-won, closed-lost, and any other terminal stages you list are skipped, so Todoist only fills up with work that actually needs doing.
  • A direct replacement for HubSpot's native Todoist integration, which is being deprecated.

What do I need to use this?

  • A HubSpot account with access to deals and the ability to send a webhook from a workflow when a deal stage changes.
  • A Todoist account and a project where you want the tasks to land. We default to a project called Sales.

How can I customize it?

  • Change the Todoist project, or send tasks to different projects based on which pipeline the deal is in.
  • Edit the next-step template for each stage so the task content matches the language of your sales motion.
  • Adjust the due-date offset. The default is two business days out, but you can use any number of days or skip weekends differently.
  • Add or remove terminal stages so closed deals, paused deals, or any custom on-hold stage stays out of Todoist.

FAQs

Does this replace HubSpot's built-in Todoist integration?
Yes. HubSpot is sunsetting its native Todoist workflow action, and this covers the same job of turning stage changes into Todoist tasks. You also get full control over the task content, the due date, and which stages should be skipped.
Will this work on a HubSpot free plan?
Deal stage webhooks live inside HubSpot Workflows, which requires a paid Sales, Marketing, or Operations Hub tier. If you are on free, you can still run a near-equivalent version by polling for recent deal changes on a schedule instead of using a webhook.
Which stages get skipped?
Closed-won and closed-lost by default. You can add any other stage you treat as terminal, like a nurture or on-hold stage, and the workflow will exit without creating a task.
Where do the tasks land in Todoist?
In a project called Sales by default. You can point it at any project you own or share with your team.
How does the contact get attached?
Geni reads the primary contact associated with the deal in HubSpot, then puts the contact name in the task content alongside the deal name so the follow-up is always clearly addressed.

Related templates

Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Partner tier review board for quarterly promotion calls

Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.

Introw
HubSpot
Slack
App
Reconcile partner commissions between HubSpot and Introw

Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.

Introw
HubSpot
Slack
App
Hiring signal board for your customers and open pipeline

Open one board each morning to see which of your accounts are hiring, what they are building, and where your product fits the roles they just opened.

JobsPipe
HubSpot
App
Placement pricing desk for recruiting and staffing agencies

Open a live deal, see the market pay range for that role and city, set your markup, and write the agreed numbers straight back onto the deal.

Job Salary Data
HubSpot
App
Instagram comment and DM triage inbox for your team

Work every unanswered Instagram comment, Reel reply and Direct message from one queue, with claimed rows so two people never answer the same person.

Instagram
HubSpot
Slack Bot
App

Stop manually writing sales follow-ups after every stage change.

Connect HubSpot and Todoist once, and Geni adds the right next step the moment a deal moves stages.