Constant Contact ACTION
Create Or Update Contact
Create a new contact or update an existing one based on their email address. This method is appropriate when a contact has given explicit permission to receive emails. See the documentation
- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Constant Contact 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: "constant_contact-create-or-update-contact",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
constant_contact: { authProvisionId: "apn_xxxxxxx" },
emailAddress: "Email Address",
firstName: "First Name",
},
})
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": "constant_contact-create-or-update-contact",
"configured_props": {
"constant_contact": { "authProvisionId": "apn_xxxxxxx" },
"emailAddress": "Email Address",
"firstName": "First Name"
}
}'// 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": "constant_contact",
},
},
},
)
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: "constant_contact-create-or-update-contact",
arguments: {
emailAddress: "Email Address",
firstName: "First Name",
},
})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 |
|---|---|---|
emailAddress Email Address | string | The email address for the contact. This method identifies each unique contact using their email address. If the email address exists in the account, this method updates the contact. If the email address is new, this method creates a new contact Required |
firstName First Name | string | The first name of the contact. Optional |
lastName Last Name | string | The last name of the contact. Optional |
jobTitle Job Title | string | The job title of the contact. Optional |
companyName Company Name | string | The name of the company where the contact works Optional |
phoneNumber Phone Number | string | The phone number of the contact Optional |
listMemberships List Membership | string[] | Array of lists to which the contact is being subscribed, up to a maximum of 50. At least one list is required Required Dynamic |
customFields Custom Fields | string[] | The custom fields you want to add to the contact as an array of up to 50 custom field objects Optional |
anniversary Anniversary | string | The anniversary date for the contact. For example, this value could be the date when the contact first became a customer of an organization in Constant Contact. Valid date formats are MM/DD/YYYY, M/D/YYYY, YYYY/MM/DD, YYYY/M/D, YYYY-MM-DD, YYYY-M-D,M-D-YYYY, or M-DD-YYYY Optional |
addressType Address Type | string | The type of street address for the contact Optional |
addressStreet Address Street | string | The number and street of the contact's address Optional |
addressCity Address City | string | The name of the city for the contact's address Optional |
addressState Address State | string | The name of the state or province for the contact's address Optional |
addressPostalCode Address Postal Code | string | The zip or postal code for the contact's address Optional |
addressCountry Address Country | string | The name of the country for the contact's address Optional |
smsAddress SMS Address | string | The contact's SMS-capable phone number, excluding the country code Optional |
dialCode Dial Code | string | The dial code the country uses. For example, use 1 for the United States dial code Optional |
countryCode Country Code | string | The two-digit code that identifies the country Optional |
smsChannelConsents SMS Channel Consents | string[] | An array of up to 50 objects that describe the contact's SMS channel consents. See the documentation for more information 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
- constant_contact-create-or-update-contact
- Version
- 0.0.2
- App
- Constant Contact
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗