Create Todoist tasks for HubSpot deal stage changes

By General Input

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.

Integrations

  • HubSpot
  • Todoist

Type

Agentic Task

Categories

  • Sales
  • Personal Productivity

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.

Related prompts

Explore more prompts
Turn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe revealsWhich companies your LinkedIn ads reach, matched to your CRMLead response desk with a running clock on every new leadApprove Lusha enrichment field by field before HubSpot saves it