# Subscribe Contact — Unisender

> This method adds contacts (email address and/or mobile phone numbers) of the contact to one or several lists, and also allows you to add/change values of additional fields and tags. See the docs here

- Key: `unisender-subscribe-contact`
- Type: Action (Write)
- Version: 0.0.4
- App: Unisender (`unisender`) — https://pipedream.com/apps/unisender.md
- This page (HTML): https://pipedream.com/apps/unisender/actions/subscribe-contact
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/unisender/actions/subscribe-contact/subscribe-contact.mjs

## Description

This method adds contacts (email address and/or mobile phone numbers) of the contact to one or several lists, and also allows you to add/change values of additional fields and tags. [See the docs here](https://www.unisender.com/ru/support/api/contacts/subscribe/)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `lists` | `string[]` | Yes | Lists in which the contact will be added. Options are loaded from the connected account. |
| `email` | `string` | Yes | The contact's email. There must be at least the email or phone field, otherwise the method will return an error. |
| `name` | `string` | No | The contact's name. |
| `phone` | `string` | No | The contact's phone. There must be at least the «email» or «phone» field, otherwise the method will return an error. Pay attention this field value should be passed in the international phone number format (e.g. +79261232323) |
| `tags` | `string[]` | No | Tags that are added to the contact. Allowed number of tags is 10. |

## 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": "unisender",
      },
    },
  },
)

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: "unisender-subscribe-contact",
  arguments: {
    lists: ["Lists"],
    email: "Email",
  },
})
```

**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: "unisender-subscribe-contact",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    unisender: { authProvisionId: "apn_xxxxxxx" },
    lists: ["Lists"],
    email: "Email",
  },
})

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": "unisender-subscribe-contact",
    "configured_props": {
      "unisender": { "authProvisionId": "apn_xxxxxxx" },
      "lists": ["Lists"],
      "email": "Email"
    }
  }'
```

---

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