Investment requests – Introduction – Part 1/6 - #ARCHIVED#

This content has been archived. It may no longer be relevant.  

On 2018-09-18, I gave a presentation about the business solution “Investment requests” I created with: SharePoint Online (Modern team site), PnP PowerShell, Flow and PowerApps. The 45 minutes were over before I knew it. Several topics were not, or in lesser detail, presented. I therefor decided to start a blog post series specially for this.

The blog post series has the following topics:

  1. Introduction
  2. Executing Flow actions with service account permissions
  3. Email
  4. Permissions
  5. PowerApps
  6. And something more


The business solution “Investment requests” supports the preparation and processing (approval) of investment requests. An investment request is an Microsoft Excel file with several sheets.

The solution was made for a company with 4 entities: Corporate and 3 plants. The solution is not suitable for a company with many plants.

A modern SharePoint Online team site was used for the solution.

Logical design

The solution has 3 sections:

  • Preparation (Blue)
  • Processing (Orange)
  • Administration (Green)


For every team, there is one document library. Every document library has:

  • 2 content types: “Investment request” and “Document”
  • Unique permissions
  • A Flow

The content type “Investment request” contains columns needed for processing the investment request (a title, an unique ID, “Entity” and “Amount”) and reporting (“Category” and “Subcategory”).

Only employees with edit permissions on a document library are able to manually start the “approval request” Flow. Section “Flows” contains an overview of the this Flow.


Every approval request is translated to a task in a custom task list. An approver receives an email with a link to the file in the document library “Requests” and a link to the related item in the task list. When a task is updated, a Flow automatically starts. Section “Flows” contains an overview of the this Flow.

Nobody (except for application management) has direct edit permissions on the document library “Requests”. Changes are only made by a Flow.

Only the person to whom a task is assigned can update that task. A procedure to change the assignee is available and can only be executed by application management.


This section contains 3 SharePoint lists. The list “Job Titles” is located in a master data site (a separate modern SharePoint Online team site). The two other lists (“Authorization matrix” and ‘”Settings”) are part of the same modern SharePoint Online team site containing the preparation and processing objects.


There are 5 “approval request” Flows (one for every team) and one “process task” Flow.

Approval request

  1. Perform some checks.
  2. Copy the Microsoft Excel file to the document library “Requests”. Metadata is added too.
  3. Determine the roles which are needed for processing the investment request.
  4. Create a task for the first role.
  5. Update statuses.
  6. Set permissions.

Process task

  1. Create a task for the next role OR Approve/Decline the investment request.
  2. Update statuses.
  3. Set permissions.


The form on the task list was configured with PowerApps. A separate app was created containing one screen with overview information. This app was added to a site page and that page is only available for the process owner and application management.


The are 7 roles.

  • Plant Manager
  • Business Controller
  • Financial Manager
  • Director Operations
  • Financial Director
  • CEO
  • CFO

The roles needed when processing an investment request depends on the entity and the amount.


There are 4 entities:

  • Corporate
  • Plant “A”
  • Plant “B”
  • Plant “C”

An investment request is always related to one entity.


There are 5 teams:

  • Corporate
  • Plant “A”
  • Plant “B”
  • Plant “C”
  • Projects

An employee of team “Projects” can submit investment requests for all 4 entities.