Extending your Microsoft Dynamics 365 CRM
Dynamics CRM specialists
Dynamics 365 CRM offers a layered approach to customisation and it's crucial to choose the right tool for the job while considering complexity, maintainability, and performance. Generally, it's best to start with a no-code/low-code methodology before resorting to a more traditional coding approach.
No-Code/Low-Code Methodology
When we talk about No-Code/Low-Code, you are spoilt for choice, probably a bit too spoilt, that it can be difficult to settle on which is the right tool for the job! We are always here to help you navigate the plethora of options, but in summary this is what you have at your disposal and where it should ideally be used.
Business Rules
-
Define client-side logic executed in the browser
-
Ideal for Simple validations, Field visibility changes and Setting default values
-
No coding required; easy to configure
-
Helps reduce technical debt
-
Replaces some JavaScript use cases for UI logic
Workflows
-
Automate processes without writing code
-
Triggered by CRUD events (Create, Read, Update, Delete)
-
Can Send emails, Create/update records and Trigger other workflows
-
Best for simple, real-time automation within Dynamics 365 CRM
Power Automate (Flows)
-
Cloud-based automation platform for complex workflows
-
Integrates with Dynamics 365, Office 365, SharePoint, Teams and Third-party apps (e.g., Twitter, Slack, Dropbox)
-
Suitable for Simple notifications and multi-step processes with approvals and data handling
-
Visual designer and templates make it very accessible to non-developers
Business Process Flow (BPF)
-
Guides users through processes visually
-
Ensures consistency and enhances user experience
-
Common use cases include Sales Processes, Case Resolution, Event Planning and Real Estate workflows
Custom Entities (Tables)
-
Allows storage of business-specific data
-
Use when standard tables don’t meet needs (customisation should be considered first)
-
Components available for customisation:
-
Columns (Fields) - Capture additional data; best to repurpose where possible
-
Relationships - Link tables (e.g., one account to many contacts)
-
Forms - Customise layout, tabs, fields; reusable and can be created for different functions
-
Views - Filter and sort data like Excel; personal or public
-
Charts - Visualise key metrics; supports decision-making
-
Icons - Custom icons improve record identification and user experience
-
Code-Based Customisation
When it comes to a more traditional approach to customisation there is still a good choice of approaches and options, but each requires a more enhanced skill set to make the most of the tools available, what you have to really turbo charge your Dynamics 365 platform include.
JavaScript (JScript)
Client-side scripting executed in the user’s browser
Used for Complex form manipulations, Validations and UI enhancements
Example: Implementing custom calculations on a form
Plugins (C#)
Server-side code executed on the Dynamics 365 server
Triggered by events
Ideal for Complex logic, Data manipulations and System and external integrations
Custom Actions
Define reusable server-side logic
Can be called from Workflows, Plugins, Other code
Encapsulate and standardise complex business operations
Web Resources (HTML, JavaScript, CSS, XML, XSL)
Files stored in Dynamics 365 to extend the UI
Used for Custom user interfaces, Embedding external content and Complex JavaScript functionality
Solutions
Packages of customisations for deployment across environments
Help manage and organise CRM customisations
Commonly deployed using Azure DevOps Pipelines for automation and consistency across environments
Want to learn more about extending Dynamics 365 CRM?
By understanding these customisation options and following best practices, you can effectively extend Dynamics 365 CRM apps to meet your unique business requirements. Remember to prioritise declarative methods and only use code-based customisations when necessary.
Learn more
Discover what we can deliver with Dynamics 365 CRM