Connector · CRM and email lists
Mailchimp, in every client’s workflows.
Add to an audience, update a subscriber, or start when someone joins the mailing list, with the client’s own Mailchimp account.
- Triggers
- 2start a workflow
- Actions
- 2steps in a workflow
Start a workflow when something happens in MailchimpBeta
By webhook where Mailchimp sends one, by checking where it does not. A webhook is checked once a day to see it is still on, and if Mailchimp turns it off the alert carries a Reconnect button.
- Someone joins the mailing listPolledA new subscriber on an audience (a signup form, an import), checked every 15 minutes.
- A subscriber’s details changePolledA member of an audience changed (their details, tags, or unsubscribed), checked every 15 minutes.
Do it in Mailchimp
A step with its own fields: values from the run go in by name, and what Mailchimp answers is there for the next step.
- Add to an audienceAdds the email to an audience, or updates its merge fields if it is already there: a lead who submits twice is one subscriber. The status applies to a new subscriber only; an existing one keeps theirs (change it with “Update a subscriber”).
- Update a subscriberChange a subscriber’s status or merge fields, found by email. Fields left empty keep their value.
Connect the client’s Mailchimp
On the client’s page in Thrum: Add credential, type Mailchimp API key.
In the client’s Mailchimp: Profile → Extras → API keys → Create A Key. The server prefix is the part after the dash (us21).
The key is stored encrypted and bound to that client: another client’s workflow cannot use it, and no template or pack copies it.
Via HTTP
Or by web request: add a subscriber to an audience
Leads who ask for it join the client’s newsletter, with Mailchimp’s own confirmation email. The web request step, filled in: paste it, swap in the client’s ids, add their key.
01
Add the client’s credential
On the client’s page in Thrum: Add credential, type Other (JSON). In the client’s Mailchimp: Profile → Extras → API keys → Create A Key. Store it after any word and a colon, as thrum:<key>: Mailchimp takes it as a password with any user name.
{ "basic": "thrum:…-us21" }02
Add a web request step
Name it “Add to Mailchimp”, set it as here, and pick the credential. Values in double braces are read from the run: here, the lead the form brought in.
- DC
- The end of the API key, after the dash: us21.
- AUDIENCE_ID
- Audience → Settings → Audience name and defaults → Audience ID.
{ "method": "POST", "url": "https://DC.api.mailchimp.com/3.0/lists/AUDIENCE_ID/members", "headers": { "Authorization": "Basic {{ credential.basic | base64 }}" }, "body": { "email_address": "{{ lead.email }}", "status": "pending", "merge_fields": { "FNAME": "{{ lead.name }}" } } }03
What goes out, and what comes back
`pending` sends Mailchimp’s confirmation email, so only people who say yes are subscribed. Use `subscribed` only when the form asked for consent.
POST https://DC.api.mailchimp.com/3.0/lists/AUDIENCE_ID/members content-type: application/json authorization: Basic dGhydW06Zml4dHVyZTg4OGtleS11czIx { "email_address": "nadia@example.com", "status": "pending", "merge_fields": { "FNAME": "Nadia Karim" } }200 { "id": "7d7a13e1ff4ef6ba3bbd2c6a3c1c8e0c", "email_address": "nadia@example.com", "status": "pending", "list_id": "AUDIENCE_ID", "merge_fields": { "FNAME": "Nadia Karim" } }
Watched like everything else
When Mailchimp stops answering or refuses the client’s key, you hear about it, and your client does not.
- A failing request
- Tried 3 times, 5 seconds apart and doubling, only for errors a retry can fix
- A service that asks for a pause
- Given it, up to an hour
- Requests at once, per account
- 2, per worker; the rest wait their turn
- Timeout
- 15 seconds, unless the step sets its own
- Private and internal addresses
- Refused, on every redirect too
- The client’s key
- Encrypted, bound to the client, and kept out of every run record
- A step that keeps failing
- Marks the workflow Degraded and alerts you, not the client
More in CRM and email lists
- ActiveCampaignAdd or update a contact, subscribe to a list2 actions
- AttioAdd or update a person, update a person2 actions
BrevoAdd or update a contact, send an email, or start when a new contact is added2 actions · 3 triggers
- CloseCreate a lead, update a lead, or start when a new lead is added2 actions · 2 triggers
Mailchimp and its logo are trademarks of their owner, used here only to say what Thrum works with; no endorsement is implied.
Thrum is cooking.
Get early access and you’ll be among the first in. Early members get a launch perk.