Chat Flutter SDK
A Flutter package providing a complete chat UI solution for integrating with Yalo's messaging platform.

Features
- 📱 Cross-platform (iOS, Android, Web)
- 🎨 Customizable themes and styling
- 💬 Real-time messaging
- 📸 Photo attachments support
- 🌐 i18n and l10n
Installation
Add this to your package's pubspec.yaml file:
flutter pub token add "https://artifacts.yalo.ai/artifactory/api/pub/<REPO_NAME>" --env-var MY_SECRET_TOKEN
dependencies:
yalo_chat_flutter_sdk:
hosted: https://artifacts.yalo.ai/artifactory/api/pub/<REPO_NAME>
version: ^1.0.0
Or run
dart pub add yalo_chat_flutter_sdk --hosted https://artifacts.yalo.ai/artifactory/api/pub/<REPO_NAME>
Message Types
The SDK supports various message types:
- Text messages
- Image messages
- Audio messages
- Product messages
Quick Start
1. Initialize the SDK
import 'package:chat_flutter_sdk/yalo_sdk.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
final YaloChatClient client = YaloChatClient(
name: 'Chat name',
flowKey: '1234567890',
);
}
2. Add Chat Widget
class ChatScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Chat(
client: yaloChatClient,
theme: ChatTheme(),
);
}
}
Configuration
App tool execution
If you want your agent to be able to execute tools inside your app, like retrieving information already calculated by your app, or execute custom code please refer to the tool execution documentation
Logging
Yalo Flutter SDK uses the logging package so you can enable logging by just defining a root logger like the following
void main() {
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((record) {
debugPrint(
'${record.level.name}: ${record.time}: ${record.message} ${record.error ?? ''}',
);
});
}
Theme Customization
All customization of the SDK is made by modifying the Yalo ChatTheme class.
If you already have a ThemeData in your project you can create a ChatTheme from it using the constructor
ChatTheme.fromThemeData(themeData);
You can merge ThemeData with a custom ChatTheme, by passing a base ChatTheme as a second parameter like this:
ChatTheme.fromThemeData(
themeData,
ChatTheme(
chatIconImage: const AssetImage(
'assets/images/oris-icon.png',
),
)
);
Examples
Check out the /example folder for a complete implementation example.
cd example
flutter run
Requirements
- Flutter SDK: >=3.0.0
- Dart: >=3.0.0
- iOS: >=11.0
- Android: API level 21+
Support
Libraries
- chat_flutter_sdk
- chat_flutter_sdk_method_channel
- chat_flutter_sdk_platform_interface
- chat_flutter_sdk_web
- data/services/client/yalo_chat_client
- domain/models/product/product
- l10n/yalo_sdk_localizations
- l10n/yalo_sdk_localizations.g
- l10n/yalo_sdk_localizations_en.g
- l10n/yalo_sdk_localizations_es.g
- ui/chat/widgets/chat
- ui/theme/chat_theme
- ui/theme/colors
- ui/theme/constants
- yalo_sdk