Comprehensive guide to implementing LinkedIn campaigns using automation.
If you’re looking to build your own LinkedIn sequence system, you’re in the right spot. This article is solely dedicated to implementing every required automation to smoothly run a sequence.
To build campaigns, you need a combination of three stages, each with its own business logic:
Before starting, ensure the following:
Here's the schemas legend for future explanations.
Determine the connection degree between your user and the leads to interact with. Based on this information:
Sequence Init Process
You need to identify when connection requests are accepted using Extract LinkedIn Connections. Regularly extract net new LinkedIn connections of the end-user and compare them with leads to engage.
max_minutes=180
in concordance with your repeat frequency, here 180 minutes for 3 hours, to ensure you only get new connections.Repeat Logic Process
Use this JSON body payload when launching a Run (Job):
Here is the Launch a Workflow API Reference to help you.
Using the Extract LinkedIn Connections workflow, sync connections every 3 to 6 hours. This approach ensures a balance between efficiency and adhering to LinkedIn’s limits.
Some Key Points:
It’s generally a good idea to wait before sending a follow-up message. For example, if a lead accepts a connection Monday at 10 PM, the next message should ideally be sent the following day. Although in some cases to make it look more human you could wait just 3 minutes!
Sequence Running Process
This process is triggered when a connection request has been accepted. You then:
check_reply
parameter to true
, see Message LinkedIn Profile full documentation.Save the linkedin_thread_id
when sending the first message to reuse it for
optimal reply detection.
You can easily fetch all conversations and messages to leverage within your product. We recommend using the following automated Action:
Check for Replies: Always check for new replies before sending follow-ups, even if you’re listening at regular intervals.
Don’t wait forever for a connection request to be accepted. Set a clear time limit.
Some users add profile visits to their sequences. This can also run as a stand-alone process:
The following data model is, again, just a quick recommendation. Long-story short: you’ll need leads that you add to campaigns.
Light Data Model
In the lighter version above, all attributes are attached to the Leads and everything is managed from this table. This is an ideal implementation:
Ideal Data Model
The following data model is recommended for organizing leads:
Attribute | Purpose |
---|---|
linkedin_profile_id | Unique identifier for deduplication. |
linkedin_profile_handle | To generate profile URLs. |
sales_navigator_profile_id | For triggering automation and URL generation. |
linkedin_thread_id | For fetching conversation messages. |
delivered_at | Timestamp to track message delivery. |
You should probably centralize connections, as there’s a high probability that User A has similar connections to User B.
UsersConnections
.connected_at
attribute to know when both accounts connected.Validate LinkedIn URLs:
linkedin.com/in/
.linkedin.com/company/
.Differentiate IDs:
linkedin_profile_id
for leads (immutable).sales_navigator_profile_id
to trigger automations and regenerate URLs.Pending Requests:
You can’t use this in a URL like www.linkedin.com/in/linkedin_profile_id
,
but you can use www.linkedin.com/in/sales_navigator_profile_id
.
To give your users a great experience, we recommend keeping track of the following:
Status | Description |
---|---|
sent | Invite or request has been sent. |
invited | Indicates an invite has been sent. |
pending | Notification for pending invites. |
accepted | Lead has connected. |
replied | Reply has been detected. |
exit | Campaign exit conditions met. |
Let us know if you have specific needs or additional features to implement!
Comprehensive guide to implementing LinkedIn campaigns using automation.
If you’re looking to build your own LinkedIn sequence system, you’re in the right spot. This article is solely dedicated to implementing every required automation to smoothly run a sequence.
To build campaigns, you need a combination of three stages, each with its own business logic:
Before starting, ensure the following:
Here's the schemas legend for future explanations.
Determine the connection degree between your user and the leads to interact with. Based on this information:
Sequence Init Process
You need to identify when connection requests are accepted using Extract LinkedIn Connections. Regularly extract net new LinkedIn connections of the end-user and compare them with leads to engage.
max_minutes=180
in concordance with your repeat frequency, here 180 minutes for 3 hours, to ensure you only get new connections.Repeat Logic Process
Use this JSON body payload when launching a Run (Job):
Here is the Launch a Workflow API Reference to help you.
Using the Extract LinkedIn Connections workflow, sync connections every 3 to 6 hours. This approach ensures a balance between efficiency and adhering to LinkedIn’s limits.
Some Key Points:
It’s generally a good idea to wait before sending a follow-up message. For example, if a lead accepts a connection Monday at 10 PM, the next message should ideally be sent the following day. Although in some cases to make it look more human you could wait just 3 minutes!
Sequence Running Process
This process is triggered when a connection request has been accepted. You then:
check_reply
parameter to true
, see Message LinkedIn Profile full documentation.Save the linkedin_thread_id
when sending the first message to reuse it for
optimal reply detection.
You can easily fetch all conversations and messages to leverage within your product. We recommend using the following automated Action:
Check for Replies: Always check for new replies before sending follow-ups, even if you’re listening at regular intervals.
Don’t wait forever for a connection request to be accepted. Set a clear time limit.
Some users add profile visits to their sequences. This can also run as a stand-alone process:
The following data model is, again, just a quick recommendation. Long-story short: you’ll need leads that you add to campaigns.
Light Data Model
In the lighter version above, all attributes are attached to the Leads and everything is managed from this table. This is an ideal implementation:
Ideal Data Model
The following data model is recommended for organizing leads:
Attribute | Purpose |
---|---|
linkedin_profile_id | Unique identifier for deduplication. |
linkedin_profile_handle | To generate profile URLs. |
sales_navigator_profile_id | For triggering automation and URL generation. |
linkedin_thread_id | For fetching conversation messages. |
delivered_at | Timestamp to track message delivery. |
You should probably centralize connections, as there’s a high probability that User A has similar connections to User B.
UsersConnections
.connected_at
attribute to know when both accounts connected.Validate LinkedIn URLs:
linkedin.com/in/
.linkedin.com/company/
.Differentiate IDs:
linkedin_profile_id
for leads (immutable).sales_navigator_profile_id
to trigger automations and regenerate URLs.Pending Requests:
You can’t use this in a URL like www.linkedin.com/in/linkedin_profile_id
,
but you can use www.linkedin.com/in/sales_navigator_profile_id
.
To give your users a great experience, we recommend keeping track of the following:
Status | Description |
---|---|
sent | Invite or request has been sent. |
invited | Indicates an invite has been sent. |
pending | Notification for pending invites. |
accepted | Lead has connected. |
replied | Reply has been detected. |
exit | Campaign exit conditions met. |
Let us know if you have specific needs or additional features to implement!