Integration Guide

How to Connect InstantDM with Brevo (Sendinblue) - Step-by-Step Guide

Learn how to connect InstantDM with Brevo (formerly Sendinblue) to automatically add Instagram DM leads to your email lists and transactional workflows.

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

Brevo (formerly Sendinblue) is an all-in-one marketing platform with email, SMS, chat, and CRM. Connecting InstantDM to Brevo automatically adds Instagram DM leads to your contact lists, triggers email automations, and can even send SMS follow-ups - all from a single platform.


Why Connect InstantDM to Brevo?

  • Email + SMS in one platform - send email sequences and SMS follow-ups from the same tool
  • Generous free tier - 300 emails/day on the free plan with unlimited contacts
  • Transactional emails - send instant confirmation emails when a lead is captured
  • Built-in CRM - track deals alongside email campaigns
  • Budget-friendly - one of the most affordable email marketing platforms at scale

Common Use Cases

  • Add Instagram DM leads to a Brevo contact list
  • Trigger a welcome email automation when a new lead arrives
  • Send an SMS follow-up after capturing a phone number via DM
  • Create a deal in Brevo's CRM from Instagram leads
  • Segment contacts by Instagram campaign or flow

What You'll Need

Requirement Details
InstantDM account Trendsetter, Trendsetter Pro, or any Multi plan
Brevo account Free or paid plan
InstantDM API key Found at Settings → API in your InstantDM dashboard
Brevo API key Found at Settings → SMTP & API → API Keys in Brevo

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.

Step 2: Add a Brevo Module

  1. After the webhook trigger, add a Filter: event equals flow_completed.
  2. Click "+" and search for Brevo (or Sendinblue).
  3. Select Create/Update a Contact.
  4. Connect your Brevo account.

Step 3: Map Fields

Brevo Field Make.com Mapping
Email {{data.response_variables.email}}
First Name (attribute) {{data.response_variables.full_name}}
Phone (attribute) {{data.response_variables.phone}}
List IDs Select your target list

Step 4: Test and Activate

  1. Run once in Make.com.
  2. Trigger a test event from InstantDM.
  3. Check Brevo - the contact should appear in your list.
  4. 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 Brevo Action

  1. Add a Filter: event exactly matches flow_completed.
  2. Add Brevo → Create or Update Contact.
  3. Connect your Brevo account.
  4. Map email, attributes, and list.

Step 3: Test and Activate

  1. Test with sample data.
  2. Verify in Brevo.
  3. Turn the Zap on.

Method 3: Direct API Integration

Step 1: Get Your Brevo API Key

  1. In Brevo, go to Settings → SMTP & API → API Keys.
  2. Create a new API key or copy an existing one.
  3. Get your List ID: go to Contacts → Lists and note the list ID.

Step 2: Build a Webhook Receiver

const express = require('express');
const app = express();
app.use(express.json());

const BREVO_API_KEY = process.env.BREVO_API_KEY;
const LIST_ID = 2; // Your Brevo list ID

app.post('/instantdm-webhook', async (req, res) => {
  const { event, data } = req.body;
  
  if (event !== 'flow_completed' || !data.response_variables?.email) {
    return res.status(200).json({ status: 'skipped' });
  }
  
  const contact = {
    email: data.response_variables.email,
    attributes: {
      FIRSTNAME: data.response_variables.full_name || '',
      SMS: data.response_variables.phone || '',
      INSTAGRAM: data.username,
      FLOW_NAME: data.flow_name,
      INTEREST: data.response_variables.interest || '',
    },
    listIds: [LIST_ID],
    updateEnabled: true, // Update if contact exists
  };
  
  try {
    const response = await fetch('https://api.brevo.com/v3/contacts', {
      method: 'POST',
      headers: {
        'api-key': BREVO_API_KEY,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(contact),
    });
    
    if (response.status === 201) {
      const result = await response.json();
      res.status(200).json({ status: 'created', id: result.id });
    } else if (response.status === 204) {
      res.status(200).json({ status: 'updated' });
    } else {
      const error = await response.json();
      res.status(500).json({ status: 'error', details: error });
    }
  } catch (error) {
    res.status(500).json({ status: 'error', message: error.message });
  }
});

app.listen(3000);

Sending a Transactional Email on Lead Capture

Brevo excels at transactional emails - send an instant confirmation when a lead is captured.

Step 1: Create an Email Template in Brevo

  1. Go to Transactional → Templates.
  2. Create a template with dynamic variables:
Hi {{ params.FIRSTNAME }},

Thanks for reaching out on Instagram! Here's the info you requested about {{ params.INTEREST }}.

[Your content here]
  1. Note the Template ID.

Step 2: Send the Email via API

Add this after creating the contact:

// Send transactional email
await fetch('https://api.brevo.com/v3/smtp/email', {
  method: 'POST',
  headers: {
    'api-key': BREVO_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    templateId: 1, // Your template ID
    to: [{ email: data.response_variables.email, name: data.response_variables.full_name }],
    params: {
      FIRSTNAME: data.response_variables.full_name,
      INTEREST: data.response_variables.interest,
      INSTAGRAM: data.username,
    },
  }),
});

SMS Follow-Up

If your DM flow captures a phone number, Brevo can send an SMS follow-up.

// Send SMS via Brevo
await fetch('https://api.brevo.com/v3/transactionalSMS/sms', {
  method: 'POST',
  headers: {
    'api-key': BREVO_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    type: 'transactional',
    sender: 'YourBrand',
    recipient: data.response_variables.phone,
    content: `Hi ${data.response_variables.full_name}! Thanks for connecting on Instagram. Check your email for the info you requested.`,
  }),
});

Note: SMS requires a Brevo paid plan and phone number verification. Check Brevo's SMS pricing for your region.


Contact Attributes

Creating Custom Attributes

  1. Go to Contacts → Settings → Contact Attributes.
  2. Add attributes:
Attribute Name Type Purpose
INSTAGRAM Text Instagram username
FLOW_NAME Text DM flow name
INTEREST Text Stated interest
LEAD_SOURCE Text Always "Instagram DM"

Email Automations

Welcome Sequence

  1. Go to Automations → Create an Automation.
  2. Trigger: Contact added to list → select your Instagram leads list.
  3. Steps:
    • Send email: Welcome + promised content
    • Wait: 1 day
    • Send email: Follow-up value
    • Wait: 3 days
    • Send email: Offer or CTA

Conditional Branching

Use Brevo's automation conditions to send different emails based on attributes:

  • If INTEREST equals "pricing" → send pricing email
  • If INTEREST equals "demo" → send demo booking link
  • Default → send general welcome

Troubleshooting

Issue Solution
Contact not appearing Check the API response. Verify the API key and list ID. Ensure the email format is valid.
Attributes empty Attribute names must match exactly (case-sensitive). Create them in Brevo first.
API returning 400 Check the request body format. Ensure listIds is an array of numbers, not strings.
Duplicate contacts Set updateEnabled: true in the API call. This updates existing contacts instead of returning an error.
Transactional email not sent Check that the template ID is correct and the template is active. Verify your Brevo sending domain is configured.
SMS not delivered Verify the phone number format (international format with country code). Check your Brevo SMS credits.

Frequently Asked Questions

How does Brevo's free plan work with InstantDM?

Brevo's free plan allows unlimited contacts and 300 emails per day. There's no limit on API calls for creating contacts. This makes it one of the most generous free tiers for InstantDM integration.

Can I send both email and SMS from Brevo?

Yes. Brevo supports email, SMS, and WhatsApp from a single platform. If your DM flow captures both email and phone, you can send a welcome email and an SMS confirmation in the same automation.

How does Brevo compare to Mailchimp?

Brevo is more affordable at scale (pricing is based on emails sent, not contacts stored). It also includes SMS and transactional email on all plans. Mailchimp has a larger template library and more third-party integrations. For InstantDM, both work well - choose based on your existing stack and budget.

Does Brevo have a CRM?

Yes. Brevo includes a basic CRM (Sales platform) on paid plans. You can create deals from Instagram leads and track them through a pipeline, similar to Pipedrive.


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.