React chatbot

The fastest way to build a React chatbot

Simplify your React chatbot development. With a chat API and pre-built UI, you can remove most of the frontend and backend work from the equation. So you can focus on perfecting the bot experience.
Avatar
Hello, how can I help you today?
8m ago
Avatar
Hello, I'm looking to plan a trip to Japan. Can you help me with some information?
10m ago
Avatar
Of course! I'd be delighted to assist you. What specific information do you need?
7m ago
Avatar
I'm trying to decide the best time to visit. When's the weather most pleasant?
2m ago
Avatar
Japan's cherry blossom season in spring (Mar to Apr) and the fall foliage season (Oct to Nov) are popular due to mild weather.
1m ago
Bring on the cherry blossom!
Avatar
Hello Steph, how can I help you today?
8m ago
Avatar
Hi, my internet connection has been really slow for a few days. Can you help?
10m ago
Avatar
Of course! I'd be happy to help. Have you tried restarting your router and modem?
7m ago
Avatar
Yes
2m ago
Avatar
Good, that's a first step. Is there any improvement in the speed after the restart?
Yes
No
1m ago
Say something...
Works great with React
Most of your TalkJS code will live in the frontend, and will work seamlessly with React or any other framework or programming language.
Easily connect to ChatGPT
TalkJS works seamlessly with ChatGPT and PaLM2. Use high-value first-party data and enhance the chatbot user experience.
Built-in notification system
Notify users on any channel so they never miss a message. TalkJS supports email, mobile, SMS, and browser notifications — out of the box.
React chatbot MVP you can ship in 10 minutes

Our JavaScript SDK comes with a pre-built chat UI that you can use right away. The UI is forward-compatible so it will keep working on future devices, new features, and future browser bugs. You can style it with TalkJS Themes or build custom elements like the chat header if needed.

1function App() {
2 const me = {
3 id: "79302",
4 name: "Nina Caldwell",
5 email: "nina.caldwell@example.com", // for offline
6 };
7
8 const botUser = {
9 id: "bot",
10 name: "Helpful Bot 🤖",
11 };
12
13 const syncUser = useCallback(() => {
14 return new Talk.User(me);
15 }, []);
16
17 const syncConversation = useCallback((session) => {
18 // Add users to the conversation
19 const conversation = session.getOrCreateConversation(
20 Talk.oneOnOneId(me, botUser)
21 );
22 conversation.setParticipant(session.me);
23 conversation.setParticipant(new Talk.User(botUser));
24 return conversation;
25 }, []);
26
27 return (
28 <Session appId="<APP_ID>" syncUser={syncUser}>
29 <Chatbox syncConversation={syncConversation} className="chat-container" />
30 </Session>
31 );
32}

Tune the look and feel of your UI

It's easy to customize anything you'd prefer to change from the default TalkJS theme. Our built-in theme editor lets you control the style, layout, and even what data is displayed.

Themes illustration

All the APIs you need for deeper integration

When the default experience isn't enough, TalkJS has everything you need to build custom integrations. Get notified for each new message via webhooks, control your data with the REST API, or set up email notifications. And if you're having any trouble building that integration, you can instantly chat with a TalkJS developer on our support chat to get some help with your code.

Ready to get started?
Build any chat use case into your product — in minutes — with just a few lines of code.