View as Markdown
Intercom icon

Intercom ACTION

Upsert Contact

Create a new contact, or update an existing one if a contact with the same Email already exists — Email is the match key for this upsert (any other props you set only apply to the created/updated record, they do not affect matching). Example: set Email to jane.doe@acme.com, Name to Jane Doe, and Custom Attributes to {"plan": "pro"} to create Jane's contact, or update her name/plan if a contact with that email already exists. Returns the full contact object, including its Intercom id. See the documentation.
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Intercom account once, then configure and run Upsert 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: "intercom-upsert-contact",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    intercom: { authProvisionId: "apn_xxxxxxx" },
    email: "Email",
    role: "Role",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Upsert Contact inputs
Property Type Description
email Email string
The contact's email.
Required
role Role string
The role of the contact.
Optional
externalId External Id string
A unique identifier for the contact which is given to Intercom.
Optional
phone Phone string
The contact's phone number.
Optional
name Name string
The contact's name.
Optional
avatar Avatar string
An image URL containing the avatar of a contact.
Optional
unsubscribedFromEmails Unsubscribed From Emails boolean
Whether the contact is unsubscribed from emails.
Optional
customAttributes Custom Attributes object
Key-value pairs of custom attributes to set on the contact. Example: {"plan": "pro", "signup_source": "webinar"}.
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
intercom-upsert-contact
Version
0.0.6
App
Intercom
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes