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

# Integrations

> Use apps the merchant connected in Replo, like Mailchimp, from a site.

Each module works with one third-party app and only works once the merchant has connected that app to the project in Replo.

## `integrations/mailchimp`

`@replohq/sdk/integrations/mailchimp`

#### `MailchimpSubscribeStatus`

`pending` means Mailchimp emailed a confirmation link the visitor must click.

```ts theme={null}
import type { MailchimpSubscribeStatus } from "@replohq/sdk/integrations/mailchimp";
```

```ts theme={null}
MailchimpSubscribeStatus: "subscribed" | "pending"
```

#### `useMailchimpSubscribe`

Adds an opted-in email to a Mailchimp audience from a published Replo form. Call it in a client component under `ReploProvider`, render `<input {...honeypotFieldProps} />` inside the form, and submit with `subscribe.mutate({ email, mergeFields, interests })`. The project id comes from the site, not the caller.

`tags` label everyone this form adds (e.g. `["waitlist-spring"]`), `event` records a custom event that can start a Mailchimp Customer Journey, and `interests` opts the visitor into audience groups by id. All three apply only to people new to the audience.

`subscribe.error` is a `MailchimpSubscribeError`; branch on its `code`.

```ts theme={null}
import { useMailchimpSubscribe } from "@replohq/sdk/integrations/mailchimp";
```

**Also exported**

| Export | Kind | Type |
| - | - | - |
| `MailchimpSubscribeError` | class | `typeof MailchimpSubscribeError` |
| `MailchimpSubscribeErrorCode` | type | `"notConnected" \| "listNotFound" \| "invalidEmail" \| "invalidRequest" \| "emailNotSubscribable" \| "mergeFieldsInvalid" \| "rateLimited" \| "upstreamError"` |


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