Your Salesloft cadences are only as good as the people in them. Right now, your reps are importing purchased lists, manually adding conference leads, and cherry-picking from inbound. Meanwhile, hundreds of website visitors per week - people who actively browsed your product pages, compared your pricing, and read your case studies - never make it into a cadence at all.
They visited. They showed interest. And then they disappeared into the void because nobody knew who they were.
Connecting Leadpipe to Salesloft fixes this. Every identified website visitor automatically becomes a Salesloft person enrolled in the right cadence based on what they viewed. Pricing page visitors go into your fastest cadence. Blog readers get a nurture track. Feature page browsers get a consultative sequence. Zero manual work.
This guide covers the full setup: webhook to cadence enrollment, field mapping, intent-based routing, Rhythm integration, and templates that convert.
How the Integration Works
Website Visitor → Leadpipe Identifies → Webhook Fires →
Zapier/API Routes → Salesloft Person Created → Cadence Enrolled
Leadpipe’s real-time webhooks fire when a visitor is identified. You route that data to Salesloft through one of two paths:
| Path | Setup Time | Best For |
|---|---|---|
| Zapier (Webhook → Salesloft) | 20 minutes | Most teams, no-code setup |
| Salesloft API (direct) | 45-60 minutes | Engineering teams, high volume |
What You’ll Need
- Leadpipe account - Start free with 500 leads
- Salesloft account with API access (Advanced plan recommended) — see Salesloft’s API documentation for endpoint details
- Zapier account (if using the Zapier path)
- Pre-built Salesloft cadences for different intent levels
Step 1: Set Up the Leadpipe Webhook
- In Leadpipe, go to Settings > Integrations > Webhooks
- Click Add Webhook
- Choose First Match trigger type (one webhook per visitor)
- Enter your Zapier catch hook URL or API endpoint
- Save and send a test event
Use First Match for person creation and cadence enrollment. You can add a second webhook with Every Update later for ongoing engagement tracking.
Step 2: Field Mapping - Leadpipe to Salesloft
Map Leadpipe webhook fields to Salesloft person fields:
| Leadpipe Field | Salesloft Person Field | Notes |
|---|---|---|
email | Email address | Primary identifier |
first_name | First name | Used in cadence personalization |
last_name | Last name | Used in cadence personalization |
company_name | Account name | Creates or matches account |
job_title | Title | Used for routing and tags |
linkedin_url | LinkedIn URL | Native Salesloft field |
page_url | Custom field: First Page Viewed | Intent context for reps |
visit_duration | Custom field: Visit Duration (seconds) | Engagement depth |
Creating Custom Fields in Salesloft
Before connecting, add custom fields:
- Go to Settings > People > Custom Fields
- Add First Page Viewed (Text)
- Add Visit Duration (Number)
- Add Lead Source (Text) - default to “Leadpipe Visitor ID”
These custom fields give your reps the context they need when working the cadence. The difference between “random cold lead” and “visited our pricing page for 3 minutes” is the difference between a rep who’s excited to make the call and one who’s dreading it.
Step 3: Intent-Based Cadence Routing
The real power of this integration isn’t just adding people to Salesloft - it’s routing them to the right cadence based on their actual behavior on your site.
High-Intent Cadence (Pricing/Demo Visitors)
Trigger: page_url contains /pricing, /demo, /contact, or /free-trial
These visitors are bottom-of-funnel. They’re evaluating cost, comparing you to competitors, and deciding whether to engage. Your cadence should be fast, direct, and value-focused.
Cadence structure (5 steps, 7 days):
| Day | Step Type | Action |
|---|---|---|
| 0 | Reference their evaluation. Lead with your top differentiator. | |
| 1 | View profile, connect with personalized note | |
| 2 | Phone | Call with a clear value prop. Leave voicemail if needed. |
| 4 | Share a competitive comparison or ROI case study | |
| 7 | Final touch with a direct ask for 15 minutes |
Mid-Intent Cadence (Product/Feature Visitors)
Trigger: page_url contains /features, /product, /integrations, /how-it-works, or /case-studies
These visitors are researching but haven’t reached the pricing/buying stage. Your cadence should educate and build trust.
Cadence structure (6 steps, 14 days):
| Day | Step Type | Action |
|---|---|---|
| 0 | Reference the feature they explored. Share a relevant resource. | |
| 3 | Connect. Engage with their content. | |
| 5 | Case study from their industry | |
| 8 | Phone | Check-in call |
| 11 | Address common objections or questions | |
| 14 | Offer a demo or walkthrough |
Low-Intent Cadence (Blog/Resource Visitors)
Trigger: page_url contains /blog, /resources, /webinar
Blog visitors have topical interest but may not be actively buying. Your cadence should nurture gently over a longer period.
Cadence structure (4 steps, 28 days):
| Day | Step Type | Action |
|---|---|---|
| 0 | Share a related resource to what they read | |
| 7 | Connect their topic of interest to your product | |
| 14 | Engage with their content, build relationship | |
| 28 | Soft CTA for a conversation |
Step 4: Zapier Setup (Step-by-Step)
Trigger
- Create a new Zap
- Trigger: Webhooks by Zapier > Catch Hook
- Copy the webhook URL to Leadpipe
- Send a test event
Filter
Add a filter to ensure quality:
email - Exists
AND
email - Does not contain - gmail.com, yahoo.com, hotmail.com
See our Zapier automation recipes for additional filter patterns.
Paths (Intent Routing)
Use Zapier Paths for routing:
Path A: High Intent
- Condition:
page_urlcontains “pricing” OR “demo” OR “contact” - Action: Salesloft > Create Person > Add to High-Intent Cadence
Path B: Mid Intent
- Condition:
page_urlcontains “features” OR “product” OR “case-studies” - Action: Salesloft > Create Person > Add to Mid-Intent Cadence
Path C: Low Intent
- Condition: Default (everything else)
- Action: Salesloft > Create Person > Add to Low-Intent Cadence
Deduplication
Salesloft handles deduplication by email address. If a person with that email already exists, the API updates the existing record rather than creating a duplicate. Make sure to enable “Create or Update” behavior in your Zapier action.
If you want to prevent re-enrolling existing prospects in cadences, add a Salesloft > Find Person step before the create action. If the person exists and is already in an active cadence, skip enrollment.
Step 5: Salesloft Rhythm Integration
Salesloft Rhythm is the AI-powered prioritization engine that tells reps which actions to take next, as described in Salesloft’s product resources. Here’s how to make identified visitors work with Rhythm:
Signal Priority
Configure your Rhythm signals to prioritize Leadpipe-sourced people:
- High-intent visitors (pricing/demo pages) get boosted signal priority
- Return visitors (someone who was already in a cadence visits again) get an immediate priority bump
- Multi-page visitors (viewed 3+ pages in one session) get flagged as engaged
Plays for Identified Visitors
Create Rhythm Plays specifically for Leadpipe data:
Play: “Hot Website Visitor”
- Trigger: New person created with Lead Source = “Leadpipe Visitor ID” AND First Page Viewed contains “pricing”
- Action: Assign to nearest available rep, prioritize above cold tasks
- SLA: Respond within 1 hour
Play: “Return Visitor Alert”
- Trigger: Person updated with new page_url value (return visit)
- Action: Bump priority, notify cadence owner
- SLA: Respond within 4 hours
Rhythm’s AI will learn from your team’s engagement patterns and automatically surface identified visitors when they’re most likely to respond.
Cadence Templates for Identified Visitors
These templates are written specifically for people identified through website visits. The key advantage: you have behavioral context that cold outreach doesn’t have.
High-Intent Email 1 (Pricing Page)
Subject: {{company_name}} + [your company]
Hi {{first_name}},
I saw that {{company_name}} has been evaluating solutions in [your product category]. Given your role as {{title}}, I’m guessing you’re looking at [key buying criteria 1] and [key buying criteria 2].
We just helped [similar company] [achieve specific result] - would love to share the quick version of what worked if it’s useful.
Open to a 15-minute call this week?
Mid-Intent Email 1 (Feature Page)
Subject: {{first_name}} - quick resource on [feature area]
Hi {{first_name}},
I noticed {{company_name}} has been exploring [feature area they viewed]. We put together a short guide on how teams like yours are using [feature] to [achieve outcome].
Here’s the link: [resource URL]
If it’s helpful and you want to see how it would work specifically for {{company_name}}, happy to walk through it.
Low-Intent Email 1 (Blog Reader)
Subject: Related to [topic they read]
Hi {{first_name}},
You might find this interesting if you’re digging into [topic area]: [link to related content].
We’ve been working with [number] companies on this and seeing some patterns worth sharing. Let me know if [topic] is something {{company_name}} is actively working on.
Direct API Setup (For Engineering Teams)
If you prefer to skip Zapier and connect directly, here’s the Salesloft API approach:
Endpoint: Create Person
POST https://api.salesloft.com/v2/people
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Request Body
{
"email_address": "{{email}}",
"first_name": "{{first_name}}",
"last_name": "{{last_name}}",
"title": "{{job_title}}",
"company_name": "{{company_name}}",
"linkedin_url": "{{linkedin_url}}",
"custom_fields": {
"first_page_viewed": "{{page_url}}",
"visit_duration": "{{visit_duration}}",
"lead_source": "Leadpipe Visitor ID"
}
}
Cadence Enrollment via API
After creating the person, enroll them in a cadence:
POST https://api.salesloft.com/v2/cadence_memberships
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"person_id": PERSON_ID_FROM_CREATION,
"cadence_id": CADENCE_ID,
"user_id": ASSIGNED_REP_ID
}
Node.js Example (Webhook Handler)
const express = require('express');
const axios = require('axios');
const app = express();
app.use(express.json());
const SALESLOFT_API = 'https://api.salesloft.com/v2';
const API_KEY = process.env.SALESLOFT_API_KEY;
const CADENCES = {
hot: 12345, // Your pricing page cadence ID
warm: 12346, // Your feature page cadence ID
nurture: 12347 // Your blog reader cadence ID
};
function getIntentLevel(pageUrl) {
if (/\/(pricing|demo|contact|free-trial)/.test(pageUrl)) return 'hot';
if (/\/(features|product|case-studies|integrations)/.test(pageUrl)) return 'warm';
return 'nurture';
}
app.post('/webhook/leadpipe', async (req, res) => {
const visitor = req.body;
const intent = getIntentLevel(visitor.page_url || '');
try {
// Check for existing person
const search = await axios.get(
`${SALESLOFT_API}/people?email_addresses[]=${visitor.email}`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
let personId;
if (search.data.data.length > 0) {
personId = search.data.data[0].id;
} else {
// Create new person
const person = await axios.post(
`${SALESLOFT_API}/people`,
{
email_address: visitor.email,
first_name: visitor.first_name,
last_name: visitor.last_name,
title: visitor.job_title,
company_name: visitor.company_name,
linkedin_url: visitor.linkedin_url
},
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
personId = person.data.data.id;
}
// Enroll in cadence
await axios.post(
`${SALESLOFT_API}/cadence_memberships`,
{
person_id: personId,
cadence_id: CADENCES[intent]
},
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
res.json({ success: true, intent, personId });
} catch (err) {
console.error('Salesloft error:', err.response?.data || err.message);
res.status(500).json({ error: err.message });
}
});
app.listen(3000);
This gives you full control over deduplication, intent routing, and cadence enrollment in a single webhook handler. For teams processing high volumes, this approach is more reliable than Zapier and has zero per-execution costs.
For more on building custom API integrations, see the Visitor Identification API: Complete Developer Guide.
Measuring Results
Track these metrics in Salesloft Analytics to prove the integration’s value:
| Metric | What to Track | Expected Benchmark |
|---|---|---|
| Cadence enrollment rate | People added per week from Leadpipe | Depends on traffic volume |
| Open rate | Leadpipe-sourced vs. cold cadences | 40-55% (vs. 25-35% cold) |
| Reply rate | Leadpipe-sourced vs. cold | 8-15% (vs. 2-5% cold) |
| Meeting booked rate | Leadpipe-sourced vs. cold | 3-7% (vs. 0.5-2% cold) |
| Speed to first touch | Time from webhook to first cadence step | Target: under 1 hour |
Tag all Leadpipe-sourced people with “Leadpipe Visitor ID” as the lead source so you can segment reporting. Compare performance against your cold outbound cadences to quantify the lift.
Most teams see 3-5x higher reply rates from identified visitors compared to cold lists because the timing and relevance are fundamentally different. You’re reaching out to someone who just demonstrated interest, not interrupting a stranger.
For more on optimizing outreach to identified visitors, see the SDR playbook.
Common Mistakes
Treating identified visitors like cold prospects. Don’t use the same generic cadences. Identified visitors deserve personalized sequences that reference their behavior. Using the same templates for both wastes the intelligence you have.
Enrolling everyone in the hottest cadence. Not every visitor is bottom-of-funnel. A blog reader who gets an aggressive pricing cadence will unsubscribe. Match the cadence intensity to the page intent.
Ignoring deduplication. Check for existing people before creating new records. Duplicate cadence enrollment frustrates prospects and burns your domain reputation.
Not tracking lead source. Without tagging records, you can’t measure whether Leadpipe-sourced cadences outperform cold ones. The data is your justification for the tool.
Skipping LinkedIn steps. B2B prospects expect multi-channel outreach. A cadence with only emails is leaving the highest-converting channel (LinkedIn) on the table.
Reporting: Proving the Integration’s Value
Build a monthly report comparing Leadpipe-sourced cadences against your other lead sources. The data typically speaks for itself, but having the numbers documented makes it easy to justify continued investment.
Monthly report template:
LEADPIPE → SALESLOFT MONTHLY REPORT
People Added to Cadences: [number]
- High-Intent Cadence: [number]
- Mid-Intent Cadence: [number]
- Low-Intent Cadence: [number]
Performance vs. Cold Outbound:
- Open Rate: [X]% vs [Y]% (cold)
- Reply Rate: [X]% vs [Y]% (cold)
- Meeting Booked Rate: [X]% vs [Y]% (cold)
- Pipeline Generated: $[amount]
Top Converting Pages:
1. /pricing - [X]% reply rate
2. /demo - [X]% reply rate
3. /features - [X]% reply rate
Average Speed to First Touch: [X] hours
Share this report with your VP of Sales monthly. The consistent lift in reply rates and meeting booked rates makes the case for expanding the integration across more cadences and teams.
What’s Next
With Leadpipe data flowing into Salesloft, consider extending the stack:
- Add Clay enrichment between identification and Salesloft for company size, revenue, and tech stack data
- Set up Slack alerts for immediate team awareness alongside cadence enrollment
- Layer Orbit intent data for pre-visit signals that inform cadence personalization
- Build an AI SDR to draft personalized first touches automatically
Try Leadpipe free with 500 leads ->
Start your free trial - 500 leads, no credit card required ->