{"id":189,"date":"2017-07-05T04:40:03","date_gmt":"2017-07-05T11:40:03","guid":{"rendered":""},"modified":"2025-06-11T08:12:59","modified_gmt":"2025-06-11T15:12:59","slug":"powerappsbot","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/powerappsbot\/","title":{"rendered":"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots"},"content":{"rendered":"<p>As a regular power user, I frequently find myself referring to PowerApps, Flow, Power BI websites for the latest release information and documentation around the products. I would love to have this information handy in an app that I can query anytime instead of browsing through websites. In this blog post, I will walk you through the steps to create a simple bot app with PowerApps and the Microsoft QnA Maker. In future posts, we will look at other smart services to use with PowerApps.<\/p>\n<p>\u00a0<\/p>\n<p>There are three pieces to building the smart app:<\/p>\n<ol>\n<li><strong>Build the bot service<\/strong>: Create the QnA bot service that can answer questions<\/li>\n<li><strong>Create a custom API<\/strong>: A connection from PowerApps to the bot service to interface the questions and answers<\/li>\n<li><strong>Build the app<\/strong>: The app that can present and input information from the user<\/li>\n<\/ol>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"appOverview\" border=\"0\" height=\"480\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"appOverview\" width=\"541\"\/><\/a><\/p>\n<p>\u00a0<\/p>\n<p>Let\u2019s explore each of these steps in detail.<\/p>\n<p>\u00a0<\/p>\n<h2>Build the bot service &#8211; QnA Maker<\/h2>\n<p>You can build a bot using one of the several ways outlined in <a href=\"https:\/\/dev.botframework.com\/\">https:\/\/dev.botframework.com<\/a>. In this example, we will build a bot using the QnAMaker service.<\/p>\n<ul>\n<li>Navigate to <a href=\"https:\/\/qnamaker.ai\/\">https:\/\/qnamaker.ai\/<\/a> and sign-up for an account<\/li>\n<li>Click on \u201cCreate new service\u201d, enter a name for your QnA service<\/li>\n<li>Upload a file or point to a FAQ URL to train the bot. I created an Excel file with questions and answers as the starting point that I tweaked later. The content to the file was sourced from the PowerApps documentation site.<\/li>\n<li>Click Create<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/dc1980c9-d859-4322-b56e-3d396895647f.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"createbot\" border=\"0\" height=\"1140\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/dc1980c9-d859-4322-b56e-3d396895647f.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"createbot\" width=\"1169\"\/><\/a><\/p>\n<ul>\n<li>Within a few seconds, you should see the Knowledge base screen with the question and answer pairs. Add a new pair, edit existing ones or add alternative phrasings to questions.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/6a425be7-75a4-40de-9894-d0652ea8a0b4.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"createbot2\" border=\"0\" height=\"772\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/6a425be7-75a4-40de-9894-d0652ea8a0b4.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"createbot2\" width=\"1379\"\/><\/a><\/p>\n<ul>\n<li>Publish the knowledge base and note down the service details. The service details will be needed in the next step when we create a custom API for PowerApps.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/c4f6d910-ddf3-4ced-b8e2-8beb750eddcb.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"createbot3_thumb\" border=\"0\" height=\"398\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/c4f6d910-ddf3-4ced-b8e2-8beb750eddcb.png\" style=\"margin: 0px; border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"createbot3_thumb\" width=\"1024\"\/><\/a><\/p>\n<p>\u00a0<\/p>\n<h2>Create the custom API to the Bot<\/h2>\n<p>PowerApps provides an easy way to create a custom API to any RESTful service using a UI wizard in the PowerApps portal. Let\u2019s create a custom connector the Bot service.<\/p>\n<ul>\n<li>First, test the connection to the bot service using Postman. Save the result in a collection and export the content as a json file. Refer to the <a href=\"https:\/\/powerapps.microsoft.com\/en-us\/tutorials\/postman-collection\/\" target=\"_blank\" rel=\"noopener\">PowerApps documentation<\/a> or the <a href=\"https:\/\/www.getpostman.com\/docs\/postman\/sending_api_requests\/requests\" target=\"_blank\" rel=\"noopener\">Postman documentation<\/a> to for the detailed steps.<\/li>\n<li>From the PowerApps portal, choose <strong>Connections<\/strong> and <strong>Manage custom connectors.<\/strong> Click on <strong>Create custom connector<\/strong><\/li>\n<li>In the General tab, under Custom connectors choose to upload the Postman collection saved earlier<\/li>\n<li>Edit the name of the Connector at the top of the page, upload an icon for the connector and click <strong>Continue<\/strong><\/li>\n<li>In the Security tab, choose authentication as API Key. Enter <em>Ocp-Apim-Subscription-Key<\/em> as the parameter and label name. Click <strong>Continue<\/strong><\/li>\n<li>In the Definition tab, edit the General Section to update the Summary, Description and OperationID if required.<\/li>\n<li>Edit the Request section and remove Ocp-Apim-Subscription-Key if it exists. This was already added in the previous step. Edit the Content-Type in the Request header and marked the <strong>Is Required <\/strong>as No.<\/li>\n<li>Edit the Response section by clicking the default. Click on <strong>Import from sample<\/strong>. Paste the response from the Postman query as below into the Body field.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/3079632b-be47-47d4-a8d7-c02d4ce06aca.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"SampleResponse_thumb5\" border=\"0\" height=\"142\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/3079632b-be47-47d4-a8d7-c02d4ce06aca.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"SampleResponse_thumb5\" width=\"240\"\/><\/a><\/p>\n<ul>\n<li>\n<ul>\n<li>You should now see <em>answer<\/em> and <em>score<\/em> added to the Body output<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/e160eca4-b1ac-40bf-a0b0-83bae6477987.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"ResponseConfig_thumb3\" border=\"0\" height=\"585\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/e160eca4-b1ac-40bf-a0b0-83bae6477987.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"ResponseConfig_thumb3\" width=\"1028\"\/><\/a><\/p>\n<ul>\n<li>Click on <strong>Create Connector<\/strong>. Once the connector has been created, choose the Test tab.<\/li>\n<li>In the Test tab, click on <strong>New Connection<\/strong> to create an instance of the connection. In the pop-up enter the subscription key information. Click <strong>Create<\/strong><\/li>\n<li>Go back to Manage custom connectors and click Edit on the connector you created earlier. We can now test this custom connection. Navigate to the Test tab and under Operations enter a query string. You should see a response from the QnAMaker service.<\/li>\n<\/ul>\n<p>Now we have the custom API to the bot service ready and we can use it to build our app.\u00a0You can download the <a href=\"https:\/\/acomblogimages.blob.core.windows.net:443\/media\/PowerApps\/blog\/PowerAppsBot.swagger%20-%20sample.json\" style=\"font-size: 13.008px;\" target=\"_blank\" rel=\"noopener\">swagger definition of the custom API<\/a> for reference. Replace the paths with your URL below.<\/p>\n<p>\u00a0<\/p>\n<h2>Creating the app<\/h2>\n<p>Let\u2019s create a mobile app that can query the custom API. We will use a Gallery to display the query and results from the interactions.<\/p>\n<ul>\n<li>Launch PowerApps Studio on web or on Windows. Make sure the Studio is connected to the same environment where the custom connection has been deployed earlier.<\/li>\n<li>Create a new <strong>Blank app &#8211; Phone layout<\/strong><\/li>\n<li>From the ribbon menu choose <strong>View &gt; Data sources<\/strong>. In the right panel choose <strong>Add data source<\/strong><\/li>\n<li>Choose the PowerApps Bot connection created earlier<\/li>\n<li>Now let\u2019s bind the content of the QnA to a collection. Create a Collection <em>chat <\/em>to hold the conversation. Use an id field to indicate whether the content is from the user or the bot. Set the OnStart in the first screen to the following expression<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/39eb3df4-4009-4cbd-a3a9-445562f4bcdd.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"OnStart\" border=\"0\" height=\"87\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/39eb3df4-4009-4cbd-a3a9-445562f4bcdd.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"OnStart\" width=\"2130\"\/><\/a><\/p>\n<ul>\n<li>Add a Vertical Gallery from Insert option in ribbon menu. Set the <strong>Items<\/strong> property of the Gallery to <em>chat<\/em>. Set the <em>Title<\/em> to <em>name<\/em> field in the Collection and the <em>Subtitle<\/em> to <em>text<\/em> field. The Gallery will hold the chat conversations.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/e614af19-55d4-4d3a-aa77-b32860c86b0f.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"GalleryItems\" border=\"0\" height=\"54\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/e614af19-55d4-4d3a-aa77-b32860c86b0f.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"GalleryItems\" width=\"470\"\/><\/a><\/p>\n<ul>\n<li>From the File &gt; Media option, upload an image for the bot using the <strong>Browse<\/strong> option<\/li>\n<li>Map the Gallery image to show either the bot or the image of the user using the following expression:<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/e04cf6f0-0427-4d22-9110-73afb28565c9.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"Image\" border=\"0\" height=\"42\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/e04cf6f0-0427-4d22-9110-73afb28565c9.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"Image\" width=\"500\"\/><\/a><\/p>\n<ul>\n<li>Use the same logic to set the <strong>X<\/strong> position of the image. The images need to be on the extreme left or right, in my example, I set <strong>X <\/strong>of the image 0 and 500<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/6f555136-34d9-41ce-ada1-4102a5bb1ed9.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"setXValue\" border=\"0\" height=\"48\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/6f555136-34d9-41ce-ada1-4102a5bb1ed9.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"setXValue\" width=\"500\"\/><\/a><\/p>\n<ul>\n<li>For Text controls, set the <strong>Align<\/strong> property to Left or Right depending on whether the content is from the bot or the user. To adjust the length of the text fields use the same condition to adjust the <strong>Width<\/strong> and the <strong>X<\/strong> properties of the text controls.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/6a0eb72a-5147-4225-ba70-d4c26c612fb1.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"alignContent\" border=\"0\" height=\"43\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/6a0eb72a-5147-4225-ba70-d4c26c612fb1.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"alignContent\" width=\"500\"\/><\/a><\/p>\n<ul>\n<li>Add a Text Input and Button below the Gallery. Set the Button <strong>OnSelect<\/strong> to submit information to the bot service and update the Collection<\/li>\n<\/ul>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/90518b48-e9d5-4717-9610-52e966ab6b1d.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"SubmitQuery\" border=\"0\" height=\"90\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/90518b48-e9d5-4717-9610-52e966ab6b1d.png\" style=\"border: 0px currentcolor; border-image: none; display: inline; background-image: none;\" title=\"SubmitQuery\" width=\"1941\"\/><\/a><\/p>\n<p>\u00a0<\/p>\n<h2>Test the app<\/h2>\n<p>Here is how the final app looks like. Publish the app once your changes are done and share the app.<\/p>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/bd40c0fd-28e3-46e5-a9c7-43e2aeb90850.gif\"><img loading=\"lazy\" decoding=\"async\" alt=\"PowerBot_thumb129\" height=\"480\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/bd40c0fd-28e3-46e5-a9c7-43e2aeb90850.gif\" style=\"display: inline;\" title=\"PowerBot_thumb129\" width=\"266\"\/><\/a><\/p>\n<p>\u00a0<\/p>\n<h2>Additional explorations<\/h2>\n<p>Here are a few explorations that can added to the above walkthrough:<\/p>\n<ul>\n<li>Adding a callout to the Gallery chat text to make it look more conversational.<\/li>\n<li>Scrolling the Gallery content to the top after the page is full<\/li>\n<li>Increase the knowledgebase of the bot with information from Power BI and Microsoft Flow<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<h2>Summary<\/h2>\n<p>Hopefully this walkthrough gives you the tools to write your own bot using PowerApps. Do let us know your feedback and any interesting bots you are building.<\/p>\n<p>Thanks for reading and enjoy building your apps!<\/p>\n<p>-Karthik<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post we will walkthrough the steps to create an interactive bot using PowerApps and the Microsoft QnA Service.<\/p>\n","protected":false},"author":137,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[3423],"job-role":[],"product":[3473],"property":[],"topic":[3421],"coauthors":[2102],"class_list":["post-189","post","type-post","status-publish","format-standard","hentry","audience-it-professional","content-type-tips-and-guides","product-power-apps","topic-application-modernization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots - Microsoft Power Platform Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"In this blog post we will walkthrough the steps to create an interactive bot using PowerApps and the Microsoft QnA Service.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/powerappsbot\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-05T11:40:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T15:12:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\" \/>\n<meta name=\"author\" content=\"Karthik Bharathy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Karthik Bharathy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/karthik-bharathy\/\",\"@type\":\"Person\",\"@name\":\"Karthik Bharathy\"}],\"headline\":\"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots\",\"datePublished\":\"2017-07-05T11:40:03+00:00\",\"dateModified\":\"2025-06-11T15:12:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/\"},\"wordCount\":1099,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/\",\"name\":\"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\",\"datePublished\":\"2017-07-05T11:40:03+00:00\",\"dateModified\":\"2025-06-11T15:12:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage\",\"url\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\",\"contentUrl\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/956476e316df391c408ccff06cbdf756\",\"name\":\"Karthik Bharathy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/dbdc8f6732705828ccb21aa02646ebb3dae73753a36c1ae3d9c6f3188e75f6ab?s=96&d=mm&r=gaf2809736d849d05f193807cac95d3f2\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dbdc8f6732705828ccb21aa02646ebb3dae73753a36c1ae3d9c6f3188e75f6ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dbdc8f6732705828ccb21aa02646ebb3dae73753a36c1ae3d9c6f3188e75f6ab?s=96&d=mm&r=g\",\"caption\":\"Karthik Bharathy\"},\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/karthikb\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots - Microsoft Power Platform Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/","og_locale":"en_US","og_type":"article","og_title":"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots - Microsoft Power Platform Blog","og_description":"In this blog post we will walkthrough the steps to create an interactive bot using PowerApps and the Microsoft QnA Service.","og_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/powerappsbot\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2017-07-05T11:40:03+00:00","article_modified_time":"2025-06-11T15:12:59+00:00","og_image":[{"url":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png","type":"","width":"","height":""}],"author":"Karthik Bharathy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Karthik Bharathy","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/karthik-bharathy\/","@type":"Person","@name":"Karthik Bharathy"}],"headline":"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots","datePublished":"2017-07-05T11:40:03+00:00","dateModified":"2025-06-11T15:12:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/"},"wordCount":1099,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage"},"thumbnailUrl":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/","name":"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage"},"thumbnailUrl":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png","datePublished":"2017-07-05T11:40:03+00:00","dateModified":"2025-06-11T15:12:59+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#primaryimage","url":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png","contentUrl":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/8d7e7c77-a5b7-4382-bda4-cc2c171e4e4c.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2017\/07\/05\/powerappsbot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"PowerBots \u2013 Creating smart apps with PowerApps and Microsoft Bots"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/956476e316df391c408ccff06cbdf756","name":"Karthik Bharathy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dbdc8f6732705828ccb21aa02646ebb3dae73753a36c1ae3d9c6f3188e75f6ab?s=96&d=mm&r=gaf2809736d849d05f193807cac95d3f2","url":"https:\/\/secure.gravatar.com\/avatar\/dbdc8f6732705828ccb21aa02646ebb3dae73753a36c1ae3d9c6f3188e75f6ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dbdc8f6732705828ccb21aa02646ebb3dae73753a36c1ae3d9c6f3188e75f6ab?s=96&d=mm&r=g","caption":"Karthik Bharathy"},"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/karthikb\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/137"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=189"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/189\/revisions"}],"predecessor-version":[{"id":131233,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/189\/revisions\/131233"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=189"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=189"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=189"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=189"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=189"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=189"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=189"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}