{"id":893295,"date":"2022-10-31T15:42:00","date_gmt":"2022-10-31T22:42:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-blog-post&p=893295"},"modified":"2022-10-31T15:42:01","modified_gmt":"2022-10-31T22:42:01","slug":"power-automate-with-copilot-the-back-story","status":"publish","type":"msr-blog-post","link":"https:\/\/www.microsoft.com\/en-us\/research\/articles\/power-automate-with-copilot-the-back-story\/","title":{"rendered":"Power Automate with copilot; the back story"},"content":{"rendered":"\n

Authors: <\/strong>Will Dubyak, Chhaya Methani<\/p>\n\n\n\n

With Satya\u2019s copilot announcements  (Microsoft Ignite Opening (opens in new tab)<\/span><\/a> )at Ignite in the rear-view mirror, it\u2019s a good time to talk more about the kind of work and creative thinking that made it possible. If you aren\u2019t already familiar with the new ways to innovate with AI, such as the AI-based copilot to build your flow in seconds, check out the Microsoft Power Automate blog post (opens in new tab)<\/span><\/a>.   The idea that a plain language prompt can be used to generate a sophisticated automated workflow is powerful, and a glimpse into what the future holds with innovative large language models.   But the path to this point was anything but easy and automatic.<\/p>\n\n\n\n

As anyone with a background in AI\/ML knows, the long pole in the execution tent for a good idea is training data.   To train a model to generate a flow from a prompt assumes that we have lots of flows with associated prompts to show the model. <\/p>\n\n\n\n

We didn\u2019t. So we needed to be creative.<\/p>\n\n\n\n

Our solution took shape in 2 main dimensions.   First, we devised a way to generate synthetic data for model training.  We had many production flow skeletons that had been scrubbed of Personal Identifiable Information (PII), and we found ways to generate descriptions (or labels) for them to simulate the prompts a user might have generated. We also used a method to generate Natural Language (NL) utterances-flow pairs that we knew to be empirically relevant based on historical patterns in our existing Microsoft Power Automate flow data.<\/p>\n\n\n\n

A Power Automate flow is made up of a trigger that \u201cactivates\u201d the flow and steps that perform actions upon that trigger. For example:<\/p>\n\n\n\n