Intercom icon

Intercom

Consume Intercom API

Actions10

Overview

The Intercom node's "Contact: Update" operation allows you to update an existing contact in your Intercom workspace. This is useful for keeping contact information synchronized between n8n and Intercom, such as when a user's details change in another system and you want those changes reflected in Intercom automatically.

Common scenarios:

  • Updating a contact's email, phone number, or name after they change it in your CRM.
  • Adding or modifying custom attributes (e.g., subscription status, preferences).
  • Associating contacts with companies or updating their UTM tracking data.
  • Marking a contact as unsubscribed from emails.

Practical example:
When a user updates their profile on your website, you can use this node to push the new information (like phone number or company association) to Intercom, ensuring your support and marketing teams always have up-to-date data.


Properties

Name Type Meaning
ID String Contact's unique identifier in Intercom to update. Required.
JSON Parameters Boolean If true, custom attributes are provided as raw JSON; if false, they're entered via UI fields.
Additional Fields Collection Optional fields to update, such as avatar URL, companies, email, name, phone, session count, etc.
└ Avatar String HTTPS URL of the contact's avatar image.
└ Company Names or IDs Multi-Select Companies this contact belongs to (select from list or specify IDs).
└ Email String Email address of the contact.
└ Name String Name of the contact.
└ Phone String Phone number of the contact.
└ Session Count Number Number of sessions recorded for the contact.
└ Contact ID String Alternative contact identifier (used in some cases instead of email).
└ Unsubscribed From Emails Boolean Whether the contact is unsubscribed from emails.
└ Update Last Request At Boolean If true, updates the contact's last_request_at timestamp to now.
└ UTM Campaign String UTM campaign value for tracking.
└ UTM Content String UTM content value for tracking.
└ UTM Medium String UTM medium value for tracking.
└ UTM Source String UTM source value for tracking.
└ UTM Term String UTM term value for tracking.
Custom Attributes (JSON) JSON Key/value pairs for custom data (if "JSON Parameters" is true).
Custom Attributes (UI) Collection Key/value pairs for custom data (if "JSON Parameters" is false).

Output

  • The output will be a JSON object representing the updated contact as returned by the Intercom API.
  • Typical fields include:
    • id: The Intercom contact ID.
    • email, name, phone, etc.: Updated standard fields.
    • custom_attributes: An object containing any custom attributes set.
    • companies: Array of associated companies (if updated).
    • Other metadata as provided by Intercom.

Example output:

{
  "type": "contact",
  "id": "1234567890",
  "email": "user@example.com",
  "name": "John Doe",
  "phone": "+123456789",
  "custom_attributes": {
    "subscription_status": "active"
  },
  "companies": [
    { "id": "987654321", "name": "Acme Corp" }
  ],
  ...
}

Note: The actual structure may contain additional fields depending on your Intercom setup and the data you update.


Dependencies

  • External Service: Requires access to the Intercom API.
  • API Credentials: You must configure Intercom API credentials (intercomCredentialsApi) in n8n.
  • n8n Configuration: No special environment variables required beyond credentials.

Troubleshooting

Common issues:

  • Invalid ID: If the provided contact ID does not exist, the node will throw an error indicating the contact was not found.
  • Missing Required Fields: If required fields (like ID) are missing, execution will fail.
  • Invalid Avatar URL: The avatar URL must be HTTPS; otherwise, Intercom may reject the update.
  • Custom Attributes Format: If "JSON Parameters" is enabled, ensure the JSON is valid. Invalid JSON will cause parsing errors.

Error messages:

  • "Intercom Error: ...": Indicates an error response from the Intercom API. Check the message for details (e.g., invalid field, permission denied).
  • "Cannot parse JSON parameter": Means the custom attributes JSON is malformed. Double-check your syntax.

How to resolve:

  • Verify that the contact ID exists in Intercom.
  • Ensure all required fields are filled.
  • Use valid HTTPS URLs for avatars.
  • Validate your custom attributes JSON before submitting.

Links and References

Discussion