Expand Fin to email is now live on Fin Academy!
-
Recently active
My Flutter application has reported a crash in the Google Play Console. The crash is a java.lang.RuntimeException with an underlying ClassNotFoundException, specifically because the Android runtime is unable to find the io.maido.intercom.PushInterceptReceiver class.Crash Stack Trace (Core):Fatal Exception: java.lang.RuntimeException: Unable to instantiate receiver io.maido.intercom.PushInterceptReceiver: java.lang.ClassNotFoundException: Didn't find class "io.maido.intercom.PushInterceptReceiver" on path: DexPathList[...]My Project Configuration: Intercom Plugin Version: intercom-android: 17.0.2 ProGuard/R8 Rules: I have already added a keep rule for the Intercom SDK in my proguard-rules.pro file: -keep class io.intercom.android.** { *; }-keep class com.intercom.** { *; } Troubleshooting Steps Taken: I've checked my AndroidManifest.xml and there is no manual declaration for PushInterceptReceiver, which I believe is automatically merged by the intercom_flutter plugin. Since the cr
Hi team,I'm using @intercom/intercom-react-native with Expo bare workflow and the plugin is generating hardcoded API keys in my AppDelegate.swift Is there a proper way to configure the plugin to use environment variables at runtime rather than hardcoding them during build? I want to avoid committing secrets to my repository.Thanks!
Hi everyone,As our team increasingly relies on mobile agents, I'm seeking advice on effectively managing a mobile workforce using Intercom. What strategies have you implemented to ensure seamless communication, task management, and performance tracking for mobile agents?Are there specific features or integrations within Intercom that have proven beneficial for mobile workforce management? Additionally, how do you handle challenges such as varying time zones and connectivity issues?Any insights or best practices would be greatly appreciated.
Despite the fact that mobile SDK does not support dark mode, the articles and some parts of the help center use dark mode features. SDK Android 16.3.0 (changelog) iOS 18.8.0 (changelog)
Hi there I am hoping to create some dashboards based off of our product’s intercom data that surfaces insights about # of tickets created and average conversation rating. High level mockup of the dashboard: Diving into the intercom API, it looks like the only way to get aggregate data is by calling the search APIs and checking the total_count property. This is un-ideal in the case of average satisfaction score where I would need to query 5 times for each satisfaction score value per data bucket. If I have a time series with 12 month buckets, that would mean I would have to query Intercom 70 times per dashboard render. Is there a better alternative to accomplish this? I saw reference of a reporting feature coming to the API at some point: Also, what is intercom’s data retention policy? Can I expect to be able to retrieve all of our intercom data or is there a cut-off?
Hi Intercom team,I’m working on a web app that’s embedded in a partner’s mobile app via WebView. Both our web app and the partner’s mobile app use Intercom, but each with a separate workspace.Are there any known issues or best practices when two Intercom instances (in different workspaces) are running in this setup? Specifically: Could this cause conflicts with sessions or the Messenger widget? Does Intercom handle isolation properly in WebViews? Is there anything we should do to avoid interference between the two instances?
Fatal Exception: java.lang.IllegalArgumentException: Missing keys: [timestamp] in '{teammate} moved ticket into {status} {timestamp}' at io.intercom.android.sdk.utilities.Phrase.format(Phrase.java:189) at io.intercom.android.sdk.m5.notification.InAppNotificationCardKt.TicketInAppNotificationContent(InAppNotificationCard.kt:180) at io.intercom.android.sdk.m5.notification.InAppNotificationCardKt.InAppNotificationCard(InAppNotificationCard.kt:124) at io.intercom.android.sdk.m5.notification.InAppNotificationCardKt$addInappNotificationCardToView$1$1$1.invoke(InAppNotificationCard.kt:75) at io.intercom.android.sdk.m5.notification.InAppNotificationCardKt$addInappNotificationCardToView$1$1$1.invoke(InAppNotificationCard.kt:74) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.Composit
I'm trying to install the iOS SDK and have been following the provided guide. However, when I click the "Check Installation" button at the end, it doesn't seem to register as installed. I'm currently using Xcode 16.4 with an iOS 18.5 simulator.I noticed that the SDK's README mentions Xcode 15 as a requirement. Is this version required only for installation, or is it also necessary for Intercom to function correctly? Additionally, will support for Xcode 16 be available soon?This could be a blocker for us, as Xcode 15 isn't compatible with macOS Sequoia 15.5.
Having the ability to trigger a reusable workflow via API would be really helpful for making workflow/bot conversations more dynamic. A specific use case I’m working on right now is serving CSAT in conversations where customers interact only with a bot (no team member assigned). Unresponsive triggers only happen with human to human conversations. If a customer goes unresponsive while talking to the bot, the conversation is considered abandoned, not closed. My thought was to use Zapier to trigger closed conversations and filter by convos NOT assigned to a team member, however I have no way of serving CSAT in that conversation via the API. I played around with starting workflows using this non-documented endpoint:curl --request POST \ --url https://app.intercom.io/ember/inbox/workflows/start \ --header 'Accept: application/json' \ --header 'Authorization: Bearer REDACTED \ --header 'Content-Type: application/json' \ --header 'X-Csrf-Token: REDACTED' \ --cookie _intercom_session=RE
Can’t seem to get any contact location data to stick in my requests. What am I doing wrong here? Note that the request does not fail with any sort of validation error but the values do not get updated.For example, here’s the body on an update: {"signed_up_at":1753192392,"external_id":5668,"location":{"type":"location","country":"United States","country_code":"US","city":"San Diego"}}And the response body I get:{"type"=>"contact", "id"=>"redacted", "workspace_id"=>"redacted", "external_id"=>"5668", "role"=>"user", "email"=>"redacted", "phone"=>nil, "name"=>"redacted", "avatar"=>nil, "owner_id"=>nil, "social_profiles"=>{"type"=>"list", "data"=>[]}, "has_hard_bounced"=>false, "marked_email_as_spam"=>false, "unsubscribed_from_emails"=>false, "created_at"=>1753796921, "updated_at"=>1753797193, "signed_up_at"=>1753192392, "last_seen_at"=>nil, "last_replied_at"=>nil, "last_contacted_at"=>nil, "last_email_opened_at"=>nil, "la
Intercom is showing the notifications behind the navigation bar in Android 15+ even using latest SDK version and latest compose BOM
Please help to check
Where do I talk to support about adding MCP server options to my data connections
Hey there!We’re about to run a script on our side this week to migrate our historical Zendesk Ticket data to Intercom.Has anyone in the community had experience doing this?Curious to know how you prevent email notifications from going out to customers, and if its possible to backdate the conversations when you are creating them.Cheers,Ian
Hi there, My team were wondering if it was possible to change customer ratings if this was deemed invalid from a supervisor POV?
I`m using the FIN Messenger in a test website. The frontend always call to call to Intercom('shutdown') and Intercom('boot’) on page load. Before that, we get the JWT form our backend an send that to the messenger throught the API. That works well.The problem is when the user logs out of our backend, reloading the page still shows the conversation of the user who logged out.As if Intercom('shutdown'); and Intercom('boot', config); weren't working. function bootIntercom(config) { if (window.Intercom) { window.Intercom('shutdown'); } window.Intercom('boot', config);}(async () => { const status = document.getElementById('statusContainer'); try { const res = await fetch('https://REDACTED/autenticar', { method: 'POST', headers: { 'Content-Type': 'application/json' }, credentials: 'include' }); const data = await res.json(); if (res.ok && data.success && data.token) { status.inne
Hi Intercom Team / Community,I am developing a multitenant app that integrates with Intercom using the OAuth 2.0 authorization code flow. When I exchange the authorization code for an access token, I receive a response like this: { "token": "dG9rOjJjMTdlOTQxX2JmNjZfNDdhNV85ZGFiXzFjMzdmYjZhOGI1ZDoxOjA=", "access_token": "dG9rOjJjMTdlOTQxX2JmNjZfNDdhNV85ZGFiXzFjMzdmYjZhOGI1ZDoxOjA=", "token_type": "Bearer" } There is no information about the token’s lifetime or a refresh token in the response.My questions are: Is it correct that Intercom does not provide refresh tokens at all? If yes, does it mean the access token is long-lived (officially valid up to 60 days)? After expiry, is the only way to obtain a new token by making the user go through the OAuth authorization flow again? Is there any recommended way to renew access tokens silently without repeatedly asking for user authorization? Does this behavior apply consistently for both public and private apps? For a multitenant sce
Hello! We frequently use conversations assigned as a daily/monthly metric for reporting purposes. When we remove a teammate and reassign conversations to another Teammate (usually myself), all those conversations appear in the daily reporting. To resolve this, I have to filter myself out of the reporting. This has a significant impact on a lot of our reports that are filtered by teammate and conversations assigned. Is there a way to remove a teammate from Intercom without having conversations reassigned appearing in the reporting?
Using latest Android SDK with RN wrapper (tested 15.14.0 and 15.15.0), navigating to any article renders only an empty page (along with the emoji feedback footer). Video capture:https://www.dropbox.com/scl/fi/dqbc23sucijn5juajx9vd/intercom-android-article.mov?rlkey=ve8k12jphvlgizheo2qxr5bmv&dl=0
I wanted to check if it's possible to integrate Intercom into two different apps using the same workspace, while having separate FAQs for each. Is that supported, or would we need to create a separate workspace for each app?
We would like to understand how to suspend or delete an admin within our Intercom setup. Specifically: What are the steps for suspending or deleting an admin? What parameters or conditions can be used to identify these actions? Can we use has_inbox_seat for this purpose? If not, please explain why it cannot be used or if there's an alternative. Additionally, once an admin is suspended or deleted, we would like to: Fetch that updated status or Have that event trigger a webhook so we can sync the admin's status on our side in real time. Please confirm if this is possible and share the best approach to implement it.Looking forward to your guidance on this.
Hi,We are using the ruby bindings from the official repo here and there are a few examples on how to search for contacts, for instance:# Search for contacts by emailcontacts = intercom.contacts.search( "query": { "field": 'email', "operator": '=', "value": 'some_contact@example.com' })contacts.each {|c| p c.email}# For full detail on possible queries, please refer to the API documentation:# https://developers.intercom.com/intercom-api-reference/referenceWhen trying to access the resulting collection I always get a Resource Not Found (Intercom::ResourceNotFound) error. Doing this same search for the same contact with cURL or with the ruby net/http client works fine and returns the contact.Is the search in the ruby gem broken?
Hi! We need to export, or be able to report on, conversation messages (the actual message text). We’ve read the documentation regarding API or Amazon S3 but we’re wondering – is there any 3rd party app that you’d recommend using? Maybe someone that is already using a 3rd party app for it can give us some advice. Thanks in advance!
Hi there! We are considering to operate our company’s customer service from Intercom in the future. Our current technology for customer service contain tickets which we use to report the time spent on tickets also. Sometimes we want to create a ticket manually just to report how much time some task have taken. To be more specific there are these kinds of tickets where we don't send any messages. We create a ticket manually, add some recipient but without any public message any message won't be sent. Time tracking app saves the data how much time a person has spent with this task. Is this possible with Intercom? We know that there's many apps and integrations for tracking the time but does these work for our purpose? Can we create a new conversation where any messages won't be sent? Or do you have any other tips how Intercom could work for our purpose?
Is there an easy automated way to export Intercom reports and dashboard data to Notion? I would like to maintain company-wide ‘Scoreboards’ in Notion and Intercom is obviously a key part of that for CS.
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.