You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"comment": "Improved AI Assistant responsiveness on small screens by fixing chat overlay width, preventing mobile overflow, and restoring the mobile trigger button.",
"comment": "sdk-ui-filters: Fix Metric Value Filter's Apply button to being disabled when operator is ALL but dimensionality has changed, and fix blue backward compatibility message showing incorrectly after explicitly setting filter to ALL",
"comment": "sdk-ui-loaders: Fix dashboard plugin loader to support both named and default exports from plugin entry point, restoring backward compatibility with plugins built before the 'Ban default exports' change",
@@ -17,12 +17,13 @@ Before you can use the AI Assistant, you need to make sure it is properly set up
17
17
18
18
If you are using GoodData.CN, some additional configuration may be required. For details, see the [AI in GoodData.CN](https://www.gooddata.com/docs/cloud/ai/use-ai_assistant/configure-ai-assistant/#ai-in-gooddatacn) section of the article.
19
19
20
-
## Features
20
+
## AI Assistant Component Features
21
21
22
22
- Embed UI for the AI Assistant chat.
23
23
- Subscribe to chat events.
24
24
- Handle links in chat messages.
25
25
- Theming is supported out of the box through [Theme Provider].
26
+
- Customization of the initial assistant experience (welcome content and suggested questions).
| locale | ILocale | "en-US" | Specifies the locale for internationalization |
79
-
| backend | IAnalyticalBackend | - | Backend instance. Falls back to BackendProvider context if not specified |
80
-
| workspace | string | - | Workspace ID. Falls back to WorkspaceProvider context if not specified |
81
-
| colorPalette | IColorPalette | - | Color palette used for rendering the visualizations. If not provided, the default color palette will be used |
82
-
| catalogItems | CatalogItem[]| - | Catalog items used for autocompletion. If not provided - will be lazy-loaded when needed |
83
-
| eventHandlers | ChatEventHandler[]| - | Event handlers for user interactions with the chat UI |
84
-
| onLinkClick | (LinkHandlerEvent) => void | - | Handle user clicks on the catalog items mentioned in chat. |
85
-
| allowNativeLinks | boolean | false | Whether to allow native links in chat messages. If false, `onLinkClick` handler will be fired when clicking on links |
86
-
| disableManage | boolean | false | This will disable manage permissions for the user even if the user has them defined. |
87
-
| disableAnalyze | boolean | false | This will disable analyze permissions for the user even if the user has them defined. |
88
-
| disableFullControl | boolean | false | This will disable full control permissions for the user even if the user has them defined. |
89
-
| onDispatcher | (dispatch: (action: unknown) => void) => void | - | Dispatcher for sending messages in the chat. |
| locale | ILocale | "en-US" | Specifies the locale for internationalization |
80
+
| backend | IAnalyticalBackend | - | Backend instance. Falls back to BackendProvider context if not specified |
81
+
| workspace | string | - | Workspace ID. Falls back to WorkspaceProvider context if not specified |
82
+
| colorPalette | IColorPalette | - | Color palette used for rendering the visualizations. If not provided, the default color palette will be used |
83
+
| catalogItems | CatalogItem[]| - | Catalog items used for autocompletion. If not provided - will be lazy-loaded when needed |
84
+
| eventHandlers | ChatEventHandler[]| - | Event handlers for user interactions with the chat UI |
85
+
| onLinkClick | (LinkHandlerEvent) => void | - | Handle user clicks on the catalog items mentioned in chat. |
86
+
| allowNativeLinks | boolean | false | Whether to allow native links in chat messages. If false, `onLinkClick` handler will be fired when clicking on links |
87
+
| disableManage | boolean | false | This will disable manage permissions for the user even if the user has them defined. |
88
+
| disableAnalyze | boolean | false | This will disable analyze permissions for the user even if the user has them defined. |
89
+
| disableFullControl | boolean | false | This will disable full control permissions for the user even if the user has them defined. |
90
+
| onDispatcher | (dispatch: (action: unknown) => void) => void | - | Dispatcher for sending messages in the chat. |
91
+
| LandingScreenComponentProvider | () => ComponentType | - | Factory for providing a custom initial assistant experience component. When omitted, the default landing screen with quick questions is displayed. |
90
92
91
93
#### eventHandlers
92
94
@@ -116,7 +118,7 @@ Here is a list of the relevant events:
116
118
|`ChatAssistantMessageEvent`|`isChatAssistantMessageEvent`| Assistant responded with a message |
117
119
|`ChatFeedbackEvent`|`isChatFeedbackEvent`| User gave a feedback |
118
120
|`ChatVisualizationErrorEvent`|`isChatVisualizationErrorEvent`| Visualization failed to render |
119
-
|`ChatSaveVisualizationErrorEvent`|`isChatSaveVisualizationErrorEvent`| Chat failed to saved visualisation |
121
+
|`ChatSaveVisualizationErrorEvent`|`isChatSaveVisualizationErrorEvent`| Chat failed to save visualisation |
|`ChatCopyToClipboardEvent`|`isChatCopyToClipboardEvent`| Chat copy to clipboard event |
122
124
@@ -133,9 +135,101 @@ Each event contains the following properties:
133
135
| newTab | boolean | Whether the link should be opened in a new tab |
134
136
| preventDefault | () => void | Prevent default behavior of the link click |
135
137
136
-
> Note: If `allowNativeLinks` is set to `false` or keep default, in must be implemented`onLinkClick` handler to handle
138
+
> Note: If `allowNativeLinks` is set to `false` or keep default, in must implement`onLinkClick` handler to handle
137
139
> the links in chat messages. Otherwise, the links will not be clickable and do not have any effect.
138
140
141
+
## Initial Assistant Experience
142
+
143
+
The initial assistant experience defines what users see before they send their first message to the AI Assistant. It is used to introduce the assistant, provide guidance, and offer suggested questions to help users get started. Once a user submits a question the assistant switches to the standard chat interface. By default, the AI Assistant displays a built-in initial experience with a title and quick questions, which you can fully replace or customize to match your application’s branding and guidance needs.
144
+
145
+
### Customizing the initial assistant experience
146
+
147
+
To replace the default initial experience, provide the `LandingScreenComponentProvider` prop.
148
+
This prop accepts a factory function that returns a React component type, which is rendered as the initial assistant experience. The provider must return a component type, not JSX.
0 commit comments