Connecting HubSpot to Slack is one of the few integrations that works exactly as advertised on day one. The app is built by HubSpot rather than a third party, it is free, and HubSpot lists it as available on all products and plans. You install it, deal notifications start landing in a channel, a rep types /hs-search-deal in the middle of a conversation and the record appears, and the whole thing takes about fifteen minutes.
Then, six weeks later, someone asks where the discussion about the Henderson renewal went. It was in Slack. It is still in Slack. It is not on the deal, it was never on the deal, and on a free Slack plan it will stop being searchable in another six weeks.
That second phase is what this guide is about. What the HubSpot Slack integration actually does across its three separate surfaces, the exact limits documented on each one, which of them are configuration problems and which are structural, and how to tell whether you need to change a setting or build something. It sits alongside the broader guide to HubSpot integrations, focused on the connection between the system that records the work and the place the work is actually discussed.
In this article
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Does HubSpot Integrate With Slack?
Yes, and this is the good version of a marketplace listing. HubSpot builds and publishes the app itself, it appears in both the HubSpot App Marketplace and the Slack Marketplace, there is no charge, and HubSpot's own documentation puts it on all products and plans. Almost nothing else in the ecosystem is available that far down the pricing table.
Which makes the single hardest limit in the product easy to miss, because it is one sentence in the setup article rather than a line on a pricing page.
For a single company on a single Slack workspace, that limit never comes up. For everyone else it comes up immediately and permanently: a business that has just acquired another and is running two workspaces while the merge drags on, an agency that works inside client workspaces, a group with separate workspaces per region or per legal entity. There is no premium tier that lifts it. It is the shape of the integration.
The rest of the app is better than its reputation, and understanding it properly means separating three things that are usually discussed as one.
What the HubSpot Slack Integration Actually Does
Most confusion about this integration comes from people comparing notes about three different surfaces. They are built in different places, gated differently, and fail differently.
| Notifications | Records and commands | Workflow actions | |
|---|---|---|---|
| Configured in | HubSpot notification settings, the record's Slack card, and inbox settings | Slack itself, via slash commands and message shortcuts | HubSpot workflows |
| Direction | HubSpot to Slack | Slack to HubSpot | HubSpot to Slack |
| What it covers | Mentions, form submissions, task assignments and reminders, live chat, help desk, and record activity | Search, share, create and a narrow set of updates | Custom messages with action buttons, and channel creation |
| Plan gate | None on the base types | None | HubSpot Professional or Enterprise, because workflows are |
| Main limit | The set of triggers is fixed | Ten-field ticket cap, no deal associations | Static channel targeting per action |
Read that table and the shape of the product is already visible. Two of the three columns push from HubSpot into Slack. One pulls from Slack into HubSpot, and it pulls through buttons rather than through content.
The notification surface
Five different things send notifications, and they are configured in five different places, which is the single most common reason a team believes the integration is broken when it is simply switched off somewhere they have not looked.
User notifications cover mentions on records, form submissions, and task assignments and reminders. They are turned on per user under notification settings, on the tab for other apps, and they arrive as a direct message from the HubSpot app rather than in a channel.
Record activity notifications are the underrated one. On a company or deal record there is a Slack card that lets you associate a Slack channel with that record and choose which activity types push into it: new calls, notes, emails, tasks or meetings logged against the record. This is as close as the native app gets to a deal room. Note the direction, though. Activity logged in HubSpot appears in Slack. Nothing said in that Slack channel comes back.
Live chat notifications send incoming conversations from the inbox to a designated channel, and a rep can reply from the Slack thread without opening HubSpot. Help desk notifications do the equivalent for tickets. Workflow notifications are the custom ones, covered below.
One documented catch on email specifically: only emails you send, forward or reply to using your HubSpot account reach Slack. Mail that never touched HubSpot is invisible to the integration, which is the expected behaviour and still surprises people who assumed their inbox was the source.
The slash commands, in full
Ten are documented in HubSpot's knowledge base, and the Slack Marketplace listing adds a few more.
| Command | What it does |
|---|---|
/hs-search-contact | Search contacts by name |
/hs-search-company | Search companies by name |
/hs-search-deal | Search deals by name |
/hs-search-my-deal | Search only deals assigned to you |
/hs-search-task | Search tasks by title |
/hs-search-ticket | Search tickets by title |
/hs-search-playbook | Search playbooks by title |
/hs-search-kb | Search knowledge base articles |
/hs-report-company | Post key company KPIs |
/hs-buying-committee | Post buying committee information |
/hs-chat-away, /hs-chat-available | Set live chat availability |
/hs-feedback | Send feedback to HubSpot |
Three limits apply across all of them and are worth knowing before you build a habit around them. The commands only work in public channels, or in private channels the HubSpot app has explicitly been invited to. They return the first three results for the search term, not a full result set. And the results are visible only to the Slack user who typed the command, which makes them a private lookup tool rather than something you use to put a record in front of a channel.
Knowledge base articles that require member registration do not appear in the search results at all, which quietly removes most gated documentation from /hs-search-kb.
What you can create and change from Slack
More than the reputation suggests. From Slack you can create tasks, tickets, notes, contacts, companies and deals. You can update a ticket's status and a deal's stage. On a task or a ticket you can click Add association to attach a contact or a company.
The caps are specific and documented:
The documented limits on creating records from Slack
Ten fields on ticket creation. HubSpot's documentation states the Create a ticket action supports a maximum of ten fields, required or not. If your ticket form has twelve required properties because someone built reporting on them, this path cannot create a valid ticket.
Three property types are unsupported. HubSpot user, Multiple checkbox and Calculation properties cannot be used with ticket creation. Owner assignment via a HubSpot user property is exactly the field most teams would want on a ticket raised from Slack.
No associations on deals. Add association is not supported for deals. Where a task or ticket offers it, a deal offers Update deal stage instead, so a deal created from Slack arrives with no company and no contact attached to it.
Channel membership matters. HubSpot recommends creating tasks, tickets and notes in public channels or private channels the app has been invited to. The integration's reach stops at the channels it is a member of, which is a Slack permission model question rather than a HubSpot one.
How to Set Up the HubSpot Slack Integration
1. Check both sets of permissions before you start
You need Super Admin or App Marketplace permissions in HubSpot, and you need to be an administrator of the Slack workspace. Two different people usually hold those two rights, and discovering that halfway through an install is how a fifteen-minute job becomes a two-day one.
2. Decide which workspace, because you only get one
Pick deliberately rather than by whoever installs it first. If your business runs more than one Slack workspace, this is the decision that determines who is inside the integration and who is permanently outside it.
3. Install and authorise the scopes
The app requests access to public and private channel content, which is what live chat and message shortcuts run on, and to Slack member information so it can tie actions in Slack to the right HubSpot user. Read the scope list rather than clicking through it, because it is the thing your security review will ask about later.
4. Map users by email address
HubSpot matches your HubSpot user to your Slack user on email address. Anyone whose two addresses differ will not receive notifications and will not appear in the dropdown when a workflow is set to notify specific users. On a team with contractors or with a post-rebrand email domain, this is where most of the missing-notification tickets come from.
5. Turn on Approved Apps in Slack
HubSpot recommends this specifically to prevent the integration being disconnected unintentionally. It costs nothing and removes a whole class of Monday morning mystery.
6. Configure each notification surface separately
User notifications live in personal notification settings, live chat notifications live in the connected app's general settings, and record activity notifications live on the Slack card on an individual company or deal record. None of these inherit from each other. Walk all three or accept that two thirds of the integration is off.
Where the Native HubSpot Slack Integration Stops
Every item below is documented behaviour rather than a defect, which is exactly why configuration does not get around any of them.
The limits that decide whether the native app fits
One workspace, permanently. The structural limit. There is no upgrade path and no second connection, so any org running two workspaces has to pick a side or build.
Nothing writes the conversation back. The most consequential one in daily use. Notifications flow in and button presses flow out, but the thread itself never lands on a record. The message that changed the close date, the objection a rep worked through, the escalation call that saved an account: all of it stays in Slack, associated with nothing.
Routing is a workflow choice, not a rule. Inside a Send a Slack notification action you pick users, a channel, or record owners. The channel is chosen when the workflow is built. Routing by territory, segment, pipeline or deal size means one workflow per destination, and a routing change means editing every one of them.
Workflow-created private channels are visible to one person. HubSpot's documentation states that a private channel created by the Create a Slack channel action is only visible to the user who owns the enrolled record. A deal room that only the deal owner can see is a notification, not a room.
Channel naming is constrained. Channel names must be 80 characters or fewer and can only contain lowercase letters, numbers, hyphens and underscores. Any templated name built from a company or deal property needs sanitising, because real company names contain apostrophes, ampersands and full stops.
The record card is per record, by hand. Associating a Slack channel with a deal is done on that deal, one at a time. There is no bulk association and no rule that says every deal above a threshold gets a channel, unless you build it in a workflow, which requires Professional.
Slash command output is private and capped at three. Fine for a rep checking a number mid-conversation. Not a way to surface a record to a channel, which is what most people assume they are doing the first time they use it.
The native app is very good at telling Slack what happened in HubSpot. It has almost no opinion about what happened in Slack. Every serious HubSpot Slack project is an attempt to close that second direction.
The Plan Gates, and the One That Actually Bites
The base app has no subscription requirement, which makes the two gates that do exist easy to trip over.
The Slack side has its own economics that shape what the integration is worth. The free Slack plan makes only the last 90 days of message history visible and caps a workspace at 10 app integrations. For a team relying on Slack as the informal record of what happened on an account, a 90-day visibility horizon is not a storage detail. It is the reason the account history has holes in it, and it is a good argument for getting the parts that matter onto the CRM record where retention is not a Slack billing decision.
Once notifications are custom, the buttons inside them are the interesting part. A workflow notification can carry Create a note, Log meeting, Log call, Log email, Create task, Call contact, Email contact, Update object and List associations, plus a Summarize with Copilot button for an AI summary of the record. The Slack listing also documents @-mentioning the HubSpot app in a thread to ask Breeze questions about your CRM data. This is the good half of the product, and it is worth the Professional subscription on its own if you are close to it for other reasons.
HubSpot Slack Integration: Native vs iPaaS vs Custom
Three routes, and they stack rather than compete. If the middle term is unfamiliar, the guide to iPaaS covers the category properly.
Free, built by HubSpot, on every plan, and genuinely good at what it claims. If the requirement is that the team finds out when a deal closes or a form comes in, and that a rep can pull up a record without switching tabs, install it today and build nothing. Almost everyone should start here.
Buys you conditional logic and message formatting that HubSpot workflows cannot express, and lets a third tool join the chain. You are accepting a subscription that scales with message volume, and an automation layer that is still fundamentally pushing notifications one way. It fixes expressiveness without fixing direction.
Built against the Slack Web API and the HubSpot API directly, so a thread can be captured onto the deal it belongs to, channel selection can run on any logic you can describe, more than one workspace can be connected, and a failure surfaces to a person rather than to a log. Fixed cost, no per-message meter.
When to Build a Custom HubSpot Slack Integration
Nobody should start with a build here. The native app is free, sits on every plan, and covers the most common requirement well. The skill is recognising the point at which you have started working around the connector rather than with it.
Signs you have outgrown the native app
People paste Slack links into HubSpot notes by hand. The clearest signal there is. Someone has decided the conversation belongs on the record and is doing the integration's job manually, inconsistently, and only when they remember.
You run more than one Slack workspace. Post-acquisition, multi-region, or an agency living in client workspaces through Slack Connect. One connection is one connection, and no configuration changes that.
Channel routing depends on the record. Enterprise deals to one channel, EMEA to another, anything over a threshold to a named group. Expressing that in native workflows means one workflow per destination and a maintenance job every time the routing changes.
You need a real deal room, not a private channel of one. A channel created automatically at a given stage, with the right people in it, the right context posted at the top, and archive behaviour when the deal closes. The native channel action creates the channel and stops there.
Your ticket process needs more than ten fields. The cap is documented and absolute. If a valid ticket in your instance requires twelve properties, Slack cannot raise one.
Nobody trusts the notification any more. The behavioural signal, and the most reliable one. When a rep checks HubSpot before believing the channel, the integration has already failed even though every notification is still technically sending.
Most teams that commission a build keep the native app exactly where it is for notifications and lookups, which it handles well, and add a custom layer for the direction it does not cover: conversation capture onto the record, rule-driven routing, multi-workspace reach, and channel lifecycle. That is the same pattern the HubSpot ClickUp integration guide describes for delivery work and the HubSpot ERP integration guide describes on the finance side.
One thing to know before you scope a build
Throughput on a Slack integration behaves differently from throughput on a CRM-to-CRM sync, and the surprise is where the ceiling sits.
There is one more thing worth raising with anyone quoting for this work. Since 29 May 2025, newly created Slack apps that are commercially distributed and have not been approved for the Slack Marketplace face new rate limits on the conversations.history and conversations.replies methods. Those are exactly the two methods a conversation-capture integration depends on. A private app built for your own workspace is on different footing from a commercially distributed one, and knowing which category a build falls into changes the architecture rather than a setting. Ask the question early. It is a fast way to tell who has read Slack's changelog and who has read a blog post about it.
What a Custom HubSpot Slack Integration Costs
The honest comparison is not build versus free, because the native app stays installed either way. It is build versus the running cost of the alternative: the iPaaS subscription that scales with message volume, the Professional upgrade bought for workflow actions, and the hours a week spent reconstructing what happened on an account by scrolling a channel.
A custom integration is a one-time build plus ongoing maintenance, priced by scope. Routing notifications by record properties is a much smaller build than capturing threads onto records with a channel lifecycle across two workspaces. The cost teams underestimate is never the build. It is maintenance, because HubSpot properties change every time ops runs a cleanup, Slack deprecates and re-tiers API methods on its own schedule, and an unowned pipe between them drifts until nobody trusts either side.
A custom build inverts the cost curve of a metered automation tool. You pay more up front and then nothing per message, so the more your team actually talks in Slack, the more the economics favour building it properly.
That inversion is why we productized it. StackTie builds the connection against the Slack Web API and the HubSpot API directly for a fixed fee, then maintains it on a flat monthly retainer, so the conversation that decides the deal ends up somewhere more durable than a channel with a 90-day memory.
The deal closed in Slack. Where did the conversation go?
When threads need to land on the record, when routing depends on the deal rather than on which workflow someone opened, when there is more than one Slack workspace, or when your ticket needs more than ten fields, that is a build. StackTie builds custom HubSpot Slack integrations for a fixed fee and maintains them on a flat monthly retainer, alongside the native app you already have. Live in 14 days or your money back. Book a free audit and we'll map exactly where your native option stops.
The Bottom Line
HubSpot and Slack have a genuinely good native integration, built by HubSpot, free, and available on every plan. It runs across three surfaces: notifications from five different sources pushing into Slack, slash commands and shortcuts letting people look records up and create a few from Slack, and two workflow actions that post custom messages and create channels for teams on Professional or above. Set all three up properly and most companies need nothing else.
The limits that matter are not features someone forgot. One workspace is the shape of the connection. The ten-field ticket cap and the missing deal associations are the edges of a capture form, not a CRM. And the direction of travel is the whole story: state moves from HubSpot into Slack in high volume, and moves back out through a handful of buttons. The conversation itself, which is the reason your team is in Slack in the first place, never crosses. That is fine when Slack is where you get notified. It is nowhere near enough when Slack is where the work actually happens, and the difference between those two situations is not a setting anyone can change.


