Thursday 10 May 2018

Licensing for push notifications in PowerApps/Flow

If you’re doing more with PowerApps and Flow in Office 365, sooner or later you might hit an interesting question if you want to use a premium connector – just who needs the P1 or P2 license? Premium connectors require extra licensing to what comes with Office 365 E1, E3 and even E5, and the licensing requirements can vary depending on the connector and how it is used – meaning costs can vary too. The one I’m focusing on here is push notifications – let’s say you’re building a PowerApp or using a Flow, and you want to send a notification to a mobile device when something happens (i.e. an alert on the device, rather than an e-mail or SMS). In this case, you’ll most likely find your way to the PowerApps push notification action (a premium connector). Whilst there is also a Flow push notification, that one can only send to the Flow owner – but frequently, you want to send the notification to some kind of approver or recipient, not the person who created the Flow. So, the PowerApps Notification is probably what you need – but don’t be fooled by the name. This thing isn’t constrained to use with in a PowerApp (e.g. a button click) - it can also be used within a Flow (e.g. when the Flow gets to a certain stage). Here’s what it looks like there:

PowerApps notification - in picker

[SNAGHTML109f23cb%5B5%5D]

Who needs the license?

So the question you get to when you need to notify many people is “who exactly needs a P1/P2 license?”

  • Is it just the user/sender? (which in this case, would be the user who the Flow runs as)?
  • Is it every recipient?
  • Is everyone who could be a recipient?

It’s an interesting one and I couldn’t find the answer in the documentation. We had the situation come up in some work for a client, so I reached out to a friendly contact in Microsoft (thanks Dan!), and he did some digging internally to find out.

The answer

In fact, it depends on how your Flow is triggered – since it can be done by a user action, or indirectly through an event:

Triggered

Who needs the license

License type required

Manually Any user of the app which triggered the Flow (e.g. your PowerApp, Flow button or other app)
  • Flow is triggered by PowerApp –> PowerApps P1
  • Flow is triggered by Flow button –> Flow P1
By an event (e.g. new item in a SharePoint list, new file in OneDrive etc.) Just the Flow author
  • P2 (Flow) – * but see my caveat below

It’s worth being aware that these P1 and P2 additive licenses come in both PowerApps and Flow flavors – but PowerApps licenses always include Flow capabilities. PowerApps licenses are correspondingly more expensive since you unlock the whole, um, power of PowerApps too. Broadly the idea is that:

  • Users creating “basic” PowerApps (e.g. canvas apps) need a P1 license - currently $7 per user per month for PowerApps P1
  • Users creating “advanced” PowerApps (e.g. model-driven apps, business process flows, entities in CDS etc) need a P2 license (currently $40 per user per month for PowerApps P1

For many PowerApps, that will mean the P1 license is sufficient though (in my view).

    Also note that if you’ll only use Flow and never PowerApps, maybe you just need Flow P1/P2 licenses. These are much cheaper than PowerApps P1/P2 licenses (currently $5 per user per month for Flow P1, $15 per user per month for Flow P2).

    * By the way, with reference to my table above, my understanding is that if you have a PowerApp which adds a SharePoint list item (or file to OneDrive etc.), then a PowerApps license is required for the user – not just a Flow license. After all, the event is really being triggered by the PowerApp – rather than it being a purely indirect thing, from a manually added list item/file for example.

    If you need to know up-to-date pricing, see the PowerApps plans pricing and Flow plans pricing pages. Another good resource (along with licensing examples) is the PowerApps licensing overview page – this has some great info, but it just didn’t have the detail I needed around premium connectors and recipients.

    Other scenarios

    Maybe you want to use the PowerApps push notification purely within PowerApps (i.e. not in Flow). In this case, there are similar considerations:

    • Makers of the app which has the Push Notifications connection need a PowerApps P1 or P2 license (as you’d expect)
    • Users of the app need a PowerApps P1 or P2 license (also as you’d expect, since this is a premium connector remember)

    But there’s an interesting possibility if it’s a different PowerApp which receives the notification (in the PowerApps world, it’s possible for one app to send the notification and another to be receive it). In this case:

    • Users of the recipient app do NOT need a PowerApps P1/P2 license – their Office 365 license is sufficient
      • (This is because this app does not use the Push Notifications connection)

    So, that’s definitely a trick which might be helpful, so long as the implementation details are OK with your requirements (i.e. you are able to split your app in this way).

    Summary

    There are definitely a few complexities around licensing of PowerApps and Flow, and as you build more solutions with them there are more scenarios to consider – in fact, . I’m really not trying to be the man to answer all your licensing questions here though :) You’ll need to contact Microsoft if the above links don’t have the detailed information you need, as they’ll give a better answer than I ever could. However, I thought some folks might run into the same questions that I did, and I figured some of this info needs more prominence.

    Have fun building your solutions!

    No comments: