Discovering the customisation estate and learning the extension model

Maps Plex's configure-only extension surface — Flex custom fields, Flex workflow triggers, Plex Reporting and Analytics dashboards, MES Automation & Orchestration flows, and tenant API integrations — onto the D365 extension model: models and packages, table and form extensions, Chain of Command, event handlers, data entities, and the Power Platform. The central challenge is not the volume of custom code (there is almost none) but the absence of a published inventory mechanism for what has been configured.

What you will be able to do

Introduction

Moving from Plex to D365 Finance and Operations is not a code migration — Plex has almost no customer-written code to migrate. It is a model migration: from a configure-only, always-current, no-deployment SaaS platform to a versioned, source-controlled, pipeline-deployed application with a real development lifecycle.

What Plex's extension surface actually is

Plex is a multi-tenant SaaS portfolio owned by Rockwell Automation. It runs a continuous-delivery model — "a single, always current line of SaaS code" delivered to all customers simultaneously, with no customer-controlled version freeze. Customisation within this model is configuration, not code:

Discovery: how to inventory what you cannot see

Because Plex publishes no inventory mechanism for tenant-level customisations, the discovery method must be assembled from multiple channels. The following approach is proposed — not proven — and must be adapted to each engagement once API access is confirmed:

The D365 extension model: what a Plex practitioner needs to know

D365's extension model is the architectural foundation for all customisation. It enforces a single rule that has no Plex equivalent: you never modify standard Microsoft objects. Standard tables, classes, forms and data entities live in sealed system models.

The custom-object disposition: a Plex-specific decision tree

Every Plex custom object is triaged into one of six standard dispositions. Because Plex's developer portal was unreachable during the research pass, this disposition table is lower-confidence than the equivalent table for an on-premises adapter and requires a direct Plex admin-console walkthrough before any disposition is finalised.

The Power Platform alternative: when not to write X++

For a team coming from Plex, the Power Platform is often the right answer more frequently than it is for teams coming from SAP or Oracle. Plex practitioners are already comfortable with no-code configuration, and a significant share of Plex customisations — dashboards, approval workflows, lightweight data-entry forms, integration…

What an extension field really means: the cultural shift

This is the single largest change for someone used to adding a Flex field on a Tuesday afternoon.

Integration: from Plex APIs to D365 data entities

Plex references "several options for APIs" for customer orders, shipping and just-in-sequence delivery, and a developer portal (developers.plex.com) exists in principle. The portal returned HTTP 502 throughout the research pass, so the actual integration surface — available endpoints, authentication model, rate limits, webhook…

Knowledge check

Summary

The Plex-to-D365 extension migration is not a code migration — it is a model migration. The volume of custom objects is small, but the discoverability is poor, and the delivery model for extensions changes from configuration to compiled, source-controlled, pipeline-deployed metadata.