Stop Creating Entities: Simplifying CRM with JSON and Custom HTML for a Sustainability Certification Non-Profit in the Netherlands
Summary
A non-profit sustainability certification organization reduced CRM complexity by replacing multiple custom entities with a JSON-based data structure in Microsoft Dynamics 365 CRM.
CloudFronts implemented a custom HTML interface to dynamically render input fields and manage document uploads within a single, unified UI.
The approach eliminated repeated schema changes, reduced admin overhead, and enabled faster adaptation to evolving certification requirements.
Business impact: Reduced CRM customization overhead, accelerated onboarding of new certification types, and a more maintainable solution that scales without structural rework.
About the Customer
The customer is a non-profit organization focused on sustainability certification across industries. They operate across multiple certification programs, each with distinct documentation requirements, input fields, and approval workflows. Their team relies on Microsoft Dynamics 365 CRM as the central platform for managing certification applications, applicant data, and compliance records.
The Challenge
Microsoft Dynamics 365 CRM is built for structured data — but not all business processes follow fixed structures.
The organization managed several certification programs, each requiring different sets of input fields, document uploads, and validation logic. Initially, each new certification type was handled by creating a new custom entity or modifying existing ones to accommodate the required fields.
While this worked for a small number of programs, the approach quickly revealed significant limitations:
- Schema rigidity: Every time a new certification type was introduced, or an existing one updated, the CRM schema had to be modified. This meant new fields, new relationships, and repeated deployment cycles.
- Administrative overhead: Each schema change required coordination between developers and CRM administrators, creating delays and dependency bottlenecks.
- Inconsistent UI experience: With different entities handling different certification types, the user interface lacked consistency. Applicants and internal users faced a fragmented experience depending on which program they were working in.
- Scalability ceiling: The entity-per-program model was not designed to scale. Adding a tenth or fifteenth certification type would exponentially increase the complexity of the CRM data model.
- Document management friction: Handling document uploads across multiple entities was cumbersome, with no unified approach to tracking submission status or linking files to the correct certification record.
The organization needed a solution that could accommodate evolving certification structures without requiring constant schema modifications or developer intervention.
The Solution
CloudFronts redesigned the data architecture by replacing the multi-entity model with a JSON-based structure stored within Dynamics 365 CRM, paired with a custom HTML interface to dynamically render the appropriate fields and manage document workflows.
Technologies Used
- Microsoft Dynamics 365 CRM, Core platform for certification records, applicant data, and workflow management
- JSON, Flexible data structure for storing dynamic certification inputs within a single CRM field
- Custom HTML with JavaScript, Dynamic front-end interface rendered within the CRM form, replacing static entity-based layouts
- Power Automate, Supporting workflows for notifications, approvals, and document status updates
What CloudFronts Configured
Rather than creating a separate entity for each certification type, CloudFronts introduced a single Certification Application entity with a dedicated JSON field to store all variable inputs. A configuration-driven approach was used, each certification type is defined by a schema that specifies which fields to show, what validations to apply, and which documents are required.
The custom HTML interface reads this configuration at runtime and dynamically renders the correct form, no code changes required when a new certification type is added or an existing one is modified. The same interface handles document uploads, linking each file to its corresponding certification record and tracking submission status in real time.
CloudFronts also implemented role-based visibility within the HTML component, ensuring that internal reviewers, applicants, and administrators each see only the sections relevant to their function.
Business Impact
| Metric | Before | After |
|---|---|---|
| Adding a new certification type | Requires schema changes and deployment | Configuration update only |
| UI consistency | Fragmented across entities | Unified interface for all programs |
| Developer dependency | High, every change needed development effort | Low, administrators manage configurations |
| Document tracking | Manual, per entity | Centralized and automated |
| CRM data model complexity | Growing with each program | Stable and maintainable |
The organization can now onboard new certification programs in a fraction of the time, without touching the underlying CRM schema. Internal teams manage certification configurations independently, and the development team focuses on feature improvements rather than reactive schema maintenance.
Frequently Asked Questions
When should I use JSON instead of CRM entities?
JSON is a strong fit when input structures vary frequently, differ across record types, or are driven by business rules that change regularly. If your data model is stable and relational, entities remain the better choice.
Is it possible to query or filter on JSON data in CRM?
Direct filtering on JSON fields in Dynamics 365 is limited. CloudFronts structured the solution so that key filterable attributes, such as certification type, status, and applicant ID, remain as standard CRM fields, while the variable payload lives in JSON.
Does the custom HTML approach work on mobile?
Yes. The HTML web resource is built to be responsive and functions within the Dynamics 365 mobile app, though optimal use is on desktop given the complexity of certification forms.
Can this approach support approval workflows?
Yes. Power Automate workflows trigger based on standard CRM field changes, such as status updates, and do not depend on the JSON structure, keeping workflow logic clean and maintainable.
Conclusion
Not every data problem in CRM needs a new entity. When business requirements are variable and evolving, as they often are in certification, compliance, and document-heavy workflows, a rigid entity model can become a liability rather than an asset.
By combining JSON-based storage with a dynamic HTML interface, CloudFronts helped this organization build a CRM solution that adapts to change without requiring structural rework. The result is a leaner data model, a more consistent user experience, and a team that can move faster because they are no longer dependent on developer cycles for every process update.
Sometimes the best CRM architecture is the one that knows when not to add more to the schema.
We hope you found this article useful. If you would like to explore how AI-powered customer service can improve your support operations, please contact us at transform@cloudfronts.com.