# Push to subsequence with 2-day delay
curl -X POST "https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence?api_key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"email_lead_map_id": 2433664091,
"sub_sequence_id": 789,
"sub_sequence_delay_time": 172800,
"stop_lead_on_parent_campaign_reply": true
}'
import requests
API_KEY = "YOUR_API_KEY"
def push_to_subsequence(lead_map_id, subseq_id, delay_days=0, stop_on_parent_reply=False):
"""Push lead to subsequence with optional delay"""
delay_seconds = delay_days * 24 * 60 * 60
payload = {
"email_lead_map_id": lead_map_id,
"sub_sequence_id": subseq_id,
"sub_sequence_delay_time": delay_seconds,
"stop_lead_on_parent_campaign_reply": stop_on_parent_reply
}
response = requests.post(
"https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence",
params={"api_key": API_KEY},
json=payload
)
if response.status_code == 200:
print(f"✅ Lead pushed to subsequence {subseq_id}")
if delay_days > 0:
print(f" Will start in {delay_days} days")
return response.json()
# Example: Push to pricing discussion after 2 days
push_to_subsequence(
lead_map_id=2433664091,
subseq_id=789, # Pricing discussion subsequence
delay_days=2,
stop_on_parent_reply=True # Stop if they reply to main campaign
)
const API_KEY = 'YOUR_API_KEY';
async function pushToSubsequence(leadMapId, subseqId, options = {}) {
const delayDays = options.delayDays || 0;
const delaySeconds = delayDays * 24 * 60 * 60;
const response = await fetch(
`https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence?api_key=${API_KEY}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email_lead_map_id: leadMapId,
sub_sequence_id: subseqId,
sub_sequence_delay_time: delaySeconds,
stop_lead_on_parent_campaign_reply: options.stopOnParentReply || false
})
}
);
return response.json();
}
// Push to demo request subsequence
await pushToSubsequence(2433664091, 789, {
delayDays: 3,
stopOnParentReply: true
});
{
"success": true,
"message": "Lead pushed to subsequence successfully",
"data": {
"email_lead_map_id": 2433664091,
"parent_campaign_id": 12345,
"sub_sequence_id": 789,
"will_start_at": "2025-01-22T00:00:00Z",
"stop_on_parent_reply": true
}
}
Master Inbox
Push Lead to Subsequence
Move a lead to a subsequence (child campaign) for targeted follow-up
POST
/
api
/
v1
/
master-inbox
/
push-to-subsequence
# Push to subsequence with 2-day delay
curl -X POST "https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence?api_key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"email_lead_map_id": 2433664091,
"sub_sequence_id": 789,
"sub_sequence_delay_time": 172800,
"stop_lead_on_parent_campaign_reply": true
}'
import requests
API_KEY = "YOUR_API_KEY"
def push_to_subsequence(lead_map_id, subseq_id, delay_days=0, stop_on_parent_reply=False):
"""Push lead to subsequence with optional delay"""
delay_seconds = delay_days * 24 * 60 * 60
payload = {
"email_lead_map_id": lead_map_id,
"sub_sequence_id": subseq_id,
"sub_sequence_delay_time": delay_seconds,
"stop_lead_on_parent_campaign_reply": stop_on_parent_reply
}
response = requests.post(
"https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence",
params={"api_key": API_KEY},
json=payload
)
if response.status_code == 200:
print(f"✅ Lead pushed to subsequence {subseq_id}")
if delay_days > 0:
print(f" Will start in {delay_days} days")
return response.json()
# Example: Push to pricing discussion after 2 days
push_to_subsequence(
lead_map_id=2433664091,
subseq_id=789, # Pricing discussion subsequence
delay_days=2,
stop_on_parent_reply=True # Stop if they reply to main campaign
)
const API_KEY = 'YOUR_API_KEY';
async function pushToSubsequence(leadMapId, subseqId, options = {}) {
const delayDays = options.delayDays || 0;
const delaySeconds = delayDays * 24 * 60 * 60;
const response = await fetch(
`https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence?api_key=${API_KEY}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email_lead_map_id: leadMapId,
sub_sequence_id: subseqId,
sub_sequence_delay_time: delaySeconds,
stop_lead_on_parent_campaign_reply: options.stopOnParentReply || false
})
}
);
return response.json();
}
// Push to demo request subsequence
await pushToSubsequence(2433664091, 789, {
delayDays: 3,
stopOnParentReply: true
});
{
"success": true,
"message": "Lead pushed to subsequence successfully",
"data": {
"email_lead_map_id": 2433664091,
"parent_campaign_id": 12345,
"sub_sequence_id": 789,
"will_start_at": "2025-01-22T00:00:00Z",
"stop_on_parent_reply": true
}
}
Branch lead into targeted follow-up sequences based on behavior or interest. Essential for sophisticated campaign logic and personalized nurturing.
Overview
Moves a lead from a parent campaign to a subsequence (child campaign) for specialized follow-up. Enables branching campaign logic based on lead behavior and interests. Subsequence Concept:- Parent campaign identifies lead interest/behavior
- Lead pushed to specialized subsequence
- Subsequence delivers targeted messaging
- Optional: Stop subsequence if lead replies to parent
- Interest-based routing: Clicked pricing link → Push to “Pricing Discussion” subsequence
- Re-engagement: No reply after 30 days → Push to “Re-engagement” subsequence
- Product-specific: Asked about Feature X → Push to “Feature X Demo” subsequence
- Qualification: High engagement → Push to “Enterprise Sales” subsequence
Query Parameters
string
required
Your SmartLead API key
Request Body
number
required
Lead-campaign mapping ID from parent campaign
number
required
Target subsequence (child campaign) ID
number
default:"0"
Delay in seconds before starting subsequence (min 0, default: immediate)
boolean
default:"false"
If
true, stop subsequence if lead replies to parent campaign# Push to subsequence with 2-day delay
curl -X POST "https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence?api_key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"email_lead_map_id": 2433664091,
"sub_sequence_id": 789,
"sub_sequence_delay_time": 172800,
"stop_lead_on_parent_campaign_reply": true
}'
import requests
API_KEY = "YOUR_API_KEY"
def push_to_subsequence(lead_map_id, subseq_id, delay_days=0, stop_on_parent_reply=False):
"""Push lead to subsequence with optional delay"""
delay_seconds = delay_days * 24 * 60 * 60
payload = {
"email_lead_map_id": lead_map_id,
"sub_sequence_id": subseq_id,
"sub_sequence_delay_time": delay_seconds,
"stop_lead_on_parent_campaign_reply": stop_on_parent_reply
}
response = requests.post(
"https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence",
params={"api_key": API_KEY},
json=payload
)
if response.status_code == 200:
print(f"✅ Lead pushed to subsequence {subseq_id}")
if delay_days > 0:
print(f" Will start in {delay_days} days")
return response.json()
# Example: Push to pricing discussion after 2 days
push_to_subsequence(
lead_map_id=2433664091,
subseq_id=789, # Pricing discussion subsequence
delay_days=2,
stop_on_parent_reply=True # Stop if they reply to main campaign
)
const API_KEY = 'YOUR_API_KEY';
async function pushToSubsequence(leadMapId, subseqId, options = {}) {
const delayDays = options.delayDays || 0;
const delaySeconds = delayDays * 24 * 60 * 60;
const response = await fetch(
`https://server.smartlead.ai/api/v1/master-inbox/push-to-subsequence?api_key=${API_KEY}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email_lead_map_id: leadMapId,
sub_sequence_id: subseqId,
sub_sequence_delay_time: delaySeconds,
stop_lead_on_parent_campaign_reply: options.stopOnParentReply || false
})
}
);
return response.json();
}
// Push to demo request subsequence
await pushToSubsequence(2433664091, 789, {
delayDays: 3,
stopOnParentReply: true
});
Response Example
{
"success": true,
"message": "Lead pushed to subsequence successfully",
"data": {
"email_lead_map_id": 2433664091,
"parent_campaign_id": 12345,
"sub_sequence_id": 789,
"will_start_at": "2025-01-22T00:00:00Z",
"stop_on_parent_reply": true
}
}
Subsequence Workflows
Interest-Based Routing
# Lead clicked pricing link
if lead_clicked_pricing:
push_to_subsequence(
lead_map_id,
pricing_discussion_subseq_id,
delay_days=1,
stop_on_parent_reply=True
)
Re-engagement Campaign
# No reply after 30 days
if days_since_last_send > 30 and not replied:
push_to_subsequence(
lead_map_id,
reengagement_subseq_id,
delay_days=0,
stop_on_parent_reply=True
)
Related Endpoints
- Get Custom Views - Filter by subsequence
- Resume Lead
