DM customers on Messenger when their HubSpot deal moves stages

Every time a deal moves in HubSpot, your customer gets a perfectly tailored Messenger note. Celebrations for closed-won, check-ins after a proposal, soft asks after a loss.

Agentic Task
HubSpotManychatSalesMarketingNotifications & AlertsOnboarding AutomationFeedback Triage

Build me an agent workflow that reacts to HubSpot deal stage changes by sending the customer a perfectly tailored Manychat Messenger DM.

Trigger: a HubSpot webhook fired when a deal's dealstage property changes. The webhook payload gives you the deal ID and the new stage value.

When the webhook fires, the agent should do this:

1. Call HubSpot Get Deal on the incoming deal ID. Request the dealname, dealstage, amount, pipeline, and hubspot_owner_id properties, and include the contacts association so we can resolve the primary contact.

2. Take the first associated contact ID and call HubSpot Get Contact to fetch the contact's email, firstname, and lastname.

3. Call Manychat Find Subscriber by System Field with that email. If no subscriber is returned, stop silently. Do not log a noisy error and do not try to create the subscriber. Many HubSpot contacts will simply not be in the Messenger audience and that is fine.

4. If a subscriber is found, decide what to say based on the new dealstage. Default behaviors:

- Proposal Sent: a friendly check-in offering to answer any open questions about the proposal.

- Closed Won: a celebratory message thanking them and pointing to the onboarding next steps.

- Closed Lost: a soft, low-pressure feedback request asking what would have made it a better fit.

For any other stage value, skip silently. Make the stage map easy to edit in one place so I can add more stages later.

5. Use AI to draft the actual message text in the brand voice. The voice is short, casual, and Messenger-appropriate. Two or three sentences max, no formal sign-off, no corporate jargon, address the customer by first name when we have it. The AI is only used for drafting copy. It does not decide which stage triggers which message.

6. Call Manychat Send Content to deliver the message to the subscriber. Use the Dynamic Block v2 format with one text message and two quick-reply buttons appropriate to the stage. Suggested defaults: Proposal Sent gets 'Got a question' and 'Looks good', Closed Won gets 'Start onboarding' and 'Talk to a human', Closed Lost gets 'Share feedback' and 'Maybe later'. Quick replies should route to existing flows or simply capture a reply, whichever the user has set up.

7. Call Manychat Set Custom Field by Name on the same subscriber to mirror the new HubSpot deal stage into a field called hubspot_deal_stage (case-insensitive). This keeps Manychat segments and future automations in sync with where the deal is in HubSpot.

Other requirements: dedupe so the same stage transition only fires one DM (HubSpot can send the same change event more than once). Respect Messenger's 24-hour messaging window. If Send Content returns a messaging-restriction error, log it and move on without retrying. Keep the stage-to-message rules in a single config block at the top of the workflow so I can edit copy, quick replies, and stage names without hunting through code.

Additional information

What does this prompt do?
  • Watches your HubSpot pipeline and reacts the moment a deal's stage changes.
  • Finds the deal's primary contact and looks them up in your Manychat audience by email.
  • Writes a short, on-brand Messenger note tuned to the new stage, with quick-reply buttons your customer can tap.
  • Updates the subscriber's stage field in Manychat so future campaigns and segments stay in sync.
What do I need to use this?
  • A HubSpot account where you manage your sales pipeline and deal stages.
  • A Manychat account connected to your Facebook or Instagram presence, with subscribers identified by email.
  • A short note on your brand voice and the message you want sent for each key stage (Proposal Sent, Closed Won, Closed Lost, or whichever stages matter most to you).
How can I customize it?
  • Swap in your own stage list and the message style for each one. Add Discovery Call, Negotiation, Onboarding, anything you use.
  • Change the quick-reply buttons to match what you actually want customers to do next, like booking a call or replying with feedback.
  • Add a guardrail so the workflow only fires for deals above a certain amount, or only for a specific pipeline or deal owner.

Frequently asked questions

Will this work if I use HubSpot's free CRM?
Yes. Deal stage changes are available on every HubSpot plan, including the free tier, so this workflow runs the same whether you are on Free, Starter, Professional, or Enterprise.
What happens if a deal's contact is not in my Manychat audience?
The workflow skips quietly. It only sends a Messenger note when it can find a matching subscriber by email, so contacts who never opted in to your Messenger bot are left alone.
Can I change what gets sent for each stage?
Yes. You describe in plain language what tone and content you want for each stage, and the agent writes the message in your brand voice every time. You can update the rules whenever you want.
Does this fire instantly or on a delay?
It fires the moment HubSpot tells us the deal stage changed, so the customer gets the note in near real time.
Can I send different messages for different pipelines?
Yes. You can split logic by pipeline, by deal owner, by amount, or by any other deal field, and route to different message variants from there.

Turn every pipeline move into a moment of customer delight.

Connect HubSpot and Manychat once, and your customers hear from you the second their deal moves, in your voice, every time.