Stay organized with collections
Save and categorize content based on your preferences.
This page contains the API documentation for the container method of implementing UI modules. The following are the Agent Assist features that you can implement as components within your container.
interfaceUiModuleContainerConfig{knowledgeAssistConfig?:{articleLinkConfig:{/** * Whether to open the article in a new tab or as a dialog. Defaults to new * tab. */target?:"blank"|"popup";/** * Options to configure the popup's size and location. See * https://developer.mozilla.org/en-US/docs/Web/API/Window/open#window_features. */popupWindowOptions?:string;/** * The field name on the document metadata if a separate article link source * is provided. */linkMetadataKey?:string;};};knowledgeAssistV2Config?:{articleLinkConfig?:{/** * Whether to open the article in a new tab or as a dialog. Defaults to new * tab. */target?:"blank"|"popup";/** * Options to configure the popup's size and location. See * https://developer.mozilla.org/en-US/docs/Web/API/Window/open#window_features. */popupWindowOptions?:string;/** * The field name on the document metadata if a separate article link source * is provided. */linkMetadataKey?:string;};showCopyAnswer:boolean;showPasteAnswer:boolean;};summarizationConfig?:{/** * Optional callback that can be used to save the generated summary to an * external source. */onSaveSummary?:(summary:{summary:string;conversationDetails:ConversationDetails;},saveCallbacks:{setLoading:()=>void;setSuccess:(message:string)=>void;setError:(message:string)=>void;})=>void;/** Whether to show the 'Generate summary' button. */showGenerateSummaryButton?:"true"|"false";};}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-10 UTC."],[[["\u003cp\u003eThis document outlines the API for implementing Agent Assist UI modules within a container, including Knowledge Assist, Generative Knowledge Assist, Smart Reply, and Conversation Summarization features.\u003c/p\u003e\n"],["\u003cp\u003eThe UI modules are embedded using the \u003ccode\u003e<agent-assist-ui-modules>\u003c/code\u003e tag, and you can configure various settings using attributes like \u003ccode\u003efeatures\u003c/code\u003e, \u003ccode\u003eapi-headers\u003c/code\u003e, \u003ccode\u003etheme\u003c/code\u003e, and \u003ccode\u003econversation-profile\u003c/code\u003e to customize how it is displayed.\u003c/p\u003e\n"],["\u003cp\u003eAgent Assist features are activated using comma-separated keys, such as \u003ccode\u003e'SMART_REPLY'\u003c/code\u003e, \u003ccode\u003e'CONVERSATION_SUMMARIZATION'\u003c/code\u003e, \u003ccode\u003e'FAQ'\u003c/code\u003e, \u003ccode\u003e'ARTICLE_SUGGESTION'\u003c/code\u003e, or \u003ccode\u003e'KNOWLEDGE_ASSIST_V2'\u003c/code\u003e, within the \u003ccode\u003efeatures\u003c/code\u003e attribute of the component tag.\u003c/p\u003e\n"],["\u003cp\u003eThe container supports different agent desktop integrations, including LivePerson, GenesysCloud, SalesForce, and Custom, through the \u003ccode\u003eagent-desktop\u003c/code\u003e attribute.\u003c/p\u003e\n"],["\u003cp\u003eThe UI module's behavior and presentation can be further customized through the use of inputs such as \u003ccode\u003esocketIoConnectOpts\u003c/code\u003e and \u003ccode\u003econfig\u003c/code\u003e, which provide settings for socket connections and module-specific options.\u003c/p\u003e\n"]]],[],null,["This page contains the API documentation for the container method of implementing UI modules. The following are the Agent Assist features that you can implement as components within your container.\n\n- [Knowledge assist](/agent-assist/docs/ui-modules-knowledge-assist-documentation), Keys: `'FAQ'` and `'ARTICLE_SUGGESTION'`\n- [Generative knowledge assist](/agent-assist/docs/ui-modules-knowledge-assist-v2-documentation), Key: `'KNOWLEDGE_ASSIST_V2'`\n- [Smart Reply](/agent-assist/docs/ui-modules-smart-reply-documentation), Key: `'SMART_REPLY'`\n- [Conversation Summarization](/agent-assist/docs/ui-modules-summarization-documentation), Key: `'CONVERSATION_SUMMARIZATION'`\n\nAttributes\n\n| Property name | Type | Comment |\n|--------------------------|-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|\n| features | string | Comma-separated list of Agent Assist suggestion feature keys to render. Example: \"SMART_REPLY, CONVERSATION_SUMMARIZATION\" |\n| api-headers | string | Additional headers to include in Dialogflow API calls. Example: \"Content-Type:application/json, Accept:application/json\" |\n| conversation-profile | string | Name of the conversation profile to use. |\n| agent-desktop | [AgentDesktop](#AgentDesktop) | Agent desktop software to integrate with. |\n| auth-token | string | Authentication token to use for API calls. |\n| api-key | string | Optional API key to use for API calls. |\n| channel | [CommunicationChannel](#CommunicationChannel) | Communication channel used for this application (chat, voice, or omnichannel). |\n| custom-api-endpoint | string | Optional custom API endpoint to use (if UI modules are configured with a proxy server). |\n| theme | 'dark' \\| 'light' | Color theme to use. |\n| show-header | [BooleanString](#BooleanString) | Whether to show the Agent Assist suggestions header. |\n| dark-mode-background | string | Background color to use for dark mode. If none is specified, defaults are provided for the primary supported agent desktops. |\n| notifier-server-endpoint | string | Notifier server endpoint to use for event-based conversations. |\n| event-based-transport | [EventBasedTransport](#EventBasedTransport) | Transport protocol to use for event-based conversations. |\n| event-based-library | [EventBasedLibrary](#EventBasedLibrary) | Library to use for event-based conversations. |\n| oauth-client-id | string | Optional OAuth Client ID for implicit authentication, used in some agent desktop configurations (Genesys Cloud). |\n| redirect-uri | string | Optional redirect URI to navigate to after authentication, used in some agent desktop configurations (Genesys Cloud). |\n| genesys-cloud-region | string | Optional region for Genesys Cloud, defaults to mypurecloud.com. |\n\nUsage\n\nAttributes are string-based component properties which can be set in the following ways: \n\nHTML\n\n\n`js\n\u003celement-selector property-name=\"value\"\u003e`\n\nJavaScript\n\n\n`js\nvar el = document.querySelector('element-selector');\nel.setAttribute('property-name', 'value');`\n\nInputs\n\n| Property name | Type | Comment |\n|---------------------|-----------------------------------------------------|----------------------------------------------------------------|\n| socketIoConnectOpts | [SocketIoConnectOpts](#SocketIoConnectOpts) | Additional Socket.io connect options. |\n| config | [UiModuleContainerConfig](#UiModuleContainerConfig) | Configuration object to define module-specific configurations. |\n\nUsage\n\nInputs are typically JavaScript objects or other complex property types which must be assigned on the element instance directly: \n\n const el = document.querySelector('element-selector');\n el.propertyName = value;\n\nTypes\n\nSee the following section for the custom types used by the component.\n\nAgentDesktop \n\n \"LivePerson\" | \"GenesysCloud\" | \"SalesForce\" | \"Custom\"\n\nCommunicationChannel \n\n \"chat\" | \"voice\" | \"omnichannel\"\n\nBooleanString \n\n \"true\" | \"false\"\n\nEventBasedTransport \n\n \"websocket\" | \"polling\"\n\nEventBasedLibrary \n\n \"SocketIo\"\n\nSocketIoConnectOpts \n\n interface SocketIoConnectOpts extends SocketIOClient.ConnectOpts {\n auth: {\n token: string;\n };\n withCredentials?: boolean;\n }\n\nUiModuleContainerConfig \n\n interface UiModuleContainerConfig {\n knowledgeAssistConfig?: {\n articleLinkConfig: {\n /**\n * Whether to open the article in a new tab or as a dialog. Defaults to new\n * tab.\n */\n target?: \"blank\" | \"popup\";\n /**\n * Options to configure the popup's size and location. See\n * https://developer.mozilla.org/en-US/docs/Web/API/Window/open#window_features.\n */\n popupWindowOptions?: string;\n /**\n * The field name on the document metadata if a separate article link source\n * is provided.\n */\n linkMetadataKey?: string;\n };\n };\n knowledgeAssistV2Config?: {\n articleLinkConfig?: {\n /**\n * Whether to open the article in a new tab or as a dialog. Defaults to new\n * tab.\n */\n target?: \"blank\" | \"popup\";\n /**\n * Options to configure the popup's size and location. See\n * https://developer.mozilla.org/en-US/docs/Web/API/Window/open#window_features.\n */\n popupWindowOptions?: string;\n /**\n * The field name on the document metadata if a separate article link source\n * is provided.\n */\n linkMetadataKey?: string;\n };\n showCopyAnswer: boolean;\n showPasteAnswer: boolean;\n };\n summarizationConfig?: {\n /**\n * Optional callback that can be used to save the generated summary to an\n * external source.\n */\n onSaveSummary?: (\n summary: {\n summary: string;\n conversationDetails: ConversationDetails;\n },\n saveCallbacks: {\n setLoading: () =\u003e void;\n setSuccess: (message: string) =\u003e void;\n setError: (message: string) =\u003e void;\n }\n ) =\u003e void;\n\n /** Whether to show the 'Generate summary' button. */\n showGenerateSummaryButton?: \"true\" | \"false\";\n };\n }"]]