Custom development in Dynamics 365 involves multiple approaches, each suited for different requirements. Below is a detailed breakdown of each method along with their use cases.
Plugin
Overview
- Server-side (C#) custom code executed within Dynamics 365
- Hooks into platform events (Create, Update, Delete, etc.) to implement business logic
- Can run in Pre-validation, Pre-operation, and Post-operation stages
Use Cases
✅ Auto-populating or validating data
- When a new account is created, automatically create associated contacts
✅ Transactional integrity
- If an Opportunity is won, automatically convert related Quotes to Orders
✅ External system integration
- Notify an external system via Azure Service Bus whenever a record is updated
JavaScript (JS)
Overview
- Client-side script running in the browser
- Used for dynamic UI updates, form customizations, and validations
- Can call Web API to retrieve or update data
Use Cases
✅ Dynamic form control
- If an Opportunity value exceeds a certain amount, mark specific fields as required
✅ Real-time validation
- Validate email format before saving a Contact record
✅ Fetching and updating data in real-time
- Auto-fill the address when selecting an existing Account
WebResource
Overview
- Stores JavaScript, HTML, CSS, images, XML, etc.
- Used to implement custom UI and logic beyond standard form customizations
Use Cases
✅ Custom search panels
- Create a custom search UI to retrieve CRM data more efficiently
✅ Advanced charts and visualization
- Implement custom dashboards that offer better control than Power BI
✅ Embedded media files
- Show product images or videos on entity forms
Power Automate (Formerly Microsoft Flow)
Overview
- Low-code/no-code workflow automation tool
- Triggers actions based on data changes in Dynamics 365
- Easily integrates with other Microsoft and third-party applications
Use Cases
✅ Automated quote processing
- When a deal is closed, automatically generate a PDF quote and email it to the customer
✅ Approval workflows
- Send approval requests to managers when a contract is created
✅ Third-party system integrations
- Sync customer data between Salesforce and Dynamics 365
Azure Functions / Logic Apps
Overview
- Used for advanced server-side integrations with external systems
- Azure Functions allows C#/JavaScript-based serverless processing
- Logic Apps provides low-code API orchestration
Use Cases
✅ Batch processing
- Sync customer records between Dynamics 365 and an external database every night
✅ Third-party API integration
- Sync CRM records with Salesforce, SAP, or other external applications
✅ AI-powered automation
- Use Azure OpenAI to analyze and categorize incoming customer support requests
PCF (PowerApps Component Framework)
Overview
- Enables building custom UI components for Dynamics 365
- Uses JavaScript/TypeScript and frameworks like React
- Works in both model-driven and canvas apps
Use Cases
✅ Custom input controls
- Implement an interactive slider or drag-and-drop feature for data input
✅ Real-time charts and visualization
- Display real-time data in a more user-friendly format
✅ External data integration
- Embed Google Maps to show customer locations directly in a form
Custom API (Formerly Custom Action)
Overview
- Customizes Dynamics 365 Web API by adding new endpoints
- Allows other systems and workflows to call custom logic
Use Cases
✅ Custom business processes
- Define a custom API for triggering workflow actions across multiple entities
✅ External system communication
- Expose a REST API for an ERP system to retrieve order details
✅ Complex bulk operations
- Enable external applications to perform bulk updates to CRM data efficiently
Virtual Entities
Overview
- Allows real-time access to external data without importing it into Dynamics 365
- Displays external data as if it were a native CRM entity
Use Cases
✅ Viewing external CRM data within Dynamics 365
- Display Salesforce customer data inside Dynamics 365 without data duplication
✅ ERP integration
- Show SAP inventory data in Dynamics 365 without syncing records
✅ Reducing unnecessary data storage
- Query large external datasets in real-time without storing them in CRM
Embedded Canvas App
Overview
- Embeds a canvas app inside a Dynamics 365 form
- Enables more flexible UI and interactions
Use Cases
✅ Custom order management UI
- Create an interactive PowerApps form for entering sales orders
✅ External data visualization
- Display SharePoint-stored contract documents within Dynamics 365
✅ Customer engagement optimization
- Integrate messaging platforms like WhatsApp or LINE directly within CRM
Summary of Custom Development Options in Dynamics 365
Method | Primary Use |
---|---|
Plugin | Server-side business logic and automation |
JavaScript | Client-side form and UI customization |
WebResource | Custom UI elements and scripts |
Power Automate | Low-code workflow automation |
Azure Functions | Advanced external integrations and processing |
PCF | Custom UI components |
Custom API | Extending Dynamics 365 API functionality |
Virtual Entities | Displaying external data in real-time |
Embedded Canvas App | Integrating custom PowerApps into forms |
By selecting and combining the right approach, you can create highly flexible and efficient custom solutions in Dynamics 365.
コメント