Javascript API: Attributes & Objects

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

window.intercomSettings = { 
  app_id: YOUR_WORKSPACE_ID
  // customise 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 ID of your Intercom Workspace 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)
z_indexintegerSpecify the stack order of the Messenger. (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 workspace (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 below

Important: Company ID and company name are the minimum requirements to pass a company into Intercom.

Note: If users are associated with multiple companies and you want your company targeted messages to be delivered based on a specific company, make sure to include those specific company details here. Intercom will ensure that any company-based rules for your outbound messages must match that company.
companiesarray of company objectsAn array of companies the user is associated to (Only applicable to users)
page_titlestringUsed for keeping track of user page views. Default value is the document title property.

User Profile in Web Interface indicating corresponding attributes

Avatar Object

Similar to the API avatar object

window.intercomSettings =  {
  app_id: YOUR_WORKSPACE_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_WORKSPACE_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"
  }
}
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