Skip to main content

HeyReach contact activities in HubSpot

How HeyReach logs all 12 LinkedIn activities on HubSpot contacts. What each event captures, when it fires, and how to use it for filtering, reporting, and workflow automation.

When you connect HeyReach to HubSpot, every LinkedIn action your team takes through HeyReach can be logged as a native activity on the contact's timeline in HubSpot.

Activities are organised into four sections:

  1. Lifecycle events,

  2. LinkedIn outbound events,

  3. Conversation events, and

  4. Cross-tool handoff.

⚠️ Important note: Contact creation is not listed as a HeyReach activity because it is logged via HubSpot's built-in Contact created event, not a HeyReach custom event. When HeyReach creates a new contact, the source is automatically tagged as HeyReach in the standard HubSpot creation log, visible alongside HeyReach's custom activities.

Recommended vs. optional activities

Inside the HubSpot integration settings, you can toggle which activities are logged. Activities fall into two groups:

  • Recommended - toggled on by default. These capture state changes (replies, campaign enrollment, list assignment) and are essential for accurate reporting. Disabling them is possible but not advised.

  • Optional - toggled on by default but can be safely disabled if your team prefers a less cluttered timeline. These capture every outbound touch (sends, withdrawals, pauses, handoffs) and are useful for detailed auditing but may feel noisy for high-volume programs.

Lifecycle events

Lifecycle events track when contacts enter or leave HeyReach campaigns and lists. They show the broader shape of a contact's relationship with your outbound operation, distinct from the LinkedIn messaging itself.

Add contact to campaign

Event identifier: heyreach_add_contact_to_campaign_event | Recommended or optional: Recommended

When it fires: Triggered when a contact is enrolled in a HeyReach campaign, whether manually added by a team member or pulled in automatically from a list or HubSpot sync.

Card header: Contact added to Campaign

Card body shows: Campaign ID, Campaign Name (as a clickable link where available), Campaign Status, Created by (if available)

Use cases:

  • Filter contacts who were enrolled in a specific campaign within a date range to audit campaign membership and pipeline contribution

  • Build a campaign enrollment report showing weekly or monthly intake volume per campaign to track outbound velocity

  • Trigger a HubSpot workflow when a contact is enrolled in a high-priority campaign to notify the account owner or apply a tag

Add contact to list

Event identifier: heyreach_add_contact_to_list_event | Recommended or optional: Recommended

When it fires: Triggered when a contact is added to a HeyReach list, whether through CSV import, Sales Navigator pull, HubSpot list sync, or manual addition.

Card header: Contact added to List

Card body shows: List ID, List Name (as a clickable link where available), Import Method, Created by (if available)

Use cases:

  • Filter contacts by import method to see which lead sources (CSV, Sales Navigator, HubSpot) are populating which lists

  • Build a data sourcing report comparing list intake volume across different import methods to evaluate lead source effectiveness

  • Trigger a HubSpot workflow to apply a lifecycle stage update or tag when a contact joins a list flagged as high-priority

Contact paused in campaign

Event identifier: heyreach_pause_contact_from_campaign_event | Recommended or optional: Optional

When it fires: Triggered when a contact's campaign progression is paused, either manually by a team member or automatically by HeyReach rules (e.g. reply detection).

Card header: Contact paused in campaign

Card body shows: Campaign ID, Campaign Name, Paused by (if available)

Use cases:

  • Filter contacts paused in a campaign within the last 7 days to review which contacts your team is actively excluding from further outreach

  • Build a pause-rate report per campaign to identify campaigns with unusually high pause rates that may need messaging adjustments

  • Trigger a follow-up workflow when a contact is paused to notify the account owner so they can decide on next steps

Remove contact from list

Event identifier: heyreach_remove_contact_from_list_event | Recommended or optional: Optional

When it fires: Triggered when a contact is removed from a HeyReach list, whether manually or as part of list cleanup, deduplication, or suppression workflows.

Card header: Contact removed from list

Card body shows: List ID, List Name, Removed by (if available)

Use cases:

  • Filter contacts removed from a list within a date range to audit cleanup operations and ensure suppression workflows ran as intended

  • Build a list churn report showing weekly removal volume per list to track data hygiene work and identify lists with high turnover

  • Trigger a HubSpot workflow when a contact is removed from a suppression-related list to update tags or lifecycle stages accordingly

LinkedIn outbound events

LinkedIn outbound events track the connection request sub-funnel - sent, accepted, and withdrawn. Together they show how your senders are performing at the first touchpoint and which prospects are opening the door to further conversation.

Connection request sent

Event identifier: heyreach_connection_request_sent_event | Recommended or optional: Optional

When it fires: Triggered when one of your senders sends a LinkedIn connection request to the contact through HeyReach. If the request includes a personalised message, the card header is flagged as Personalized.

Card header: Connection request sent (or Connection request sent - Personalized if a custom message is included)

Card body shows: Connection Message (only if a personalised message was sent), Sender (if available), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts who received a personalised connection request to compare acceptance rates between personalised and non-personalised outreach

  • Build a sender performance report showing connection requests sent per sender per week to monitor outbound capacity utilization

  • Trigger a notification when a high-value contact receives a connection request to alert the account owner

Connection request accepted

Event identifier: heyreach_connection_request_accepted_event | Recommended or optional: Optional

When it fires: Triggered when the contact accepts a LinkedIn connection request sent by one of your senders.

Card header: Connection request accepted

Card body shows: Sender (if available), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts who accepted a connection request in the last 14 days to find newly accessible prospects worth a follow-up message

  • Build a campaign acceptance rate report comparing accepted vs. sent volume across campaigns to identify which messaging earns the best results

  • Trigger a HubSpot workflow to advance the contact's lifecycle stage to Marketing Qualified Lead the moment a connection is accepted

Connection request withdrawn

Event identifier: heyreach_connection_request_withdrawn_event | Recommended or optional: Optional

When it fires: Triggered when a connection request is withdrawn before being accepted, typically as part of HeyReach's automatic withdrawal rules (e.g. requests pending past a threshold) or manual cleanup by a sender.

Card header: Connection request withdrawn (or Connection request withdrawn - Personalized if a custom message was originally sent)

Card body shows: Connection Message (only if the original request included a personalised message), Sender (if available), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts whose connection requests were withdrawn to identify campaigns generating low-acceptance prospects worth re-evaluating

  • Build a withdrawal rate report per sender to monitor sender health and detect senders with abnormal withdrawal patterns

  • Trigger an internal alert when withdrawal volume on a specific campaign exceeds a threshold, signalling possible targeting or messaging issues

Conversation events

Conversation events track every message and InMail exchanged between your senders and the contact - both outbound (sent by your team) and inbound (received from the contact).

Conversation events are the most granular record of LinkedIn engagement and the foundation for measuring conversation depth, reply quality, and rep responsiveness.

⚠️ Schema note: Message Sent, Message Received, InMail Sent, and InMail Received share the same underlying event identifier (heyreach_message_interaction_event). HubSpot displays them as four distinct activity types using the messageType property, but they are technically variations of one event.

Message sent

Event identifier: heyreach_message_interaction_event | Recommended or optional: Optional

When it fires: Triggered when one of your senders sends a standard LinkedIn direct message to the contact through HeyReach.

Card header: Message Sent

Card body shows: Subject (if the message has a subject line), Message, Sender (if available), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts who received a message within a date range to audit outbound message volume and ensure cadence rules are being respected

  • Build a per-sender messaging volume report to monitor outbound activity distribution across your team

  • Trigger a workflow to log the message content into a connected analytics tool when a message is sent to a high-value contact

Message received

Event identifier: heyreach_message_interaction_event | Recommended or optional: Recommended

When it fires: Triggered when the contact replies to one of your senders with a standard LinkedIn direct message.

Card header: Message Received

Card body shows: Subject (if the message has a subject line), Message, Sender (the team member who received the reply), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts who replied within the last 7 days to build an active conversations view for sales reps to follow up on immediately

  • Build a per-campaign reply rate report by counting Message Received events against Message Sent events to evaluate campaign performance

  • Trigger a HubSpot workflow to create a task for the account owner whenever a reply is received from a high-priority contact

InMail sent

Event identifier: heyreach_message_interaction_event | Recommended or optional: Optional

When it fires: Triggered when one of your senders sends a LinkedIn InMail to the contact through HeyReach. InMails are paid LinkedIn messages used to contact prospects outside your existing network, typically via Sales Navigator.

Card header: InMail Sent

Card body shows: Subject (InMails typically include a subject line), Message, Sender (if available), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts who received an InMail to track credit consumption and ensure your team is spending paid messages on the right targets

  • Build a comparison report between InMail Sent vs. Message Sent volume to evaluate the cost-effectiveness of paid versus organic LinkedIn outreach

  • Trigger a workflow that logs InMail usage to a finance or operations dashboard for budget tracking

InMail received

Event identifier: heyreach_message_interaction_event | Recommended or optional: Recommended

When it fires: Triggered when the contact replies to a sender's InMail.

Card header: InMail Received

Card body shows: Subject (InMails typically include a subject line), Message, Sender (the team member who received the reply), Campaign ID, Campaign Name, List ID, List Name

Use cases:

  • Filter contacts who replied to an InMail to surface the highest-intent prospects, since InMail replies are often a stronger signal than standard message replies

  • Build an InMail ROI report comparing InMail Received to InMail Sent volume to evaluate the payoff of paid LinkedIn outreach

  • Trigger a high-priority alert to the account owner when an InMail reply is received, given the premium nature of the channel

Cross-tool handoff

Cross-tool handoff events answer the question "what happened to this contact after HeyReach was done with them?" When your outbound stack spans multiple tools (e.g. HeyReach for LinkedIn, Smartlead or Instantly for email), HeyReach can push contacts onward to those tools. This event logs the handoff so HubSpot retains a complete record of the contact's multi-channel journey.

Contact sent to third-party platform

Event identifier: heyreach_send_contact_to_third_party_app_event | Recommended or optional: Optional

When it fires: Triggered when HeyReach sends a contact to another connected outbound tool (e.g. Smartlead, Instantly) as part of a cross-channel sequence or handoff.

Card header: Contact sent to [Tool Name] (e.g. Contact sent to Smartlead, Contact sent to Instantly)

Card body shows: Tool Name, Campaign ID, Campaign Name, List ID, List Name, Sender (if available)

Use cases:

  • Filter contacts handed off to a specific third-party tool to monitor cross-channel sequence volume and ensure handoffs are firing as expected

  • Build a multi-channel attribution report showing which contacts moved between LinkedIn and email outreach, useful for understanding full-funnel performance

  • Trigger a HubSpot workflow to add a tag indicating the contact is now in a cross-channel sequence, preventing accidental re-targeting through other workflows

Quick reference - all 12 activities

Activity

Event identifier

Section

Recommended or optional

Add contact to campaign

heyreach_add_contact_to_campaign_event

Lifecycle

Recommended

Add contact to list

heyreach_add_contact_to_list_event

Lifecycle

Recommended

Contact paused in campaign

heyreach_pause_contact_from_campaign_event

Lifecycle

Optional

Remove contact from list

heyreach_remove_contact_from_list_event

Lifecycle

Optional

Connection request sent

heyreach_connection_request_sent_event

LinkedIn outbound

Optional

Connection request accepted

heyreach_connection_request_accepted_event

LinkedIn outbound

Optional

Connection request withdrawn

heyreach_connection_request_withdrawn_event

LinkedIn outbound

Optional

Message sent

heyreach_message_interaction_event

Conversation

Optional

Message received

heyreach_message_interaction_event

Conversation

Recommended

InMail sent

heyreach_message_interaction_event

Conversation

Optional

InMail received

heyreach_message_interaction_event

Conversation

Recommended

Contact sent to third-party platform

heyreach_send_contact_to_third_party_app_event

Cross-tool handoff

Optional


Have questions about a specific activity or how it appears on your contact timeline? Chat with our support team via the widget in the bottom-right corner. 🚀

Did this answer your question?