---
title: "Prefill from Mailchimp"
description: "Read the audience member on your server, prefill a Fillo preference form, and sync accepted changes back safely."
order: 20
type: "guide"
topic: "Prefill recipes"
tags:
  - "Mailchimp"
  - "email marketing"
  - "prefill"
  - "server"
updated: "2026-07-15"
---

Fillo doesn't currently have a direct Mailchimp integration, so prefill goes through your backend: read the audience member you're authorized to see, then pass selected values into Fillo.

## Resolve the member privately

Use a signed-in account or a single-use application link to decide which Mailchimp member can be read. Call Mailchimp from the server with a private credential, and return only the fields the preference form needs.

```ts
const initialData = {
  email: member.emailAddress,
  first_name: member.mergeFields.FNAME ?? "",
  product_updates: member.tags.includes("product-updates"),
};
```

Pass this into `FilloForm` through `initialData`. A checkbox URL value and an `initialData` boolean travel in different shapes, so when you already have server data, prefer the typed application object.

## Don't treat prefill as subscription state

Prefilled values are editable form answers — nothing more. They don't prove Mailchimp subscription state, and they don't replace the consent process your organization has chosen. Make subscription or preference changes in a server-side Zapier or webhook workflow, with whatever evidence and legal review your context requires.

Use a server-trusted member key. Never take an arbitrary audience ID or subscriber hash from a hidden field and write to it without authorization.

## Test synchronization

Cover unsubscribed members, missing merge fields, stale tags, revoked API access, duplicate Fillo delivery, and a Mailchimp failure after the response is accepted. Keep the Fillo response ID in your operational logs — but not message content or private credentials.

## Try it

[Start with a prompt](/start?from=guide-prefill-from-mailchimp) and your coding agent builds the first form, staged for your review — or [open the editor](/new).

## Related

- [Beta access example](/examples#beta-access): Inspect a live email and preference form.
- [Checkbox field](/docs/fields/checkbox): Initialize and validate a preference choice.
- [Zapier](/docs/integrations/zapier): Connect Fillo responses to a Mailchimp action.
- [Build a GDPR consent form](/guides/build-a-gdpr-consent-form): Record versioned choice context without treating a form as legal advice.
