🎅 How to prepare your Fin AI Agent for Christmas 🎅
-
Recently active
Product or tool name: Airia (https://airia.ai)Exact redirect URI to review:https://auth.airia.ai/OAuth/callbackMCP endpoints targeted: both https://mcp.intercom.com/mcp (US) and https://mcp.eu.intercom.com/mcp (EU). We have EU-hosted customers whose Intercom workspaces are on app.eu.intercom.com, so the EU endpoint is a requirement rather than a nice-to-have. Both authorization servers reject the URI today, so we'd need the allowlist entry on each. Use case and distribution model: Airia is a multi-tenant SaaS platform. Each end user authorizes their own Intercom workspace through OAuth 2.1 authorization code with PKCE (S256); tokens are held in our credential store, encrypted at rest, scoped to the authorizing user, and never shared between users or tenants. Registration is one client per tenant, with per-user authorization on top. Distribution is direct to our own enterprise customers, where Intercom appears as one connector in our integration library, not resold or white-labeled.We h
Hi, does anyone have a current workaround for syncing date fields from Salesforce to Intercom without the date shifting due to timezone differences?We’re sending renewal messaging from Intercom using a Renewal Date field mapped from Salesforce. Unfortunately, the date is syncing as one day earlier than the date in Salesforce. Intercom Support explained that this is because the sync occurs at UTC 0, which is causing the incorrect renewal date to appear in our customer notices.Has anyone found a way to prevent this timezone conversion? Or is the best workaround to create a secondary Renewal Date field in Salesforce that adds one day to the actual renewal date and map that field to Intercom instead?
Hello,there is a bug related to Turbo / Turbolinks within gem `intercom-rails` several years. I prepared fix, which I hope to fix it for good. But unfortunately there is a restriction for create new pull requests on GitHub. So please check Issue https://github.com/intercom/intercom-rails/issues/336#issuecomment-5491505415 with my comment and suggested changes 😛 master...luk4s:intercom-rails:301_fix_turbolinksThis issue I thinks its related to #244 and #301, also there is #215 (but outdated with conflict) with similar topic.Summary:Javascript already listens for turbo:visit, turbo:before-cache andturbo:load, along with their turbolinks: equivalents, so ordinary Turbo Drive andTurbolinks 5 navigations need no configuration. Three cases fall outside those events:Form submissions that fail validation. Turbo replaces the body for a 422 Unprocessable Entity response without announcing a visit, so the Messenger is never told that the elements it injected have been removed. Its detached ifr
Hi all — I'm doing some research on how teams measure AI resolution quality, and there's one thing I can't find anyone talking about.My understanding of the billing mechanic: a conversation counts as resolved either when the customer confirms it helped, or when they stop responding without asking for a human. The second case is the interesting one. Intercom does deduct the resolution if the customer reopens *that conversation* later, even across billing periods, which seems like a genuinely fair correction.But it only catches people who come back to the same thread. If someone reads Fin's answer, decides it didn't help, and emails support@ three days later — or calls, or starts a fresh chat — that's a new conversation. Nothing connects it to the original, and from what I can tell there's no way to see that pattern from inside Intercom, because Intercom can only see the Intercom channel.So my question: **has anyone here actually joined their email or phone support data against Fin's res
Hello everyone,I am facing an issue with Intercom Push Notification when it is a cold start (App is terminated, you receive a Push Notification and this notification will wake the App). While testing on Simulator that, if i am running my app from Xcode, terminate the App (on Simulator, not on Xcode), send a message to my test user, wait the push notification, receive it, tap on it but when i tap on it, Intercom Messenger does not opens the modal chat, it keeps me on my WorkListView (WorkList is a subview of RootView, that appears after SplashViews finish animation and transit to WorkListView).I have already made installation (API Key, API ID and Push Notifications are enabled on Settings > Channel > Messenger > Install > Install for Mobiles), Apple Developer is already configured, when i open the Messenger on my App, i can send and receive messages. When App is open but in background i am able to receive and wake the app in the correct modal Intercom window chat, but only t
Very much missing the endpoints for viewing/editing Fin guidance & escalation rules. We don’t want to do it via the UI, we want our internal AI agents to reason about how to adjust Fin. Currently sort-of can automate it via Playwright but that’s only a workaround.Endpoints for editing workflows would be good too.Any plans to add any of that in near future?
When an admin sends an outbound email from Intercom, the message exists as a message object but no conversation is created until the recipient replies. Because of this, the API cannot retrieve the outbound email via the conversations API (GET /conversations/{id}) until a reply occurs.Request: allow the API to retrieve admin‑initiated outbound emails immediately after sending, even if the recipient has not replied yet. This would enable better auditing, logging, and integration workflows for outbound communications.
I'm having trouble sending audio messages to customers via WhatsApp. I'm receiving the following error message:WhatsApp could not accept this media. WhatsApp response: Audio file uploaded with mimetype as audio/ogg; codecs=opus, however on processing it is of type application/octet-stream. Please choose a different file. However, I am recording the audio directly through Intercom using the "voice note" feature. Is anyone else facing this same issue? What can be done in this case? I opened a support ticket with the Intercom team, but they mentioned that due to high demand, this isn't a priority at the moment unless more cases are reported.
I’ve integrated Slack<>Intercom together so that clients can start conversations directly in Slack channels and Support can monitor said conversations via Intercom so nobody leaves their desired platforms.Issue is, it does not seem possible to trigger a CSAT score rating upon closing a conversation. This is ultra valuable and since these are our highest priority clients we really want to hear how they like communicating with Support and if this is an effective process. This seems to be available on a lot of channels but not Slack for some reason :(
Hi everyone,I'm Marius from NEONA, a design lighting brand based in Cologne. We're currently rolling out Fin on our email channel — German language, mostly B2C — and I'm doing it solo for the first time.I'd like to connect with other companies in Germany or German-speaking markets running Intercom, ideally with Fin. Nothing confidential — I'm just curious how others have approached things like:splitting workflows by channel vs. by function where you draw the line between what Fin handles and what goes to a human German-language tone, and how you handle formality what you'd do differently if you started overHappy to share what we've run into as well — a few things came up that aren't covered in the docs.If any of this sounds familiar, drop a comment or send me a DM.Marius
Hi Intercom Team,We're hitting intermittent errors from the REST API that appear out of the blue — not correlated with our request rate or any code change on our side — and that succeed when we retry a short while later.The responses come back as HTML (nginx), not the usual JSON. Two examples:404 Not Found — GET /companies/scroll, x-request-id: 000fb95rqvhcl5nf9to0 403 Forbidden — seen previously (HTML, no x-request-id / x-ratelimit-limit headers)We've increased our retry/backoff, which recovers most occurrences, but some still fail outright.This looks like prior reports:https://community.intercom.com/api-webhooks-23/getting-404-502-and-504-error-from-api-at-the-first-time-then-success-after-retry-10039 https://community.intercom.com/api-webhooks-23/api-requests-are-returning-403-4656Any help here would be pretty appreciated. Happy to share timestamps and more request IDs.Thanks,Faruq
We've had the iOS Messenger down for ~2 months on our production app (React Native, @intercom/intercom-react-native 10.3.4, US workspace, appId m4e3h09o). Android works fine with the identical integration.Symptoms: the Messenger opens but content stays empty; the native console shows repeated "network error – the data couldn't be read because it isn't in the correct format" on update-user and fetch-composer-suggestions. curl to api.intercom.io succeeds, so it isn't connectivity — the SDK is receiving a response it can't parse (JSON deserialization failure).What we've already done: confirmed appId + iOS key resolve to the same workspace; ruled out init order, ATS, SSL pinning, duplicate packages and region routing.The telling part: a minimal, empty Expo project with the same appId/key loaded the Messenger correctly on one run, then reproduced the exact same error on a later run — with nothing changed locally. An identical client that passes and then fails with zero local changes points
Hi Intercom support,It seems like something quite big was added to the intercom-ios repo on Github, such that cloning the repo is now a >3GB download.(see https://api.github.com/repos/intercom/intercom-ios -- size: 3144481!)SwiftPM does deep clones, so a fresh build on xcode now takes several hours due to waiting for the intercom package.Can something be done about this?Cheers,Tom McLean
We are utilising the 6.0.2 version of the capacitor-community/intercom package, which is using a 12.x version of the Intercom Android SDK internally.What seems to be happening is that when the plugin registers it is making an initial call to Intercom (probably for the reasons outlined in this thread: Our JS implementation code does not do anything until the user logs in. At which point we call `setUserHash` and `registerIdentifiedUser` respectively. We then have a button that launches the intercom bubble (displayMessenger).On a fresh install an Android 15 this works fine. We can login, click the button and intercom launches. On Android 16 it doesn’t. If you exit the app and restart it works fine from that point onwards.When monitoring the logs on the Android 16 device, with a release build, we get this error immediately upon app launch, before the user has a chance to interact (or even grant permissions for things like push notifications):Failed to register or update user: {"type":"err
Hello, according to FIN there is no way to merge conversation besides using the UI. Can you confirm if this is true? Merging conversations via api is a crucial part of our workflow.
I have the Slack integration working, so all messages sent via the live chat widget on our webiste are going to a Slack channel. How can I set it up so replies in a Slack thread go back to the Intercom conversation, and to the live chat widget? I have tried builing a “Teammate sends any message” workflow, and also a “Teammate adds a note” workflow, but neither one worked. Any suggestions?
EXC_BAD_ACCESS: Exception 1, Code 2, Subcode 6132301816 >Stack overflow CoreFoundation 0x193f04a10 __CFStringEqual CoreFoundation 0x193f39e24 CFCachedStringEqual CoreFoundation 0x193f39dc0 _CFXNotificationRegistrarFindName CoreFoundation 0x193f63ea8 CFXNotificationRegistrarFind CoreFoundation 0x193f63864 _CFXNotificationPost Foundation 0x1911b1088 -[NSNotificationCenter postNotificationName:object:userInfo:] Intercom 0x105a9d1b8 -[ICMRootViewController postIntercomModalViewControllerWillHideNotification] Intercom 0x105a9c2e0 -[ICMRootViewController closeIntercomModalWithCompletion:] Intercom 0x105a9bee8 -[ICMRootViewController dismissAllIntercomViews] UIKitCore 0x199e1dd40 -[UIViewController dismissViewControllerWithTransition:completion:] UIKitCore 0x199e1d92c -[UIViewController dismissViewControllerWithTransition:completion:] UIKitCore 0x199ee4784 -[UIViewContro
Is it possible to change the Data Hosting Region Configuration at runtime? We’re using native Android and iOS apps. The documentation says we need to set the region in the AndroidManifest or the plist (iOS). But we have US and AU customers. Attempting to just change the app ID and API key grabs most of the helpful stuff (I can see the icon color changing for example...) but when opened, the Intercom app just says “Something’s gone wrong.”Are mobile apps able to support multiple regions with Intercom?
Hey community,Trying to connect Intercom to our Discord server and hitting this error:"This bot can't join more servers as it has not been verified or is requesting gateway intents it has not been verified for."Fin confirmed the bot is pending Discord verification and there's no workaround. Raised it with Engineering Support, they confirmed it's a known bug, created a ticket, no ETA.A few questions:Is anyone successfully using the Discord integration right now? Was there a point where it worked and stopped, or has it never worked? Any workaround — e.g. does the server need to be a verified/community Discord server?Seems like a critical gap given Intercom is promoting it as a supported channel. Curious if others are affected.
Bug Report: Unrecognized selector sent to CPTemplateApplicationScene (CarPlay) — iOS 27 Summary The Intercom iOS SDK crashes the host app with an **unrecognized selector** exception when aCarPlay scene is involved in scene lifecycle. Intercom sends a `UIWindowScene`-only selector to`CPTemplateApplicationScene`, which is a sibling of `UIWindowScene`, not a subclass — so themessage is unhandled and the app terminates. This is the same long-standing defect previously reported as`-[CPTemplateApplicationScene windows]: unrecognized selector`( and )On **iOS 27** the selector has changed to a different `UIWindowScene`-only API: -[CPTemplateApplicationScene _enhancedWindowingEnabled]: unrecognized selector sent to instance Environment Intercom SDK | 19.3.2 (intercom-ios-sp, SPM). Also reproduces on latest 19.6.3 — updating does not fix it.iOS 27 (also historically reproduced on earlier iOS with the `windows` selector variant)SwiftUI/UIKit app with a separate CarPlay scene (`CPTemplateApplicati
I work for a company that rents out vehicles. We've introduced a user attribute that displays the license plate of the vehicle that is being reserved. As soon as a user reserves a different vehicle, this attribute changes into a different license plate. I want to be able to instantly start a chat, or send a message, as soon as this attribute changes. During our tests we were only able to send chats and posts when a user matches the rules at the start of their session when they launch our app, but not after that. Does anybody have any idea on how to send chats, post, carrousels etc. after the initial launch of our mobile app?
Release Date: 01-07-2026 🐛 Bug Fixes Fixed a crash that could occur at launch on some iOS Simulator runtimes.
The Intercom platform has following webhook topics: - conversation.admin.replied -- Admin conversation replies - conversation.operator.replied -- Fin/Bot replies to a conversationHere all topics https://developers.intercom.com/docs/references/webhooks/webhook-modelsDuring the tests with reusable workflow, I noticed that Bot replied are send in both topic. As a result, service receive two messages.Below an example of Bot reply message in `conversation.admin.replied`:{ "type": "notification_event", "app_id": "l4e36xhv", "data": { "type": "notification_event_data", "item": { "id": "215474343849634", "...": "...", "conversation_rating": null, "title": "Andrew", "custom_attributes": {}, "conversation_parts": { "type": "conversation_part.list", "conversation_parts": [ { "type": "conversation_part", "id": "4576
Release Date: 09-06-2026 🚀 Enhancements Added security enhancements. 🐛 Bug Fixes Fixed a crash that could occur during app launch.
Clari and Salesloft announced the gradual sunset of Drift in March 2026. No hard end-of-life date, no confirmed migration runway. If you're waiting for a firm deadline before you act, that deadline may arrive with less lead time than your data volume requires.This is what to prioritize before your access disappears.The data that's hardest to recover once it's goneNot everything in Drift carries equal weight. Contacts and lead records are relatively portable — CSV exports handle most of it. What's harder to reconstruct is conversation history: transcripts, timestamps, assignees, thread structure, tags, and the metadata that makes historical conversations searchable and useful.Drift enforces a 600 requests/minute API rate limit. That's the hard ceiling on extraction speed regardless of which method you use. If conversation transcripts matter to your team — for training, compliance, context, or handoffs — budget 2–3 weeks for the extraction alone. That's not a migration timeline. That's j
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.