Learning Objective
By the end of this guide, you'll know how to use advanced conditions to create dynamic, multichannel sequences that adapt based on lead behavior (email opens, link clicks, LinkedIn invite acceptance) and lead data (has email, has LinkedIn URL, lead score).
Why This Matters
Sending the same sequence to every lead wastes opportunities. Without advanced conditions:
❌ You send emails to leads without email addresses
❌ You can't adapt your sequence based on lead behavior (opens, clicks, accepts)
❌ Your outreach feels generic and one-size-fits-all
❌ You miss chances to personalize based on engagement
Using advanced conditions helps you:
✅ Send emails only to leads with deliverable email addresses
✅ Trigger LinkedIn steps for leads without emails
✅ Adapt sequences based on engagement (opened email, accepted invite)
✅ Build dynamic multichannel campaigns that maximize reply rates
Prerequisites
Multichannel Expert Plan or Enterprise Plan (advanced conditions are not available on other plans)
Active campaign with leads imported
Understanding of multichannel sequences (email + LinkedIn)
Lead data includes emails, LinkedIn URLs, or custom variables
What Are Advanced Conditions?
Advanced conditions are dynamic triggers that change your sequence based on:
Lead information (has email, has LinkedIn URL, custom variables)
Lead actions (opened email, clicked link, accepted invite, booked meeting)
Call/WhatsApp/SMS data (has phone number, call status, has WhatsApp account)
Boolean custom variables: Use Yes/No variables to create branching logic. For example, if a variable is set to "Yes," the lead follows the Yes branch; otherwise, they follow the No branch.
This allows you to create personalized sequences that adapt to each lead's unique characteristics and behavior.
Step 1: Open Your Campaign Sequence
From the left sidebar, click Campaigns, then open the campaign you want to edit.
Inside the campaign, open the Sequence tab, then click Add step where you want to insert the condition.
In the step picker, switch from Steps to Conditions.
After opening the Conditions tab, select the condition type you want to use.
Step 2: Choose Your Condition Type
Lead Information Conditions
Has an email address – Check if lead has a verified email
Has a LinkedIn URL – Check if lead has a LinkedIn profile
Custom condition – Check any custom variable (e.g., job title, industry)
Lead Actions Conditions
Opened an email – Lead opened a previous email in the sequence
Clicked on a link in email – Lead clicked a tracked link
Unsubscribed from email – Lead opted out
Booked a meeting – Lead booked via lemcal
Accepted invite – Lead accepted your LinkedIn connection invite
Opened LinkedIn message – Lead opened your LinkedIn message
Has score – Lead's engagement score meets a threshold
Call, WhatsApp & SMS Conditions
Has phone number – Check if lead has a phone number
Call status – Check call outcome (answered, no answer, voicemail)
Has WhatsApp account – Check if lead uses WhatsApp
Step 3: Configure the Condition (Yes/No Branches)
After selecting a condition, you'll see two branches:
✅ Yes – Condition is fulfilled (e.g., lead opened the email)
❌ No – Condition is not fulfilled
For example, you can set a condition like If Opened email within 1 day. This splits the sequence into Yes and No paths so you can add different follow-up steps to each branch.
Within: The system will proceed to the next step as soon as the condition is fulfilled, without waiting for the full delay.
Wait Until: The system will wait until a specific action happens before moving on to the next step in the campaign.
Time-based conditions are strict: If a condition like "Accepted invite within 2 days" is not met within the timeframe, the Yes branch will not trigger even if the condition is fulfilled later.
Once the condition is in place, add the next step for each branch. For example, you might add a Call on the Yes path and a Manual task on the No path.
Example 1: Route Based on Email Availability
Condition: "Has email address with status Deliverable"
Yes path: → Wait, then send an Email
No path: → Wait, then send a LinkedIn Invitation
This ensures you only send emails to leads with valid addresses, and use LinkedIn for everyone else.
Example 2: Adapt Based on LinkedIn Invite Acceptance
Step 1: Send LinkedIn connection invite
Step 2 (Condition): "Accepted invite within 3 days"
Yes path: → Wait, then send a LinkedIn chat message
No path: → Wait, then send an Email
This adapts your sequence based on whether the prospect accepts your invite.
Step 5: Use Timing Options (Within vs. Wait Until)
When adding conditions based on actions (for example, Opened email, Accepted invite, or Has score), you can choose how the condition should behave.
Within
With Within, the condition is checked during a defined time window. If the lead meets the condition during that time, they follow the Yes path immediately.
Wait Until
With Wait until, the sequence pauses until the lead meets the condition, instead of checking only within a fixed time limit.
For example, with a Has score condition, you can first create the condition with a time-based setup, then switch the timing mode from Within to Wait until.
Important: LinkedIn and Email Restrictions
Note: Certain restrictions apply to multichannel campaigns:
❌ LinkedIn-only campaigns cannot trigger email responses for LinkedIn-only interactions
❌ lemlist does not permit manual overrides to send emails to LinkedIn-only respondents due to platform constraints
Handling Manual Tasks
To ensure a contact continues through the sequence after completing a manual task, mark the task as "Done." Avoid selecting "Complete sequence" or marking the contact as "Interested/Not interested," as these actions will stop the campaign for that contact.
After completing a manual LinkedIn step, leads will continue to the next step in the sequence. Email steps will send according to your schedule and limits.
What this means: If a lead only has a LinkedIn URL (no email), you can't send them emails, even manually. You must use LinkedIn steps only.
How You'll Know It Worked
✓ Condition appears in your sequence with "Yes" and "No" branches
✓ Leads follow the correct path based on their data or actions
✓ Emails only sent to leads with deliverable addresses (if using email condition)
✓ LinkedIn steps triggered for leads without emails
✓ Sequence adapts based on engagement (opens, clicks, accepts)
Troubleshooting
Issue: Condition not triggering correctly
Fix: Verify the lead has the required data (email, LinkedIn URL, etc.) and that the condition logic is set correctly ("Yes" vs. "No" paths).
Issue: Lead stuck at "Wait Until" condition
Fix: "Wait Until" pauses the sequence until the condition is met. If the lead never completes the action, the sequence won't continue. Use "Within" instead for time-bound conditions.
Issue: Lead ended in the "No" branch even though they fulfilled the condition
Fix: If you're using a Within condition, make sure the delay is set to at least 1 day. If you leave it at 0 days, lemlist checks the condition immediately after sending the previous step. For actions like LinkedIn invite acceptance, link clicks, or email opens, the lead can’t realistically complete the action in the same second the step is sent, so they may be routed to No even though they would have qualified moments later.
Ensure the timing aligns with your workflow by placing the Within condition immediately after its trigger step. Placing it further down the flow may result in the countdown starting from an unintended step.
Issue: Can't send email to LinkedIn-only lead
Fix: This is by design. If a lead only has a LinkedIn URL, you can only use LinkedIn steps. Use enrichment to find their email address.
Optimization Tips
Use "Has email with status Deliverable": Route leads with deliverable emails to email steps, and risky/undeliverable emails to LinkedIn steps.
Combine engagement conditions: Use "Opened email" + "Clicked link" to identify highly engaged leads and route them to a different follow-up.
Use "Within" for time-sensitive conditions: If you want to move fast when a lead completes an action, use "Within" instead of "Wait Until".
Test with small batches: Launch 10–20 leads first to verify the condition logic works correctly before scaling up.









