Lead Generation

How to Capture Leads from Website Forms Directly into Pipedrive

by Mike Haye
PipedriveSheets Creator
11/8/2025 · 3 views

We have a "Contact Us" form on our website. How can we automatically create deals in Pipedrive when someone submits the form? Right now we're copying and pasting manually which is time-consuming.

Answers (2)
10
Bruce Bignell
Expert
Community Leader
11/8/2025

Automate Website Leads to Pipedrive

Option 1: Pipedrive Web Forms (Built-in, FREE)

Best for: Simple lead capture

Step-by-step setup:

  1. Go to Pipedrive → Settings → Tools and apps → Web Forms
  2. Click "Create new web form"
  3. Design your form:
    • Add fields (name, email, phone, company, custom fields)
    • Choose required vs optional fields
    • Customize colors and styling
  4. Configure what happens when form is submitted:
    • Create person only
    • Create person + deal
    • Create person + organization + deal
  5. Set deal details:
    • Pipeline and stage
    • Deal owner (assign round-robin or specific person)
    • Deal value
  6. 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

  1. Trigger: New Typeform submission
  2. Action 1: Find or create person in Pipedrive
    • Search by email
    • If not found, create new
  3. Action 2: Find or create organization
    • Map company name field
  4. 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
  5. Action 4: Create activity
    • Type: Call or Email
    • Due date: +1 business day
    • Note: Include form responses
  6. 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:

  1. Keep forms short: Only ask for essential info (name, email, optional phone)
  2. Add clear privacy policy: GDPR compliance
  3. Confirm submission: Show thank you message or redirect
  4. Send auto-reply email: "We received your message, we'll respond within 24 hours"
  5. Set up lead routing: Don't let leads sit unassigned
  6. Create follow-up activities: Auto-create task to call within 24 hours
  7. Test regularly: Submit test leads monthly to ensure it's working
  8. 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
00
Mike Haye
PipedriveSheets Creator
11/8/2025
Appreciate the detail thank you
0
0

Sign in to answer

You must be signed in to post an answer.

Sign In
Asked by
Mike Haye
PipedriveSheets Creator
PipedriveSheets
54
KARMA