Expand Fin to email is now live on Fin Academy!
-
Recently active
We just signed up for statuspage and would like to keep our statuspage private and only expose it to users in the messenger. It looks like the integration only supports public pages. Does anyone know of a workaround?
Hi Intercom Support Team, We’re intermittently seeing issues with the Companies Scroll API (/companies/scroll) in production. Our integration fetches over 100,000 company records, and while it often works, it occasionally fails with scroll_exists ("scroll already exists"). We have verified that no concurrent jobs are running on our side when this happens. We also implemented retries with long delays (up to 5 minutes), but the same error can still persist. Based on your docs, we expected scroll sessions to expire after 1 minute of inactivity, but in these cases that does not appear to happen. Because this is intermittent, it can be difficult to reproduce consistently, but it is recurring enough to impact our pipeline. Could you please investigate and advise on possible causes or recommended handling?Best RegardsUsama
We are starting to sell to a number of customers in the FedRAMP space. Intercom is not currently in the FedRAMP marketplace. Any chance that this will change soon? I really don’t want to switch to a compliant platform, but I know that a direct competitor has a gov cloud version that we could use.
I noticed what looks like a type inconsistency between two related schemas in the REST API.On the Admin object (/admins/admin), the id field is defined as a string — and the example values in the docs reflect this (e.g. "493881", "1295").However, on the Contact object, the owner_id field — which the docs describe as "the id of an admin that has been assigned account ownership of the contact" — is defined as an integer.These two fields represent the same value (an admin's ID), but they're typed differently depending on which side of the relationship you're looking at. This creates a few practical problems:Strict-typed languages choke on this. If I model Admin.id as a string and Contact.owner_id as an integer (matching the docs), I can't do a straightforward equality check without casting one or the other. Search filter confusion. When using the Search Contacts endpoint and filtering by owner_id, should I be passing a string or an integer? The field type says integer, but the actual admi
I am creating mobile app using React Native (Expo) and I would love to utilize intercom there. I am following all instructions and example repos and in the end I end up with an error..Wherever I put the import and I do anything with Intercom object I have: ERROR [RangeError: Maximum call stack size exceeded (native stack depth)] > 13 | import Intercom from '@intercom/intercom-react-native'; | ^I have my app.json configured...["@intercom/intercom-react-native",{"useManualInit": true}]…I follow all the debugging steps and in the end there is above error. If I import the Intercom object from @intercom/intercom-react-native dependency nothing happens until I do anything with it (console.log it or execute Intercom.initialize(...))I am using expo 54.0.22 with react-native 0.81.5Does anyone have an Idea what is going on?
The intercom-android Github repo includesSamples on how to use the Intercom Android SDK Changelog JavadocsHowever, the Javadocs seem to be very old (last updated 6 years ago). Is there a way to find the javadocs for a specific version of the SDK?
I’m using a Custom Action with some Datetime elements.Whenever I have empty element I send the response back to Intercom using something like this:"0000-00-00T00:00:00+04:00",When I test the Custom Action, the “Test response” brings back exactly this Datetime format, and it gives me a 200 OK.Same for “Data transformation” and “Object Mapping”, all OK.However, in production, we are getting several errors. The Intercom Logs of this Custom Action suggest the Mapping is not happening (when the request and response are 200 OK). The only different data I saw between a Log with a mapping and a Log without the mapping was an “empty” Datetime, like the one above. What’s the proper way of sending an Empty Datetime?
We are sending messages using Intercom’s REST API and after completing a task on our platform side, we would like to inform the customer that:“The team will get back to you on this. Our usual reply time is 1 day. You'll get replies here and to email@example.com.” (sent from William’s Admin ID)However, this causes an unintended side-effect with our auto-assignment rules:Because Intercom treats this as a teammate reply, when the auto-assignment occurs (balanced assignment). We auto-assign conversations based on “waiting longest”, so this causes these conversations to be de-prioritised and skipped, and they will only be picked up again if the customer replies.As a workaround, we currently: Do not send a message to the customer, and instead Use the API to unassign the conversation and move it into a manually monitored inbox where it auto-assigned and picked up. This avoids breaking the assignment logic, but it leaves the customer confused because they receive no acknowledgement that we a
I shortened my profile name in Fin.ai to my forename. Here in the community profile still appears my full name. Can’t I change this?
Hi,We are experiencing bugs with the Intercom SDK when using voice-to-text (speech-to-text / dictation) to compose support chat messages in the Intercom Messenger on both iOS and Android.Environment:- @intercom/intercom-react-native v9.8.0 (latest)- React Native 0.79, Expo SDK 53- iOS and Android (tested on multiple devices)- Intercom Messenger presented via setLauncherVisibility / presentIntercom- Old Architecture (New Architecture / TurboModules disabled, RCT_NEW_ARCH_ENABLED=0)Bug 1 — iOS: Sent message text not cleared from input fieldWhen a user composes a message using iOS voice-to-text (dictation) and taps Send, the message is successfully delivered to the conversation. However, the sent text remains in the text input field instead of being cleared.Steps to reproduce (iOS):1. Open the Intercom Messenger on iOS2. Tap the text input field3. Activate voice-to-text (dictation) via the microphone icon on the iOS keyboard4. Dictate a message5. Tap the Send buttonExpected behavior:The m
Hi guys, I recently integrated intercom in our app React Native app running Expo 54. @intercom/intercom-react-native (^9.6.3). I noticed whenever I build on EAS, calling present() or presentMessageComposer() opens two instances of the messenger bottomsheet in our app. Doesn’t happen whenever I try to build locally using prebuild tho. Has anyone encountered this before?
Right now, the ‘Call missed by …’ detail only shows in the conversation event log (when enabled), but it can’t be used as a reporting dimension.Please add a reporting attribute so we can chart ‘missed by teammate’ and see how many calls each teammate missed in a period (e.g., this day, week etc), instead of it looking like the person who answered missed them.Currently if i use the reporting metric “Team Missed Call Count” then use any of the graphs other than “KPI” it is listing the person who answered the phone call as the person who had missed the calls on its way to that person.
With Intercom Android SDK, we call Intercom.initialize in the Application sub-class.We only login a user when they login to our app. On our login screen, we have a button that should open an intercom help article. We just call Intercom.client().presentContent(myId) when the user clicks this button.Recently, this leads to “Something wen wrong. Try again” message. Logging in and logging out fixes the problem.My question is: Is it required to have a registered user (perhaps an unidentified one) before calling presentContent()?
We have an integration that posts comments to tickets via POST /tickets/{ticket_id}/reply using an admin user. We've noticed that when the ticket is unassigned, Intercom auto-assigns it to our integration's admin. We'd like to undo this by setting assignee_id to "0" via PUT /tickets/{ticket_id}, but this also clears the team_assignee_id -- even though we're not passing team_assignee_id in the request body.Two questions:1. Is there a way to unassign the admin_assignee_id (via assignee_id: "0") without also clearing the team_assignee_id? Our PUT request only includes assignee_id, but the team gets removed as a side effect.2. Is there a way to set team_assignee_id via the API after a ticket has been created? We've tried including it in the PUT /tickets/{ticket_id} request body and get a 200 response, but the team assignment doesn't actually update on the ticket. We're using API version 2.14. Any guidance would be appreciated.
Android devices always shows France language at the title of Help Center Collection although I have changed to English by updateUser, all content change to English correctly.
Hi. I tested this on both android and ios and it seems to me that setting languageOverride on android doesn’t work whereas on ios it does. I tested this on both platforms with same userChanged language from english to french on androidRestarted app and help center was still in englishChecked that user in intercom and language override was still englishI then changed language on iosChecked that user in intercom and language override was now frenchRestarted Android app and both apps now show help center in french We are using React native
Two issues specific to android:Issue building with expo 55, any version greater than 9.6.3 fails the prebuild step with:- Creating native directory (./android)✔ Created native directory- Updating package.json✔ Updated package.json | no changes- Running prebuild✖ Prebuild failedTypeError: [android.manifest]: withAndroidManifestBaseMod: f.action?.some is not a functionTypeError: [android.manifest]: withAndroidManifestBaseMod: f.action?.some is not a function at /home/expo/workingdir/build/node_modules/@intercom/intercom-react-native/lib/commonjs/expo-plugins/withAndroidPushNotifications.js:96:149 at Array.some (<anonymous>) at /home/expo/workingdir/build/node_modules/@intercom/intercom-react-native/lib/commonjs/expo-plugins/withAndroidPushNotifications.js:96:129 at Array.some (<anonymous>) at /home/expo/workingdir/build/node_modules/@intercom/intercom-react-native/lib/commonjs/expo-plugins/withAndroidPushNotifications.js:96:58 at action (/home/expo/workingdi
I connected a new feature that became available for the account. However, I cannot disable it; there was no warning about a large payment amount, and I thought there were limits on the number of chats for analytics, but it turns out there is no limit and funds are just being charged continuously. I have already created 4 requests in the chat, but in 4 days, none have received a response or connected me with a specialist.
Does the Teammate Activity report only include the active status using Intercom Desktop or will it also count the active status using the mobile app? How reliable is the mobile app when it comes to data contribution onto the report generated given the limited features on it?
Hi everyone,We are experiencing inconsistent behavior with contacts created through our WhatsApp channel and wanted to check if anyone else has seen something similar.When users start a conversation via WhatsApp, some contacts are created with the phone field populated, while others are created without the phone number.However, in the Intercom UI we consistently see the "WhatsApp number" field populated, even when the phone field is null in the Contact API response.Because of this, we are unable to retrieve the user's phone number via the API.Example Contact API response{ "type": "contact", "id": "69b8334c390fea79a974100c", "external_id": "whatsapp:xpto", "phone": null, "name": "Teste"}Conversation payload{ "type": "conversation", "source": { "type": "whatsapp", "author": { "type": "lead", "id": "69b8334c390fea79a974xxxc", "name": "Teste" } }}In the Intercom UI the WhatsApp number is visible, but it does not seem to be exposed through either the Contact
Hi everyone,I'm trying to implement authentication for the Help Center and ticket portal using JWT, but I'm having trouble finding documentation about what happens after generating the JWT.I already have the JWT generated on my backend, but I can't find clear docs explaining: How to use that JWT to actually log the user into the Help Center How to authenticate them for the ticket/request portal Whether there's a specific endpoint, redirect flow, or client-side method required after obtaining the JWT I also tried following the approach discussed in this community thread, but I couldn't get it to work in my implementation:https://community.intercom.com/settings-security-permissions-22/dynamic-help-center-login-link-11313?tid=11313&fid=22 Most documentation I found explains how to generate the JWT, but not how to complete the login flow with it.Does anyone have: Documentation Example implementations Articles or guides I tried thison how to finish the login process once the JWT
Hello!Hoping someone can help with this issue we’ve been facing when trying to integrate Fin in Slack. We’re using Fin in Slack for internal team use only (not customer-facing). The goal is for Fin to respond to teammates in designated Slack channels without ever involving our human Support team.However, we’re experiencing an issue where Fin keeps automatically routing the conversation to our human support teams despite the workflow being set up so that only Fin should be responding in these conversations. When the conversation ID is checked in the workflow troubleshooter no workflow is triggered. More details below:We have 3 Slack channels configured to trigger Intercom conversations (these channels can only be accessed by our internal teams)Channel settings: Trigger on keyword and a specific emoji Only these 3 channels trigger conversations Workflow setup: Channel = Slack Audience = All users (only internal teams have access to the slack channels in question which is why we did n
Release Date: 23-03-2026 🐛 Bug Fixes Fixed an issue where the composer attachment menu could render as plain text instead of a proper menu. Fixed an issue where the typing indicator may not appear when admin details are unavailable. Fixed an issue where the help center search bar placeholder could appear in English regardless of the workspace locale. Fixed an issue where device tokens could be mistakenly deleted impacting push notification delivery. Fixed an issue where workflows would sometimes not match for a user.
We’re looking for insight from companies that manage multiple subscriptions per customer in Stripe.In our case, each account has three separate subscriptions: Base plan Email plan Teams plan Each of these also has multiple plan levels, and every customer technically has all three subscriptions (either free or paid).Right now, the Stripe integration appears to pull only one random subscription, which makes it difficult to reliably identify a customer’s actual plan levels across all products.How are you configuring your Stripe integration to correctly identify all subscription plans for a customer, rather than just one? Are you using specific metadata, workarounds, or a particular integration setup to handle this?For context, we are looking to use Procedures to perform account actions inside Stripe, but need to be able to accurately make changes to all plans.
Hi,We are currently experiencing an issue with the Intercom Android SDK (version 15.9.1) in our application while developing a new feature with event.When a user clicks on the refill button, we send an event to Intercom as per your documentation: https://developers.intercom.com/installing-intercom/android/using-intercom#submit-an-event.As a result, a small popup window appears at the bottom of the screen. However, this popup window does not disappear automatically after the user reads the message and returns to the previous screen. Instead, it remains persistent until the app is killed and reopened.This behavior differs from the iOS SDK, where the popup window disappears automatically once the message is read, and the user returns to the previous screen.The user can manually remove the popup by sliding it. Is the persistent popup designed to be removed only manually by the user, or is there a way to make it disappear automatically after the message is read? We have implemented the feat
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.