Beginner’s guide to automating Business Central approval workflows using Power Automate, with icons of Dynamics 365, document, and approval checkmark
|

Automate Business Central Approvals with Power Automate: A Beginner’s Guide

Important Note! This does not fully work! But it does help understand how an approval can be driven from Business Central so I decided to leave it here.  ultimately you can’t release a purchase order from Pwer Automate without advanced API work which isn’t included in a “Beginners Giuide”

UPDATE! I added a post explaining how to release  purchase orders via a custom API here


Welcome to PowerLogicHub.com!

In this first post, I want to show you how easy and powerful it is to automate a core business process using Microsoft’s Power Platform. Specifically, we’ll build a flow that automatically handles purchase order approvals in Business Central using Power Automate. Whether you’re new to automation or already exploring low-code tools, this guide will give you a practical, real-world scenario to start with.

Scenario Overview

In many businesses, purchase orders over a certain amount require approval. Instead of chasing people for emails or sign-offs, we can automate the entire process. Here’s the scenario:

  • A new purchase order is created or modified in Business Central.

  • If the amount exceeds £5,000, an approval request is sent to a manager.

  • The manager can approve or reject the request via email.

  • Based on the response, the PO status is updated in Business Central.

  • We need to control the flow of data in a different way to built in approval flows in BC

Prerequisites

To follow along, you need:

  • Access to Power Automate (included in most Microsoft 365 plans)

  • A Business Central environment (Sandbox or Production)

  • Appropriate permissions to create flows and connect to BC

  • An approver’s email address for testing

Step-by-Step: Building the Approval Flow

 

1. Trigger: When a record is modified

  • Use the Business Central connector in Power Automate.

  • Trigger: “When a record is modified (V3)”

  • Choose the Company, Environment, and Table (“purchaseOrders”)

 Real-World Tip

Don’t try using “When a record is created”! During testing you may find this works if you create an entry fast. I have been informed there is something like a 30 second delay before BC triggers this after the record is created and that is when the document is first started.  Essentially a blank record is created so 30 secconds later could be when you are half way through creating the document and not all the information is there.

 

2. Get Record

The first step tells us a record was modified but we need to get the details of the record
  • Environment: choose your sandbox environment

  • Company: choose the company you are testing in

  • API Category v2.0 

  • Table Name: purchaseOrders

  • Row ID: get the dynamic content row id from the previous step

Power automate screenshot of a trigger and and action using Business Central connector

 

3. Condition: Amount > 5000

If the amount is more than 5000 we need to start a flow so add a condition to check

Power automate screenshot of a trigger and and action using Business Central connector

 

Click on “Condition” set the value in the left box to “Total Amount Excluding Vat” and the right box to 5000 the operator to “is greater that”

This will give a true/false output bast on that check and we can do different things based on that.

 

Screenshot of Power automate showing a condition action the total ammount is greater that 5000

 

3. Send an Approval Email

  • Use “Start and wait for an approval”

  • Approval type: “Approve/Reject – First to respond”

  • Title: “Purchase Order Approval Request”

  • Details: Include PO number, vendor, and amount

 

4. Conditional Branch

If Approved:
 
  • In True Use “Send an email (V2)” outlook connector can configure to send an email 

 
If Rejected:
 
  • In False Use “Send an email (V2)” outlook connector can configure to send an email 

 
For each send an email to the relevant person with either the approved or rejected text.
 

Conclusion

So I don’t like this solution, we need to be able to change the status of the purchase order to released but that is not possible with standard API connections to Business Central from Power Automate.  There are a couple of options moving forward:

Advanced option 1: create an API with a bound function to release the purchase order

I added a post explaining how to do this here!

Advanced Option 2: add a custom field to the purchase order for Approval Status, although this will not have any functionality in BC

Intermediate Option: Use sharepoint list to manage which one are approved and which are not.

For now it’s probably best to manage all this in BC with BC approvals until Microsoft allow us release documents using Power Auomate.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *