- Home
- Discussions
- Lead Generation
- How to Capture Leads from Website Forms Directly into Pipedrive
Answers (2)
1
0
0
Automate Website Leads to Pipedrive
Option 1: Pipedrive Web Forms (Built-in, FREE)
Best for: Simple lead capture
Step-by-step setup:
- Go to Pipedrive → Settings → Tools and apps → Web Forms
- Click "Create new web form"
- Design your form:
- Add fields (name, email, phone, company, custom fields)
- Choose required vs optional fields
- Customize colors and styling
- Configure what happens when form is submitted:
- Create person only
- Create person + deal
- Create person + organization + deal
- Set deal details:
- Pipeline and stage
- Deal owner (assign round-robin or specific person)
- Deal value
- Copy embed code and add to your website
Embed Code Example:
<!-- Pipedrive Web Form -->
<div class="pipedriveWebForms" data-pd-webforms="https://webforms.pipedrive.com/f/123abc">
<script src="https://webforms.pipedrive.com/f/loader"></script>
</div>
Pros:
- ✅ Free (included in all Pipedrive plans)
- ✅ No coding required
- ✅ Hosted by Pipedrive (no server setup)
- ✅ Mobile-responsive
- ✅ GDPR-compliant checkbox option
Cons:
- ❌ Limited styling customization
- ❌ Pipedrive branding (unless on higher plans)
- ❌ Can't use with existing forms
Option 2: Zapier (For Existing Forms)
Best for: Connect any form platform to Pipedrive
Supported form builders:
- Google Forms
- Typeform
- Jotform
- Wufoo
- Gravity Forms (WordPress)
- Contact Form 7 (WordPress)
- Custom HTML forms (via Webhooks)
Example Zap: Typeform → Pipedrive
- Trigger: New Typeform submission
- Action 1: Find or create person in Pipedrive
- Search by email
- If not found, create new
- Action 2: Find or create organization
- Map company name field
- Action 3: Create deal
- Title: Use form field or template "Lead from website"
- Value: Set default or use form field
- Stage: "Inquiry" or "New Lead"
- Owner: Assign based on territory/round-robin
- Action 4: Create activity
- Type: Call or Email
- Due date: +1 business day
- Note: Include form responses
- Action 5: Send notification
- Email to sales person
- Or Slack message to sales channel
Cost:
Zapier: $19.99/month (750 tasks) or $49/month (2000 tasks)
Pros:
- ✅ Works with any form platform
- ✅ Advanced automation (notifications, assignments, etc.)
- ✅ No changes to existing forms
- ✅ Can add conditional logic
Cons:
- ❌ Monthly cost
- ❌ Requires Zapier account
- ❌ Slight delay (1-15 minutes)
Option 3: Pipedrive API (For Developers)
Best for: Custom integration with full control
Example: HTML Form → Pipedrive via JavaScript
<!-- Contact Form HTML -->
<form id="contactForm">
<input type="text" name="name" required>
<input type="email" name="email" required>
<input type="tel" name="phone">
<input type="text" name="company">
<textarea name="message"></textarea>
<button type="submit">Submit</button>
</form>
<script>
document.getElementById('contactForm').addEventListener('submit', async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
const data = Object.fromEntries(formData);
// Send to your backend
await fetch('/api/create-lead', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
alert('Thank you! We'll be in touch soon.');
e.target.reset();
});
</script>
Backend (Node.js example):
// server.js
const express = require('express');
const axios = require('axios');
const app = express();
app.use(express.json());
const PIPEDRIVE_API_TOKEN = 'YOUR_API_TOKEN';
const PIPEDRIVE_API = 'https://api.pipedrive.com/v1';
app.post('/api/create-lead', async (req, res) => {
try {
const { name, email, phone, company, message } = req.body;
// 1. Create person
const personResponse = await axios.post(
`${PIPEDRIVE_API}/persons?api_token=${PIPEDRIVE_API_TOKEN}`,
{
name: name,
email: [{ value: email, primary: true }],
phone: [{ value: phone, primary: true }]
}
);
const personId = personResponse.data.data.id;
// 2. Create organization (if company provided)
let orgId = null;
if (company) {
const orgResponse = await axios.post(
`${PIPEDRIVE_API}/organizations?api_token=${PIPEDRIVE_API_TOKEN}`,
{ name: company }
);
orgId = orgResponse.data.data.id;
// Link person to organization
await axios.put(
`${PIPEDRIVE_API}/persons/${personId}?api_token=${PIPEDRIVE_API_TOKEN}`,
{ org_id: orgId }
);
}
// 3. Create deal
const dealResponse = await axios.post(
`${PIPEDRIVE_API}/deals?api_token=${PIPEDRIVE_API_TOKEN}`,
{
title: `Lead from website - ${name}`,
person_id: personId,
org_id: orgId,
status: 'open',
// Add custom fields as needed
}
);
// 4. Add note with message
await axios.post(
`${PIPEDRIVE_API}/notes?api_token=${PIPEDRIVE_API_TOKEN}`,
{
content: `Website inquiry message: ${message}`,
deal_id: dealResponse.data.data.id
}
);
// 5. Create follow-up activity
const followUpDate = new Date();
followUpDate.setDate(followUpDate.getDate() + 1); // Tomorrow
await axios.post(
`${PIPEDRIVE_API}/activities?api_token=${PIPEDRIVE_API_TOKEN}`,
{
subject: 'Follow up on website inquiry',
type: 'call',
due_date: followUpDate.toISOString().split('T')[0],
deal_id: dealResponse.data.data.id,
person_id: personId
}
);
res.json({ success: true });
} catch (error) {
console.error('Error creating lead:', error);
res.status(500).json({ error: 'Failed to create lead' });
}
});
app.listen(3000, () => console.log('Server running on port 3000'));
Pros:
- ✅ Complete control
- ✅ Instant (real-time)
- ✅ No third-party dependencies
- ✅ Can add complex logic
Cons:
- ❌ Requires developer
- ❌ Hosting costs
- ❌ Maintenance required
Advanced Features to Add:
1. Lead Source Tracking
Use hidden fields or URL parameters to track where leads come from:
<!-- Add hidden field for source tracking -->
<input type="hidden" name="source" value="homepage">
<input type="hidden" name="utm_campaign" id="utmCampaign">
<script>
// Capture UTM parameters from URL
const urlParams = new URLSearchParams(window.location.search);
document.getElementById('utmCampaign').value = urlParams.get('utm_campaign') || 'direct';
</script>
2. Auto-Assignment Rules
Distribute leads based on:
- Territory: Assign based on company location/timezone
- Round-robin: Distribute evenly among team
- Deal value: High-value leads go to senior sales
- Product interest: Assign to product specialists
3. Lead Scoring
Add fields to qualify leads automatically:
- Company size (employee count)
- Budget range
- Timeline (when do they need it?)
- Current solution
Assign scores and prioritize high-scoring leads.
4. Instant Notifications
Alert sales team immediately:
- Email notification with lead details
- SMS for high-value leads
- Slack message to sales channel
- Push notification on mobile app
Best Practices:
- Keep forms short: Only ask for essential info (name, email, optional phone)
- Add clear privacy policy: GDPR compliance
- Confirm submission: Show thank you message or redirect
- Send auto-reply email: "We received your message, we'll respond within 24 hours"
- Set up lead routing: Don't let leads sit unassigned
- Create follow-up activities: Auto-create task to call within 24 hours
- Test regularly: Submit test leads monthly to ensure it's working
- Monitor conversion: Track how many form leads convert to customers
Recommended Solution by Team Size:
| Team Size | Recommended Solution | Why |
|---|---|---|
| 1-3 people | Pipedrive Web Forms | Free, simple, fast setup |
| 4-10 people | Zapier + Typeform | Better UX, more automation options |
| 10+ people | Custom API integration | Advanced features, scalability |
| Enterprise | Marketing automation (HubSpot, Marketo) + Pipedrive | Full marketing + sales integration |
Pro Tip: Don't just capture leads - add a follow-up workflow! The fortune is in the follow-up. Set up an automation to call/email within 5 minutes of form submission for best conversion rates.
1
0
0
0
0
Asked by
Mike Haye
PipedriveSheets Creator
PipedriveSheets
54
KARMA
