Integration Guide

How to Connect InstantDM with Make.com (Step-by-Step Guide)

Learn how to connect InstantDM with Make.com to automate Instagram DM workflows. Step-by-step guide to route Instagram leads to Google Sheets, HubSpot, email, and Slack using webhooks and scenarios.

Meta Business Partner
30,000+ creators
$9.99/mo flat

Connecting InstantDM with Make.com lets you build powerful automated workflows between Instagram DMs and hundreds of other apps - without writing a single line of code. When someone comments on your post, answers a question in a DM flow, or completes a lead capture sequence, InstantDM fires a webhook to Make.com. From there, you route that data anywhere: Google Sheets, HubSpot, Slack, Gmail, a database, or back to InstantDM to send a reply.

This guide walks you through the entire setup, from generating your API key to building real scenarios you can use today.


What Is Make.com and Why Connect It to InstantDM?

Make.com (formerly Integromat) is a visual automation platform that connects apps together using drag-and-drop scenarios. Each scenario has a trigger (something that starts the workflow) and one or more actions (things that happen as a result).

When you connect Make.com to InstantDM, you unlock two-way automation:

  • Outbound (InstantDM → Make.com): InstantDM sends event data via webhook when things happen - new comments, DMs received, flows completed, questions answered.
  • Inbound (Make.com → InstantDM): Make.com sends HTTP requests to the InstantDM API to send DMs or post comment replies on your behalf.

Common Use Cases

  • Capture Instagram leads into Google Sheets or a CRM automatically
  • Get Slack or email notifications when someone comments a trigger keyword
  • Sync flow responses (name, email, phone) to HubSpot, Airtable, or Mailchimp
  • Send a follow-up DM after a lead is added to your CRM
  • Trigger multi-channel sequences from a single Instagram interaction

What You'll Need

Before you start, make sure you have:

Requirement Details
InstantDM account Trendsetter, Trendsetter Pro, or any Multi plan (API access required)
Make.com account Free plan works for testing; paid plan recommended for production
InstantDM API key Found at Settings → API in your InstantDM dashboard
Connected Instagram account Business or Creator account connected to InstantDM

Note: API and webhook access is not available on InstantDM's free or Starter plans. You need a Trendsetter plan or higher.


Step 1: Generate an API Key in InstantDM

  1. Log in to app.instantdm.com.
  2. Navigate to Settings → API in the left sidebar (or go directly to the /api-integration page).
  3. Copy your API Key. You'll need this later for inbound API calls from Make.com.
  4. Keep this page open - you'll paste your Make.com webhook URL here in Step 3.

For full API documentation, visit instantdm.com/instagram-api-docs.


Step 2: Configure Webhook URL in InstantDM

Before you can paste a URL, you need to create the webhook in Make.com first (Step 3). But here's what the configuration looks like so you know what to expect:

  1. On the Settings → API page, you'll see a Webhook URL field.
  2. Below it, you can select which events to forward:
Event When It Fires
comment Someone comments on your post
dm_received Someone sends you a DM
postback User clicks a button in your DM flow
question_answered User answers a question node in a flow
flow_completed User reaches the end of a flow
  1. After pasting the Make.com webhook URL (from Step 3), select your events and click Save.

Step 3: Create a Make.com Scenario with Custom Webhook Trigger

This sets up the receiving end - Make.com will listen for events from InstantDM.

  1. Log in to make.com and click Create a new scenario.
  2. Click the "+" button to add the first module.
  3. Search for Webhooks and select "Custom webhook".
  4. Click Add to create a new webhook.
  5. Give it a name like InstantDM Events.
  6. Click Save. Make.com generates a unique webhook URL (e.g., https://hook.make.com/abc123xyz).
  7. Copy this URL.
  8. Go back to InstantDM Settings → API and paste the URL into the Webhook URL field.
  9. Select your desired events and click Save.

Step 4: Map InstantDM Webhook Data to Make.com Modules

Now you need to tell Make.com what the incoming data looks like.

  1. Go back to your Make.com scenario.
  2. Click Run once on the webhook module (this puts it in listening mode).
  3. Trigger a test event in InstantDM - send yourself a DM or comment on a post with a trigger keyword.
  4. Make.com receives the payload and maps the data structure automatically.

Example Webhook Payload (flow_completed)

{
  "event": "flow_completed",
  "timestamp": "2025-01-15T10:30:00Z",
  "data": {
    "instagram_user_id": "17841400123456789",
    "username": "johndoe",
    "flow_name": "Lead Capture Flow",
    "response_variables": {
      "full_name": "John Doe",
      "email": "john@example.com",
      "phone": "+1234567890",
      "interest": "Premium Plan"
    }
  }
}

Example Webhook Payload (comment)

{
  "event": "comment",
  "timestamp": "2025-01-15T10:32:00Z",
  "data": {
    "instagram_user_id": "17841400123456789",
    "username": "janedoe",
    "comment_text": "I want pricing info!",
    "comment_id": "17858893456789012",
    "post_url": "https://www.instagram.com/p/ABC123/"
  }
}

Example Webhook Payload (dm_received)

{
  "event": "dm_received",
  "timestamp": "2025-01-15T10:35:00Z",
  "data": {
    "instagram_user_id": "17841400123456789",
    "username": "janedoe",
    "message_text": "I'm interested in your coaching program",
    "message_id": "aWdGM..."
  }
}

Webhook Headers

Every webhook request from InstantDM includes these headers:

Header Description
X-Event-Type The event type (e.g., flow_completed)
X-Timestamp ISO 8601 timestamp of the event
X-Webhook-Signature HMAC-SHA256 signature for verifying authenticity

Step 5: Add Actions (Send Email, Create CRM Contact, Update Spreadsheet)

Now that Make.com is receiving InstantDM events, add modules to route the data wherever you need it.

Adding a Router for Multiple Actions

If you want different events to trigger different actions, add a Router module after the webhook. Each route can have its own filter and action chain.

  1. After the webhook module, click "+" and add a Router.
  2. Each branch of the router can have a filter (e.g., only flow_completed events) and one or more action modules.

Sending an Email Notification

  1. On a router branch, add Gmail → Send an Email (or any email module).
  2. Configure:
Field Value
To you@yourdomain.com
Subject New Instagram Lead: {{data.response_variables.full_name}}
Body See template below

Email body template:

New lead from Instagram!

Name: {{data.response_variables.full_name}}
Email: {{data.response_variables.email}}
Phone: {{data.response_variables.phone}}
Interest: {{data.response_variables.interest}}
Instagram: @{{data.username}}
Flow: {{data.flow_name}}
Time: {{timestamp}}

Creating a CRM Contact

  1. Add HubSpot → Create/Update a Contact (or Salesforce, Pipedrive, etc.).
  2. Map the fields from the webhook payload to CRM properties.
  3. Use the Create/Update variant to avoid duplicates.

Updating a Spreadsheet

  1. Add Google Sheets → Add a Row.
  2. Connect your Google account and select your spreadsheet.
  3. Map columns to webhook data fields.

Example Scenario: New Instagram Comment → Google Sheets Row → Email Notification

This scenario logs every Instagram comment to a spreadsheet and sends you an email alert.

Scenario flow: Webhook → Filter (event = comment) → Google Sheets (Add Row) → Gmail (Send Email)

Setup Steps

  1. Webhook module - already configured from Steps 3-4.
  2. Filter - click the connection line and add: event equals comment.
  3. Google Sheets → Add a Row:
Spreadsheet Column Make.com Mapping
Date timestamp
Username data.username
Comment Text data.comment_text
Post URL data.post_url
Comment ID data.comment_id
  1. Gmail → Send an Email:
Field Value
To you@yourdomain.com
Subject 📝 New comment from @{{data.username}}
Body Comment: {{data.comment_text}}\nPost: {{data.post_url}}\nTime: {{timestamp}}
  1. Toggle the scenario ON and set scheduling to Immediately.

Example Scenario: Flow Completed → Create HubSpot Contact with All Lead Data

This scenario creates a HubSpot contact every time someone completes a lead capture flow.

Scenario flow: Webhook → Filter (event = flow_completed) → HubSpot (Create/Update Contact) → Slack (Send Message)

Setup Steps

  1. Webhook module - already configured.
  2. Filter - event equals flow_completed.
  3. HubSpot → Create/Update a Contact:
HubSpot Property Make.com Mapping
Email data.response_variables.email
First Name data.response_variables.full_name
Phone data.response_variables.phone
Lead Source Instagram DM (static text)
Notes Completed "{{data.flow_name}}" flow. Interest: {{data.response_variables.interest}}
  1. Slack → Send a Message (optional):
🎯 New Instagram Lead in HubSpot!
Name: {{data.response_variables.full_name}}
Email: {{data.response_variables.email}}
Interest: {{data.response_variables.interest}}
Instagram: @{{data.username}}
  1. Activate the scenario.

Testing Your Integration

Before going live, test the full pipeline:

  1. Run once in Make.com to put the scenario in listening mode.
  2. Trigger a test event - comment a keyword on your Instagram post or send a DM that starts a flow.
  3. Check Make.com's execution log - click on the scenario run to see each module's input and output.
  4. Verify the destination - check Google Sheets, HubSpot, Slack, or email to confirm the data arrived.
  5. Check for errors - if a module failed, click on it to see the error details.

Sending a Test Webhook Manually

You can also use InstantDM's Send Test Webhook button (on the Settings → API page) to fire a sample payload without needing a real Instagram interaction.


Troubleshooting Common Issues

Issue Solution
Make.com webhook not receiving data Confirm the webhook URL is saved in InstantDM settings. Click "Run once" in Make.com before triggering a test event.
Data fields showing as empty Check that the event type matches your filter. Use the Make.com data inspector to see the raw payload.
Scenario runs but no action happens Check your filter conditions. Make sure the event name matches exactly (e.g., flow_completed, not flowCompleted).
HTTP module returning 401 Verify your API key is correct and includes the Bearer prefix in the Authorization header.
HTTP module returning 400 Check the JSON body format. Ensure action, type, and recipient_id are all present.
Scenario runs but no DM sent The recipient must have an existing conversation with your Instagram account (Meta requires prior interaction).
Make.com operations running out Each webhook event counts as one operation, plus one for each subsequent module. Upgrade your Make.com plan for higher volume.

Frequently Asked Questions

How do I connect InstantDM to Make.com?

To connect InstantDM to Make.com, create a Custom Webhook trigger in a Make.com scenario, copy the generated webhook URL, and paste it into InstantDM's Settings → API page in the Webhook URL field. Select which events to forward and click Save. Make.com will then receive real-time data from InstantDM whenever those events occur.

Can I use Make.com with InstantDM on the free plan?

No. API and webhook access requires a Trendsetter, Trendsetter Pro, or any Multi plan on InstantDM. Make.com's free plan works for testing with up to 1,000 operations per month, but a paid plan is recommended for production use.

Does InstantDM have a native Make.com app in the marketplace?

InstantDM uses standard webhooks and a REST API, which work with Make.com's built-in Webhook and HTTP modules. There is no dedicated Make.com app in the marketplace - you use the generic Custom Webhook trigger and HTTP request modules. This actually gives you more flexibility since you can customize the data mapping exactly how you want.

Is the webhook data from InstantDM real-time?

Yes. InstantDM fires webhooks within seconds of the event occurring. Make.com processes them as soon as they arrive with no polling delay. This means your Google Sheets row, HubSpot contact, or Slack notification appears almost instantly after the Instagram interaction.

How many events can Make.com handle from InstantDM?

Make.com's free plan allows 1,000 operations per month. Each webhook event counts as one operation, and each subsequent module in the scenario counts as an additional operation. For example, a scenario with Webhook → Filter → Google Sheets → Gmail uses 4 operations per run. For high-volume accounts, use a Make.com paid plan.

Can I send DMs from Make.com back through InstantDM?

Yes. Use Make.com's HTTP → Make a request module to call the InstantDM API at https://api.instantdm.com/api-webhook. Include your API key in the Authorization header and send a JSON body with the send_message action. You can send text messages, buttons, quick replies, images, and more.

How do I verify that webhook requests are genuinely from InstantDM?

Every webhook request includes an X-Webhook-Signature header containing an HMAC-SHA256 signature. In Make.com, you can use a JavaScript code module to compute the HMAC of the request body using your API key and compare it to the signature header. This prevents spoofed requests from triggering your scenarios.


What's Next

Ready to Automate Your Instagram DMs?

Join 30,000+ creators and brands using InstantDM today.

Start Your Free Trial

No credit card required. Setup in under 15 minutes.