Pipedrive is a sales-focused CRM built around the pipeline view. Connecting InstantDM to Pipedrive automatically creates Persons (contacts) and Deals when someone interacts with your Instagram DM automations - so your sales team sees new Instagram leads in their pipeline immediately.
This guide covers setup via Make.com, Zapier, and Pipedrive's direct API.
Why Connect InstantDM to Pipedrive?
- Auto-create Deals from Instagram DM flows - leads land directly in your sales pipeline
- Create Persons with name, email, phone from flow responses
- Pipeline visibility - Instagram leads appear alongside every other channel
- Activity tracking - log Instagram interactions as Activities on a Deal
- Simple and fast - Pipedrive's API is developer-friendly and well-documented
Common Use Cases
- Create a Person + Deal when someone completes a lead capture flow
- Add Instagram leads to a specific pipeline stage
- Log DM flow completions as Activities
- Tag leads with "Instagram" label for filtering
- Trigger Pipedrive automations when a new Instagram deal is created
What You'll Need
| Requirement | Details |
|---|---|
| InstantDM account | Trendsetter, Trendsetter Pro, or any Multi plan |
| Pipedrive account | Any plan (Essential, Advanced, Professional, or Enterprise) |
| InstantDM API key | Found at Settings → API in your InstantDM dashboard |
| Automation platform (optional) | Make.com or Zapier for no-code setup |
Method 1: Via Make.com (Recommended)
Step 1: Set Up the Webhook
Follow Steps 1-4 in the Make.com integration guide to create a webhook scenario receiving InstantDM events.
Step 2: Add Pipedrive Modules
After the webhook trigger:
- Add a Filter:
eventequalsflow_completed. - Add Pipedrive → Create a Person:
| Pipedrive Field | Make.com Mapping |
|---|---|
| Name | {{data.response_variables.full_name}} |
{{data.response_variables.email}} | |
| Phone | {{data.response_variables.phone}} |
| Label | Instagram |
- Add Pipedrive → Create a Deal (connected after the Person module):
| Pipedrive Field | Make.com Mapping |
|---|---|
| Title | Instagram Lead: {{data.response_variables.full_name}} |
| Person | {{ID from previous module}} (the Person just created) |
| Pipeline | Select your target pipeline |
| Stage | Select the initial stage (e.g., "New Lead") |
| Label | Instagram |
Tip: Create the Person first, then use its ID when creating the Deal. This links the Deal to the contact automatically.
Step 3: Handle Duplicates
- Before creating a Person, add Pipedrive → Search Persons.
- Search by email:
{{data.response_variables.email}}. - Use a Router:
- Found: Use the existing Person ID for the Deal.
- Not found: Create a new Person, then create the Deal.
Step 4: Test and Activate
- Run once in Make.com.
- Trigger a test event from InstantDM.
- Check Pipedrive - a new Person and Deal should appear.
- Activate the scenario.
Method 2: Via Zapier
Step 1: Create the Zap
Follow the Zapier integration guide to set up a webhook trigger.
Step 2: Add Pipedrive Actions
- Add a Filter:
eventexactly matchesflow_completed. - Add Pipedrive → Create Person.
- Map name, email, phone from the webhook data.
- Add Pipedrive → Create Deal.
- Link the Deal to the Person created in the previous step.
Step 3: Test and Activate
- Test with sample data.
- Verify in Pipedrive.
- Turn the Zap on.
Method 3: Direct API Integration
Pipedrive has one of the simplest CRM APIs - great for a direct integration.
Step 1: Get Your Pipedrive API Token
- In Pipedrive, go to Settings → Personal preferences → API.
- Copy your API token.
Step 2: Build a Webhook Receiver
const express = require('express');
const app = express();
app.use(express.json());
const PD_API_TOKEN = process.env.PIPEDRIVE_API_TOKEN;
const PD_DOMAIN = 'yourcompany'; // your Pipedrive subdomain
async function pipedriveFetch(endpoint, body) {
const response = await fetch(
`https://${PD_DOMAIN}.pipedrive.com/api/v1/${endpoint}?api_token=${PD_API_TOKEN}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body),
}
);
return response.json();
}
app.post('/instantdm-webhook', async (req, res) => {
const { event, data } = req.body;
if (event !== 'flow_completed') {
return res.status(200).json({ status: 'skipped' });
}
try {
// Step 1: Create a Person
const person = await pipedriveFetch('persons', {
name: data.response_variables.full_name || data.username,
email: [{ value: data.response_variables.email, primary: true }],
phone: [{ value: data.response_variables.phone, primary: true }],
label: 'Instagram',
});
// Step 2: Create a Deal linked to the Person
const deal = await pipedriveFetch('deals', {
title: `Instagram Lead: ${data.response_variables.full_name || data.username}`,
person_id: person.data.id,
label: 'Instagram',
});
// Step 3: Add a Note with flow details
await pipedriveFetch('notes', {
deal_id: deal.data.id,
content: `<b>Instagram DM Lead</b><br>
Flow: ${data.flow_name}<br>
Interest: ${data.response_variables.interest || 'N/A'}<br>
Instagram: @${data.username}<br>
Captured: ${new Date().toISOString()}`,
});
res.status(200).json({
status: 'created',
person_id: person.data.id,
deal_id: deal.data.id,
});
} catch (error) {
res.status(500).json({ status: 'error', message: error.message });
}
});
app.listen(3000);
Step 3: Configure InstantDM Webhook
- Deploy your webhook receiver.
- In InstantDM Settings → API, paste the URL.
- Select events and save.
Custom Fields in Pipedrive
Creating Custom Fields
- Go to Settings → Data fields → Person (or Deal).
- Click Add custom field.
- Name it (e.g., "Instagram Username") and select the type.
- Note the field key (e.g.,
abc123def456).
Using Custom Fields in the API
const person = await pipedriveFetch('persons', {
name: data.response_variables.full_name,
email: [{ value: data.response_variables.email, primary: true }],
// Custom field by key
'abc123def456': data.username,
});
In Make.com/Zapier, custom fields appear in the field mapping dropdown after connecting your Pipedrive account.
Pipedrive Automations
Workflow Automation (Built-in)
- Go to Automations in Pipedrive.
- Click Create automation.
- Trigger: Deal is created.
- Condition: Label equals "Instagram".
- Actions:
- Assign to a team member
- Send an email
- Create an activity (e.g., "Call Instagram lead")
- Move to a pipeline stage
Example: Auto-Create Follow-Up Activity
- Trigger: Deal created with label "Instagram".
- Action: Create Activity.
- Type: Call
- Subject:
Follow up with Instagram lead - Due: Tomorrow
- Assigned to: Deal owner
Troubleshooting
| Issue | Solution |
|---|---|
| Person/Deal not appearing | Check the automation platform execution log. Verify the Pipedrive connection. |
| Duplicate persons | Add a search step before creating. Search by email to find existing contacts. |
| API returning 401 | Verify your API token. In Make.com/Zapier, re-authenticate the Pipedrive connection. |
| Custom fields empty | Use the field key (not the display name) in API calls. In Make.com/Zapier, refresh the field list. |
| Deal not linked to Person | Ensure the person_id is set when creating the Deal. In Make.com, map the Person ID from the previous module. |
| "Instagram" label not available | Create the label first in Pipedrive: Settings → Data fields → Deal → Labels. |
Frequently Asked Questions
Should I create Persons, Deals, or both?
Create both. A Person holds the contact info (name, email, phone), and a Deal tracks the sales opportunity. Link them together so your sales team can see the full picture.
Can I add Instagram leads to a specific pipeline?
Yes. When creating a Deal, specify the pipeline_id and stage_id. In Make.com/Zapier, select the pipeline and stage from the dropdown.
How does Pipedrive compare to HubSpot for InstantDM?
Pipedrive is simpler and more sales-focused - it's built around the pipeline view. HubSpot has more marketing features (email sequences, landing pages, forms). If your primary goal is tracking sales from Instagram leads, Pipedrive is a great fit. If you need marketing automation too, consider HubSpot.
Can I trigger a DM from Pipedrive?
Yes. Use Pipedrive's Workflow Automation to call a webhook when a Deal moves to a specific stage. Route that webhook through Make.com/Zapier to call the InstantDM API and send a DM.
What's Next
- Set up Airtable for flexible lead tracking and custom views.
- Connect to Notion for team-friendly lead databases.
- Read the HubSpot guide for a full-featured CRM alternative.
- Build a Custom AI Agent to qualify leads before they reach your pipeline.
- Explore the full API docs at instantdm.com/instagram-api-docs.