{"id":26748,"date":"2019-04-24T07:30:40","date_gmt":"2019-04-24T11:30:40","guid":{"rendered":"https:\/\/centricconsulting.com\/?p=26748"},"modified":"2025-03-20T15:05:12","modified_gmt":"2025-03-20T19:05:12","slug":"interact-with-machine-learning-using-powerapps-and-flow","status":"publish","type":"post","link":"https:\/\/centricconsulting.com\/blog\/interact-with-machine-learning-using-powerapps-and-flow\/","title":{"rendered":"Interact with Machine Learning Using PowerApps and Flow"},"content":{"rendered":"<h2 style=\"text-align: center;\">We walk through how to successfully connect Microsoft Flow (and PowerApps) to an\u00a0Azure\u00a0Machine Learning Web Service.<\/h2>\n<hr \/>\n<p class=\"intro-text\">Recently, Centric Consulting hosted a Hackathon to get our consultants a bit more exposure to <a href=\"https:\/\/centricconsulting.com\/blog\/machine-learning-a-quick-introduction-and-five-core-steps_cloud\/\">Machine Learning<\/a>. It was a day and a half of different teams putting together something that could demonstrate what Machine Learning is and how it can be connected to Microsoft Flow and PowerApps.<\/p>\n<p>In the case of my team, we used some data to try and predict how long an employee might stay at a certain organization.<\/p>\n<p>This was my first foray into <a href=\"https:\/\/centricconsulting.com\/technology-solutions\/data-analytics\/machine-learning-consulting\/\">Machine learning<\/a>, so it was not a complex model by any means. I used the <a href=\"https:\/\/centricconsulting.com\/blog\/azure-information-management-microsoft-cortana_data-analytics\/\">Azure Machine Learning<\/a> studio to build the model, and one of the things I noticed was it could also set up a Predictive Web Service to interact with the model. By default, you can use Excel to input data into the model and get a prediction as an output, but that was way too bland and boring for me!<\/p>\n<h2>Getting Prepared<\/h2>\n<p>I\u2019m going to use <a href=\"https:\/\/centricconsulting.com\/blog\/microsoft-powerapps-introduction_portal\/\">PowerApps<\/a> and <a href=\"https:\/\/centricconsulting.com\/blog\/office-365-simple-workflow\/\">Flow<\/a> for this. We need to have something ready in a day and a half, so I am absolutely firing up these two to get something out there fast. But, with connecting to an ML web Service, there are some caveats:<\/p>\n<ul>\n<li>There currently is no Azure ML Connector.<\/li>\n<li><strong>This means it has to be a Custom Connector.<\/strong><\/li>\n<li>Microsoft yanked the ability to use Custom Connectors from the licensing model included with Office 365. Which means you need a P1 or P2 license.<\/li>\n<\/ul>\n<p>Now, since I only needed this to work for a short amount of time, I was able to use a P1 trial, but be aware of the above if you want to work with Custom Connectors.<\/p>\n<p class=\"intro-text\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-26750 size-medium\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen1-111x300.png\" alt=\"OpenAPI\" width=\"111\" height=\"300\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen1-111x300.png 111w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen1.png 197w\" sizes=\"(max-width: 111px) 100vw, 111px\" \/>Let\u2019s Start with Flow<\/p>\n<p>I wanted Flow to handle the input\/output of the data for a few reasons. <strong>Flow is much more flexible with sending and receiving JSON data, and it\u2019s much easier to troubleshoot when connecting to a web service.<\/strong> So, we\u2019re going to need to create a custom connector to bridge the gap between the model and Flow.<\/p>\n<p>We need to go to Flow, expand the Data menu, and click on \u201cCustom Connectors.\u201d On this screen, we can now \u201cCreate a Custom Connector.\u201d When you click this button, you receive a few options on how to get the endpoint details. The Azure ML endpoint uses Swagger to define the endpoint. In my testing, I found that \u201cImport an OpenAPI\u201d from URL just errors out, so I used \u201cImport a Postman Collection.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-26751 size-full aligncenter\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen2.png\" alt=\"Create Custom Connection\" width=\"271\" height=\"175\" \/><\/p>\n<p>But, this also means we now need to create a Postman Collection.<\/p>\n<h2>Please Mr. Postman<\/h2>\n<p>Postman is a tool if you do any development for API\u2019s, and it\u2019s free! I\u2019m not going to go into the full functionality of the product in this article, but you can download it <a href=\"https:\/\/www.getpostman.com\/downloads\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p>Once installed, open up Postman, and in the top bar, click on \u201cImport.\u201d<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26754 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5.png\" alt=\"Postman Import\" width=\"1005\" height=\"115\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5.png 1005w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5-300x34.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5-768x88.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5-600x69.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5-992x114.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5-850x97.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen5-750x86.png 750w\" sizes=\"(max-width: 1005px) 100vw, 1005px\" \/><br \/>\nNow we need to give Postman the URL to our Azure ML Service Swagger doc. You can get the endpoint from your Azure ML Service Dashboard:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26753 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4.png\" alt=\"Azure ML Service Dashboard\" width=\"1551\" height=\"805\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4.png 1551w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-300x156.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-768x399.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-1024x531.png 1024w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-600x311.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-992x515.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-1200x623.png 1200w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-850x441.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen4-750x389.png 750w\" sizes=\"(max-width: 1551px) 100vw, 1551px\" \/><br \/>\nIn this case, I need to use the Request-Response endpoint (as this sample PowerApp won\u2019t be doing batch requests). I need to take the URL they provided me, but I need to replace the <strong>\/execute?api-version=s.0&amp;format=swagger<\/strong> and replace it with <strong>\/swagger.json<\/strong> This is the correct URL to my swagger document in the service. Once I click Import, Postman connects the endpoint, reads the swagger document, and provides full details about my API.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-26756 size-full aligncenter\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen7.png\" alt=\"Swagger Document\" width=\"290\" height=\"293\" \/><\/p>\n<p>Since we now have connectivity to the API, we can test it to ensure it works. I\u2019m going to test the POST functionality of the Request-Response endpoint. Now, if I click \u201cSend\u201d to send a request to the endpoint, I just get back:<br \/>\n{<br \/>\n\u201cerror\u201d: {<br \/>\n\u201ccode\u201d: \u201cUnauthorized\u201d,<br \/>\n\u201cmessage\u201d: \u201cRequest is unauthorized to access resource.\u201d,<br \/>\n\u201cdetails\u201d: [<br \/>\n{<br \/>\n\u201ccode\u201d: \u201cScoreRequestUnauthorized\u201d,<br \/>\n\u201cmessage\u201d: \u201cInvalid credentials provided.\u201d<br \/>\n}<br \/>\n]\n}<br \/>\n}<\/p>\n<p>The Azure ML Endpoint uses an API key to allow authorization for requests. But, how do I add that authorization to my Postman request? Well, the Azure ML service provides a handy Document to tell us the Headers, Body, and responses to expect. Right below where I found the URL for my Request-Response endpoint, there is a link called \u201cAPI Help.\u201d Clicking on it will bring you to a full document that provides assistance with the API:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26758 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9.png\" alt=\"API Key\" width=\"1318\" height=\"852\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9.png 1318w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-300x194.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-768x496.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-1024x662.png 1024w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-600x388.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-992x641.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-1200x776.png 1200w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-850x549.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen9-750x485.png 750w\" sizes=\"(max-width: 1318px) 100vw, 1318px\" \/><br \/>\nSo, in this document, I can see I need an authorization header, that includes Bearer and my API Key. I can add a header in Postman that looks like this (I\u2019ve blocked out most of my API key, so hopefully you get the idea):<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26759 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10.png\" alt=\"Send Error\" width=\"1076\" height=\"162\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10.png 1076w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-300x45.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-768x116.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-1024x154.png 1024w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-600x90.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-992x149.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-850x128.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen10-750x113.png 750w\" sizes=\"(max-width: 1076px) 100vw, 1076px\" \/><\/p>\n<p>Now, when I click Send, I no longer get an authorization error. But, I get an error nonetheless:<br \/>\n{<br \/>\n\u201cerror\u201d: {<br \/>\n\u201ccode\u201d: \u201cBadArgument\u201d,<br \/>\n\u201cmessage\u201d: \u201cInvalid argument provided.\u201d,<br \/>\n\u201cdetails\u201d: [<br \/>\n{<br \/>\n\u201ccode\u201d: \u201cRequestBodyInvalid\u201d,<br \/>\n\u201cmessage\u201d: \u201cNo request body provided or error in deserializing the request body.\u201d<br \/>\n}<br \/>\n]\n}<br \/>\n}<\/p>\n<p>Now, let\u2019s give our Request a body. The easiest way to do this is to go back to the API Help Document, scroll down a bit, and you see a sample Body request the API expects.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26760 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen12.png\" alt=\"API Help Document\" width=\"713\" height=\"629\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen12.png 713w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen12-300x265.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen12-600x529.png 600w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><\/p>\n<p>Now, just copy and paste everything in the Sample Request Box to the Body of the Postman Request and click Send. Awesome, we got a response back.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26761 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen13.png\" alt=\"Sample Request Box\" width=\"777\" height=\"661\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen13.png 777w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen13-300x255.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen13-768x653.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen13-600x510.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen13-750x638.png 750w\" sizes=\"(max-width: 777px) 100vw, 777px\" \/><br \/>\nWe now know the endpoint works, so we can save this as a Postman Collection. To do so, just click on the ellipses next to the collection name, and click \u201cExport:\u201d<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-26762 size-medium aligncenter\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen14-146x300.png\" alt=\"Postman Export\" width=\"146\" height=\"300\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen14-146x300.png 146w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen14.png 291w\" sizes=\"(max-width: 146px) 100vw, 146px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Currently, Flow and PowerApps will only read a Postman v1 collection, so make sure that is set, and click Export. Save the file to a location you can remember:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26763 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen15.png\" alt=\"Postman V Collection\" width=\"491\" height=\"276\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen15.png 491w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen15-300x169.png 300w\" sizes=\"(max-width: 491px) 100vw, 491px\" \/><\/p>\n\n        <div class=\"inline-cta dark-blue\">\n            <div class=\"inline-cta--content\">\n                \n<p>Our data and analytics experts share six challenges that derail the productivity of your machine learning initiatives and why applying MLOps can help solve them.<\/p>\n\n            <\/div>\n            <div class=\"inline-cta--button\">\n                <a\n                    class=\"button\"\n                    href=\"https:\/\/go.centricconsulting.com\/DA-FY21-12-WBNR-MachineLearning6ChallengesMLOpsCanSolve_02LandingPage-OnDemand.html\"\n                    target=\"_blank\"\n                    >\n\n                    WATCH WEBINAR\n                <\/a>\n            <\/div>\n        <\/div>\n<h2>Time to Connect the ML Service to Flow<\/h2>\n<p>Head back over to Flow, click on \u201cCreate Custom Connector\u201d and click \u201cImport from Postman File.\u201d Provide a name for your Custom Connector and click Import. Find the Postman File we created and click \u201cContinue\u201d<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26764 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen16.png\" alt=\"Custom Connector Import\" width=\"700\" height=\"278\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen16.png 700w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen16-300x119.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen16-600x238.png 600w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><br \/>\nOnce Postman file is imported, we can now further define the Connector. You can add a custom Icon or Description on the General Page:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26765 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17.png\" alt=\"Connector General Page\" width=\"1219\" height=\"851\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17.png 1219w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-300x209.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-768x536.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-1024x715.png 1024w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-600x419.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-992x693.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-1200x838.png 1200w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-850x593.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen17-750x524.png 750w\" sizes=\"(max-width: 1219px) 100vw, 1219px\" \/><br \/>\nOn the Security Page, we need to define the security settings users need to use to connect to this. Since we\u2019re using an API key, choose that option from the Authentication Type Drop down. I named my Parameter label \u201cAPI Key\u201d but you can choose whatever is more descriptive for you. For Parameter name, enter in \u201cAuthorization.\u201d The location is \u201cHeader\u201d<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26766 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18.png\" alt=\"API Key\" width=\"1205\" height=\"769\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18.png 1205w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-300x191.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-768x490.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-1024x653.png 1024w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-600x383.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-992x633.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-1200x766.png 1200w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-850x542.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen18-750x479.png 750w\" sizes=\"(max-width: 1205px) 100vw, 1205px\" \/><br \/>\nOn the Definition tab, you can see all of the information gleaned from the endpoint. I recommend accepting the defaults here, but you can play around with some of the namings if so desired:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26767 size-full\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19.png\" alt=\"Definition Tab\" width=\"1187\" height=\"873\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19.png 1187w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-300x221.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-768x565.png 768w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-1024x753.png 1024w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-600x441.png 600w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-992x730.png 992w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-850x625.png 850w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen19-750x552.png 750w\" sizes=\"(max-width: 1187px) 100vw, 1187px\" \/><br \/>\nFinally, click on \u201cCreate Connector\u201d to complete the process. (Optional: Once the Connector has been created, you can try testing it from the \u201cTest Tab\u201d)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-26768 size-medium aligncenter\" src=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen20-300x46.png\" alt=\"Create Connector\" width=\"300\" height=\"46\" srcset=\"https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen20-300x46.png 300w, https:\/\/centricconsulting.com\/wp-content\/uploads\/2019\/04\/Screen20.png 381w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>Success!<\/h2>\n<p>Congratulations! You\u2019ve now successfully connected Microsoft Flow (and PowerApps) to an Azure Machine Learning Web Service. In Part 2, we\u2019ll create a sample Flow and PowerApp that takes advantage of this new Custom Connector!<\/p>\n<hr \/>\n<p style=\"text-align: center;\"><em>Part four of a <a href=\"https:\/\/centricconsulting.com\/blog\/why-women-should-get-excited-about-artificial-intelligence_cloud\/\">Women in Tech series<\/a> and originally posted on Jo&#8217;s blog, <a href=\"https:\/\/office365daysayear.com\/2019\/03\/14\/interact-with-machine-learning-with-powerapps-and-flow-part-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.\u00a0<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to use PowerApps and Flow to create a custom connector model in Azure Machine Learning with this step-by-step walkthrough.<\/p>\n","protected":false},"author":86,"featured_media":33375,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_oasis_is_in_workflow":0,"_oasis_original":0,"_oasis_task_priority":"","_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","footnotes":""},"categories":[1],"tags":[19123],"coauthors":[15564],"class_list":["post-26748","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-machine-learning","resource-categories-blogs","orbitmedia_post_topic-artificial-intelligence","orbitmedia_post_topic-enterprise-collaboration","orbitmedia_post_topic-power-platform"],"acf":[],"publishpress_future_action":{"enabled":false,"date":"2025-06-23 01:46:43","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"category"},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts\/26748"}],"collection":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/comments?post=26748"}],"version-history":[{"count":1,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts\/26748\/revisions"}],"predecessor-version":[{"id":56691,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts\/26748\/revisions\/56691"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/media\/33375"}],"wp:attachment":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/media?parent=26748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/categories?post=26748"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/tags?post=26748"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/coauthors?post=26748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}