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). |
| 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.
