This integration is in beta. Please Contact us for access.
HeyReach + Attio links LinkedIn with your CRM both ways. Push People from Attio into HeyReach campaigns and get replies, accepts, views, and campaign updates written back to Attio in real time. Setup takes 30 seconds (install the app, add a connection, paste your HeyReach API key) and it creates the “HeyReach Events” list and secure webhooks for you. End result: a cleaner pipeline, clearer context on every Person, and signals you can automate.
Push curated targets from Attio to HeyReach and stream LinkedIn engagement back into Attio in real-time.
This integration works with HeyReach (affiliate link - we may earn a commission if you sign up through our link). This app is provided free of charge, and affiliate commissions help support the ongoing development and maintenance of this service.
Outbound (Attio → HeyReach): Enroll People into HeyReach campaigns/lists with mapped fields.
Inbound (HeyReach → Attio): Capture connection, message, and campaign events to an Attio list and create any Person records not already in the CRM.
Continuous sync: Keep statuses and engagement context aligned across both tools.
The integration supports two basic connection formats for maximum flexibility:
exampleApiKey12345=
Just paste your HeyReach API key directly.
All HeyReach Events
{
"apiToken": "exampleApiKey12345",
"heyreachEvents": ["all"]
}
Listen to all available LinkedIn events.
Specific Events Only
{
"apiToken": "exampleApiKey12345",
"heyreachEvents": [
"connection_request_accepted",
"message_reply_received"
]
}
Choose exactly which events to listen for.
Choose what events you want to listen for:
Connection Events
connection_request_sent
- Notifies when a connection request has been sent to a LinkedIn account through a HeyReach campaignconnection_request_accepted
- Triggered when a LinkedIn account accepts your connection request as part of a HeyReach campaignMessaging Events
message_sent
- Occurs when you send a LinkedIn message through a HeyReach campaign (connection request messages are not tracked)message_reply_received
- Activated when you receive the first reply to a LinkedIn message as part of a HeyReach campaigninmail_sent
- Triggered when you send a LinkedIn InMail message through a HeyReach campaigninmail_reply_received
- Notifies when you receive the first reply to a LinkedIn InMail message that is part of a HeyReach campaignEngagement Events
follow_sent
- Occurs when you start following a LinkedIn profile through a HeyReach campaignliked_post
- Sent when you have liked a LinkedIn Profile's post as part of a HeyReach campaignviewed_profile
- Sent when you view a LinkedIn profile as part of a HeyReach campaignMeta Events
lead_tag_updated
- Occurs when you add or remove tags from a contact in HeyReachSpecial Events
every_message_reply_received
- Notifies you every time a lead replies to your LinkedIn messages or InMails (captures all replies, not just the first)The integration automatically:
Connection: connection_request_sent
, connection_request_accepted
Messaging: message_sent
, message_reply_received
, inmail_sent
, inmail_reply_received
Engagement: follow_sent
, liked_post
, viewed_profile
Campaign: lead_tag_updated
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Attio │◄──►│ HeyReach │◄──►│ LinkedIn │
│ CRM │ │ Platform │ │ Events │
└─────────────┘ └──────────────┘ └─────────────┘
│ │
│ │
▼ ▼
┌─────────────┐ ┌──────────────┐
│ Person │ │ Campaign │
│ Records │ │ Sequences │
└─────────────┘ └──────────────┘
│ │
│ │
▼ ▼
┌─────────────┐ ┌──────────────┐
│ HeyReach │ │ Event │
│ Events │ │ Webhooks │
│ List │ │ │
└─────────────┘ └──────────────┘
/pub/…
linkedin URLs, which are occasionally found in Attio or enrichment providers.It creates a two-way sync between Attio and HeyReach. You can:
Events are stored as list entries in a special "HeyReach Events" list, not as fields on the Person object.
This avoids cluttering core Person fields and supports one-to-many event relationships.
Webhook handlers created via the Attio SDK are hidden by design. They still run behind the scenes and are removed automatically when you uninstall the integration.
No. It checks for an existing match by email address and then LinkedIn URL before creating a new Person.
If no match is found, it creates a net-new record.
When adding people to HeyReach campaigns, we've seen actions often take 10–20 minutes before campaign events start to happen. Once the events happen, they are sent in real time to Attio. A good way to test that the integration is working is to add someone to a HeyReach list from Attio, and then to add a "tag" to them in HeyReach. That "tag" event will show up in the Attio List immediately.
The only mandatory fields are First name, Last Name, and a valid LinkedIn profile URL.
HeyReach will reject entries missing any of these fields.
Yes. Use "List entry added" as the trigger, then branch based on the "event type" (e.g., Viewed Profile, Message Sent, Reply Received, Tag Added).
That field comes directly from HeyReach and may be sparsely populated. It's inconsistent across profiles and depends on HeyReach's internal data availability.
No. Attio currently doesn't allow third-party apps to write to the native activity stream or last-interaction field.
Workarounds include:
The list is intended to function as an event stream.
This design supports:
Yes. Attio limits bulk edits and adds to 250 records at a time, even when using the UI.
Currently, this is free to use. We built this to test functionality in real-world use, and we think you should benefit from it. If you need some custom functionality from this app, please consider contacting us and letting us know, we'd be more than happy to build it for you.