AI-powered Customer Service - Tencent Cloud Desk

Tencent Cloud Desk Customer UIKit is a UIKit for integrating AI-powered customer service chat on the customer side of Tencent Cloud Desk, providing efficient and seamless communication with both AI and human agents.

Key Features

  • Built for customer service – Optimized UI, interactions, and workflows.
  • Quick integration – Add a complete chat interface with just a few lines of code.
  • Customizable – Supports global and session-level configurations.

Requirements

Environment

  • Flutter version: 3.24 or later
  • Platform support: Compatible with both emulators and physical devices

Note: Flutter 3.24+ is recommended. If using an older version, consider integrating the IM UIKit with the customer service plugin instead.

Prerequisites

Before integrating, complete the following steps:

  1. Create a Tencent Cloud Chat application.
  2. Enable the Desk feature.
  3. Obtain a Customer Service ID.

For detailed setup instructions, refer to the Tencent Cloud Desk Quick Start Guide.


Installation

Install the tencentcloud_ai_desk_customer package via pub:

flutter pub add tencentcloud_ai_desk_customer

Usage

1. Initialize the SDK

Call init to initialize the SDK and configure global settings. Authentication requires Tencent Cloud Chat credentials (SDKAppID, userID, userSig).

Example

import 'package:tencentcloud_ai_desk_customer/tencentcloud_ai_desk_customer.dart';

TencentCloudAIDeskCustomer.init(
  sdkAppID: "SDKAppID",  // Your SDKAppID from the Tencent Cloud Chat Console
  userID: "userID",      // The authenticated user ID
  userSig: "userSig",    // The authentication signature
  config: TencentCloudCustomerConfig(), // Optional: Global configuration for customer service interactions
);

2. Launch the Customer Service Chat Interface

Use navigate to open the customer service chat screen. Session-level configurations can be applied to override global settings.

Example

import 'package:tencentcloud_ai_desk_customer/tencentcloud_ai_desk_customer.dart';

TencentCloudAIDeskCustomer.navigate(
  context: context, // Flutter's BuildContext
  customerServiceID: "@customer_service_account", // The customer service account to connect with
  config: TencentCloudCustomerConfig(), // Optional: Session-specific configuration
);

Learn More

For comprehensive documentation, visit the Tencent Cloud Desk Documentation.

Libraries

base_widgets/tim_ui_kit_base
base_widgets/tim_ui_kit_class
base_widgets/tim_ui_kit_state
base_widgets/tim_ui_kit_statelesswidget
business_logic/life_cycle/base_life_cycle
business_logic/life_cycle/chat_life_cycle
business_logic/listener_model/tui_group_listener_model
business_logic/model/profile_model
business_logic/separate_models/tui_chat_model_tools
business_logic/separate_models/tui_chat_separate_view_model
business_logic/view_models/tui_chat_global_model
business_logic/view_models/tui_conversation_view_model
business_logic/view_models/tui_self_info_view_model
business_logic/view_models/tui_setting_model
customer_service/data/tencent_cloud_customer_data
customer_service/manager/tencent_cloud_customer_manager
customer_service/manager/tencent_cloud_customer_manager_impl
customer_service/model/tencent_cloud_customer_config
customer_service/model/tencent_cloud_customer_qucik_message
customer_service/plugin/common/utils
customer_service/plugin/components/message-branch
customer_service/plugin/components/message-branchMessage
customer_service/plugin/components/message-create/card_create
customer_service/plugin/components/message-customer-service
customer_service/plugin/components/message-form/message-form
customer_service/plugin/components/message-form/message-formInput
customer_service/plugin/components/message-form/message-formInput-mobile
customer_service/plugin/components/message-form/mobile_form
customer_service/plugin/components/message-formSave/formSave-branch
customer_service/plugin/components/message-formSave/formSave-input
customer_service/plugin/components/message-formSave/message-formSave
customer_service/plugin/components/message-loading
customer_service/plugin/components/message-multiple
customer_service/plugin/components/message-orderCard
customer_service/plugin/components/message-productCard
customer_service/plugin/components/message-rating/message-rating
customer_service/plugin/components/message-rating/rating-number
customer_service/plugin/components/message-rating/rating-star
customer_service/plugin/components/message-richText
customer_service/plugin/components/message-robot-welcome
customer_service/plugin/components/message-robot.dart/message-robot
customer_service/plugin/components/message-robot.dart/robot-card
customer_service/plugin/components/message-robot.dart/robot-text
customer_service/plugin/components/message-show
customer_service/plugin/components/message-stream
customer_service/plugin/tencent_cloud_chat_customer_service_plugin
customer_service/utils/tencent_cloud_customer_logger
customer_service/utils/tencent_cloud_customer_toast
customer_service/widgets/tencent_cloud_customer_message_container
customer_service/widgets/tencent_cloud_customer_message_header
customer_service/widgets/tencent_cloud_customer_message_quick_message
customer_service/widgets/tencent_cloud_customer_message_tongue_item
data_services/conversation/conversation_services
data_services/conversation/conversation_services_implements
data_services/core/core_services
data_services/core/core_services_implements
data_services/core/tim_uikit_config
data_services/core/tim_uikit_wide_modal_operation_key
data_services/core/web_support/uikit_web_support
data_services/core/web_support/uikit_web_support_implement
data_services/friendShip/friendship_services
data_services/friendShip/friendship_services_implements
data_services/group/group_services
data_services/group/group_services_implement
data_services/message/message_service_implement
data_services/message/message_services
data_services/services_locatar
import_proxy/general
import_proxy/import_proxy
import_proxy/platform/native_import
import_proxy/platform/web_import
tencentcloud_ai_desk_customer
ui/constants/history_message_constant
ui/constants/time
ui/controller/tim_uikit_chat_controller
ui/theme/tim_uikit_avatar_theme
ui/theme/tim_uikit_message_theme
ui/utils/common_utils
ui/utils/custom_sticker
ui/utils/error_message_converter
ui/utils/frame
ui/utils/logger
ui/utils/message
ui/utils/optimize_utils
ui/utils/permission
ui/utils/platform
ui/utils/route
ui/utils/screen_shot
ui/utils/screen_utils
ui/utils/sound_record
ui/utils/time_ago
ui/views/TIMUIKitChat/tim_uikit_chat
ui/views/TIMUIKitChat/tim_uikit_chat_config
ui/views/TIMUIKitChat/tim_uikit_cloud_custom_data
ui/views/TIMUIKitChat/tim_uikit_multi_select_panel
ui/views/TIMUIKitChat/tim_uikit_send_file
ui/views/TIMUIKitChat/TIMUIKitAppBar/tim_uikit_appbar
ui/views/TIMUIKitChat/TIMUIKitAppBar/tim_uikit_appbar_title
ui/views/TIMUIKitChat/TIMUIKitMessageItem/main
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_custom_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_face_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_file_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_file_icon
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_group_tips_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_image_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_reply_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_sound_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_translate_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_video_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_videoplayer
ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_merger_message_elem
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/message_reaction_emoji
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_detail
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_select_emoji
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_show_item
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_show_panel
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_utils
ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_wrapper
ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list
ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_config
ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item
ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_message_tooltip
ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_history_message_list_container
ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_message_read_receipt
ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_chat_history_message_list_tongue
ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_chat_history_message_list_tongue_container
ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_tongue_item
ui/views/TIMUIKitChat/TIMUIKItMessageList/utils
ui/views/TIMUIKitChat/TIMUIKitTextField/at_member_panel
ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/DefaultSpecialTextSpanBuilder
ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/emoji_text
ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/http_text
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_at_text
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_call_invite_list
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_emoji_panel
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_more_panel
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_send_sound_message
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_controller
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow
ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/wide
ui/widgets/avatar
ui/widgets/az_list_view
ui/widgets/center_play_button
ui/widgets/column_menu
ui/widgets/customize_ball_pulse_header
ui/widgets/drag_widget
ui/widgets/emoji
ui/widgets/extended_wrap/extended_render_wrap
ui/widgets/extended_wrap/extended_wrap
ui/widgets/forward_message_screen
ui/widgets/gestured_image
ui/widgets/group_member_list
ui/widgets/image_hero
ui/widgets/image_screen
ui/widgets/keepalive_wrapper
ui/widgets/link_preview/common/extensions
ui/widgets/link_preview/common/utils
ui/widgets/link_preview/compiler/md_text
ui/widgets/link_preview/link_preview_entry
ui/widgets/loading
ui/widgets/merger_message_screen
ui/widgets/message_read_receipt
ui/widgets/radio_button
ui/widgets/recent_conversation_list
ui/widgets/text_input_bottom_sheet
ui/widgets/textSize
ui/widgets/unread_message
ui/widgets/video_custom_control
ui/widgets/video_screen
ui/widgets/wide_popup