Showing posts from 2022

Model Driven Apps - Create many to many relationships with additional columns

Something I found relatively difficult to find online is what to do when I have two tables and I want to create a many to many relationship but additionally hold extra columns about that relationship. When dealing with regular databases you would create a join table (intermediate table) which would hold a one to many relationship between tables: Creating a many to many relationship is pretty straight forward in Dataverse and there is an out of the box relationship builder to do that, however any joiner table is hidden and you can't customise this. This guide explains a really simple way to hook the joiner table up, as when I tried to make the one to many relationships manually and add data using a model driven app, the relationship wasn't being recognised. Some Background My example takes a very simple "Building Project" log book which is to hold information about building jobs and the contractors associated to that job. The contractors will be coming from the default

Global Tenant wide Power Automate Approval Workflow

The following provides a guide on how to add an approval Power Automate workflow to any Document Library in your tenant just by adding a JSON formatted column to your library! A previous client had a requirement to create some global approval templates across the whole of their SharePoint Online Tenant. Power Automate is a great tool for this with its integration with Microsoft Approvals which gives the end user a slick experience being able to approve/reject documents from email or Teams. The problem with most approval templates is an individual workflow has to be deployed to every Library as they run on the "For a selected file" step, which can't be dynamic... or can it!? My colleague Robin Pemberton created an original set of approval templates, one with a multi-step approval, one where everyone must approve, one where only one person needs to approve which we then provided to the business on how to deploy this to their SharePoint libraries, with a long set of instruc