Unisender ACTION
Subscribe Contact
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
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Unisender account once, then configure and run Subscribe Contact from your backend or agent.
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 -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"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{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",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
lists Lists | string[] | Lists in which the contact will be added. Required Dynamic |
email Email | string | The contact's email. There must be at least the email or phone field, otherwise the method will return an error. Required |
name Name | string | The contact's name. Optional |
phone Phone | string | 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) Optional |
tags Tags | string[] | Tags that are added to the contact. Allowed number of tags is 10. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- unisender-subscribe-contact
- Version
- 0.0.4
- App
- Unisender
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗