Connecting Reachium to a CRM, Slack and Booking


What it does: gets leads, replies and bookings out of Reachium and into the systems your team actually works in, so nothing dies in an inbox nobody opened.

Run it when: more leads are arriving than one person can hold in their head, or someone asks "is this in the CRM?"

Time: an hour to decide and wire the first event, longer for a full sync.

Depends on: a running campaign generating events worth syncing.




Before you start


A named owner for the integration, because it will need maintaining

Knowing whether your receiver is reachable over public HTTPS

A list of which events a human actually needs to see




The steps


1. Pick the pattern with two questions.

Does this need to keep running with nobody watching? If no, and it is occasional, an assistant session can pull the data and write it into your CRM directly, with no setup at all. If yes, does Reachium push the event, or does your system reach in and pull? Reachium pushes means webhooks. Your system reaches in means the REST API. Most full integrations use both.


2. For continuous sync, create a webhook endpoint.

An HTTPS receiver you own, which can be n8n, Zapier, Make or your own code. Pick the events you actually want, not all of them.


3. Store the signing secret the moment it appears.

It is shown exactly once at creation and there is no way to retrieve it afterwards. Rotating it shows a new one, also once, and instantly kills the old.


4. Verify the signature before you trust anything.

Every delivery is signed with a timestamp and an HMAC. Verify against the raw request body before parsing it, and reject anything more than five minutes old. Skipping this means anyone who learns your URL can write into your CRM.


5. Choose the events by who needs to act.

Replies and flagged replies are the ones a human should see in near real time. Connection accepts, enrolments and lead state changes are high volume and belong in a batch. Account status changed matters, because it is how you find out a sender disconnected before a week of sends is lost.


6. Know what each event actually carries.

Reply events carry the full lead profile. Several of the lighter events carry only an id and a name, deliberately. Join on the LinkedIn profile URL, never on Reachium's internal lead id, because the profile URL means the same thing in both systems. When an event does not carry it, look it up once and cache the mapping.


7. Set Slack thresholds so people keep reading it.

A real-time ping for replies that need a human. A daily digest for volume events. Nothing at all for test pings, which arrive with every field empty whenever somebody clicks the test button. A Slack channel that fires forty times an hour gets muted in a week, and then it is worse than no channel.


8. Log events as activity, not as fields.

Each event's detail object is shaped differently, so write it to the timeline on the record rather than letting it overwrite core fields. And never log the reply agent's draft text as something the lead said, because it is not.


9. Add a reconciliation pass if the sync has to be complete.

Failed deliveries retry on a backoff and then die, and an endpoint that keeps failing eventually disables itself. If your CRM must be complete rather than best-effort, run a scheduled pull that catches whatever the webhooks missed. This is not optional for anything anyone reports on.


10. Keep booking simple.

The booking link belongs in reply messages (SOP 16) and at the top and bottom of every document (SOP 21), pulled from the brand profile so there is one canonical link. When someone books, the lead gets marked booked by a human in the inbox, and that is what fires downstream. It is not automatic meeting detection, so do not build reporting that assumes it is.




Do this / Not this


Do this

Not this

Choose the pattern from "does it run unattended"

Wire a webhook for a one-off export

Store the secret at creation

Assume you can read it back

Verify every signature before parsing

Trust anything that hits the URL

Join on the LinkedIn profile URL

Join on the internal lead id

Real-time for replies, digest for volume

Every event into one Slack channel

Reconcile on a schedule

Assume every delivery arrived

One canonical booking link

Three links of unknown vintage




Done when


The pattern is chosen and can be explained in one sentence

The endpoint exists, the secret is stored, and signature verification is live

Only the events someone acts on are subscribed

Slack carries replies in real time and everything else as a digest

Records join on the profile URL, with a cached mapping

A reconciliation job exists if completeness matters

One booking link, in the brand profile, used everywhere


Next: SOP 17, Reading the Numbers and Diagnosing the Funnel, now that the data has somewhere to go · Back to the index

Powered by reachium.io