Import guide

Import Mailchimp audience members into monday.com on a schedule

Marketing teams keep campaign data in Mailchimp and the work that follows in monday.com: follow-ups, events, partner outreach. The join between the two is usually a CSV export and somebody’s memory.

Boardfeed reads an audience and its merge fields on a schedule and keeps a board in step with it, matching on the e-mail address so a subscriber updates rather than accumulates.

Last checked : what one row holds, how merge fields and tags arrive, the 1,000-member page and the 5,000-page stop it adds up to (5,000,000 members), and what the API key does and does not limit, read off the connector and the key page it cites

Doing it by hand, every time

  1. Export the audience as a CSV from Mailchimp.
  2. Import it into the board and re-map the merge fields.
  3. Lose the custom merge fields that came out as unnamed columns.
  4. Repeat next week, and decide whether to delete the previous rows first.

The scheduled route

  1. Connect Mailchimp with an API key. Boardfeed reads the data centre off the end of the key — a key ending -us6 means every call goes to us6.api.mailchimp.com — and refuses a key with no data centre on it.
  2. Choose the audience. Boardfeed lists the ones the key can see, and one import reads one audience.
  3. Map the member fields and the merge fields you want to board columns.
  4. Use the e-mail address as the key so a subscriber who changes status updates their item instead of creating a second one, then pick the schedule.
  5. Every run walks the whole audience, 1,000 members at a time, and is listed with its counts. The walk stops at 5,000 pages rather than importing part of a longer audience — 5,000,000 members.

Field mapping notes for Mailchimp

This is the part that decides whether an import works on the first try. Everything below is handled in the mapping step, before the first run.

  • One row is one member. Scalar fields arrive as they are; merge fields keep a merge_fields. prefix, so a merge tag named FNAME cannot collide with a top-level field of the same name.
  • Tags arrive as one text value, the tag names joined with commas. A member with no tags gets an empty string, which the mapping skips rather than writing as a blank.
  • Status arrives as Mailchimp’s own word for it, which suits a status column. Let the mapping create labels it has not seen, or the first unfamiliar status will fail its rows.
  • Timestamps come through as Mailchimp sends them, in ISO-8601, and map straight to a date column.
  • Key column: the e-mail address is the natural one. Where two rows in a single read carry the same address, the last wins and the earlier ones are reported as skipped.

Mailchimp import questions

Does this write anything back to Mailchimp?

No. The connector only ever reads: it lists audiences and reads members, and issues no write of any kind. Be aware of what the credential itself is, though — a Mailchimp API key is not scoped: Mailchimp’s own help page says it carries the permissions of the user who created it (mailchimp.com/help/about-api-keys, read 2026-09-11). Boardfeed will not write with it, but treat it like a password, and rotate it from the API keys page if it leaks.

Are unsubscribed contacts imported?

Every member of the audience is read, whatever their status, and the status arrives as a column. Many teams import everyone and show the status on the board, so an unsubscribe is visible rather than a row that quietly stopped updating.

Can I import campaign or event activity?

Not through this connector — it reads audiences and their members, nothing else. Campaign activity has its own Mailchimp endpoints, which the REST API source can read with the same key: see the REST API guide for the auth and pagination settings.

How many members does one run import?

As much as one run reads. The connector has no date-range setting, so it walks the whole audience, 1,000 members a page — and it stops at 5,000 pages rather than importing part of a longer audience, which is 5,000,000 members. An audience larger than that needs the REST API source with a filter of its own, reading the audience in slices. The stop is not silent: the run ends as failed and its record says how many rows it had already written, and those rows stay on the board — so re-run it in update mode once the source is narrower, or a create-mode re-run adds them a second time. The first run against a long-lived audience can be large: check the row count against your monthly allowance before you schedule it.

Other sources