Javascript API: Attributes & Objects

This page details the possible attributes that can be used when Installing the Messenger

window.intercomSettings = { 
  app_id: YOUR_APP_ID
  // customise installation with your attributes 
}
window.intercomSettings = { 
  app_id: YOUR_APP_ID,
  email: EMAIL_OF_CURRENTLY_LOGGED_IN_USER
  // cutomise installation with your attributes 
}

Messenger Attributes

These attributes will modify the behaviour of the messenger. They do not modify user/lead data.

Attribute in Javascript codeTypeDescription
app_idstringThe app_id of your Intercom app which will indicate where to store any data
custom_launcher_selectorstringThe CSS selector of an element to trigger Intercom("show") in order to activate the messenger (See docs). To target an element by ID: "#id_of_element". To target elements by class ".classname_of_elements"
alignmentstringDictate the alignment of the default launcher icon to be on the left/right. Possible values: "left" or "right" (any other value is treated as right). (See docs)
vertical_paddingintegerMove the default launcher icon vertically. Padding from bottom of screen. Minimum value: 20. Does not work on mobile. (See docs)
horizontal_paddingintegerMove the default launcher icon horizontally. Padding from right side of screen Minimum value: 20. Does not work on mobile. (See docs)
hide_default_launcherbooleanHide the default launcher icon. Setting to false will forcefully show the launcher icon (See docs)
session_durationintegerTime in milliseconds for the Intercom session to be considered active.A value of 5 * 60 * 1000 would set the expiry time to be 5 minutes
action_colorstring*Used in button links and more to highlight and emphasise
background_colorstring*Used behind your team profile and other attributes

* The color string can be any valid CSS Color Name HEX or RGB

Data Attributes

These attributes are used to update user/lead information.

  • When user_id / email is provided, it will be saved as a User record
  • When no user_id / email is provided, it will be considered a Visitor record which is not seen in the Intercom dashboard. When a Visitor sends a message via the Intercom messenger they will be converted to a Lead which is viewable in the Intercom dashboard
  • Any other attribute not listed below and not in the Messenger Attributes will be treated as a custom user attribute
  • If the value of a custom user attribute is set to an empty string, or a string with the value "undefined", or "null", this will appear as Unknown in Platform.
  • If a value is set for a custom user attribute that has been configured to prevent updates via the Messenger then this value will be ignored in the request.
AttributeTypeDescription
emailstringThe email address of the currently logged in user (Only applicable to users)
user_idstringThe user_id address of the currently logged in user (Only applicable to users)
created_attimestampThe Unix timestamp (in seconds) when the user signed up to your app (Only applicable to users)
namestringName of the current user/lead
phonestringPhone number of the current user/lead
last_request_attimestampThis value can't actually be set by the Javascript API (it automatically uses the time of the last request but is a this is a reserved attribute)
unsubscribed_from_emailsbooleanSets the [unsubscribe status]((https://docs.intercom.com/faqs-and-troubleshooting/unsubscribing-users/how-do-i-unsubscribe-users-from-receiving-emails) of the record
language_overridestringSet the messenger language programmatically (instead of relying on browser language settings)
utm_campaignstringUTM Campaign valueNote: All UTM parameters are updated automatically and can not be manually overidden
utm_contentstringUTM Content value
utm_mediumstringUTM Medium value
utm_sourcestringUTM Source value
utm_termstringUTM Term value
avataravatar objectSet the avatar/profile image associated to the current record (typically gathered via social profiles via email address)
user_hashstringUsed for identity verification (Only applicable to users)
companycompany objectCurrent user's company (Only applicable to users)For field definitions see Company Object in the section belowNote: Company ID and company name are the minimum requirements to pass a company into Intercom.
companiesarray of company objectsAn array of companies the user is associated to (Only applicable to users)

User Profile in Web Interface indicating corresponding attributes

Mapping of Javascript Attributes to Intercom Dashboard and API

Javascript

Intercom Dashboard

API

email

Email

email

user_id

User ID

external_id

created_at

Signed Up

signed_up_at

(previously remote_created_at)

name

Name

name

phone

Phone

phone

last_request_at

Last seen

last_request_at

unsubscribed_from_emails

Unsubscribed from emails

unsubscribed_from_emails

language_override

Language Override

utm_campaign

UTM Campaign

utm_campaign

utm_content

UTM Content

utm_content

utm_medium

UTM Medium

utm_medium

utm_source

UTM Source

utm_source

utm_term

UTM Term

utm_term

avatar

Avatar next to the name

avatar

user_hash

companyList of companiescompany
companiesList of Companiescompanies

Avatar Object

Similar to the API avatar object

window.intercomSettings =  {
  app_id: YOUR_APP_ID, 
  user_id: USER_ID_OF_CURRENTLY_LOGGED_IN_USER, 
  avatar: {
    "type": "avatar", 
    "image_url" :"https://yourwebsite.com/user_id/profile.png"
  }
 }

Attribute in Javascript code

Attribute in API

Attribute / Data in Web interface

Type

Description

type

type

stringThe value is "avatar"
image_urlimage_urlThe avatar/profile picture of the recordstringAn avatar image URL. Note: needs to be https.

Company Object

Learn more about companies from our Help Center article.
These are very similar to the API company object.
Attributes not listed below will be considered as a custom company attribute.
Note: Company ID and company name are the minimum requirements to pass a company into Intercom.

window.intercomSettings =  {
  app_id: YOUR_APP_ID, 
  user_id: USER_ID_OF_CURRENTLY_LOGGED_IN_USER, 
  company: {
    company_id: "6",
    created_at: 1394531169,
    name: "Blue Sun",
    monthly_spend: 49,
    plan: "Pro",
    size: 85,
    website: "http://example.com",
    industry: "Manufacturing"
  }
}
window.intercomSettings = {
  app_id: YOUR_APP_ID,
  user_id: USER_ID_OF_CURRENTLY_LOGGED_IN_USER,
  companies: [
    {
      company_id: "6",
      name: "Company 1",
      monthly_spend: 32,
      plan: "Pro",
      size: 85,
      website: "http://example.com",
      industry: "Manufacturing",
    },
    {
      company_id: "8",
      name: "Company 2",
      monthly_spend: 99,
      plan: "Essential",
      size: 32,
      website: "http://test.com",
      industry: "Hospitality",
    },
  ],
}
Attribute in Javascript codeAttribute in APIAttribute / Data in Web interfaceTypeDescription
id / company_idcompany_idCompany IDstringThe company ID of the company
namenameNamestringThe name of the company
created_at / remote_created_atremote_created_atCompany created attimestampThe time the company was created in your system
planplanPlanstringThe name of the plan the company is on
monthly_spendmonthly_spendMonthly spendintegerHow much revenue the company generates for your business
user_countpeoplePeopleintegerIndicates the number of users in Intercom associated to the companyDoes not actually update the value but is a reserved keyword
sizesizeCompany SizeintegerThe number of employees in the company
websitewebsiteCompany WebsitestringThe URL for the company website
industryindustryCompany IndustrystringThe industry of the company

Company Profile in Web Interface indicating corresponding attributes