AI Agents in Chat - Your Chat UI Just Got an AI Roommate
by•
Your AI agent belongs in the chat you already built. CometChat's iOS UI Kit lets you turn your existing messaging experience into an AI conversation with streaming responses, chat history, and a fully customizable UI built in. Connect your agent, match your brand, and ship without building AI chat from scratch.


Replies
CometChat
Hey Product Hunt!
Amit from CometChat here 👋
Every time someone tells us they're adding an AI agent to their iOS app, the same thing happens. They think the hard part is the AI. It's not. The hard part is that building a decent chat UI eats weeks you didn't budget for. Message bubbles, streaming, history screens; none of it is hard, it's just a slog, and it's the slog nobody warns you about.
So we stopped watching people rebuild the same thing and put it in our iOS UI Kit.
You get the actual chat experience out of the box: streaming responses, suggested prompts, and conversation history so people can pick up an old chat instead of starting from zero every time. Wire up your agent, restyle it to match your app, ship.
It's 1:1 AI conversations today. Agents in group chat is what we're building next and if that's something you'd actually use, tell me, because we're deciding how far to push it right now.
If you kick the tires, I want to hear where it annoyed you as much as where it worked. We'll be in the comments all day.
Most platforms in this space want you to use their AI layer exclusively
so letting teams plug in their own agent logic without rewiring everything around new infra is a much friendlier
especially when i do have my own workflow
great work team
CometChat
@mohammed_messeguem Yep, this is the part we really cared about getting right. A lot of platforms lock you into their AI layer and we didn't want to do that. Bring your own agent (OpenAI, LangGraph, Mastra, whatever you're already using), keep your logic and infra where they are, and CometChat just handles the chat experience around it. No rebuilding everything to fit us, and you can swap models whenever you want.
If you've already got your own workflow, that's exactly the case we built this for. What are you running yours on?
Docs if you want to see how the connect-your-own-agent side works:
- Overview: https://www.cometchat.com/docs/ai-agents
- Connect a third-party agent (AG-UI): https://www.cometchat.com/docs/ai-agents/ag-ui
- Bring your own agent (BYOA): https://www.cometchat.com/docs/ai-agents/cometchat-ag-ui-byoa
Thanks for the kind words 🙏
The platform looks solid for bringing chat, voice, and video under one roof. One thing I'd love to see is a built-in branching or threaded transcript view for voice and video sessions, so it's easier to jump back to a specific moment or quote during a follow-up. Right now most tools flatten that history, and it can be a real headache for support or sales teams reviewing calls later.
CometChat
@ilk_l13311 that is quite something and I don't want to hand-wave it. What you're describing isn't a small add or a feature behavior tweak. A branchable, navigable transcript where you can grab a specific moment and carry it into a follow-up is a real product surface: timeline, quote-linking, threading a call moment back into chat. Genuinely interesting, and not at all trivial :)
Today: we've got live captions / transcription (β) for calls (English), that's the raw material the flow you're describing would sit on, but it's the groundwork, not the whole thing.
If you can walk me through how your team would actually move through it right from reviewing a support call, to pulling a sales quote, and what a "jump back" looks like in practice I'll take that straight to the team.
A concrete flow is worth far more than a feature request here. Really appreciate you thinking at this depth 🙏
Embedding agents directly into chat UI makes the interaction feel more natural than switching between tools. How customizable is the agent behavior from the developer side?
CometChat
@abdurrahman_fakhrul Thanks for seeing it the way we intended it :)
On developer control, it goes pretty deep.
Two ways in: build the agent natively in our Agent Builder, or bring your own (OpenAI, LangGraph, Mastra, CrewAI, Vercel…) and run it headless or with our UI. It's model-agnostic, so you can swap providers/models without touching the customer experience.
Behavior itself is shaped by:
- Instructions: tone, guardrails, hand-off rules, how it should respond. You can @-mention specific tools/MCP resources inline so the agent knows exactly when to use each one.
- Tools: call any REST endpoint, with templated context ({{uid}}, {{role}}, message metadata) injected into the request.
- MCP endpoints: connect external services/knowledge bases for richer, live context.
- Frontend actions: the agent can drive your UI (open a modal, navigate, fire a notification), not just reply with text.
So it's not a fixed bot you skin, it's the behavior, the tools, the model, and how it acts on your app, all in your hands.
Docs if you want to dig in:
- Overview: https://www.cometchat.com/docs/ai-agents
- Agent Builder: https://www.cometchat.com/docs/ai-agents/agent-builder/overview
- Instructions: https://www.cometchat.com/docs/ai-agents/agent-builder/instructions
- Tools: https://www.cometchat.com/docs/ai-agents/agent-builder/tools/overview
- MCP: https://www.cometchat.com/docs/ai-agents/agent-builder/mcp/overview
- Frontend actions: https://www.cometchat.com/docs/ai-agents/agent-builder/frontend-actions/overview
What are you looking to build? Happy to point you at the exact layer.
Dropping an agent into the messaging stack teams already shipped, instead of standing up a separate bot surface, is the right call — migration cost is usually what kills these integrations. One concrete thing: does the agent run through my existing CometChat conversations so it inherits the auth, moderation, and message history I already have, or is it a parallel agent service I wire up separately? And is the agent layer iOS-UI-Kit-only right now, or the same config across web and Android?
CometChat
@hazy0 Yep, migration cost really is what kills a lot of integrations and even considerations of a platform switch even when the benefits of the switch far outweigh the FUD around migrating.
On the first question: it runs through your existing CometChat conversations, not a parallel service. The agent is just another CometChat user with its own UID. You send a message to that UID the same way you'd message any user, and its replies come back as normal persisted messages in the same conversation. So it inherits what you already have: the same auth (your logged-in CometChat users), the same moderation pipeline your other messages pass through, and the same message history. The only thing you actually wire up is connecting or building the agent in the dashboard. The messaging path is the one you already shipped.
On platforms: the agent layer isn't iOS-only. The agent lives at the platform level (it's a CometChat user plus your AI config in the dashboard), so the same config works across every SDK. What the UI Kits add on top is the pre-built AI chat surface (streaming, history, suggested prompts), and that ships today for iOS, Android, React Native, React on web, Angular, and Flutter. Same agent, same config, native components on each.
And finally on the migration point you led with, we have a guide for exactly that: bulk-importing existing users, messages, and groups so history comes across intact.
Docs if you want to go deeper:
- Data Import and Migration: https://www.cometchat.com/docs/fundamentals/data-import-and-migration
- AI Agents (SDK, message flow + streaming events): https://www.cometchat.com/docs/sdk/ios/ai-agents
- AI Moderation flow: https://www.cometchat.com/docs/sdk/ios/ai-moderation
- UI Kit AI chat, per platform:
- iOS: https://www.cometchat.com/docs/ui-kit/ios/guide-ai-agent
- Android: https://www.cometchat.com/docs/ui-kit/android/guide-ai-agent
- React Native: https://www.cometchat.com/docs/ui-kit/react-native/guide-ai-agent
- React (web): https://www.cometchat.com/docs/ui-kit/react/components/ai-assistant-chat
- Angular: https://www.cometchat.com/docs/ui-kit/angular/components/cometchat-ai-assistant-chat
- Flutter: https://www.cometchat.com/docs/ui-kit/flutter/v5/ai-assistant-chat-history
Happy to dig into the exact SDK events or components for whichever platform you're starting on.
A native Slack and Teams importer would be a huge win for anyone migrating from those platforms. Right now the switch feels heavier than it should, and losing years of chat history is a real blocker for teams considering CometChat as a replacement.
CometChat
@bnyaminndejjqk
Okay this is the comment I was hoping someone would leave 😀
You're describing two things: a real replacement for Slack/Teams, and not losing your history in the switch.
We've got both.
The replacement is CometChat Air → https://www.cometchat.com/air - team chat that never leaves your walls. Channels, DMs, threads, voice/video with recording, full-text search, in-chat AI - self-hosted or fully air-gapped, built for teams that can't put their conversations in someone else's cloud. And because Air is aimed squarely at regulated environments, it's built to the compliance bar those team actually need — ISO, HIPAA (with BAA), GDPR, AICPA/SOC, PIPEDA, COPPA.
If "considering CometChat as a Slack replacement" is the thought, Air is that product.
On the years of history, really not the blocker it feels like. Migration is white-glove: our team brings your existing messages, users, and groups across for you, so you land in Air with your past intact instead of a blank workspace. You don't DIY it.
If you tell me where you'd be coming from (Slack? Teams?) and rough scale, I'll get you connected to the right folks at CometChat.
The part that ate our time wasn't the bubbles, it was what happens when the stream dies halfway. iOS backgrounds the app, the socket drops, and you're left with half an assistant message that the server thinks it finished sending. We moved to persisting server side and treating the client as a replay of a message id, which killed the duplicates but made resume feel slower. Where does the UI Kit keep the partial, and on reconnect does it resume the same message or start it over?
the UI Kit part makes sense as the thing nobody wants to rebuild, but I'm curious about the layer above it: once the agent's wired in, who's watching the token spend? a chat UI invites people to just keep talking, and unlike a fixed feature, an LLM conversation doesn't have a natural stopping point. is there a built-in per-user rate limit or cost cap on the agent side, or is that something the app builder has to bolt on themselves once real usage shows up?