# Add subscriber — Moosend

> Adds a new subscriber to the specified mailing list. If there is already a subscriber with the specified email address in the list, an update will be performed instead. The rate limit for this request is 10 requests per 10 seconds (*per…

- Key: `moosend-add-subscriber`
- Type: Action (Write)
- Version: 0.2.2
- App: Moosend (`moosend`) — https://pipedream.com/apps/moosend.md
- This page (HTML): https://pipedream.com/apps/moosend/actions/add-subscriber
- Hints: destructive · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/moosend/actions/add-subscriber/add-subscriber.mjs

## Description

Adds a new subscriber to the specified mailing list. If there is already a subscriber with the specified email address in the list, an update will be performed instead. The rate limit for this request is 10 requests per 10 seconds (*per API key). See the [docs](https://moosendapp.docs.apiary.io/#reference/subscribers/add-or-update-subscribers/adding-subscribers) for more info.

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `email` | `string` | Yes | The email address of the member |
| `mailingListId` | `string` | Yes | The ID of the mailing list to add the new member. Example: a589366a-1a34-4965-ac50-f1299fe5979e. Options are loaded from the connected account. |
| `name` | `string` | No | The name of the subscriber. Example: John Doe. |
| `hasExternalDoubleOptIn` | `string` | No | When true, flags the added member as having given their subscription consent by other means. |
| `customFields` | `string[]` | No | A list of name-value pairs that match the member's custom fields defined in the mailing list. For example, if you have two custom fields named Age and Country, you should specify values for them as following example. Age=25 and Country=USA. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "moosend",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "moosend-add-subscriber",
  arguments: {
    email: "Email",
    mailingListId: "Mailing List ID",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "moosend-add-subscriber",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    moosend: { authProvisionId: "apn_xxxxxxx" },
    email: "Email",
    mailingListId: "Mailing List ID",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "moosend-add-subscriber",
    "configured_props": {
      "moosend": { "authProvisionId": "apn_xxxxxxx" },
      "email": "Email",
      "mailingListId": "Mailing List ID"
    }
  }'
```

---

- App: https://pipedream.com/apps/moosend.md · All apps: https://pipedream.com/apps
