Mailchimp Setup
Let the chatbot tell a customer whether they are subscribed to your newsletter — and why they stopped receiving it.
Do I need this?
Only if you run your newsletter through Mailchimp. If you use Klaviyo, connect that one instead — it answers the same customer question, and adds discount-code lookup on top.
Setup
Create an API key
In Mailchimp, go to Profile → Extras → API keys. Paste the whole key, including the `-us14` suffix at the end — that suffix tells us which Mailchimp data centre your account lives in, so you never have to look it up yourself.
Mailchimp keys cannot be scoped. Unlike Klaviyo, a key inherits whatever the user who created it can do — so this key can write to your whole account even though we only ever read. If that matters to you, create it from a user with a limited role.
Choose your audience
A Mailchimp account can hold several lists, and "are you subscribed?" is meaningless until you say subscribed to what. The connection test reads your audiences so you pick one by name rather than pasting an ID. If you only have one, it is selected for you.
Decide whether the chatbot may unsubscribe people
Off unless you turn it on. Unlike Klaviyo this is not a permission question — Mailchimp keys cannot be limited to read-only, so yours can already write whatever it likes. The switch decides whether the chatbot should, not whether it could.
The case for turning it on: "stop emailing me" is answered on the spot rather than becoming a ticket, and an unsubscribe you honour immediately is better for your sender reputation than one the customer has to chase.
What the chatbot can do
Three things, and only the first is on by default.
Tell a verified customer their subscription status. The useful case is not the plain yes or no. When Mailchimp has marked an address as cleaned, it means our email could not be delivered — often a single hard bounce is enough — and Mailchimp stopped trying. The chatbot explains that in plain language and tells the customer that signing up again with a working address fixes it. Without this, "I never get your emails" turns into a support ticket nobody can resolve.
Tell them which emails you sent them, if you switch it on. "Did you email me about the sale?" and "what was in that newsletter?" become answerable: the chatbot lists the campaigns that went to the address the customer verified, with the date and whether they opened it, and can read back what one of them said. It is limited to campaigns that customer was actually sent — it is not a reader for your campaign archive. Mailchimp keeps recent member activity rather than a full history, so an email from a year ago may not appear; the chatbot says so rather than claiming you never sent it.
Unsubscribe them, if you switch it on. Unlike Klaviyo this grants no new access — Mailchimp keys cannot be limited to read-only, so your key could always write. The switch is about whether a chatbot ought to, not whether it could. It unsubscribes only the address the customer verified, and never touches order confirmations or delivery updates.
Why there is no discount-code lookup
Klaviyo has one and Mailchimp does not, and the difference is in what each API exposes rather than in what we got round to building.
Klaviyo assigns a coupon code to a profile and lets you read it back, so "what code was issued to this verified customer" is a real lookup. Mailchimp does give each contact a unique code — it is a documented feature for Shopify stores — but the assignment happens inside a send and there is no endpoint that answers "which code did this person get".
One route exists: if your campaign writes the code to a merge field on the contact, it becomes readable. Tell us if you work that way and we will look at supporting it.
If you have a code meant to be public, put it in your knowledge base. The chatbot will share it happily, and no API key is involved.