Guides

Leadpipe + Salesloft: Add Visitors to Cadences

Send identified website visitors directly into Salesloft cadences. Pricing page visitors get one cadence, blog readers get another. Setup guide.

Nicolas CanalNicolas Canal··10 min read
Leadpipe + Salesloft: Add Visitors to Cadences

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


Step 1: Set Up the Leadpipe Webhook

  1. In Leadpipe, go to Settings > Integrations > Webhooks
  2. Click Add Webhook
  3. Choose First Match trigger type (one webhook per visitor)
  4. Enter your Zapier catch hook URL or API endpoint
  5. 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:

  1. Go to Settings > People > Custom Fields
  2. Add First Page Viewed (Text)
  3. Add Visit Duration (Number)
  4. 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 Email Reference their evaluation. Lead with your top differentiator.
1 LinkedIn View profile, connect with personalized note
2 Phone Call with a clear value prop. Leave voicemail if needed.
4 Email Share a competitive comparison or ROI case study
7 Email 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 Email Reference the feature they explored. Share a relevant resource.
3 LinkedIn Connect. Engage with their content.
5 Email Case study from their industry
8 Phone Check-in call
11 Email Address common objections or questions
14 Email 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 Email Share a related resource to what they read
7 Email Connect their topic of interest to your product
14 LinkedIn Engage with their content, build relationship
28 Email soft ask for a conversation

Step 4: Zapier Setup (Step-by-Step)

Trigger

  1. Create a new Zap
  2. Trigger: Webhooks by Zapier > Catch Hook
  3. Copy the webhook URL to Leadpipe
  4. 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_url contains “pricing” OR “demo” OR “contact”
  • Action: Salesloft > Create Person > Add to High-Intent Cadence

Path B: Mid Intent

  • Condition: page_url contains “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 ->


FAQ

How long does the Salesloft integration take to set up?

The Zapier path takes about 20 minutes: create the catch hook, add field mapping, configure the paths for intent-based routing, and test with a live event. The direct API path takes 45-60 minutes because you need to build a webhook handler and deploy it somewhere your server can receive events. Most teams start with Zapier and graduate to the direct API once volume justifies it.

Do I need engineering resources to connect Leadpipe to Salesloft?

Not for the Zapier route. A marketing ops or sales ops person can build the full cadence routing without writing code. The Zapier automation recipes guide walks through the exact filter and action steps. If you want to skip Zapier and post directly to the Salesloft API, budget one engineer for a day: handler, deduplication check, and cadence enrollment logic.

What visitor data actually flows into Salesloft?

Email, first and last name, company, job title, and LinkedIn URL map to standard Salesloft person fields. First page viewed, visit duration, and lead source go into custom fields you create in Salesloft. That gives reps enough context to personalize the first touch without opening a second tab. Phone is included when Leadpipe matches it (roughly 40-60% of the time).

How much does running this integration cost?

Leadpipe starts at $147/month, which includes the webhook system. Salesloft is priced separately per seat. Zapier’s Professional plan (around 2,000 tasks) handles most mid-market volumes; high-volume teams should move to the direct API path to avoid per-task Zapier fees. For the full ROI math, see measuring results above.