When someone gives you their email in a DM, Ellipsend can add them to your Mailchimp audience and tag them a second later. It's one request. New to API requests? Start with Send Contact Info to Your Other Tools With API Requests.
Get Your API Key
In Mailchimp, click your profile icon, then Profile → Extras → API keys, and click Create A Key. Name it Ellipsend and copy it. Mailchimp only shows it once.
Look at the end of the key. It ends with a short code like -us21. That code is your server, and it goes at the start of every address below.
New Mailchimp keys expire after one year. Put a reminder in your calendar to make a new one.
Find Your Audience ID
In Mailchimp, open Audience, pick your audience, then More options → Audience settings. Copy the Audience ID.
Connect Mailchimp to Ellipsend
In Ellipsend, go to Settings → Integrations → HTTP requests and click Add request. Name it Add contact to Mailchimp, pick Replace · PUT, and paste this address. Swap in your server code and audience ID, and keep the variable at the end:
https://us21.api.mailchimp.com/3.0/lists/YOUR_AUDIENCE_ID/members/{{ contact.email }}
Open Connection and click Add connection:
Connection name: Mailchimp
Connection method: API token (Bearer)
Paste your key, and put your server address (like
https://us21.api.mailchimp.com) under App addresses.
Set What Gets Sent
Click Edit as JSON and paste:
{"email_address": "{{ contact.email }}", "status_if_new": "subscribed", "merge_fields": {"FNAME": "{{ contact.first_name }}"}, "tags": ["Instagram DM"]}
The parts in double curly braces, like {{ contact.email }}, are variables. When the request runs, Ellipsend swaps each one for that contact's real details, so paste them exactly as they are. To add a different detail, click inside the box where it should go, click Insert variable just above the box, and pick it from the list. More on variables.
Send a test request. A 200 means Mailchimp accepted it. If the email is already in your audience, it's updated instead of added twice.
Sending to More Than One Tag?
One request sends to one tag. Most people put every DM lead in the same tag, so one request is all they need. If some automations should land contacts in a different tag, save one request per tag. Open Add contact to Mailchimp, click More, then Duplicate request. Rename the copy after the tag, like Add contact to Mailchimp · Meal Plan, change the tag in the JSON, and save.
Then pick the matching request in each automation. Your connection is shared, so you only enter your key once.
Add It to Your Automation
In your automation's DM steps, add Ask for Email, then Run API Request with Add contact to Mailchimp, then your freebie message. You can run the same request from a saved response under After sending.
Good to Know
Use
"status_if_new": "pending"instead if you want double opt-in. Mailchimp sends the confirmation email.FNAMEis Mailchimp's standard first-name field. If you renamed it, use your tag from Audience fields and merge tags.If your audience has a required field you don't send, Mailchimp rejects the request. Add
?skip_merge_validation=trueto the end of the address to skip that check.Change
Instagram DMto any tag you like, then build a segment in Mailchimp on that tag.Check the Activity tab if someone doesn't show up. It shows what was sent and Mailchimp's reply for every run.


