## Usage ```jsx import React from "react"; import { Amplify } from "aws-amplify"; import {AmplifyChatbot} from "@aws-amplify/ui-react"; import awsconfig from "./aws-exports"; Amplify.configure(awsconfig); const App = () => ( ); ``` import all0 from "/src/fragments/ui/angular/configure-module.mdx"; _app.component.html_ ```html ``` import all2 from "/src/fragments/ui/vue/configure-app.mdx"; _App.vue_ ```html ``` ## Use Cases ### Setting Up Voice Chat In order for voice input to work with Amazon Lex, you may have to enable output voice in [AWS Management Console](https://console.aws.amazon.com/console/home). Under the Amazon Lex service, click on your configured Lex chatbot and go to settings -> General and pick your desired output voice. ### Listening to Chat Fulfillment Once a conversation session is finished, `amplify-chatbot` emits a custom event `chatCompleted` that your app can listen to: ```js function App() { const handleChatComplete = (event) => { const {data, err} = event.detail; if (data) console.log("Chat fulfilled!", JSON.stringify(data)); if (err) console.error("Chat failed:", err); }; useEffect(() => { const chatbotElement = document.querySelector("amplify-chatbot"); chatbotElement.addEventListener("chatCompleted", handleChatComplete); return function cleanup() { chatbotElement.removeEventListener("chatCompleted", handleChatComplete); }; }, []); } ``` ```html ``` ```html ``` ```js const handleChatComplete = (event: Event) => { const { data, err } = (event as any).detail; if (data) console.log('Chat fulfilled!', JSON.stringify(data)); if (err) console.error('Chat failed:', err); }; export class AppComponent implements OnInit, OnDestroy { ngOnInit(): void { const chatbotElement = document.querySelector('amplify-chatbot'); chatbotElement.addEventListener('chatCompleted', handleChatComplete); } ngOnDestroy(): void { const chatbotElement = document.querySelector('amplify-chatbot'); chatbotElement.removeEventListener('chatCompleted', handleChatComplete); } } ```