AttractWell ACTION
Create or Update Contact
Creates or updates a contact with the provided identification and contact details.
- Action
- Writes data
- Destructive
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's AttractWell account once, then configure and run Create or Update 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: "attractwell-create-update-contact",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
attractwell: { authProvisionId: "apn_xxxxxxx" },
email: "Email",
mobilePhone: "Mobile Phone",
},
})
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": "attractwell-create-update-contact",
"configured_props": {
"attractwell": { "authProvisionId": "apn_xxxxxxx" },
"email": "Email",
"mobilePhone": "Mobile Phone"
}
}'// 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": "attractwell",
},
},
},
)
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: "attractwell-create-update-contact",
arguments: {
email: "Email",
mobilePhone: "Mobile Phone",
},
})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 |
|---|---|---|
email Email | string | The email address of the contact. Optional |
mobilePhone Mobile Phone | string | The mobile phone number of the contact. Optional |
firstName First Name | string | The first name of the contact. Optional |
lastName Last Name | string | The last name of the contact. Optional |
contactType Contact Type | string | The type of the contact. Optional |
rating Rating | string | The rating of the contact. From 0 (coldest) to 5 (hottest). You'll get periodic reminders of which contacts to reach out to more often if you choose a higher rating, or not at all if you pick 0. Required |
workPhone Work Phone | string | The work phone number of the contact. Optional |
homePhone Home Phone | string | The home phone number of the contact. Optional |
address1 Street Address | string | The street address of the contact. Optional |
city City | string | The city of the contact. Optional |
state State | string | The state of the contact. Optional |
postalCode Postal Code | string | The postal code of the contact. Optional |
country Country | string | The country of the contact. Optional |
companyName Company Name | string | The company name of the contact. Optional |
title Title | string | The title of the contact. Optional |
campaignContactEmail Send Campaigns By Email | boolean | The campaign contact email setting. Required |
campaignContactText Send Campaigns By Text | boolean | The campaign contact text setting. Required |
receiveMarketingEmail Opted Into Email | boolean | The receive marketing email setting. Required |
receiveMarketingText Opted Into Text | boolean | The receive marketing text setting. Required |
tagsToAdd Tags to Add | string[] | Tags to add to the contact. Optional Dynamic |
tagsToRemove Tags to Remove | string[] | Tags to remove from the contact. Optional Dynamic |
campaignsToAdd Campaigns to Add | string[] | If a contact isn't already receiving a campaign, start sending these campaigns to them. Optional Dynamic |
campaignsToAddOrRestart Campaigns to Add or Restart | string[] | If a contact is already receiving a campaign, restart these campaigns. If a contact is not receiving a campaign, start sending these campaigns to them. Optional Dynamic |
campaignsToRemove Campaigns to Remove | string[] | Campaigns to remove from the contact. Optional Dynamic |
offlineCampaignsToAdd Offline Campaigns To Add | string[] | Offline campaigns to add to the contact. Optional Dynamic |
offlineCampaignsToRemove Offline Campaigns To Remove | string[] | Offline campaigns to remove from the contact. Optional Dynamic |
addToVaults Add To Vaults | string[] | Give Access To Vault (Contact Still Must Pay For Paid Vaults). Optional Dynamic |
addToVaultsForFree Add To Vaults For Free | string[] | Give Access To Vault For Free (Contact Gets Free Access To Paid Vaults). Optional Dynamic |
removeFromVaults Remove from Vaults | string[] | Vaults to remove the contact from. Optional Dynamic |
automationsToRun Automations To Run | string[] | Automations to run for the contact. Optional Dynamic |
mayAccessMemberArea May Access Member Area | boolean | Whether the user may access or is banned from the member area. If this is set to true, they only are able to access the member area if they are also assigned to one or more vaults. Required |
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
- attractwell-create-update-contact
- Version
- 0.0.2
- App
- AttractWell
- Authentication
- OAuth
- Read-only
- No
- Destructive
- Yes
- Open world
- Yes
- Source
- View on GitHub ↗