Mailchimp and Twilio integrate through Mailchimp Webhooks and the Twilio Messages API to trigger SMS messages from Mailchimp audience events, letting marketers reach subscribers on both email and SMS channels within the same automation flow. This integration is used by email marketers who want to add an SMS touchpoint to their welcome series, post-purchase flows, and re-engagement campaigns without migrating to a dedicated SMS platform. The connection works by subscribing to Mailchimp audience activity webhooks that fire when a subscriber joins a list, clicks a link, or is tagged, and using those events to dispatch a coordinated Twilio SMS.
What You Need Before You Start
Generate a Mailchimp API key from your Mailchimp account under Account, then Extras, then API Keys, and note your Mailchimp data center prefix visible in the API key suffix such as us21, which forms the base URL for all API calls in the format https://us21.api.mailchimp.com/3.0/. Configure a Mailchimp webhook by navigating to your Audience, then Settings, then Webhooks, clicking Create New Webhook, entering your middleware endpoint URL, and selecting the trigger types Subscribes, Profile Updates, and Campaigns Sending Status depending on which events should trigger SMS. From Twilio, collect your Account SID, Auth Token, and an SMS-capable phone number registered under an A2P 10DLC campaign for any US marketing SMS. Ensure your Mailchimp audience has a phone number merge field defined by navigating to Audience, then Settings, then Audience Fields and Merge Tags, and adding a field with the merge tag PHONE for storing subscriber phone numbers.
Step-by-Step Integration Guide
When a Mailchimp webhook fires, your middleware receives a form-encoded POST payload with fields including type, data[id], data[email], data[merges][PHONE], and data[list_id]. Extract the subscriber email from data[email] and the phone from data[merges][PHONE], normalizing the phone to E.164 format before any Twilio dispatch. For subscribe events where data[merges][PHONE] is populated, dispatch a Twilio welcome SMS by calling POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json with Basic authentication, To set to the normalized phone, From set to your Twilio number, and Body set to a welcome message referencing the list name retrieved by fetching GET https://us21.api.mailchimp.com/3.0/lists/{listId} with the Mailchimp API key in Basic auth as user any:apiKey. For campaign-triggered SMS, use Mailchimp's Campaign Manager to set up a webhook callback that fires when a campaign is sent to a segment, receive the campaign ID in the webhook, fetch the campaign details using GET https://us21.api.mailchimp.com/3.0/campaigns/{campaignId}, and dispatch Twilio SMS to the audience members in that segment by paginating through GET https://us21.api.mailchimp.com/3.0/lists/{listId}/members?status=subscribed&count=100 and dispatching SMS to each member with a PHONE merge field value.
Common Issues and How to Fix Them
Mailchimp webhook deliveries use HTTP basic auth with any username and a password equal to a secret you define, but Mailchimp does not sign requests with HMAC, so any actor with your webhook URL can POST fake events. Add a secret token as a query parameter on your webhook URL in Mailchimp settings and validate it in your middleware before processing any payload. Mailchimp's PHONE merge field is optional and most subscribers will not have it populated, especially lists imported from email-only sources, causing the SMS dispatch to fail for the majority of your audience. Add a subscriber enrichment step that prompts contacts to provide their phone via a Mailchimp landing page form or a dedicated opt-in flow after they first subscribe to the email list, storing the phone in the PHONE merge field via PUT https://us21.api.mailchimp.com/3.0/lists/{listId}/members/{subscriberHash} with the merge_fields PHONE value. Mailchimp webhooks fire only once per event and do not retry on non-2xx responses from your middleware, so any processing failure silently drops the SMS trigger for that subscriber. Log every inbound Mailchimp webhook payload to a database immediately on receipt before any processing, so you can replay missed events manually if your middleware had a downtime window.
How to Get More from This Integration
Build a dual-channel welcome series by combining Mailchimp's built-in email automations with a Twilio SMS sent via a webhook on the subscribe event, so new subscribers receive a welcome email from Mailchimp within minutes and a welcome SMS from Twilio within seconds, creating two touchpoints in the first hour. Add Mailchimp tag-based SMS triggers by subscribing to the Profile Updates webhook event and checking the data[merges] payload for a tag field matching your segment tag values, dispatching different Twilio SMS messages for subscribers tagged as VIP, Abandoned Cart, or Re-engagement to deliver segment-specific messages. Sync Twilio inbound SMS replies back to Mailchimp by configuring your Twilio inbound webhook to update the subscriber's Mailchimp profile when they reply to a welcome SMS, setting a custom merge field such as SMS_REPLY to the reply text using PUT https://us21.api.mailchimp.com/3.0/lists/{listId}/members/{subscriberHash}, enabling list segmentation based on SMS engagement. Track SMS campaign performance by appending a Mailchimp campaign UTM parameter to any link included in the Twilio SMS body, attributing web traffic from SMS to the Mailchimp campaign in Google Analytics for unified cross-channel reporting.
Conclusion
Mailchimp and Twilio together create a coordinated dual-channel outreach strategy where email and SMS work together to reach subscribers at the right moment on the right device. Contact Telphi Consulting to build and configure your Mailchimp Twilio SMS integration.
Ready to Transform Your Business Communications?
Get a free consultation with our VoIP experts and discover how we can help you save costs, improve efficiency, and scale your business.
Comments (0)
Join the discussion and share your thoughts (AI-moderated for quality)
Be the first to comment
No comments yet. Share your thoughts below.