> ## Documentation Index
> Fetch the complete documentation index at: https://hyperlocalise.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Localize Mailchimp

> Connect Mailchimp, import regular campaigns (and code-your-own HTML templates) as HTML, translate in Jobs, then push approved locales as draft copies.

Connect Mailchimp once in workspace **Integrations**, then run the **Translate Mailchimp content** automation template on a schedule. Import never changes Mailchimp. **Push to Mailchimp** is a separate action. It creates or updates draft copies named `{source} [{locale}]` and never sends, schedules, or edits the source campaign or template.

## Prerequisites

| Requirement | Description |
| - | - |
| Native project | A [native project](https://hyperlocalise.dev/platform/projects/create-project.md). Mailchimp campaigns and templates have no locale, so import and jobs use the **project source locale**. Add a project target locale for each language you will push back. |
| Mailchimp account | Connect Mailchimp from **Integrations** with OAuth through WorkOS Pipes (slug `mailchimp`). The access token is not stored in Hyperlocalise. |
| Campaign audience | Push creates draft locale **campaigns** and needs a list plus reply-to. Hyperlocalise uses the source campaign's audience when set, otherwise the account's first audience and its **campaign defaults** (from email / from name). If neither works, push skips campaign locales until Mailchimp has an audience with defaults or the source campaign has list and reply-to. |

## Connect Mailchimp

Open **Integrations** and choose **Connect** on **Mailchimp**. Authorize the Mailchimp account in the window that opens. The connection uses the WorkOS Pipes `mailchimp` provider.

Connect Mailchimp before you add the Mailchimp skill. Automations use the same connection.

## Create the automation

1. Open workspace **Automations** and select **New Automation**.
2. Apply the **Translate Mailchimp content** template, or add the **Translate Mailchimp content** skill from **Add Skill**. Do not attach HubSpot, Braze, Customer.io, Iterable, or Loops tools to the same automation.
3. Attach the native project.
4. Choose a **scheduled** or **manual** trigger. A schedule imports changed campaigns and templates. It does not push copies.
5. Under **Mailchimp campaigns and templates**, confirm the connection badge shows connected.
6. Optionally tick campaigns or importable templates in **Content to translate**. Leave all unchecked to import every **importable** item the library lists (campaigns plus HTML user templates only).
7. Save the automation.

Mailchimp is not a trigger type. Use a schedule or **Run now** for import. Use **Push to Mailchimp** for write-back.

## Import campaigns and templates

**Run now** or wait for the schedule. Import writes one HTML source file per item:

* Regular campaigns at `mailchimp/campaigns/{id}/{slug}.html`
* Code-your-own HTML user templates at `mailchimp/templates/{id}/{slug}.html`

Each file stores the subject line, preview text, and from name in `<head>` (`<title>` and `<meta>`), and the email HTML in the body. In the Content Editor they open in HTML File view. Review those files like other [HTML sources](https://hyperlocalise.dev/platform/projects/files.md).

### Campaigns (including drag-and-drop designs)

Import lists regular campaigns in `save`, `sent`, `paused`, and `schedule` status. **Campaign content** includes rendered HTML even when the email was built with Mailchimp's drag-and-drop editor. This is the supported path for most marketing emails.

### User templates (HTML only)

Saved **user templates** import when Mailchimp marks them as **code-your-own HTML** (`content_type: html`). The Marketing API often omits the raw HTML on the template itself. Import then reads HTML from a campaign that already uses that template, or briefly creates and deletes a draft campaign so Mailchimp will render the template.

Drag-and-drop saved templates (`content_type: template` or `multichannel`, or `drag_and_drop: true` without `content_type: html`) **do not expose HTML** through the Marketing API. Hyperlocalise cannot import or translate them as template sources. In the automation resource tree they appear as **Not importable (drag-and-drop)** with the reason on hover.

To localise a drag-and-drop saved template:

1. Create or pick a **regular campaign** that uses that layout in Mailchimp, then import the **campaign** in Hyperlocalise, or
2. Rebuild the design as a **code-your-own HTML** user template in Mailchimp and import that template.

Merge tags such as `*|FNAME|*` stay protected so translators do not break personalization. Import skips names that already look like locale copies (`Welcome [fr-FR]`).

When **Create native TMS job** is enabled, the run opens a job for mapped locales that still need translation. Import does not change source campaigns or templates. A missing template HTML may create a short-lived draft campaign named `HL template preview …` and delete it after the HTML is read.

Inspect **Run History** for imported, skipped, and failed items, plus jobs created.

## Review and push locale copies

1. Translate and [approve](https://hyperlocalise.dev/platform/cat.md) the mapped locales you want to write back.
2. Enqueue **Push to Mailchimp** as a separate automation run after import. Scheduled import runs do not push.
3. Confirm Mailchimp shows a new draft campaign or user template named `{source} [{locale}]`, for example `Spring sale [fr-FR]`. The source object stays unchanged. Hyperlocalise never sends or schedules a campaign.

Campaign push creates a new regular campaign in `save` status (or updates content on an existing copy Hyperlocalise already created). Template push creates or updates a **code-your-own HTML** user template with the translated HTML (not a drag-and-drop builder layout).

## Change or remove access

Disconnect Mailchimp from **Integrations** when this workspace should stop using that Mailchimp account. Inspect automations that depend on the connection before you disconnect.

## If import or push does not run

* Confirm Mailchimp is connected and the automation is **Active**.
* Confirm the project source locale is the language of the default copy in Mailchimp. Campaigns and templates have no locale of their own.
* Confirm the source campaign still has list and reply-to metadata in Mailchimp if push skips campaign locales.
* Confirm target locales have **approved** translations before push; push never writes draft copies for locales with nothing approved.
* If import skips **templates**, confirm they are HTML templates—not drag-and-drop saved layouts. Use **campaigns** for drag-and-drop email instead.
* Open **Run History** for the failed campaign, template, or locale. Push runs include **warnings** that explain skipped locales.

See [Automation troubleshooting](https://hyperlocalise.dev/platform/help/automations.md) and [Connection troubleshooting](https://hyperlocalise.dev/platform/help/connections.md).

## Known limitations

| Content | Status |
| - | - |
| Regular campaigns | Supported (`mailchimp/campaigns/{id}/{slug}.html`). Includes HTML for emails built in the drag-and-drop editor. |
| User templates (`content_type: html`) | Supported (`mailchimp/templates/{id}/{slug}.html`). Code-your-own HTML only. |
| Saved drag-and-drop templates (`content_type: template` or `multichannel`) | **Not importable.** Mailchimp does not return exportable HTML for these via the Marketing API. Listed in the automation tree as not importable; use campaigns instead. |
| Mailchimp gallery / base templates | Not supported (not `type: user`). |
| Automations, journeys, SMS | Not supported in v1 |
| Send or schedule on push | Never — draft copies only |

Import skips non-importable templates. They are not selectable in **Content to translate**; run history may still note skips when a saved automation references old template IDs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.