HubSpot + Slack: AI follow ups ready to send
Your CRM has the notes. Your inbox has the pressure. And somehow the follow-up still gets written “later,” which quietly turns into never.
This HubSpot Slack followups automation hits sales managers first because pipeline hygiene becomes their problem. But founders and client-facing account leads feel it too when leads go cold and nobody can say why.
This workflow turns recent interaction context into an AI-written follow-up draft, then drops it into Slack (and Telegram/Teams) so you can review, tweak, and send fast. You’ll see what it does, how it flows, and what you need to run it.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: HubSpot + Slack: AI follow ups ready to send
flowchart LR
subgraph sg0["Scheduled Automation Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Automation Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "📝 Assign Sample Info", pos: "b", h: 48 }
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/hubspot.svg' width='40' height='40' /></div><br/>🔗 HubSpot Contact Search"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/mondayCom.svg' width='40' height='40' /></div><br/>📋 Monday Record Retrieve"]
n4@{ icon: "mdi:brain", form: "rounded", label: "🤖 Language Model Core", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "🤖 Compose Follow-up Note", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>💬 Slack Follow-up Alert"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>💬 Telegram Follow-up Alert"]
n8@{ icon: "mdi:message-outline", form: "rounded", label: "💬 Teams Follow-up Alert", pos: "b", h: 48 }
n1 --> n2
n1 --> n3
n0 --> n1
n4 -.-> n5
n3 --> n5
n2 --> n5
n5 --> n6
n5 --> n7
n5 --> n8
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n5 ai
class n4 aiModel
class n3 disabled
classDef customIcon fill:none,stroke:none
class n2,n3,n6,n7 customIcon
The Challenge: Follow-ups slip because drafting is slow
After a demo or sales call, you usually have decent notes somewhere: a quick summary in HubSpot, maybe a bullet list in a doc, sometimes a messy internal message thread. But turning that context into a clean, professional follow-up email takes more time than it should. So it gets postponed, rewritten three times, or sent as a rushed two-liner that doesn’t match your brand. Multiply that by every rep, every week, and you get the worst kind of loss: silent lost revenue with no obvious “break.”
It adds up fast. And the friction isn’t one big thing, it’s the pile of small ones.
- People re-read call notes and still forget the one detail that would make the email feel personal.
- Follow-ups happen in batches, which means “timely” becomes “next week” more often than anyone admits.
- Managers can’t easily review message quality, because drafts live in inboxes, not in a shared place.
- When a lead goes quiet, you’re never sure if it was the timing, the message, or just no follow-up at all.
The Fix: HubSpot-enriched AI follow-up drafts sent to Slack
This automation runs on a schedule (daily is typical) and pulls a list of “who needs a follow-up” details from the info you already track. It starts with basic contact and context fields, then looks up the contact in HubSpot to confirm and enrich the record. If you also keep context in Monday.com, the workflow can pull that too and combine it with the HubSpot data. Then an OpenAI-powered agent drafts a friendly, professional follow-up email that references the interaction, suggests next steps, and includes a consistent signature block. Finally, the draft is posted into Slack for review, with the same message optionally delivered to Telegram and Microsoft Teams so it doesn’t get missed.
The workflow begins with a scheduled trigger and a “context packet” for each lead. From there it enriches the contact using HubSpot (and optionally Monday.com), writes the draft with OpenAI, then sends the finished follow-up message to Slack, Telegram, and Teams. No copying notes into prompts. No hunting for the “right” template.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say your team has 10 follow-ups to send after demos each day. Manually, a rep might spend about 10 minutes reading notes, checking HubSpot, drafting, and pasting into an email, which is roughly 100 minutes daily. With this workflow, the “work” becomes reviewing drafts in Slack: maybe 2 minutes per lead, so about 20 minutes, plus the background processing time you don’t have to babysit. That’s roughly an hour back every day, per rep, without sacrificing personalization.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- HubSpot for contact lookup and enrichment.
- Slack to post drafts for review.
- OpenAI API key (get it from your OpenAI dashboard).
Skill level: Intermediate. You’ll connect accounts, map a few fields, and test with sample contacts.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A scheduled check runs automatically. You decide the cadence (daily is common), and the workflow kicks off without anyone remembering to do it.
Lead context is gathered and cleaned up. n8n sets the key fields that matter (name, email, and the “what happened” note from the last interaction), so the rest of the flow always works with a consistent data shape.
HubSpot enrichment (and optional Monday.com data) fills gaps. The workflow searches HubSpot by email to pull the right contact details. If you track extra context in Monday.com, it can fetch that record too, then pass the combined info into the AI step.
OpenAI drafts the follow-up and sends it where the team will see it. The AI agent writes a ready-to-send message, then posts it into Slack (plus Telegram and Microsoft Teams) as a reminder and review artifact.
You can easily modify the drafting prompt to match your voice, or change the destination from a shared Slack channel to a private rep channel based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
Set up the workflow to run automatically on your desired schedule.
- Add and open Scheduled Automation Trigger.
- Set the scheduling rule under Rule to match your preferred interval (e.g., hourly or daily).
- Connect Scheduled Automation Trigger to 📝 Assign Sample Info.
Step 2: Define Contact Context Data
Provide sample contact data and context that will be used to find records and generate follow-ups.
- Open 📝 Assign Sample Info.
- Set contact_name to
John Doe. - Set context to
had a product demo yesterday and showed strong interest in our enterprise features. - Set Email to
[YOUR_EMAIL].
📝 Assign Sample Info outputs to both 🔗 HubSpot Contact Search and 📋 Monday Record Retrieve in parallel.
Step 3: Connect HubSpot and Monday.com Data Sources
Pull contact details from HubSpot and related records from Monday.com.
- Open 🔗 HubSpot Contact Search and set Operation to
searchand Return All totrue. - In Filters, set the email value to
={{ $json.Email }}. - Credential Required: Connect your hubspotAppToken credentials.
- Open 📋 Monday Record Retrieve and set Board ID to
[YOUR_ID]with Operation asget. - Credential Required: Connect your mondayComApi credentials.
Step 4: Set Up AI Message Composition
Configure the language model and prompt that generates the follow-up message.
- Open 🤖 Language Model Core and set Model to
gpt-4o-mini. - Credential Required: Connect your openAiApi credentials.
- Open 🤖 Compose Follow-up Note and set Prompt Type to
define. - Set Text to the full prompt provided in the node, starting with
=Generate a short, professional follow-up message for {{ $json.properties.firstname }} {{ $json.properties.lastname }}, who {{ $('📝 Assign Sample Info').item.json.context }}.
OpenAI Chat model credentials should be added to 🤖 Language Model Core, which is connected as the language model for 🤖 Compose Follow-up Note.
Step 5: Configure Output Alerts
Send the AI-generated follow-up message to Slack, Telegram, and Microsoft Teams in parallel.
- Open 💬 Slack Follow-up Alert and set Text to
=📞 Follow-up Reminder **Contact:** {{ $('📝 Assign Sample Info').item.json.contact_name }} **Context:** {{ $('📝 Assign Sample Info').item.json.context }} **Suggested Message:** {{ $json.output }}. - Set the Slack Channel to
[YOUR_ID]. - Credential Required: Connect your slackApi credentials.
- Open 💬 Telegram Follow-up Alert and set Chat ID to
[YOUR_ID]and Text to={{ $json.output }}. - Credential Required: Connect your telegramApi credentials.
- Open 💬 Teams Follow-up Alert and set Message to
={{ $json.output }}with Resource aschannelMessage. - Credential Required: Connect your microsoftTeamsOAuth2Api credentials.
🤖 Compose Follow-up Note outputs to 💬 Slack Follow-up Alert, 💬 Telegram Follow-up Alert, and 💬 Teams Follow-up Alert in parallel.
Step 6: Test and Activate Your Workflow
Validate the end-to-end flow and turn on automation.
- Click Execute Workflow to run the flow manually from Scheduled Automation Trigger.
- Confirm that HubSpot search returns a contact and that 🤖 Compose Follow-up Note outputs a complete message.
- Verify alerts appear in Slack, Telegram, and Teams with the generated message.
- Once verified, toggle the workflow Active to enable scheduled runs.
Watch Out For
- HubSpot credentials can expire or need specific permissions. If things break, check your connected account and private app scopes inside HubSpot first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
Usually in about an hour if your HubSpot and Slack access is ready.
Yes. No coding required, but someone needs to confidently connect accounts and test a few sample leads.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage, which is usually a few cents per draft.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Start by changing the instructions in the “Compose Follow-up Note” agent so it matches your tone, your offer, and your typical next step. You can also adjust what gets pulled from HubSpot in the contact search step (for example, lifecycle stage, owner name, or last activity) so the draft references the right detail. If Monday.com is your real source of meeting notes, keep that node enabled and pass its fields into the same AI prompt. And if Slack is only for managers, route the draft to a rep first, then forward it to a review channel when it’s approved.
Most of the time it’s an expired token or missing HubSpot scopes on the connected app. Reconnect HubSpot in n8n, then confirm the contact search permissions are enabled. Also check the email field you’re searching by, because a blank or malformed email will look like a “connection” error when it’s really a data issue. If you’re running big batches, HubSpot rate limits can show up too, so slow the schedule or process fewer contacts per run.
On n8n Cloud Starter you can run thousands of executions per month, which is plenty for most small teams doing daily follow-ups. If you self-host, there’s no execution cap; your limit is your server and the API limits of HubSpot and OpenAI. Practically, teams often start with 20–50 drafts a day, then scale up once prompts and routing are solid.
Often, yes, especially if you want richer logic and multi-channel routing in one place. n8n handles branching, optional Monday.com enrichment, and more complex AI prompting without turning it into a fragile chain of zaps. Self-hosting is the other big difference, honestly, because you can run a lot of drafts without worrying about per-task pricing. Zapier or Make can still be a great fit for a very simple “CRM note → single Slack message” flow, and they may feel quicker at first. If you’re on the fence, Talk to an automation expert and we’ll map the simplest setup that meets your process.
Once this is running, follow-ups stop being a daily scramble and turn into a simple review habit in Slack. The workflow handles the repetitive part so your team can focus on the conversations that actually close.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.