{"componentChunkName":"component---src-pages-experimental-chatbot-usage-mdx","path":"/experimental/chatbot/usage/","result":{"pageContext":{"isCreatedByStatefulCreatePages":true,"frontmatter":{"title":"Chatbots","description":"Use a chatbot when a user would benefit from requesting information on-demand with natural language. They should receive a useful and trustworthy response related to their question or task.","tabs":["Overview","Usage","Flows","Content"]},"relativePagePath":"/experimental/chatbot/usage.mdx","titleType":"prepend","MdxNode":{"id":"adcd7cbe-7832-583d-8e6e-dc146d0d5aad","children":[],"parent":"888ba44d-6ee8-569b-8c76-80035fd24a7a","internal":{"content":"---\ntitle: Chatbots\ndescription: Use a chatbot when a user would benefit from requesting information on-demand with natural language. They should receive a useful and trustworthy response related to their question or task.\ntabs: ['Overview', 'Usage', 'Flows', 'Content']\n---\n\nimport {\n  StructuredListWrapper,\n  StructuredListHead,\n  StructuredListRow,\n  StructuredListCell,\n  StructuredListBody,\n  UnorderedList,\n  ListItem,\n} from 'carbon-components-react';\n\n<AnchorLinks>\n\n<AnchorLink> Anatomy </AnchorLink>\n<AnchorLink> Requesting information </AnchorLink>\n<AnchorLink> Best practices </AnchorLink>\n\n</AnchorLinks>\n\n## Anatomy\n\nThe following diagram outlines the primary components within the chatbot pattern.\n\n<Image src=\"/images/chatbot-4.png\" />\n\n<StructuredListWrapper>\n  <StructuredListHead>\n    <StructuredListRow head>\n      <StructuredListCell head>Component</StructuredListCell>\n      <StructuredListCell head>Usage</StructuredListCell>\n      <StructuredListCell head>Variants</StructuredListCell>\n    </StructuredListRow>\n  </StructuredListHead>\n  <StructuredListBody>\n    <StructuredListRow>\n      <StructuredListCell>Chatbot header</StructuredListCell>\n      <StructuredListCell>\n        The chatbot header contains the title of the chat and up to four action\n        buttons that control the chatbot application. Typically, the “close”\n        icon must always be included.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n          <ListItem>Regular (with avatar)</ListItem>\n          <ListItem>Large</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>System message</StructuredListCell>\n      <StructuredListCell>\n        System Messages represent the bot's response to the user. Past messages\n        will have a faded treatment, whereas active messages have an indicator\n        applied (see below)\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>User message</StructuredListCell>\n      <StructuredListCell>\n        A user message indicates what the user has input via text input,\n        structured response, or voice.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Structured response</StructuredListCell>\n      <StructuredListCell>\n        Structured responses present choices to the user that are easy for the\n        bot to understand. When selected, a structured response will change its\n        visual appearance and a user message will appear with the same content.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Default</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Chatbot input</StructuredListCell>\n      <StructuredListCell>\n        The Chatbot input is comprised of a text input field, a configurable\n        button for other input (e.g., voice) and a submit button.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Launch button (not shown)</StructuredListCell>\n      <StructuredListCell>\n        Launch buttons are the means by which a user initiates a conversation\n        with your bot and are the first interaction of the bot experience.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Primary</ListItem>\n          <ListItem>Alternate</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Chatbot cards</StructuredListCell>\n      <StructuredListCell>\n        Cards are used to display more information (including text and images)\n        about a significant action that a user can take. They can also be used\n        to display text and image together for a purely informational purpose.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Card with text (Hero)</ListItem>\n          <ListItem>Card with text (Large)</ListItem>\n          <ListItem>Card with text (Mini)</ListItem>\n          <ListItem>Card with image (Avatar)</ListItem>\n          <ListItem>Card with image (Large)</ListItem>\n          <ListItem>Card with image (Mini)</ListItem>\n          <ListItem>Card with data (Table)</ListItem>\n          <ListItem>Card with data (Visualization)</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n  </StructuredListBody>\n</StructuredListWrapper>\n\n## Requesting information\n\nThe following flow shows a typical exchange between a user and a bot. This model can be used as a baseline to start building useful conversational experiences.\n\n![Requesting information from a chatbot](images/chatbot-1.png)\n\n## Best practices\n\nAt a minimum, use these best practices to help ensure a successful conversational experience. For more in-depth conversational principles, see [IBM Design for Conversational AI](https://www.ibm.com/design/ai/conversation).\n\n#### Introduction\n\nEnsure your users know they are talking to a bot and that the bot has stated its purpose. Set the context for what questions users can ask about.\n\n![Chatbot greeting](images/chatbot-7.png)\n\n<Caption>chatbot greeting</Caption>\n\n#### User intent\n\nTypically, a user inputs an intent, which can be request for information or a task for the bot to complete. This can take the form of a text (shown here) as well as a structured response (see next section)\n\n![User Intent](images/chatbot-8.png)\n\n<Caption>User intent</Caption>\n\n#### Structured responses\n\nPrompt for additional details with a menu of structured responses. This narrows the scope to more specific information to answer the user’s question.\n\n![Structured Responses](images/chatbot-9.png)\n\n<Caption>Structured responses</Caption>\n\n#### Reflection\n\nThe bot should reflect its understanding of the query in the response (when appropriate) to ensure understanding, or before performing a significant action. Note: This process of slotfilling may need to be repeated until the bot has all the information required to answer the user’s initial question.\n\n![Reflection](images/chatbot-10.png)\n\n<Caption>Reflection</Caption>\n\n#### Provide a response and request feedback\n\nThe bot should provide a thoughtful, informative response to the user’s intent, based on the information they have provided throughout the conversation. When appropriate, be sure to provide an opportunity for users to give feedback. Consider allowing the user to input a custom response. Provide an opportunity for users to give feedback where possible. Consider allowing the user to input a custom response.\n\n![Provide a response and request feedback](images/chatbot-11.png)\n\n<Caption>Provide a response and request feedback</Caption>\n","type":"Mdx","contentDigest":"a88017225fda5b00fe4258ea684fcaa6","counter":1422,"owner":"gatsby-plugin-mdx"},"frontmatter":{"title":"Chatbots","description":"Use a chatbot when a user would benefit from requesting information on-demand with natural language. They should receive a useful and trustworthy response related to their question or task.","tabs":["Overview","Usage","Flows","Content"]},"exports":{},"rawBody":"---\ntitle: Chatbots\ndescription: Use a chatbot when a user would benefit from requesting information on-demand with natural language. They should receive a useful and trustworthy response related to their question or task.\ntabs: ['Overview', 'Usage', 'Flows', 'Content']\n---\n\nimport {\n  StructuredListWrapper,\n  StructuredListHead,\n  StructuredListRow,\n  StructuredListCell,\n  StructuredListBody,\n  UnorderedList,\n  ListItem,\n} from 'carbon-components-react';\n\n<AnchorLinks>\n\n<AnchorLink> Anatomy </AnchorLink>\n<AnchorLink> Requesting information </AnchorLink>\n<AnchorLink> Best practices </AnchorLink>\n\n</AnchorLinks>\n\n## Anatomy\n\nThe following diagram outlines the primary components within the chatbot pattern.\n\n<Image src=\"/images/chatbot-4.png\" />\n\n<StructuredListWrapper>\n  <StructuredListHead>\n    <StructuredListRow head>\n      <StructuredListCell head>Component</StructuredListCell>\n      <StructuredListCell head>Usage</StructuredListCell>\n      <StructuredListCell head>Variants</StructuredListCell>\n    </StructuredListRow>\n  </StructuredListHead>\n  <StructuredListBody>\n    <StructuredListRow>\n      <StructuredListCell>Chatbot header</StructuredListCell>\n      <StructuredListCell>\n        The chatbot header contains the title of the chat and up to four action\n        buttons that control the chatbot application. Typically, the “close”\n        icon must always be included.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n          <ListItem>Regular (with avatar)</ListItem>\n          <ListItem>Large</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>System message</StructuredListCell>\n      <StructuredListCell>\n        System Messages represent the bot's response to the user. Past messages\n        will have a faded treatment, whereas active messages have an indicator\n        applied (see below)\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>User message</StructuredListCell>\n      <StructuredListCell>\n        A user message indicates what the user has input via text input,\n        structured response, or voice.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Structured response</StructuredListCell>\n      <StructuredListCell>\n        Structured responses present choices to the user that are easy for the\n        bot to understand. When selected, a structured response will change its\n        visual appearance and a user message will appear with the same content.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Default</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Chatbot input</StructuredListCell>\n      <StructuredListCell>\n        The Chatbot input is comprised of a text input field, a configurable\n        button for other input (e.g., voice) and a submit button.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Tight</ListItem>\n          <ListItem>Regular</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Launch button (not shown)</StructuredListCell>\n      <StructuredListCell>\n        Launch buttons are the means by which a user initiates a conversation\n        with your bot and are the first interaction of the bot experience.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Primary</ListItem>\n          <ListItem>Alternate</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n    <StructuredListRow>\n      <StructuredListCell>Chatbot cards</StructuredListCell>\n      <StructuredListCell>\n        Cards are used to display more information (including text and images)\n        about a significant action that a user can take. They can also be used\n        to display text and image together for a purely informational purpose.\n      </StructuredListCell>\n      <StructuredListCell>\n        <UnorderedList>\n          <ListItem>Card with text (Hero)</ListItem>\n          <ListItem>Card with text (Large)</ListItem>\n          <ListItem>Card with text (Mini)</ListItem>\n          <ListItem>Card with image (Avatar)</ListItem>\n          <ListItem>Card with image (Large)</ListItem>\n          <ListItem>Card with image (Mini)</ListItem>\n          <ListItem>Card with data (Table)</ListItem>\n          <ListItem>Card with data (Visualization)</ListItem>\n        </UnorderedList>\n      </StructuredListCell>\n    </StructuredListRow>\n  </StructuredListBody>\n</StructuredListWrapper>\n\n## Requesting information\n\nThe following flow shows a typical exchange between a user and a bot. This model can be used as a baseline to start building useful conversational experiences.\n\n![Requesting information from a chatbot](images/chatbot-1.png)\n\n## Best practices\n\nAt a minimum, use these best practices to help ensure a successful conversational experience. For more in-depth conversational principles, see [IBM Design for Conversational AI](https://www.ibm.com/design/ai/conversation).\n\n#### Introduction\n\nEnsure your users know they are talking to a bot and that the bot has stated its purpose. Set the context for what questions users can ask about.\n\n![Chatbot greeting](images/chatbot-7.png)\n\n<Caption>chatbot greeting</Caption>\n\n#### User intent\n\nTypically, a user inputs an intent, which can be request for information or a task for the bot to complete. This can take the form of a text (shown here) as well as a structured response (see next section)\n\n![User Intent](images/chatbot-8.png)\n\n<Caption>User intent</Caption>\n\n#### Structured responses\n\nPrompt for additional details with a menu of structured responses. This narrows the scope to more specific information to answer the user’s question.\n\n![Structured Responses](images/chatbot-9.png)\n\n<Caption>Structured responses</Caption>\n\n#### Reflection\n\nThe bot should reflect its understanding of the query in the response (when appropriate) to ensure understanding, or before performing a significant action. Note: This process of slotfilling may need to be repeated until the bot has all the information required to answer the user’s initial question.\n\n![Reflection](images/chatbot-10.png)\n\n<Caption>Reflection</Caption>\n\n#### Provide a response and request feedback\n\nThe bot should provide a thoughtful, informative response to the user’s intent, based on the information they have provided throughout the conversation. When appropriate, be sure to provide an opportunity for users to give feedback. Consider allowing the user to input a custom response. Provide an opportunity for users to give feedback where possible. Consider allowing the user to input a custom response.\n\n![Provide a response and request feedback](images/chatbot-11.png)\n\n<Caption>Provide a response and request feedback</Caption>\n","fileAbsolutePath":"/zeit/3ed0734e/src/pages/experimental/chatbot/usage.mdx"}}}}