# chatwoot-react-native-widget **Repository Path**: chatwoot/chatwoot-react-native-widget ## Basic Information - **Project Name**: chatwoot-react-native-widget - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-15 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

chatwoot-react-native-widget

![](https://img.shields.io/npm/v/@chatwoot/react-native-widget?style=flat) ![](https://img.shields.io/npm/dt/@chatwoot/react-native-widget.svg) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) ![](https://img.shields.io/npm/l/@chatwoot/@chatwoot/react-native-widget) - **Supported Chatwoot version:** 2.16.0+ screenshot ### Installation Install the library using either yarn or npm like so: ```sh yarn add @chatwoot/react-native-widget ``` OR ```sh npm install --save @chatwoot/react-native-widget ``` This library depends on [react-native-webview](https://www.npmjs.com/package/react-native-webview) and [async-storage](https://github.com/react-native-async-storage/async-storage). Please follow the instructions provided in the docs. ### iOS Installation If you're using React Native versions > 60.0, it's relatively straightforward. ```sh cd ios && pod install ``` ### How to use 1. Create a website channel in chatwoot server by following the steps described here https://www.chatwoot.com/docs/channels/website 2. Replace `websiteToken` prop and `baseUrl` ``` import React, { useState } from 'react'; import { StyleSheet, View, SafeAreaView, TouchableOpacity, Text } from 'react-native'; import ChatWootWidget from '@chatwoot/react-native-widget'; const App = () => { const [showWidget, toggleWidget] = useState(false); const user = { identifier: 'john@gmail.com', name: 'John Samuel', avatar_url: '', email: 'john@gmail.com', identifier_hash: '', }; const customAttributes = { accountId: 1, pricingPlan: 'paid', status: 'active' }; const websiteToken = 'WEBSITE_TOKEN'; const baseUrl = 'CHATWOOT_INSTALLATION_URL'; const locale = 'en'; const colorScheme='dark' return ( toggleWidget(true)}> Open widget { showWidget&& toggleWidget(false)} isModalVisible={showWidget} user={user} customAttributes={customAttributes} colorScheme={colorScheme} /> } ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, button: { height: 48, marginTop: 32, paddingTop: 8, paddingBottom: 8, backgroundColor: '#1F93FF', borderRadius: 8, borderWidth: 1, borderColor: '#fff', justifyContent: 'center', }, buttonText: { color: '#fff', textAlign: 'center', paddingLeft: 10, fontWeight: '600', fontSize: 16, paddingRight: 10, }, }); export default App; ``` You're done! The whole example is in the `/example` folder. ### Props
NameDefaultTypeDescription
baseUrl - String Chatwoot installation URL
websiteToken - String Website channel token
colorScheme light String Widget color scheme (light/dark/auto)
locale en String Locale
isModalVisible false Boolean Widget is visible or not
closeModal - Function Close event
user {} Object User information about the user like email, username and avatar_url
customAttributes {} Object Additional information about the customer
## Feedback & Contributing Feel free to send us feedback on [Twitter](https://twitter.com/chatwootapp) or [file an issue](https://github.com/chatwoot/chatwoot-mobile-app/issues). If there's anything you'd like to chat about, please feel free to join our [Discord](https://discord.gg/cJXdrwS) chat! _Chatwoot_ © 2017-2023, Chatwoot Inc - Released under the MIT License.