Group your users by company

Identify new company segments, message a company, and remove users from a company.

Beth-Ann Sher avatar
Written by Beth-Ann Sher
Updated over a week ago

If you sell to businesses then you need to be using Intercom's companies feature. By default, Intercom treats all users as individuals, but the companies feature groups all the users from the same company together.

Why use the companies feature?

Identify groups of interest

Just like with your user list, you can drill down into your companies list by filtering on standard or custom attributes to answer specific questions. These could be things like;

  • Which companies are all paying us more than $100 a month?

  • Which companies have more than 8,000 users?

  • Show me a list of companies who are eligible for our next private beta round.

Once you've created these lists, you can save them as segments. For example, you could create a segment of companies who are on your highest plan, but have not been active in 30 days. Or, you could create a segment of companies who have all stopped using a particular feature.

You can also tag a company to manually add them to groups of interest (tags are similar to segments except that users are tagged manually, but are added to segments automatically).

Message a company

Once you've drilled down to identify the groups of interest, you can then send them targeted messages. So for example, you could set an auto message to go to everyone who gets added to the 'Stopped using feature x' segment. The message could link them up to start using again, or like in the example below, could simply be asking why they stopped.

If you use company attributes in an auto message it will cause the auto message to target anyone in that company. Users in more than one company will receive a separate message for each company.

Company profile page

When you click into any given companies profile page, the first thing you'll notice is the company profile card which shows you things like where each member of the team is located, what plan the company is on, how many open conversations they have, and more. 

  • You can see everything happening with that company in their activity stream.

  • You can see who everyone in the company is, and what they've been up to here in the users tab.

  • You can see all the conversations with that company here and you can reply here too.

  • You can leave notes about a company so that you and your team members have more context when they visit their profile page.

Get started

Company information is sent over in the intercomSettings code snippet, as a JSON object called company.

You need to double check that your company returns valid JSON (even when your database returns a null value); this means double quotes around all keys and around all strings. Here's an example of how it will look:

window.intercomSettings = {    
  email: "",
  created_at: 1457552104,
  app_id: "pi3243fa",
  company: {
    id: "123",
    name: "Intercorp",
    created_at: 1234567890,
    // (optional): Insert name of the plan current company is on
    plan: "pro",
    // (optional): Insert amount current company spends a month
    monthly_spend: 10,
    // (optional): Add any custom attributes, e.g.,
    upgraded_at: 1424941688


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

  • Company ID cannot be updated so be sure to use a unique value that won't change in future.

You'll also need to "Enable company related features throughout Intercom' in your General settings.

You can also send Intercom company data with the REST API.

Note: Company data cannot be imported via CSV.

Why do my company's have 0 web sessions or incorrect last seen date?

If you're seeing users with a value for their web session but their associated company's web sessions show up as 0, it could be because you're not identifying the company when logging the user in.

When users log into your workspace you need to declare the company they are logging into along with their details.
Here is an example of loading a user and attributing them with a company:

window.intercomSettings = {    
email: "",
app_id: "pi3243fa",
company: {
id: "123",
name: "Synergy Corp",

The above includes the details of the company. This means when the user logs in, their last_seen value as well as the last_seen value of the company would both update.

If you only passed the below, it would update the last_seen attribute of the user but not the company:

window.intercomSettings = {    
email: "",
app_id: "pi3243fa",

How to remove users from a company 

It's easy to remove any user from a company profile. Just visit whatever company profile you'd like and select the user/users you'd like to remove. Then click the 'Remove' button. 

Important information:

  • Companies will not appear within Intercom until users have been added or associated with a company. You can also create companies via the API if you like.

  • You should input only rounded integer values for the monthly_spend attribute in your company's data, as we automatically round any float values. For example, if your monthly spend is 10.4 you should round it to 10.

  • If a user is associated with multiple companies we don't know which company's sessions to update, unless we have a company ID. So in order for the company's sessions to be updated, the user update has to contain the company object.

  • Users can belong to multiple companies, but you should only send us the data for the company that the user is currently signed in with. You can also send other attributes within the company object. Those will be treated like custom attributes for that particular company. You can read more about custom attributes here.


Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts

Did this answer your question?