Indexed by TopGit from live GitHub metadata: chatwoot/chatwoot-flutter-sdk has 81 stars, written primarily in Dart. Chatwoot Flutter SDK
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Integrate Chatwoot flutter client into your flutter app and talk to your visitors in real time. Chatwoot helps you to chat with your visitors and provide exceptional support in real time. To use Chatwoot in your flutter app, follow the steps described below.
1. Add the package to your project
Run the command below in your terminal
flutter pub add chatwoot_sdk
or
Add
chatwoot_sdk:<<version>>
to your project's pubspec.yml file. You can check here for the latest version.
2. How to use
a. Using ChatwootWidget
Create a website channel in chatwoot server by following the steps described here https://www.chatwoot.com/docs/channels/website
Replace websiteToken prop and baseUrl
import 'dart:io';
import 'package:chatwoot_sdk/chatwoot_sdk.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:image/image.dart' as image;
import 'package:image_picker/image_picker.dart' as image_picker;
import 'package:path_provider/path_provider.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Chatwoot Example"),
),
body: ChatwootWidget(
websiteToken: "websiteToken",
baseUrl: "https://app.chatwoot.com",
user: ChatwootUser(
identifier: "[email protected]",
name: "Tester test",
email: "[email protected]",
),
locale: "fr",
closeWidget: () {
if (Platform.isAndroid) {
SystemNavigator.pop();
} else if (Platform.isIOS) {
exit(0);
}
},
//attachment only works on android for now
onAttachFile: _androidFilePicker,
onLoadStarted: () {
print("loading widget");
},
onLoadProgress: (int progress) {
print("loading... ${progress}");
},
onLoadCompleted: () {
print("widget loaded");
},
),
);
}
Future<List<String>> _androidFilePicker() async {
final picker = image_picker.ImagePicker();
final photo =
await picker.pickImage(source: image_picker.ImageSource.gallery);
if (photo == null) {
return [];
}
final imageData = await photo.readAsBytes();
final decodedImage = image.decodeImage(imageData);
final scaledImage = image.copyResize(decodedImage, width: 500);
final jpg = image.encodeJpg(scaledImage, quality: 90);
final filePath = (await getTemporaryDirectory()).uri.resolve(
'./image_${DateTime.now().microsecondsSinceEpoch}.jpg',
);
final file = await File.fromUri(filePath).create(recursive: true);
await file.writeAsBytes(jpg, flush: true);
return [file.uri.toString()];
}
}
Horray! You're done.
Available Parameters
Name
Default
Type
Description
websiteToken
-
String
Website inbox channel token
baseUrl
-
String
Installation url for chatwoot
user
-
ChatwootUser
User information about the user like email, username and avatar_url
locale
en
String
User locale
closeWidget
-
void Function()
widget close event
customAttributes
-
dynamic
Additional information about the customer
onAttachFile
-
Future<List> Function()
Widget Attachment event. Should return a list of File Uris Currently supported only on Android devices
onLoadStarted
-
void Function()
Widget load start event
onLoadProgress
-
void Function(int)
Widget Load progress event
onLoadCompleted
-
void Function()
Widget Load completed event
b. Using Chatwoot Client
Create an Api inbox in Chatwoot. Refer to Create API Channel document.
Create your own customized chat ui and use ChatwootClient to load and sendMessages. Messaging events like onMessageSent and onMessageReceived will be triggered on ChatwootCallback argument passed when creating the client instance.
NB: This chatwoot client uses Hive for local storage.
Enables persistence of chatwoot client instance's contact, conversation and messages to disk for convenience. true - persists chatwoot client instance's data(contact, conversation and messages) to disk. To clear persisted data call ChatwootClient.clearData or ChatwootClient.clearAllData false - holds chatwoot client instance's data in memory and is cleared as soon as chatwoot client instance is disposed Setting
user
null
ChatwootUser
Custom user details to be attached to chatwoot contact
How active is development on chatwoot/chatwoot-flutter-sdk?
The most recent commit recorded on chatwoot/chatwoot-flutter-sdk was 1 month ago, based on the GitHub push timestamp. The repository has 163 forks — one of the better signals of community interest.
How many stars does chatwoot/chatwoot-flutter-sdk have?
chatwoot/chatwoot-flutter-sdk has 81 GitHub stars — refresh the page for the live number, or check github.com/chatwoot/chatwoot-flutter-sdk. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is chatwoot/chatwoot-flutter-sdk open source?
Yes — chatwoot/chatwoot-flutter-sdk ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/chatwoot/chatwoot-flutter-sdk.
What is chatwoot/chatwoot-flutter-sdk?
chatwoot/chatwoot-flutter-sdk (chatwoot/chatwoot-flutter-sdk) is a Dart project on GitHub. From the project's own README: Chatwoot Flutter SDK
What language is chatwoot/chatwoot-flutter-sdk written in?
chatwoot/chatwoot-flutter-sdk is written primarily in Dart. GitHub's language field is based on the largest share of bytes in the default branch.
What license does chatwoot/chatwoot-flutter-sdk use?
chatwoot/chatwoot-flutter-sdk is released under the MIT license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about chatwoot/chatwoot-flutter-sdk?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/chatwoot/chatwoot-flutter-sdk is the definitive source.
Read full README in the tab above.
Curious whether chatwoot-flutter-sdk is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about chatwoot-flutter-sdk.