Using Flow to create Microsoft Teams online events via Microsoft Graph

I had a Flow hack a while back to have a Flow button that will instantly create an online teams meeting. Recently, I adapted it into a trigger event that turns my Outlook calendar events (where I’ve forgotten to make it a meeting) into an online meeting.


The techniques needed a bit more exploration, so I did that, and recorded it as a quick 15 minute recording on my YouTube channel. Enjoy!

This is a Flow (Power Automate) that uses Microsoft Graph to create a Teams meeting event invitation. You can use this to invite people inside or outside of ...

Power Studio Update April 2020

I wanted to share our most recent newsletter for Power Studio (previous Flow Studio) and Power Clarity.

It was supposed to be monthly, but everything’s gone crazy, so now it is irregular.

Power Studio Update April 2020

Irregular Newsletters

We hope everyone's staying safe, be kind and taking care of each other, this is an unprecedented time in our generation, and it'll take love and perseverance to get through this.

In Flow Studio Solutions (the company behind Power Studio and Power Clarity) - we've taken on a mix of side consulting in addition to the online products.  While the progress may seem a bit slower, it ensures we have the runway to keep continuing for the future to come.

Since our newsletters has unfortunately become irregular, this is a pretty long email, we have several months' catch up in one big read.

  • Too Many Emails?

  • YouTube channel on extreme Flow techniques

  • Inspirations from Power Platform product updates

  • Flow Studio becomes Power Studio

  • Power Clarity progress

  • We are further apart, but we are also closer than ever before


Too Many Emails?

Many of us are finding unique challenges working from home.  Emails and chat messages are replacing previous physical conversations.  Some of us are finding our inbox overflowing.

If you are feeling overwhelmed with emails, and if our particular email doesn't spark joy.  If you are not getting value from our email newsletters.  If the email is sent to your service account but you'd like to read it on your personal account instead.  If you've changed roles and no longer work with the Power Platform.  If any of these sounds like you...

It is our sincere hope that our newsletters will bring you joy.  And if we aren't doing that, please, feel free to let us know and unsubscribe (link at the bottom).  Take care of yourselves first - you can always find us and re-subscribe later, if you like.

Unsubscribe (this link doesn’t work here on my blog)

YouTube channel on Flow mastery techniques

Over the last few months we've published several advanced flow techniques on our ever growing YouTube channel.

Learn techniques with Select

Many of these techniques combines advanced concepts such as Select, Filter Array and advanced expressions

Inspirations from Power Platform product updates

There are several major updates to the Power Platform in the 2019 Release 2 and the upcoming 2020 Release 1.  Some of these features have already been released in preview or made it to general availability.

We wanted to point to a few big items, but also share some inspirations about the type of applications we can now build with these updates - which were difficult to build in 2019

  • Power Apps - instrumentation

  • Power Apps - Microsoft Teams app integration

  • Power Apps - external users

  • Flow - Adaptive Card improvements

  • Flow - Assign approvals to O365 Group (roadmap)

Inspiration 1

Power Apps instrumentation for monitoring and governance.  When we add a simple instrumentation key to application insights - we can now easy track users as they use business critical applications.  This provides a far easier way for makers to build usage dashboards, far more accessible than previous methods of reading Office 365 Audit Logs (which maker may not have access to).  We also have far better detail that we can add to our instrumentation logging messages.

Inspiration 2

Power Apps external users support now allows any external users to use Power Apps.  They would need their own license, or be assigned one through Azure AD.  An external invitation link can be generated via Power Automate, allowing any external users to request and be granted external access with the flow talking directly to MS Graph via Azure AD guest invite, as well as ensuring correct permissions are assigned to the datasource - CDS or SharePoint.  This is one of the most perfect scenarios for allowing users from a different tenant to instantly access existing Power Apps applications without switching logins.  The end user experience is seamless with simply a browser link.

Inspiration 3

Adaptive Card updates to Flow - particularly "Send Adaptive card to channel and wait for response" now allows the Microsoft Teams integrated FlowBot to send media rich adaptive cards - and wait for users to provide custom response - including complex form fields.
This superpower allows flow to contact a user on demand to request for additional details that may be missing in the original data source.  Either as form data completion, or within an advance approval scenario.  It can be run on demand mid-process to quickly request for additional details or decision making.  We predict this to be one of the hottest new flow patterns in 2020.  Best of all - this functionality can run great on the standard Office 365 license.

Flow Studio becomes Power Studio

There are several major updates since our last newsletter for Flow Studio.

  • We added monitoring for Power Apps in the freemium tier, and now we can quickly see all our Power Apps as well as Flows.  The list of apps shows the latest commit message.

  • Since we added Power Apps - we decided to rename Flow Studio to Power Studio.  This turned out to be really fortunate, since Microsoft Flow was renamed in November to Power Automate.
    Both Flow Studio and Power Studio links will work.

  • We added a developer build to test new features, if you are keen to see what's baking, here's a link to the test server for all the wonderous and dangerous new experiments.

  • We added a toolbar to make some of the common actions more visible.  We've realized through testing that many users don't realize we have a contextual menu where a lot of the hidden gems are hiding, so this is a way for us to begin to surface these functions.

  • We've given Export to Excel a major update - this was previously in preview and didn't work well (many of the columns were blank).  So finally we've fixed export to Excel.

  • We've also deployed our latest update for generating a Mermaid markdown for flows.  This is a special markdown for flow chart documentation usable in JIRA and Azure DevOps.  This can be exported to SVG, PNG or Mermaid markdown.  This feature remains in preview - please give us feedback.

  • We had two UX regression bugs with Save button missing in Edit JSON and Migrate plans new button not working, thanks to so many of you reaching out we had this fixed quick.

Try Power Studio

Power Clarity Progress Update

We began our work on Power Clarity in earnest over December 2019, and has hit several development milestones.  Our goal is to have all our Power Studio customers being able to sign up and trial Power Clarity.

Power Clarity is our turnkey, automated monitoring and governance solution for the Power Platform.  We took what we learnt from Power Studio, and ramp it up to do continuous scan of the entire company.  All our Power Platform environments, Power Apps, flows, connections, makers etc, and from that collected metadata, we return reports, tools and automated policies to help you manage and maintain your Power Platform assets mapped to the best practices in the community.

We are really excited to show you Power Clarity soon.

Grain Clarity of your Power Platform

We are further apart, but we are also closer than ever before

We were hoping to meet so many of you in person, but the current crisis has made us all separated from each other.

But in a way, we are probably closer than ever before.  So many of our user groups are now virtual, which means John would love to present at your user group, or if you'd like a call just to chat and catch up.  Let us know.

Catch us presenting at



Power Studio will always be a freemium product. So there will always be a free tier with access to see your existing Apps and Flows.  We hope you will leave us a comment about a feature that you would like to see in Power Studio.



A group_by filter for liquid-node

Here’s a group_by filter for liquid-node

// https://stackoverflow.com/a/34890276/40857
const groupBy = function(xs, key) {
    return xs.reduce(function(rv, x) {
        (rv[x[key]] = rv[x[key]] || []).push(x);
        return rv;
    }, {});
};
// https://github.com/docs/liquid#registering-new-filters
engine.registerFilters({
    group_by: (input, key) => {
        const result = groupBy(input, key);
        // map dictionary back to arry
        return Object.keys(result).map(key1=>{
            return {
                key: key1,
                items: result[key1]
            };
        });
    }
});

Use this like so

{% assign grouped = data | group_by:'user' %}
{% for group in grouped %}
    <ul>{{group.key}}
        {% for item in group.items %}
        <li>{{item.name}}</li>
        {% endfor %}
    </ul>
{% endfor %}

Implementing a fast sort with Microsoft Flow using Parallel Compute

This is #FlowNinja hack 112. Parallel Compute Sort.

I had written about how to sort with a variable (this is insertion sort) back in 2018 How to implement sort with Microsoft Flow-in-3-actions-within-a-loop

But in this previous method, the use of variable means we can’t run apply to each in parallel, so this method was always slow when array is large. Today, while chatting with Hiro - I had a sudden idea to revisit the pattern and see if I can make this quicker.

Photo by&nbsp;Amy Shamblen&nbsp;on&nbsp;Unsplash

Photo by Amy Shamblen on Unsplash


The problem

To create a sort, using parallel apply to each, and get a sorted array at the end.



In 2018, I didn’t have many of the patterns I need to make this new 2020 sort method. Firstly, to get results from parallel apply to each, we need Pieter’s Method (Compose apply to each inner output) to fan-in after parallel fan-in.

Second, we need to sort the actual array, and I came up with a pretty interesting method.



How this works

Consider array [ “d”, “e”, “c”, “b”, “a” ]
If we say for each character, filter array for items that are < than the current item, we’d get:

3:d, 4:e, 2:c, 1:b, 0:a

Then, if we consider, hey, we have 5 items

[0, 1, 2, 3, 4] => map to this dictionary, we’d get [ “a”, “b”, “c”, “d”, “e” ]



Side Story

I actually was thinking about this pattern while driving home, once it clicked I had to pull over the side, park the car, take out my laptop and write this Flow, and after I saw it work I drove home.



Steps

Some additional considerations


If the original array has duplicates

[ “a”, “b”, “b”, “c” ]
0:a, 1:b, 3:c

We’ll see 2 is missing. This is not end of the world, but when we do the final map of

[0,1,2,3] => [ “a”, “b”, null, “c” ]

Observation

I was worried that JSON('{ "0": "a", "0":"a" }') would give an error, but it seems like the duplicate key is ignored. This could be an interesting way to detect duplicates in the future by building a dictionary.





Talks and Workshop at Difinity 2020 conference Auckland

henry-mcintosh-xbo-Hz_Gs74-unsplash.jpg

Hello, Kia Ora Auckland.

I’m glad to be returning to New Zealand on February 17-20 for the Difinity Conference in Auckland. I try to tell people that I’m actually 1/3 kiwi - I grew up in Auckland in my youth. So it’s always good to see you all again.


I’m presenting three topics:

February 17 Workshop: Master your inner Flow

This is an updated - all day workshop covering beginner and advanced Power Automate (Microsoft Flow). With several enhanced lab materials that you can choose to work through in the afternoon:

  • Complex Business Approvals

  • Power Apps integration

  • Data collection of Excel

  • Automating Teams

February 18 Talk: Take control of Flow and Power Apps Governance

Talk: Take control of Flow and PowerApps Governance

This is a multi-faceted look at Power Platform governance - what’s available within the Admin platform, extended with Microsoft’s Center of Excellence kit, practical guides on how to deploy CoE, and ultimately, technical ideas and examples of how we can extend CoE to provide an all encompassing governance solution.

Ultimately, there is a techincal part to governance, and there is a much much bigger human part. We will cover the technical, but leave you with ideas you must form regarding where and how you will utilize the technical components to guide your organization into the best use of this fantastic platform.

February 19 Talk: How to make everything with Microsoft Flow in 2020

This is a talk that makes you look at Power Automate (Microsoft Flow) with a totally different angle, and realize that it is not merely workflows, some email alerts, or an rule to copy a file.

Power Automate is the key to connect and enrich your entire platform investment - within Power Platform, extended to Dynamics, Office 365 or Data platform, and beyond even the Microsoft ecosystem.

You can make and automate everything with Power Automate (Microsoft Flow).


Make sure to say hello

I don’t travel a lot, so when I do visit New Zealand - come say hello, ask me anything about Flow (Automate), Power Apps, Power Governance, Office 365, Microsoft Graph, Azure. I have twenty years of consulting experience to back me up and I know solutions to many of your problems.

I hope to see you in Auckland on February 17-20 at the Difinity Conference.

Difinity Conference website

Difinity 2020 agenda