TL;DR: Open any audience → Destinations section → click the tool's logo → Connect. Enter your endpoint and send a test in the sheet that opens. The connection is workspace-level, so every other audience can push to it afterwards.
Where destinations live
There is no Destinations page and no Destinations entry in Settings. Destinations are configured on an audience: open any audience (Audiences → a row, or + Add audience for a new one) and scroll to the Destinations section — headed Where each member is pushed, with a counter reading N on this audience · N connected in this workspace.
That section is a grid of every tool the platform supports, grouped by category. Clicking a tile opens its side sheet, and that sheet is where all of the work below happens: credentials, routing, send rules, test and push.
Two things are being set there, and they are scoped differently:
- The connection — your credentials for the tool. Workspace-level. Connect it once from any audience and every other audience sees it as connected.
- The pairing — this audience pushing to that connection, with its own target, rules and cadence. Per-audience. A brand-new audience has to be saved before it can be paired, because a pairing needs a row to hang on.
HubSpot, Salesforce and the other CRMs
HubSpot, Salesforce, Attio, Pipedrive, Close and Breakcold are CRM destinations on the Post-PMF plan. Their tiles are visible in the grid, and each opens the plans page, where you upgrade to the Post-PMF plan or request a trial of it.
Google Ads, Meta Ads and LinkedIn Ads
The ad platforms connect from their tiles like any other tool.
Outreach and Salesloft
These tiles carry one link: Request trial, which opens a booking page. We connect the tool with you.
Tools that connect with an API key
Some sequencers connect with an API key instead of a sign-in:
- Open an audience →
Destinations→ click the tool's tile - Paste the tool's API key →
Connect - Send a test from the sheet
Custom webhooks
For anything else (your own internal tool, a custom AI agent, a notification system):
- Open an audience →
Destinations→ click the Custom webhook tile →Connect - Enter your webhook URL
- Set an auth header (e.g.
Authorization: Bearer <your-secret>) - Pick the events to POST —
member_added,member_updated, or both - Test with a dummy event
Your webhook receives a JSON payload per event, and every payload is signed. Schema is documented in the Unstuck Engine docs.
Verifying the connection
The Destinations grid on the audience is the status surface. Every tile carries its own state:
- Full colour — connected in this workspace
- Greyscale — not connected yet; clicking opens the credential form
- Plans link — a CRM destination on the Post-PMF plan; the link opens the plans page to upgrade or request a trial
Request trial— the link opens a booking page- Corner badge — the pairing on this audience needs attention: amber for a warning, red for an error, a dashed circle for one that has never run
Click any tile to open its sheet. The header carries the connection's health — Healthy, Degraded, Action required or Not checked yet — how long ago it was checked, and the provider's own error message when there is one. Re-check connection re-runs the check on demand.
Disconnecting
Two different things, in two places inside the destination's sheet:
Remove(sheet footer) — detaches the destination from this audience. The workspace connection stays, and other audiences keep pushing.Disconnect(trash icon in the sheet header) — drops the workspace connection itself. Stops every audience pushing to that tool and revokes the stored credentials.
Pause connection, next to it in the header, is the reversible middle ground: the configuration is preserved, syncing stops.
Records already in the destination remain in every case; Unstuck Engine doesn't clean up downstream.