{"id":111000,"date":"2018-09-27T04:08:13","date_gmt":"2018-09-27T11:08:13","guid":{"rendered":""},"modified":"2025-06-11T08:06:47","modified_gmt":"2025-06-11T15:06:47","slug":"using-flow-in-a-livetiles-bots-approval-bot","status":"publish","type":"post","link":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/power-automate\/using-flow-in-a-livetiles-bots-approval-bot\/","title":{"rendered":"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot"},"content":{"rendered":"<p>Hey Flow Fans!<\/p>\n<p>This week&#8217;s Flow of the Week article comes from Daniel Laskewitz, Business Productivity Consultant &amp; Microsoft Business Solutions MVP at Sogeti in the Netherlands!<\/p>\n<p>\u00a0<\/p>\n<p>The scenario<\/p>\n<p>For this blog post, I\u2019m going to create a fairly simple bot with LiveTiles Bots and Flow. Users will be able to request a laptop through a bot. When the user has answered all questions from the bot, a Flow will get triggered and an approval will start. At the end of the approval, the user will get a response through the bot.<\/p>\n<p>Let\u2019s start with setting up the Bot\u2026<\/p>\n<p>\u00a0<\/p>\n<p>Setting up the LiveTiles Bot<\/p>\n<p>I skipped the process of creating a bot because I think clicking the button \u2018new bot\u2019 is probably not something that needs explaining. Oh, snap! Now I did it anyway. LiveTiles Bots is all about abilities. LiveTiles created this to make it easier for companies to create chatbots. One of the abilities is the Flow ability.<\/p>\n<p>As a LiveTiles Bots user, you are able to add one or more Flow abilities to your bot. This is a great scenario for an HR bot which will trigger multiple Flow abilities for different HR processes.<\/p>\n<p>You are able to set a welcome message for your bot which could explain all different options. In this scenario, we will only one Flow ability, which will run a Flow for a laptop request.<\/p>\n<p>\u00a0<\/p>\n<h2>Getting to know the Flow ability<\/h2>\n<p>When you are in your bot, make sure to add an ability by clicking the \u2018add an ability\u2019 button. A panel on the side will appear. To add the Flow ability to your bot, select the add ability button as you can see in the GIF below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1504\" height=\"1338\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif\" width=\"2560\"\/><\/p>\n<p>Next, you will get a screen with a lot of options. I won\u2019t mention all the options, but only the ones that are really interesting in this case:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1505\" height=\"352\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/02-Settings-Flow-Ability.png\" width=\"537\"\/><\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>Flow Endpoint<\/li>\n<\/ul>\n<p>Here, you will be able to paste the URL from the \u2018When an HTTP request has is received\u2019 action we will configure in the Flow later.<\/p>\n<ul>\n<li>Success message &amp; Display success message<\/li>\n<\/ul>\n<p>You are able to set a message when your Flow has been triggered successfully. It\u2019s also possible to hide a success message. You only have to uncheck the checkbox below display success message then.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1507\" height=\"113\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/03-Settings-Flow-Ability.png\" width=\"530\"\/><\/p>\n<ul>\n<li>API key<\/li>\n<\/ul>\n<p>Your API key will appear when you have saved your Flow ability. You will need this to make sure Flow can send a message back to your bot when you want to send an update to the user.<\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1508\" height=\"190\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/04-Settings-Flow-Ability.png\" width=\"533\"\/><\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>Targets &amp; keywords<\/li>\n<\/ul>\n<p>With targets &amp; keywords, you can make sure your Flow ability will get triggered. LiveTiles Bots uses LUIS and if the keywords and targets aren\u2019t unique enough, it could happen that your Flow won\u2019t start. If you use multiple Flow abilities in one bot, it\u2019s even more important.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1509\" height=\"360\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/05-Settings-Flow-Ability.png\" width=\"538\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/05-Settings-Flow-Ability.webp 538w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/05-Settings-Flow-Ability-300x201.webp 300w\" sizes=\"auto, (max-width: 538px) 100vw, 538px\" \/><\/p>\n<ul>\n<li>Conversational parameters<\/li>\n<\/ul>\n<p>It\u2019s possible to add conversational parameters to your Flow ability. This is an excellent way for you to ask some questions to the users. You can set a variable as required, set a type and use labels for it. For every parameter, it\u2019s also possible to set a prompt.<\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1510\" height=\"166\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/06-Settings-Flow-Ability.png\" width=\"526\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/06-Settings-Flow-Ability.webp 526w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/06-Settings-Flow-Ability-300x95.webp 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/p>\n<ul>\n<li>Flow ability base URL<\/li>\n<\/ul>\n<p>This setting is being used to make sure you have the right URL for getting a message back to the user.<\/p>\n<ul>\n<li>JSON payload<\/li>\n<\/ul>\n<p>The JSON payload field makes it easy for you to start creating your Flow. You can copy &amp; paste this into the trigger of your Flow. But more on that later.<\/p>\n<p>\u00a0<\/p>\n<h2>Implementing the scenario in LiveTiles Bots<\/h2>\n<p>Now that we know a little bit more about the Flow ability, let\u2019s implement the scenario:<\/p>\n<p>I already talked a bit earlier about the welcome message that the Bot has. I have set this to \u2018Welcome to the laptop request bot. If you want to request a laptop, please type &#8216;request laptop&#8217; in the box below and click send.\u2019<\/p>\n<p>When the Flow ability is triggered, we will start an approval. I think it\u2019s a good idea to set the success message to \u2018Your approval request is currently being handled by your manager\u2019.<\/p>\n<p>Next, let\u2019s set the targets and keywords. I have set these settings to the following:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1511\" height=\"180\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/07-Settings-Flow-Ability.png\" width=\"518\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/07-Settings-Flow-Ability.webp 518w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/07-Settings-Flow-Ability-300x104.webp 300w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/p>\n<p>\u00a0<\/p>\n<p>This will make it possible to trigger the Flow ability when a user will enter the following commando\u2019s:<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>request Laptop<\/li>\n<li>start laptop request<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>Remember, LiveTiles is powered by LUIS so other options will be possible too.<\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1512\" height=\"352\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/08-Settings-Flow-Ability.png\" width=\"536\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/08-Settings-Flow-Ability.webp 536w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/08-Settings-Flow-Ability-300x197.webp 300w\" sizes=\"auto, (max-width: 536px) 100vw, 536px\" \/><\/p>\n<p>\u00a0<\/p>\n<p>As the conversational parameters, I will ask for two variables:<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>Laptop (to make sure they will request one of the available models)<\/li>\n<li>Reason (to make sure they will include a reason)<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>Take a look at the screenshot above and pay attention to the parameter prompt. I already give the user a choice in the question. This will make it easier for the user and it will make it less error-prone.<\/p>\n<p>\u00a0<\/p>\n<p>We still have an empty Flow endpoint field, but we will come back to that later. First, let\u2019s start building our Flow.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<h1>Building the Flow<\/h1>\n<p>We are really lucky because the LiveTiles Bots team already created <a href=\"https:\/\/supportpublicfiles.blob.core.windows.net\/intercom\/ApprovalFlow_20180509002839.zip\">an approval scenario<\/a> in Microsoft Flow. And one of these scenarios is going to give us a kickstart.<\/p>\n<p>\u00a0<\/p>\n<p>For the sake of this blog post, I will not explain all differences between my Flow and the one the LiveTiles team created. But for me, it was really easy to have a kickstart. Let\u2019s dive into the Flow now!<\/p>\n<p>\u00a0<\/p>\n<p>In the following screenshot you will see the complete Flow.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1513\" height=\"1223\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/00-Flow-Total.png\" width=\"563\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/00-Flow-Total.webp 563w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/00-Flow-Total-138x300.webp 138w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/00-Flow-Total-471x1024.webp 471w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>We start the Flow with the \u2018When an HTTP request is received\u2019 trigger.<\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1514\" height=\"376\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/09-Flow.png\" width=\"620\"\/><\/p>\n<p>\u00a0<\/p>\n<p>You should copy the HTTP post URL and paste it into your Flow ability in the Flow endpoint field.<\/p>\n<p>This will make sure the right Flow will get called when you trigger the Flow ability in the bot.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>Next, we need a Request Body JSON Schema. Luckily, LiveTiles helps us out here. They have a field for that in the Flow ability called \u2018JSON payload\u2019. Copy and paste that field into the Request Body JSON Schema.<\/p>\n<p>After creating the trigger action for the Flow, we have to set some variables. We have to initialize the following variables:<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>conversationSession<\/li>\n<\/ul>\n<p>The conversationSession ID is needed when you want to send a message back to the user. It will make sure the message will end up at the right conversation.<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>apiKey<\/li>\n<\/ul>\n<p>You can grab the API key from the Flow ability. If you have saved the Flow ability once, it will generate the API key.<\/p>\n<p>Copy this from the Flow ability and paste it into this apiKey variable in Flow.<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>laptopPrice<\/li>\n<\/ul>\n<p>We need this variable to make sure the right amount of money will be used in the approval for the manager. We will initialize it here, but we will change it later in a switch case.<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>laptopLower<\/li>\n<\/ul>\n<p>This variable is to make sure we get consistency for the laptop parameter. We wrap the toLower() expression to convert laptop to lower case. Later in the Flow, we will use this variable for our switch case. Because of this step it doesn\u2019t matter if a user types HP, Hp or hp. The result will be the same. Remember: typos will still lead to bad results. We can use the default case in the switch case to make sure that the user will get a response back from the Flow when the laptop brand has been filled in incorrectly.<\/p>\n<p>\u00a0<\/p>\n<p>After setting the variables we will add the following switch case:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1515\" height=\"469\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/11-Flow.png\" width=\"2348\"\/><\/p>\n<p>\u00a0<\/p>\n<p>In this switch case we have three cases and a default case:<\/p>\n<ul>\n<li>Case 1: if the laptopLower variable equals apple\n<ul style=\"list-style-type: circle;\">\n<li>If case 1 is true add an action to set the laptopPrice variable to 2000<\/li>\n<\/ul>\n<\/li>\n<li>Case 2: if the laptopLower variable equals dell\n<ul style=\"list-style-type: circle;\">\n<li>If case 2 is true add an action to set the laptopPrice variable to 1500<\/li>\n<\/ul>\n<\/li>\n<li>Case 3: if the laptopLower variable equals hp\n<ul style=\"list-style-type: circle;\">\n<li>If case 3 is true add an action to set the laptopPrice variable to 1000<\/li>\n<\/ul>\n<\/li>\n<li>Default: all the other scenarios\n<ul style=\"list-style-type: circle;\">\n<li>Terminate the Flow. A better scenario would be to send a message back to the user, but for now I chose to use the terminate action<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>After the switch case, we are going to build up to the point of starting the approval. In this case, we will get the user profile, which is a great action from the Office 365 Users connector. We will use the userID property from the trigger to get the profile properties for the user who triggered the Flow ability in the chatbot.<\/p>\n<p>To get the manager of the user who triggered the Flow, we use the get manager action from the Office 365 Users connector after the get user profile action. If you have the manager field properly filled it\u2019s a great scenario to get the manager here.<\/p>\n<p>The next step is to start the approval.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1516\" height=\"454\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/12-Flow.png\" width=\"540\"\/><\/p>\n<p>\u00a0<\/p>\n<p>Fill in the different properties but take a good look at the details field. You can style this in a minimal kind of way with markdown, but I really like this. If you want more details about this, click on\u00a0<a href=\"https:\/\/aka.ms\/approvaldetails\">this link<\/a>.<\/p>\n<p>\u00a0<\/p>\n<p>After we got a reaction to the approval, we will initialize some other variables and start building our message back to the user. We will use a condition to make sure a different message will be posted when an approval was approved or rejected.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1517\" height=\"801\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/13-Flow.png\" width=\"1152\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/13-Flow.webp 1152w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/13-Flow-300x209.webp 300w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/13-Flow-1024x712.webp 1024w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/13-Flow-768x534.webp 768w\" sizes=\"auto, (max-width: 1152px) 100vw, 1152px\" \/><\/p>\n<p>\u00a0<\/p>\n<p>After that, we will initialize another variable (commentsMessage) which will add comments (if there are any) to the message back. We use another condition to check if the comments are empty or not and change the value of variable commentsMessage if there are comments.<\/p>\n<p>\u00a0<\/p>\n<p>Below the condition, we initialize a variable called responseMessage. This variable will have both approvalMesage and commentsMessage as the value.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1518\" height=\"817\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/14-Flow.png\" width=\"1130\"\/><\/p>\n<p>\u00a0<\/p>\n<p>The last action will be the HTTP action, which will post back the results (the variable responseMessage) to the chat of the user who triggered the Flow.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1519\" height=\"353\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/15-Flow.png\" width=\"540\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/15-Flow.webp 540w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/15-Flow-300x196.webp 300w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/p>\n<p>\u00a0<\/p>\n<p>How does this look in the chatbot?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1520\" height=\"1338\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/16-LiveTiles-Bot.png\" width=\"445\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/16-LiveTiles-Bot.webp 445w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/16-LiveTiles-Bot-100x300.webp 100w, https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/16-LiveTiles-Bot-341x1024.webp 341w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>How does the approval look?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-1521\" height=\"692\" src=\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/17-Flow-Approval.png\" width=\"584\"\/><\/p>\n<h1><\/h1>\n<p>\u00a0<\/p>\n<h1>Wrap-up<\/h1>\n<p>I really like the fact that I can use my Flow knowledge to build chatbots. I \u2013 of course \u2013 have a wish list for more features on the LiveTiles side, but I think Power Users or light devs will be able to build bots easily with this tool. Especially when you see that LiveTiles gives you an example. I hope more and more products will leverage Flow to make sure we keep on innovating!<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently a company called Sogeti partnered with a company LiveTiles. LiveTiles has a wide range of products, but I am very interested in their product LiveTiles Bots, which has the ability to create bot a bot where you can tie in Flows from Microsoft Flow. During this blog post, I will explore LiveTiles Bots and elaborate on how this works.<\/p>\n","protected":false},"author":352,"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":[],"job-role":[],"product":[3474],"property":[],"topic":[],"coauthors":[2935],"class_list":["post-111000","post","type-post","status-publish","format-standard","hentry","audience-it-professional","product-power-automate"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot - 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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"Recently a company called Sogeti partnered with a company LiveTiles. LiveTiles has a wide range of products, but I am very interested in their product LiveTiles Bots, which has the ability to create bot a bot where you can tie in Flows from Microsoft Flow. During this blog post, I will explore LiveTiles Bots and elaborate on how this works.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/power-automate\/using-flow-in-a-livetiles-bots-approval-bot\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-27T11:08:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T15:06:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/01-Add-Ability.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1338\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Gabriel Hollandsworth\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gabriel Hollandsworth\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/\"},\"author\":[{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/author\/gabriel-hollandsworth\/\",\"@type\":\"Person\",\"@name\":\"Gabriel Hollandsworth\"}],\"headline\":\"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot\",\"datePublished\":\"2018-09-27T11:08:13+00:00\",\"dateModified\":\"2025-06-11T15:06:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/\"},\"wordCount\":1743,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif\",\"keywords\":[\"Flow of the Week\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/\",\"url\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/\",\"name\":\"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif\",\"datePublished\":\"2018-09-27T11:08:13+00:00\",\"dateModified\":\"2025-06-11T15:06:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage\",\"url\":\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif\",\"contentUrl\":\"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/newed.any0.dpdns.org\/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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/newed.any0.dpdns.org\/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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#\/schema\/person\/ba3767bd1663cd854a21ec6f6889d303\",\"name\":\"Gabriel Hollandsworth\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/6e193e403ea116415bdb91addc64d2b2a34aa72f87b17528ea0dd01b1f991fa2?s=96&d=mm&r=g64b0b20a5e7205a136fec41bd1de7548\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6e193e403ea116415bdb91addc64d2b2a34aa72f87b17528ea0dd01b1f991fa2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6e193e403ea116415bdb91addc64d2b2a34aa72f87b17528ea0dd01b1f991fa2?s=96&d=mm&r=g\",\"caption\":\"Gabriel Hollandsworth\"},\"url\":\"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/author\/v-gaholl\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot - 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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/","og_locale":"en_US","og_type":"article","og_title":"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot - Microsoft Power Platform Blog","og_description":"Recently a company called Sogeti partnered with a company LiveTiles. LiveTiles has a wide range of products, but I am very interested in their product LiveTiles Bots, which has the ability to create bot a bot where you can tie in Flows from Microsoft Flow. During this blog post, I will explore LiveTiles Bots and elaborate on how this works.","og_url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/power-automate\/using-flow-in-a-livetiles-bots-approval-bot\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2018-09-27T11:08:13+00:00","article_modified_time":"2025-06-11T15:06:47+00:00","og_image":[{"width":2560,"height":1338,"url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/09\/01-Add-Ability.gif","type":"image\/gif"}],"author":"Gabriel Hollandsworth","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Gabriel Hollandsworth","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#article","isPartOf":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/"},"author":[{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/author\/gabriel-hollandsworth\/","@type":"Person","@name":"Gabriel Hollandsworth"}],"headline":"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot","datePublished":"2018-09-27T11:08:13+00:00","dateModified":"2025-06-11T15:06:47+00:00","mainEntityOfPage":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/"},"wordCount":1743,"commentCount":0,"publisher":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage"},"thumbnailUrl":"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif","keywords":["Flow of the Week"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/","url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/","name":"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage"},"image":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage"},"thumbnailUrl":"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif","datePublished":"2018-09-27T11:08:13+00:00","dateModified":"2025-06-11T15:06:47+00:00","breadcrumb":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#primaryimage","url":"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif","contentUrl":"https:\/\/powerautomateblogmedia.azureedge.net\/powerautomateblog\/2018\/09\/01-Add-Ability.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/2018\/09\/27\/using-flow-in-a-livetiles-bots-approval-bot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"Advanced | Flow of the Week: Using Flow in a LiveTiles Bots approval bot"}]},{"@type":"WebSite","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#website","url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/newed.any0.dpdns.org\/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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/newed.any0.dpdns.org\/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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/#\/schema\/person\/ba3767bd1663cd854a21ec6f6889d303","name":"Gabriel Hollandsworth","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6e193e403ea116415bdb91addc64d2b2a34aa72f87b17528ea0dd01b1f991fa2?s=96&d=mm&r=g64b0b20a5e7205a136fec41bd1de7548","url":"https:\/\/secure.gravatar.com\/avatar\/6e193e403ea116415bdb91addc64d2b2a34aa72f87b17528ea0dd01b1f991fa2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6e193e403ea116415bdb91addc64d2b2a34aa72f87b17528ea0dd01b1f991fa2?s=96&d=mm&r=g","caption":"Gabriel Hollandsworth"},"url":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/author\/v-gaholl\/"}]}},"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:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/111000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/352"}],"replies":[{"embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=111000"}],"version-history":[{"count":1,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/111000\/revisions"}],"predecessor-version":[{"id":131019,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/111000\/revisions\/131019"}],"wp:attachment":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=111000"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=111000"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=111000"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=111000"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=111000"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=111000"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=111000"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=111000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}