Updating a user

You can send any data you like to Intercom. Typically our customers see a lot of value in sending data that relates to customer development, such as price plan, value of purchases, etc. Once these have been sent to Intercom you can then apply filters based on these attributes.

Attributes such as the user email or a user's name can be updated by calling:

Map userMap = new HashMap(); 
userMap.put("name", "Bob");
userMap.put("email", "bob@example.com");

Custom user attributes can be created and modified by passing a custom_attributes map. You do not have to create attributes in Intercom beforehand. If one hasn't been seen before, it will be created for you automatically. A detailed description of the user model is available in here.

Map userMap = new HashMap (); 
Map customAttributes = new HashMap ();
customAttributes.put("paid_subscriber", "Yes");
customAttributes.put("monthly_spend", 155.5);
customAttributes.put("team_mates", 3);
userMap.put("custom_attributes", customAttributes);

You can also set company data via this call by submitting an attribute map like

Map userMap = new HashMap(); 
Map companyData = new HashMap();
List> companies = new ArrayList();
companyData.put("name", "My Company");
companyData.put("id", "abcd1234");
userMap.put("companies", companies);

Where id is a required field for adding or modifying a company. A detailed description of the company model is available here.


You can log events in Intercom based on user actions in your app. Events are different to custom user attributes in that events are information on what Users did and when they did it, whereas custom user attributes represent the User's current state as seen in their profile. See details about Events here.

Map eventData = new HashMap(); 
eventData.put("order_date", "1392036272");
eventData.put("stripe_invoice", "38572984");
Intercom.client().logEvent("sent_invitation", eventData);


With Intercom for Android you can send and receive messages from within your Android apps once you are on an appropriate plan.

Sending messages to users

The Intercom Messenger will automatically check for new messages in the background, and the notification will appear when there is a new message (or open automatically depending on the in-app type). When a user taps on the notification, the Messenger will open displaying the message.

Letting your users contact you

You can use Intercom to let your users start conversations with you, to ask for help or to give feedback. Once you're on a plan that allows for Inbound (user-initiated) messaging, such as Support, simply call the following method to show the Intercom new message composer:


To show the conversation list rather than the message composer call this method:


For best results, attach these calls to buttons in your UI so users can choose when to get in touch with you.

Intercom Messenger Welcome Message

In your app's settings messaging section you can add a Welcome Message that will be shown to your users when they compose a new message with the Intercom Messenger.

Customising message appearance

By default, the Messenger reads the theme color that is set from within Intercom. To change the color: log into Intercom, go to your app's settings page and go to the "Appearance" section. Now set your color of choice.

Customising preview positions

Depending on the layout of your app you may need to tweak the position of an incoming notification to not infringe on other elements in your UI. By default incoming message previews will appear in the bottom left of your application's window. If you wish to change this you can specify and alternative position by using the setPreviewPosition() method.


You have 4 settings for initially placing the notification:


Your users may drag the notification preview along the vertical axis if they find it is in their way and Intercom will place the notification in the users preferred place from then on until they move it again.

Temporarily hiding the notification view

You can prevent all in-app messages from appearing in certain parts of your application, or during certain activities (such as when using the camera), by calling:


You can activate in-app messages again by calling the above method and passing Intercom.VISIBLE in.

What next?

Now that you have Intercom configured it's time to enable Secure Mode or configure your app for Android Google Cloud Messaging (push notifications).

Did this answer your question?