kerabie_helpdesk_flutter 0.6.1
kerabie_helpdesk_flutter: ^0.6.1 copied to clipboard
Embed the Kerabie help desk in a Flutter app. Live chat with photos and files, a help centre, tickets, a store, campaigns and a launcher.
0.6.1 #
- A session belongs to one person. When someone else signs in after a signed-in person, or nobody does, the session, conversations and connection start again, so the new person never sees the earlier one conversations and the earlier contact is not renamed. Anonymous to signed in keeps the session.
0.6.0 #
openWithContextopens a new chat directly (not the Home screen) with what the customer was looking at already in the message box:I need help with <title> (ref <id>).and the first six simple values ofdata. The customer adds what went wrong and sends it. Give your own wording withKerabieChatContext(message: ...). It also opens the chat when the session is not ready yet, and still tells the agent when it is.
0.5.1 #
- The user in
KerabieConfigis followed after the first build. Before, a user who arrived later (the app loads the signed-in person afterKerabieProviderwas built) never reached the team, so the conversation showed "Visitor". Now a changed user is identified, and a user that becomes null is cleared.
0.5.0 #
- The AI agent in the chat:
KerabieProvider(agent: KerabieAgentOptions(...)). Every message carries the signed-in customer's token (getUserToken), and the AI can ask your app to show a screen (a list, a confirmation and an address box are built in; add your own inscreens) or run an action (actions, for example adding to your own cart). Needs the samenavigatorKeyas yourMaterialApp. Withoutagentthe chat is unchanged.KerabieAgentOptions,KerabieAgentActionandKerabieScreenHandlernow live here, so the chat agent needs no call code. KerabieController.startCalltakesuserToken(the signed-in customer's token) anduiTools(the screens the app can show) for the AI agent inkerabie_helpdesk_flutter_calls0.3.0. Kerabie keeps the token encrypted for the length of the call and sends it to your tools asX-Kerabie-User-Token; it is never shown to the AI.
0.4.0 #
KerabieProvider(callActions: ...)shows a widget in the chat header, next to settings. PassKerabieCallButton.icon()fromkerabie_helpdesk_flutter_callsto put call buttons in the chat. It is a widget you pass in, so this package never carries the call code.- The pre-chat form logic is now shared with calls: a new
KerabiePreChatextension onKerabieController(preChatFields,hasAnsweredPreChat,needsPreChatDetails,submitPreChat),kerabieDefaultPreChatFields, andKerabiePreChatFormis exported. A call asks the same questions as the chat when the organisation has the form on and the customer is not identified.
0.3.1 #
- An article an AI reply cites is now a tappable card like a link preview: the article's picture, its title and the start of its text. The article is fetched once per session.
- The unread count in the conversation list is now right: a conversation counts as read while the customer has it open, and only replies from the team or the AI that came in after that are unread. Needs the matching Kerabie server update (
POST /public/widget/conversations/:id/read). - New
controller.markConversationRead(id),controller.loadArticle(id)andkerabieArticleExcerpt.
0.3.0 #
- The chat now opens as the same tabbed widget as the web chat: Home (header with logo, status and greeting, search, featured products, suggested articles and an "Ask our AI / Chat with us" card), Chat, Help and Tickets (when the dashboard has them on).
- Chat in the full layout lists the customer's conversations with a New chat button; the single layout opens straight on one continuous chat with the whole recent history, and shows the tabs only when "Show navigation" is on.
- Help has the customer's data options and the most useful knowledge base articles as FAQs.
- A tapped notification or
<scheme>://conversation/:idlink opens the widget on that conversation. - Tapping a featured product opens a sheet with its picture, price, description and a link to the store.
- New controller members:
startNewConversation,openConversation,conversationsLoaded. NewKerabieChatSettingsfields from the dashboard:logoUrl,showNavigation,showGreeting,greetingText,showStatusChip,statusChipText,chatHistoryEnabled. - New
KerabieWidgetis whatKerabieChat.showpresents;KerabieChatScreenis now just the conversation (withonBackandembeddedfor building your own navigation). - Real icons instead of emoji for attachments, the emoji button, articles, products and the AI avatar.
- Breaking: the settings menu no longer has Change name (the app identifies the customer with
setUser; anonymous visitors give their name in the pre-chat form), and the chat's settings gear is gone: settings live in the Help tab. - Breaking: in
openMode: push, show aKerabieWidget(orKerabieChatScreen) in your own route.
0.2.1 #
- Agents see whether the customer is on iOS or Android next to the app version.
- Removed the
baseUrloption: the SDK always talks to Kerabie.
0.2.0 #
- Photos and files in the chat: pick one, it uploads in the background, and it goes out with your caption. Images open full screen.
- An emoji picker with search and recently used emoji.
- Link previews under messages, read ticks, and links to the knowledge base articles an AI reply used.
- A pre-chat form for contact details: the questions you set in the dashboard, or a name and email form when nobody is online and the AI is off.
- A settings menu in the chat: change name, share or email the transcript, download or erase the customer's data.
- The search bar launcher, and
KerabieLaunchernow draws the floating button or the search bar, whichever the dashboard picked. - Ready-made screens:
KerabieKnowledgeBaseScreen(search and article feedback),KerabieStoreScreen,KerabieTicketsScreenandKerabieTicketDetailScreen. - Campaigns: proactive messages from the dashboard appear above the launcher, limited to screens, audiences and frequencies, and their results are counted.
KerabieNavigatorObserverandtrackScreentell Kerabie which screen the customer is on.setUser,clearUser,updateAttributeandsetAppVersionchange who the customer is while the app runs.openWithContextopens the chat and tells the agent what the customer was looking at;openWithDrafthands text to the chat.openMode(modal,sheet,pushwithonNavigate),position,defaultOpen,hideFloatingButton,onOpenChat,onCloseChatandonOpenKnowledgeBase.KerabieChatSettingsoverrides what the dashboard saved: title, welcome message, branding, typing indicator, attachments, layout, menu, launcher and pre-chat form. The welcome message can use{{name}}.- More
KerabieThemeoptions:bubbleIcon,bubbleSize,bubbleIconSize,fontFamilyandchatbotAvatarUrl. - A message sent while the connection is down fails at once and can be tapped to send again. The first message of a conversation no longer lets a second one start another conversation.
- The chat shows a reconnecting banner after a drop of three seconds, and replies missed while offline count as unread.
- Breaking: the dashboard's chat values moved from
KerabieSettingsintoKerabieSettings.chat(settings.chat.name,settings.chat.welcomeMessage,settings.chat.showBranding).controller.chatgives the values in force. The welcome message shows only while the conversation is empty. - On iOS, add
NSPhotoLibraryUsageDescriptiontoInfo.plistso customers can attach photos.
0.1.0 #
- First release:
KerabieProvider,KerabieLauncher,KerabieChat.showandKerabieController. - Real-time chat that lands in your Kerabie inbox.
- Chat history, user identification, unread count, typing indicators and streamed AI replies.
- Colours, theme mode, widget name and welcome message follow the settings saved in the Kerabie dashboard.
- The requests and events behind voice and video calls, used by the optional
kerabie_helpdesk_flutter_callspackage. - The custom launcher icon, its size and the AI assistant picture set in the dashboard.
- Light, dark or automatic theme, set in the dashboard or with
KerabieTheme.mode. - Text on coloured backgrounds is dark or white by luminance, so it stays readable on any brand colour.
KerabieThemeoverrides:mode,backgroundColor,textColor,agentBubbleColor,userBubbleColor,bubbleColor.