Angular chat
Quickly embed a customizable chat experience into your Angular app using the best chat APIs, feature-rich SDKs, and a highly customizable pre-built UI.
import { Component } from '@angular/core';
import Talk from 'talkjs';
@Component({
selector: 'app-chat',
standalone: true,
imports: [],
template: `
<div id="talkjs-container" style="height: 600px">Loading chats...</div>
`,
styles: '',
})
export class ChatComponent {
constructor() {
Talk.ready.then((): void => {
const session = new Talk.Session({
appId: 'MAGIC_APP_ID',
userId: 'sample_user_alice',
});
const chatbox = session.createChatbox();
chatbox.select('sample_conversation');
chatbox.mount(document.getElementById('talkjs-container'));
});
}
}


Most of the TalkJS code will live in the frontend, so it seamlessly integrates with Angular. You can ship faster, simplify your stack, and save on development costs by using the best chat APIs and a feature-rich JavaScript SDK. It's all you need to add a fully-featured chat into your Angular app in minutes instead of months.
<script>
async createPopup(session: Talk.Session) {
const supportUser = {
id: 5,
username: 'Sebastian',
email: 'sebastian@example.com',
photoUrl: 'https://example.com/portrait.jpg',
};
const conversation = await this.getOrCreateConversation(session, supportUser);
return session.createPopup(conversation, { keepOpen: false });
}
</script>We were able to offload all messaging to TalkJS — hugely simplifying our development of an otherwise complex stack.
The TalkJS Inbox shows the chat history on the left, selected conversation on the right. It's designed to act as the messaging center of your app, usually living on its own page.
The TalkJS Chatbox is just the right half of the Inbox UI mode. It takes up less space and is designed to be embedded in your app near an order confirmation, a booking, or user profile.
You can also show a conversation in a popup that only shows up when the user clicks a button somewhere. When shown, the popup is positioned on the bottom right of your page.