web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :

Managing approvals in Dynamics 365 with Microsoft Flow

Alessandro Graps Profile Picture Alessandro Graps 2,664

I’ve been curious about the Approvals capability that is conspicuously nestled into the black navigation bar of Microsoft Flow for some time now.   Specifically, I’ve wondered whether Flow Approvals would work within the context of approving Dynamics 365 processes in an enterprise-sized organisation.

Flow is the ‘little brother’ of Logic Apps (see comparison here) and is designed for the business user (a.k.a. the Citizen Integrator) in self-service automation scenarios, so my question was: could it be used for larger scale enterprise-level approval processes too?

ApprovalsNavBar

After all, Flow offers all the components of an approval chain ready to use, so it would be a shame not to take advantage.

What’s Available…

  1. An Approval action to automate the approval process
  2. Flow template that uses the action for a Dynamics 365 deal approval
  3. An approvals centre on the Microsoft Flow website where users can respond to approval requests
  4. mobile app for managing approval requests on the go

The Conclusion

After checking in Azure Active Directory that my test user had an assigned manager and then simplifying the template (by removing the “Check if opportunity closed in last 24 hours” condition), the Flow successfully ran.  So far so good.  Now I wanted to check if I could deploy it across my organisation for all users, and here’s the sticking point.

Flows can be shared to other users, Office 365 Groups and Security Groups (at which point the Flow ‘converts’ to a Team Flow)…

TeamFlow

…however, these shared users all effectively become admins and have edit permissions to the Flow.  So, a rogue user wanting to bypass the approval could simply edit the Flow.

To avoid this, we could share the Flow to users in an non-admin state by sharing as Run-Only Users:

RunOnlyUsers

However, the Manage Run-Only Users option above is only available after using either the “Manually trigger a flow” or “For a selected item” triggers.

ManuallyTriggerAFlow
ForASelectedItem

Neither of these options would really work in our highly scaled, enterprise context.  For example, “Manually trigger a flow” (as the name suggests) would require the user to break away from their Dynamics 365 process and initiate a secondary process in another app, adding extra clicks, time and effort – all when we are aiming to simplify and scale.

The other consideration is throttling.  The Approval action in Flow is throttled to one request per 300 seconds, i.e. 5 minutes.

ThrottlingLimits

And although Flow can be set so that the run-only user’s connection credentials are used (rather than all the shared users using the original creator’s credentials), once every 5 minutes isn’t very generous.

ApprovalRunOnly

Summary

A nice idea…that sadly won’t easily scale.  We’ll have to keep Flow Approvals for the self-service audience and use cases they were designed for.  But it was worth a try!

So, in my next article I’m going to use Logic Apps (which are intended to scale for large enterprise) to show how a Dynamics 365 approval process could be built in Azure.https://c0.pubmine.com/sf/0.0.3/html/safeframe.htmlREPORT THIS AD

daniel_good


This was originally posted here.

Comments

*This post is locked for comments