Checked 31 August 2026
Connecting BrandJet to wherever the record lives
Reach and record are two different jobs and they want two different tools. BrandJet syncs to HubSpot, Attio and Slack, and ships webhooks, API access and an MCP integration. Which means the join is a design decision rather than a limitation, and it is worth making deliberately.
One rule, and everything else follows from it
A prospect who has not replied belongs to the reach layer. A person in a conversation belongs to the record. Get that boundary right and the two systems never argue. Get it wrong and you have two half pipelines that disagree about who is live.
The common failure is syncing everything, immediately. Ten thousand cold contacts land in a CRM that was holding four hundred real relationships, and the record stops being a record. The sync should start at the reply, not at the import.
Stays in BrandJet
Sourced leads, the enriched list, sequence state, sends, bounces, who is mid campaign. None of this is a relationship yet, and none of it belongs in the system your team opens every morning.
Crosses to the record
A reply, a booked meeting, an opt out, and the person attached to each. Everything downstream of a human being answering, which is exactly the point at which a CRM starts earning its keep.
What BrandJet gives you to build the join with
| Route | What it is for | Reach for it when |
|---|---|---|
| HubSpot sync | A native connection to the most common record system | HubSpot is already the record and you want the least work |
| Attio sync | Native, to the other record system it names | You run Attio and want the same |
| Slack | Notification rather than record | A reply needs a human's attention in minutes, not at end of day |
| Webhooks | Real time events at an endpoint you own | The record is anything else, or the mapping has rules in it |
| API | Read and write on your own schedule | You need to pull as well as receive |
| MCP | An assistant reaching the workspace in conversation | You want to ask rather than build a report |
Source: brandjet.ai/features, integrations and MCP entries, read 31 August 2026. The native list is stated as "HubSpot, Attio, Slack, and more", so check the current catalogue for yours before assuming a webhook is required.
If the record is not HubSpot or Attio
Which increasingly it is not. The webhook route is the same shape in every case.
Decide what a reply creates
A person, usually. Sometimes a deal, and the answer differs by system: on Day.ai a reply cannot open a deal through Zapier at all, so the person is created and a human opens the deal. That constraint is written up here.
A decision, not a buildSend the reply event, not the contact list
One webhook on reply. Resist the urge to also sync sends, opens and bounces: they are reach metrics and they belong on the reach side, where the reporting already understands them.
An afternoonCarry the campaign name across
The single most useful field, and the one people forget. Without it the record knows a person arrived and not which message brought them, so nothing can ever be attributed back.
One field, do it nowDecide what happens on an opt out
Suppression has to reach both systems or somebody gets mailed again from the other one. This is the leg most setups skip and the only one with a legal edge to it.
Before you send, not after
BrandJet also carries its own CRM, and when to use it
You do not have a record system yet
Lead management, pipeline stages, notes and interaction history are built in. For a team with nowhere to put a booked call, somewhere is better than a six month implementation, and you can move later.
You already have a record system
Two pipelines is worse than either one alone. If HubSpot, Attio, Day.ai or Clarify already holds your customers, the built in CRM is the thing to leave switched off and the sync is the thing to configure.
Where the four record systems actually differ, if you are still choosing.
Common questions
Does BrandJet integrate with HubSpot?
Yes, HubSpot and Attio are both named on the features page, alongside Slack, with webhooks and API access included. Confirm the current catalogue before planning, since the page says "and more".
Should I sync all my leads into my CRM?
No. Sync at the reply. Cold contacts that have not answered are reach layer data, and pushing thousands of them into a record system turns it into a list nobody trusts.
What if my CRM is not on the list?
Use a webhook on the reply event to an endpoint you control, and write from there. That is also the right route whenever the field mapping carries any business logic rather than being a copy.
Should I use BrandJet's own CRM?
If you do not have one, yes, for now. If you do, no. The failure mode is two pipelines that disagree about who is live, and it is much harder to unpick later than it is to avoid at setup.
How do I attribute a booked meeting back to a campaign?
Carry the campaign name across on the reply event and store it on the record. It costs one field at setup and it is the only way the record can ever answer which message worked.
What about opt outs?
Suppression has to reach both systems. Decide that before the first send, not after somebody gets mailed twice from two places.
Where we come in
We build the join between reach and record
Most setups sync everything on day one and turn a record system into a list nobody trusts. The sync should start at the reply, and getting that boundary right is most of the work.
- The reply event wired to your record system, whatever it is
- Campaign name carried across, so a booked meeting can be attributed
- Suppression reaching both systems before the first send goes out
- The built in CRM switched off if you already have a record system
Free, no call required
The reach to record wiring guide
Not ready to talk to anyone? Take this instead. One email, nothing else unless you ask for it.