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.



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 Amy Shamblen on 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.





Flow - Format Number advanced tips and tricks

I put together a video to celebrate the new update in Microsoft Flow (Power Automate) and Logic Apps - formatNumber()

The video explains 3 tips and 2 gotchas.

  • Tip 1: Use action in prod right now

  • Tip 2: Use ### and 000 patterns in formatNumber() expressions

  • Gotcha 2.1: May be don't use of $### - use $##0

  • Gotcha 2.2: May be don't use $ - use C or C2

  • Tip 3: Use formatNumber in collections with Select/Create HTML

If you want the clipboard paste of the Format Number action to use, use this.

{
    "id": "c1fa8a84-e2c0-4be0-823e-3a45-1e6834aa",
    "brandColor": "#a098e6",
    "connectionReferences": {},
    "icon": "https://psuxaustralia.azureedge.net/Content/Images/DesignerOperations/numberfunctions.png",
    "isTrigger": false,
    "operationName": "Format_number",
    "operationDefinition": {
        "type": "Expression",
        "kind": "FormatNumber",
        "inputs": {
            "number": 12345,
            "format": "C4"
        },
        "runAfter": {
            "Compose": [
                "Succeeded"
            ]
        }
    }
}

True Governance of the Power Platform

track-2.jpg

It’s very early Sunday morning and I’ve just returned from an red-eye flight home from a week spent in Perth with Paul, Ashlee and Terrie Culmsee, meeting their many clients, participating in Perth App in a Day, and talking about PowerApps, Flow and Power Platform Governance.

It is testament to Paul’s nurturing of his clients that every company that I talk to on this trip have the same forward thinking mentality.

Many of the companies I had talked to online, or here in Sydney also shares these same traits. They want to implement proper governance of the power platform.

You might be on the same journey - I wish you the best, and I want to support you in this quest.

True Governance is about creating a partnership

The scenario is the same, over and over and over. Business wants agility, they want applications that traditional IT struggles to deliver.

IT already struggle with supporting existing applications created by Business - they worry this is yet another thing they need to support - these “citizen developed apps” will fall into their laps, not following best practices, not documented, and yet highly business critical.

Power Platform is an opportunity, to ride this wave and fix the partnership problem in your business.

True leadership, are the managers seizing this unique opportunity to (re)engage Business and IT

Because traditional IT has become the department of “No” - modern business units and IT doesn’t really want to talk. And in the last few years, many businesses rode the Microsoft Power Platform submarine to get applications developed under the radar to reach critical mass first. Always easier to ask for forgiveness than blessing.

In this paragraph, I want to speak to you - the business. You must understand, there is an virtual ceiling you are about to hit. Let me explain.

See - your empowered citizen developers are learning as they go, their first apps may not be that fantastic, while they solve critical business problems - there may be bugs and we see there will always be more incremental improvements needed.

As the number of Power applications you create increases, your limited number of citizen developer will reach capacity. Without being able to properly support these apps, they can’t make more apps.

You still need more apps. But your citizen devs’ hands are now full. Worse, what happens if they take a role elsewhere? Who can support these apps?

The correct answer is, business should take a cost code to IT and ask IT to support these apps. IT should be paid to build internal capacity to understand, administer, and govern the Power Platform.

Ideally, someone that understands the Power Platform should lead this team and effort. They are the bridge that talks to Business and IT. The ultimate navigator that will unite the business and IT.

Look across to any successful enterprises now scaling to hundreds and thousands of Power Apps and Flows. This pattern is the same. Over and over.

IT must realize that part of governance is this great opportunity - go talk to your business. Find the super maker that is helping with adoption, and able to put together business plans that will include a maintenance support fee to IT. Stop being “free support” (see my previous blog post) and start being part of value generation in your business.

An emerging trend is that the internal super Power Platform maker joins the IT side of the business to be that navigator. Governance and adoption tools (I have a list near the end) support the quest of this navigator. Business pays IT to support and maintain more Power Apps and Flows.

Do you think this is not possible? This is a fairy tale? I saw these relationships, these bridges forming everywhere. Is this not your experience? Have a look around.

If you are an IT manager, rather than look at the Power Platform with fear, close your eyes, and reopen them and see it as the biggest opportunity you have ever had in the last decade.

A low code platform the Business wants, with tools and reports for IT to properly function and support this platform. Don’t squander this and drive your business away to some real Shadow IT platform and now you can’t even monitor that.

Governance tools are available - but true governance is People willing to talk

Business and IT not talking to each other is a problem. Here, is an opportunity to solve that. Take your off-shored IT back in-house. Be part of value generation.

If you want partnerships, I will help. There are many in the community that want to help you. Many Power platform champions are literally living this reality and working in this role. Borrow their job template and make it yours, initate the conversation - take it to your manager in business or in IT and say, hey, let’s do this.

I wanted to list a series of tools available. Some has (custom) tag and would need self assembly.

Build tools, build bridges

Disclaimer - I build Power Studio and Power Clarity. The point is, there are tools to provide governance on this platform. This is FAR better than choosing a different tool that IT has no means of providing any meaningful governance.

It would be somewhat easy for me to run purely on fear and say buy “my tools” - they will lock everything down and give you governance. Build a wall. You need a wall. Buy my wall.

If some snake oil salesman comes to you and say that, I want you to understand, real governance is not a wall. There is already enough of a chasm between business and IT.

Real governance is an opportunity to take this platform and transform your apps, yourself, your business and the relationships in your business. It’s hard, potentially very rewarding work.

What do you build your governance for?

Today, governance is a word thrown around without a care of what it actually means. We need to do governance - for what? No that’s all, we just need to do governance.

I wanted to share an article from Paul Culmsee. Those that sees governance as the goal, and not the means to an end, there’s something we all have to let go. Why do we implement governance? What outcome do we desire?

https://medium.com/@paulculmsee/how-to-doom-office365-governance-over-and-over-again-9feede8ef14a

If you have never thought about why you are implementing governance, and you don’t know what your end goal is, then take this quest:

We build governance, because our IT and Business must form a partnership. Our entire governance strategy is to make that partnership work.

The choices are yours, but I think you shouldn’t take forever to think about them

Do the right thing. Chances like this don’t come that often. Don’t look back and think, ah, I didn’t take that opportunity and initiate that conversation, and a decade later, I’m still only a cost center, still fighting shadow IT, and the board still wants to offshore my team.

That’d be unfortunate.