• Grey Twitter Icon

© 2019 | Marcel Haas | marcel.haas@cnext.ch | +41 76 390 23 17

  • Marcel Haas

Microsoft Flow / State Machine / Post processor Flow (5/8)

Updated: Jan 29, 2019


Think of the post processor as a Worker Flow, primarly responsible to keep a centralized log of all approval activities and detailed process step outcomes.

Data is stored as JSON in an Azure Storage table, so it's easy to do simple analysis and make the log data actionable for any follow up processing purposes.

One of the common requirements we are facing in customer projects, is centralized status logging and error handling. In this post I'm focusing on error handling, because this is a topic often missed but basically very easy to implement in Flow.


This solution makes use of Azure Storage Tables to keep a centralized log of all relevant approval and process activities for analytics and Microsoft Planner to surface errors to the user in the nice form of a Planner board.


Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schemaless design. So, this approach is kind of a mix of detailed logging for tracebilty and compliance + deep integration of Flow run errors into users existings tools in Office 365 (aka. Planner used for task management already).


Thanks to the Microsoft Planner Connector in Flow, we can easily create new cards in an exisiting Planner plan. In January 2019 the functionality provided by the connector is pretty limited, but you can always use Graph to do more. For our fairly simple usecase, we have all we need.


Microsoft Planner - Flow Cockpit

See all triggers and actions, the Planner Connector currently has to offer:

> https://docs.microsoft.com/en-us/connectors/planner/

Sample Implementation

Beauty often lies in simplicity. So, let's see how it's done. As you can see based on the sample implementation, this Flow has a very clear and easy to read and understand structure and is scalable in all dimensions to your enterprise needs.

Microsoft Flow - State Machine - Post processor

Please read the full implementation guide for detailed reference on the whole implementation of a State Machine Pattern in Flow: > https://www.thatmarcelhaas.com/blog/microsoft-flow-state-pattern-implementation-guide-2-8

Trigger (State Input)

  • Azure Queue Storage

The controller Flows is triggered if a new message (JSON Object) is added to an Azure Storage Queue "approval-logger".

Connectors

The Controller Flow in it's basic implementation, need the following connectors:

  • Azure Queue Storage

  • Azure Table Storage

  • Microsoft Planner

Actions

We actually don't need a lot of actions, to make this pattern work in Flow. This makes it very easy to implement. This is our minimum action set:

  • Variable

  • Parse

  • Delete Message from Storage Queue

  • Add entity to Table Storage

  • Planner add Task

  • Planner add Task Details

Content Index

There is a lot more of content available to you:

> Introduction

> Implementation Guide

> Controller Flow

> Worker Flows

> Post Processor Flow

> Azure Queue Storage

> Azure Table Storage

> JSON Message State Object