Implementing Dynamics 365 with a Custom Web Portal

Simon Harris
Capgemini Microsoft Blog
6 min readJul 16, 2020
Photo by Zach Woolf

Overview

I recently worked on the implementation of a new solution for a Public Sector Client in Utilities sector. This solution leveraged the following components:

  • Custom, interactive, simple, responsive & modern self-service Web Portal using Azure Web Application
  • Dynamics 365 for Case Management
  • SharePoint 365 for Document Management
  • Dell Boomi for integration to Legacy systems
  • Other Azure services — Logic Apps, Power Automate, Service Bus Queues

The client wanted a simple yet highly interactive web portal for B2C customers, which would need to display a purpose-built user interface.

The high-level requirements were:

  • Front-End — Easy to use and interactive Self Service Case Management web portal for B2C customers
  • Back-End — Complex inter-related Case processing, activities for teams on/off system, integration with legacy systems and prescribed business flows while adhering to Publicly reported KPI’s

This is how we achieved the ask.

Solution Architecture

The diagram below shows the proposed solution and components within:

Solution Components Overview
Angular JS Front-End, .NET Core Medium, Dynamics 365 Back-End

To deliver a clean, simple & highly interactive web portal we used Angular JS for the presentation layer, which talked to .NET Code calling Dynamics 365 APIs. All Data was stored in Dynamics.

Custom Web Portal

Design

Using a Custom Web Portal allowed us to deliver a pixel-perfect design:

Interactivity

Pages

Complex and lengthy data entry was split into pages to simplify and allow customers to return after a break:

Timeline View

We created a custom timeline view in the portal to allow users to see the progress of their cases:

Icons

Icons and images are used where possible instead of words, with tool tips on mouse over:

The above features were achievable due to the use of a Custom Web Portal, allowing increased flexibility in how we were able to dictate the wire frame and extend design principals outside of the standard Dynamics user interface.

Dynamics 365 Customer Engagement (CE)

Case Management

Cases and related information captured on the front-end Custom Web Portal are then processed in the back-end, Dynamics 365.

Using a combination of core and custom entities, Dynamics 365 allows case handlers to progress cases and show the end-user this progression via the portal in real-time.

Business Process Flows

We used Dynamics 365 Business Process Flows to enforce complex business rules per application type and ensure case handlers adhered to the standard processing tasks.

Interactive Dashboards

Self Service configurable listing views, reports and dashboards, allow the business to view, prioritise and plan current workload.

Interactive Dashboards played a big part in giving key business users a clear and detailed overview of current cases and SLA’s at any given time.

Authentication

Azure AD

Dynamics 365 connected to the clients existing Azure Active Directory (AAD), provides authentication to internal employee users. The Custom Portal allows self-registration and password reset managed by Azure AAD B2C. Accounts can also be linked to Social Media account Registrations/Authentication, e.g. login with Facebook. The Custom Portal also supports Business Partner employees authenticating by Azure AD B2B. As well as Portal access, AAD B2B allows business users to collaborate using Teams, SharePoint, Office 365, etc.

Document Management

SharePoint

All documents and files related to application cases are stored and managed in SharePoint, through an Out of Box (OOB) integration to Dynamics 365.

  • Employee users can access documents through Dynamics 365 or directly from SharePoint
  • Custom Portal allows users to upload documents against cases into SharePoint seamlessly from Web
  • Out-of-the-box Dynamics→SharePoint integration was extended to use Document Locations with Meta-Data Tags rather than traditional folders
  • Custom Portal code recognises large file uploads and breaks into smaller chunks for reliability and avoid memory problems

Azure Logic Applications

Following Microsoft strategic directions, Azure Logic Applications are used within the solution as low-code, easily configurable actions for the following:

  • Provide business logic automation
  • Data synchronisation between supported systems
  • Interactions between Dynamics and O365, e.g. SharePoint document location creation for new cases
  • Sending emails based on Dynamics 365 data triggers
  • Sending SMS reminders for appointments using external service
  • Retrieve/look-up information from external systems
  • Create Tasks to review newly uploaded documents
  • Expiring Quotes if not accepted on portal within time limit

Integration

Integration with legacy/line of business systems used Boomi cloud SaaS integration software. Boomi has a pre-built connector for Dynamics 365 which saved on development efforts. To send updates to legacy, Dynamics adds a message to Azure Service Bus Queues based on business triggers. Then Boomi picks messages from Queues and processes data updates to legacy systems, e.g. new Quote created in Dynamics sent to Finance system. Changes from legacy systems are sent to integration queues for Boomi to process updates in Dynamics, e.g. Invoice payment status updated in Finance sent to Dynamics.

When to Consider a Custom Portal

Dynamics 365 (CE) comes with Web Portal capability OOB, however our client had the requirement for a completely bespoke and pixel perfect design to their user interface. This therefore meant that we required an alternative solution to achieve the desired results and allow the Dynamics 365 back-end build to continue in parallel.

Taking into consideration the extra investment required to implement a Custom Web Portal, I would note that such solution is more suited to certain businesses or scenarios, such as:

  • B2C — General Public, infrequent users
  • Complex cases with large data collection
  • Cases with multiple interactions back and forth between B and C

What to Consider with a Custom Portal

The considerations when choosing a Custom Web Portal over the Out-of-the-Box Dynamics 365 Portal capability are:

  • Increased design, build and test effort
  • Increased support effort required
  • Effort to keep the fields on the Portal and Dynamics in sync during build
  • Wider team skill-set required — HTML, Angular JS, .NET & Dynamics API

Summary

The combined power of Dynamics 365 and flexibility of Custom Web Portals allowed us to create a robust and capable solution, echoed in the resoundingly positive feedback we have received both as a project team and as Capgemini.

Our client now observes 99% of new applications made via the portal, versus paper submissions, increasing data quality, reducing costs and improving environmental sustainability.

Do you want to deliver interesting projects leveraging multiple technologies and platforms? Join the Capgemini Microsoft Team!

--

--