Dynamics 365 Field Service Integrations, Part 5 of 5: Application Integration with Microsoft Flow
Matt Klein
|
Jan 13 2020
|
6 min read
In Part 1 of this series, we made the distinction between data integration and application integration. Part 3 and Part 4 of this series showed how the Common Data Service (CDS) Data Integrator can be used to perform data integrations and transformations on a recurring, automated basis.
This final part of the series will look at how Microsoft Flow can enable near real-time application integrations. For this example, we will have Field Service technicians submit purchase requests via their mobile devices for review and approval in Field Service, and then automatically route that request to Dynamics 365 Finance and Operations (F&O) for processing.
Microsoft Flow uses Connections like the ones we set up in Part 1 of this series to interact with a very large and rapidly growing catalog of SaaS-enabled software, even including many competitors to Microsoft. Each Connector allows for controlled access to the software to handle events or perform actions just as you might using APIs and programming, except without having to write a single line of code. For the latest list, navigate to https://flow.microsoft.com/connectors/.
For our example, we will make use of the Dynamics 365 Customer Engagement and Dynamics 365 for Finance and Operations Connectors we set up in Part 2 of the series.
The User Experience
Let’s first review what the users will see in this example solution, and then unpack the MS Flow created to enable it. We begin with the tech out in the field working on his mobile device.
The Field Services technician is completing a Work Order and finds that some parts are needed. He completes a requisition on the mobile and submits it for approval and processing.
Note: For this example, I am using the Purchase Order (PO) entity for simplicity. However, since the relationship between a requisition and purchase order is not always 1-to-1, for a production solution we would more likely create a purchase requisition entity in Field Service so that we can use the standard PO entity for tracking resulting POs.
The technician supervisor receives an alert for the submitted purchase request and notes it on her dashboard. She reviews the request and then approves it for routing to Procurement.
In the meantime, the field technician reviews his requisition and can see that it has been approved for Procurement.
An automated Microsoft Flow process detects that the request is ready for processing, and then creates the formal purchase request in F&O.
Procurement reviews the submitted purchase requisition and sets up the necessary purchase orders.
Flow Data Integration Configuration
As you can see, this is a pretty simple process for the technician as well as for the back-office workers. Let’s take a close look at the MS Flow automation that makes this possible, which I called “Submit Field Purchase Request.”
All automated MS Flows begin with a triggering event. In this case, the creation or update of the Dynamics 365 Field Service “Purchase Order” entity in the Contoso instance of Field Service. This event—and therefore this Flow—will fire every time a Purchase Order (PO) record is created or updated, so we need to determine if the process should continue by adding a Condition check. Here, we are checking to see if the Field Service PO has been approved, and that it has not yet been written to F&O.
For this example, a field was added to the Field Service PO entity to hold the F&O PO number. As we will see later, this value is updated when the F&O PO is created and allows for this condition check to work.
If the check finds that there is no need to create the F&O PO—either because it has already been done or because the Field Service PO is not yet approved—the Flow ends via the “If no” branch of the Flow. Otherwise, the check finds that the F&O PO is to be created and the Flow enters the “If yes” branch.
Before we create the F&O PO, we first pull the complete Work Order and Warehouse records for the Work Order and Warehouse associated with the purchase order. This is done to get extended details about these items so we can use them when we create the F&O PO record.
With information about the Field Service PO, Work Order, and Warehouse, we can now create the F&O PO record.
We will use the F&O instance Connection we set up in Part 2 and target the PurchaseRequisitionHeaders entity. There are several fields available to us, but we will populate just a few, including PO Name, Details, Requested date, and Preparer. The Details field will provide Procurement with the related Work Order and the Ship-to Warehouse.
In my example, I entered the Worker number for my D365 F&O user so the request would show as submitted by me in F&O. Note that for a production solution, additional steps would be needed to retrieve the user’s F&O Worker ID. This value might be maintained in Field Service using a separate integration, or it may be retrieved from F&O as part of this and other Flows. For our example, I manually keyed it.
The final step is to update the Field Service PO with the F&O PO number so that it can be referenced by Field Service users, and so our Flow knows it has already been submitted to F&O.
The Procurement department, working exclusively in F&O, can now process the purchase requisition!
This is one simple example of what can be done using Microsoft Flow. There are many more scenarios where Flow is a great fit. The power and flexibility of the tool enables a wide range of solutions to be built, and to do so very quickly and easy, most often without any added licensing cost.
In this series, we discussed data vs application integration concepts, reviewed how to set up for an integration project, dove into the use of Common Data Service (CDS) Data Integrator for data integrations, and finished up with a review of Microsoft Flow to manage application integrations. I hope you have found this series to be helpful as you look to tackle your data and application integration challenges!
This publication contains general information only and Sikich is not, by means of this publication, rendering accounting, business, financial, investment, legal, tax, or any other professional advice or services. This publication is not a substitute for such professional advice or services, nor should you use it as a basis for any decision, action or omission that may affect you or your business. Before making any decision, taking any action or omitting an action that may affect you or your business, you should consult a qualified professional advisor. In addition, this publication may contain certain content generated by an artificial intelligence (AI) language model. You acknowledge that Sikich shall not be responsible for any loss sustained by you or any person who relies on this publication.
About the Author
Matt Klein
Any system implementer can build or configure software. I believe that the job of a great consultant is to see well beyond what we hear, finding and answering questions even our clients did not know they had, with success ultimately measured in how well our client feels they have been served. To me, by far the most rewarding aspect of the consulting role is the awareness that I am helping others achieve.
As a consulting enterprise solutions architect and product strategist, I enjoy the deeply technical and managerial aspects of the role as much as the interaction with clients and their employees: business process decomposition and re-engineering, requirements management, project management, enterprise architecture, solution and software design, and technical development. It is a privilege to be involved in nearly all aspects of solution creation, from ideation all the way through deployment.
Sign up for Insights
Join 14,000+ Business executives and decision makers.
Latest Insights
Information Technology
Understanding Line Interactive and Online UPS Devices along ...
December 3, 2024
Information Technology
Understanding Line Interactive and Online UPS Devices along ...
December 3, 2024
Uninterruptible Power Supply (UPS) systems are crucial for ensuring continuous power to critical devices during power outages or fluctuations. Among ...
Navigating Vendor Approvals in NetSuite With No Native Appro...
December 2, 2024
NetSuite
Navigating Vendor Approvals in NetSuite With No Native Appro...
December 2, 2024
Any delay in vendor payments due to unapproved or inaccessible records can halt production lines or disrupt distribution schedules. For organizations...
2024 Elections: Outlook on Tax Legislation with Republicans ...
November 26, 2024
Tax
2024 Elections: Outlook on Tax Legislation with Republicans ...
November 26, 2024
In the 2024 presidential election, former President and now President-Elect Donald Trump secured 312 electoral votes, winning the race to the White H...
When configuring switches remotely, having a rollback option is essential. Cisco provides an efficient way to test configuration changes using the re...
Series B and Beyond: Financial Strategies for Scaling BioTec...
November 25, 2024
Life Science
Series B and Beyond: Financial Strategies for Scaling BioTec...
November 25, 2024
Securing Series B funding is a major win for BioTech companies, but what comes after can be the real challenge. So, what happens next? Well once the ...
Oracle RMC for Business Process Leads: Driving Efficiency an...
November 22, 2024
Oracle Cloud
Oracle RMC for Business Process Leads: Driving Efficiency an...
November 22, 2024
Business process leads play a critical role in ensuring compliance and managing risk in their respective areas. For many, however, this task can be o...
On Demand – 2024 Yellowbook Webinar Series Session 10:...
November 21, 2024
Sikich On Demand
On Demand – 2024 Yellowbook Webinar Series Session 10:...
November 21, 2024
Watch our tenth installment of Sikich's Yellowbook Webinar series, where our government finance experts discuss the importance of internal controls i...
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.