How a US Manufacturer Extended Dynamics 365 Beyond Sales to Track Every Order Stage on the Shop Floor Without Building from Scratch
Summary Organizations typically use Dynamics 365 CRM/Sales Business Process Flow (BPF) to manage the sales cycle and win deals. It is commonly treated as an out-of-the-box (OOB) capability designed strictly for sales processes. In this blog, we explore how a door and window manufacturer in New York successfully repurposed Dynamics 365 Business Process Flow to track ‘Shop Floor Stages’-extending its use beyond sales into operations. The Idea Behind Using Business Process Flow This company manufactures one of the most diverse ranges of steel windows and doors in the USA. While managing their sales cycle, they also needed better visibility into order progress. The idea was to reuse the standard BPF structure instead of building a new system from scratch. The standard BPF follows:Lead → Opportunity → Quote → Order The approach was to repurpose this flow into a custom process aligned with their operational needs. Extending into Order Fulfilment The Order entity was enhanced and renamed as Order Fulfilment, where the BPF continued beyond sales. Shop floor coordinators could quickly identify issues and physically inspect problem areas, improving operational efficiency. Additionally: Over time, the system evolved organically-retaining only what added value. Readiness for AI With clean, structured, and unified data across the entire lifecycle, the system became AI-ready. Key use cases included: What Did We Achieve? Key insights from the solution architects: To conclude, by reimagining the use of Dynamics 365 Business Process Flow, this organization successfully bridged the gap between sales and operations. What began as a sales tracking tool evolved into a comprehensive system managing the entire lifecycle-from lead generation to shop floor execution. Today, this approach continues to power their operations end-to-end, proving that thoughtful reuse of existing capabilities can drive efficiency, reduce costs, and create a strong foundation for future innovations, including AI. Connect with CloudFronts to get started at transform@cloudfonts.com
Share Story :
Skip the Overbuilt ERP: How Small Teams Can Use Power Apps to Get Focused Business Solutions Without the Big License Price Tag
Summary: In today’s Agentic AI conversations, existing suite of business applications by Microsoft Dynamics 365 like CE applications, Business Central or Finance and Operations still make sense – but too early for your needs? Well, here’s where Power Apps proves to be the most apt choice in terms of license spend, use case for smaller but growing business till you need to move to full-fledged applications. Why Power Apps Premium? If you are a smaller team of about 5-10 and currently operating with 1-2 systems or file repositories which are smaller but disparate, here’s how this approach works best – One of the recent examples is helping an American ISV’s build a Power Apps version of a job costing module coming from Dynamics GP which will sunset in a few years. This paves way for existing customers move to a relatively smaller license footprint while the application remains focused on a specific purpose only. With Power Apps Premium, this is a huge deal for organizations who want to do Job Costing but don’t really need the full Field Service or Project Management applications. This lowers the barrier to entry in Dynamics 365 cloud and also enables them to spend on Power Apps Premium as well as Business Central to handle the accounting for Job Costing. What to take care about? While choosing Power Apps may seem like the right choice for smaller use cases that don’t need full-scale Dynamics 365 Applications, here are some of the aspects you must take care of – To conclude, if you are a small business and looking to get started on Power Platform / Power Apps for specific needs, it makes more sense to build small using Canvas or Model Driven Apps instead of going for a full-fledged business system like Dynamics 365 CE Apps, Business Central or Finance and Operations. This gives you the right cover for specific needs till you really get to the scale where your growth actually demands for full-scale applications. This helps keep the cost low, applications focused to serve designated purposes and deploy and connect to existing data sources quicker. Connect with CloudFronts to get started at transform@cloudfonts.com
Share Story :
How to Schedule and Manage Microsoft Dynamics 365 Business Central Updates Without Disrupting Your Operations
Summary Microsoft Dynamics 365 Business Central keeps your business future‑ready with regular updates that improve speed, security, and usability. For customers, this means smoother workflows, fewer disruptions, and access to the latest features without extra effort. Updates are scheduled with flexibility, tested in sandboxes, and designed to fit around your operations so you stay focused on running your business while Business Central takes care of the rest. Steps to Achieve Goal Access the Admin Center Review Available Updates Schedule the Update Coordinate with Production Scheduling Test in Sandbox To conclude, updating Microsoft Dynamics 365 Business Central isn’t just a technical task it’s a way to keep your business secure, efficient, and ready for growth. Every update is designed with customers in mind: fewer disruptions, stronger protection, and smarter features that make daily work easier. By preparing ahead and using sandbox testing, you can ensure updates fit seamlessly into your operations. With Business Central, staying current means staying confident your system evolves so your business can keep moving forward without missing a step. Connect with CloudFronts to get started at transform@cloudfonts.com
Share Story :
How Marketing Team at CloudFronts Use AI to Improve Content Quality and Increase Visibility in AI Search to Generate Quality MQLs
Marketing teams have always produced a steady stream of content, blogs, case studies, and articles. While this content captures valuable insights, it often tells only part of the story. Most blogs focus on technical implementations and how the work was executed, rather than clearly articulating the business problem, transformation process, and measurable outcomes. As a result, the overall impact created often remains in the background. Marketing team at CloudFronts started noticing a few consistent patterns: The issue was not a lack of knowledge or expertise. Our teams had deep experience. The real challenge was that customer insights were spread across different team members, and marketing did not always have a structured way to capture the full journey. That is when we started rethinking how we can capture the customer Journeys. The Challenge with Traditional Customer Content In every customer project, valuable knowledge exists across multiple roles. However, marketing rarely has direct access to all these perspectives at the same time. Without a structured process to capture insights across teams, much of the content tends to focus on technical implementation, since delivery teams are best positioned to describe how the solution was designed and implemented. While these blogs are useful, they often miss the broader story: For decision makers evaluating partners, this business context is often more valuable than the technical details alone. Recognizing this gap pushed us to rethink our content process. Our Shift: Turning Customer Insights into Strategic Content Instead of relying on ad-hoc blog contributions, we introduced a structured customer Journey capturing process. The process starts with something simple but powerful: a conversation with the delivery team. For every major customer engagement, marketing team schedules a dedicated discussion with the people who were directly involved in the project. This usually includes architects, consultants, project manager, and sometimes presales. During these sessions, we guide the conversation using a structured set of questions designed to uncover the full customer journey. We focus on areas such as: In many cases, the delivery team also walks us through the system they implemented. Seeing the solution in action helps marketing understand the practical value delivered to the customer. These discussions capture something that traditional documentation often misses: the real story behind the transformation. Building an AI-Powered Customer Knowledge Base Capturing the conversation is only the first step. The real transformation in our process begins when we introduce AI. We record and transcribe these discussions and combine them with existing project documentation, including: We then bring all this information into AI-powered tool called NotebookLM, creating a dedicated knowledge repository for each customer journey. Instead of navigating through multiple documents and scattered notes, marketing team now has one structured knowledge base containing the full project story. This changes how we approach content creation. Using AI to Identify the Best Blog Ideas Once the knowledge base is built, we use AI to analyze the information and help us identify the most meaningful narratives within the project. Our goal is not simply to generate blogs automatically. Instead, we use structured prompts to help AI discover the strongest story angles hidden within the customer journey. This helps us uncover ideas such as: Instead of producing just one blog from a customer project, we often identify multiple content opportunities from a single engagement. Moving Beyond Technical Blogs This new approach has significantly changed the type of content we create. Rather than publishing isolated technical blogs, we now build a structured content ecosystem around each customer story. This includes: Customer Journey Blogs A narrative that captures the full transformation from the business challenge to the final outcomes. Use Case Blogs Detailed articles explaining how specific solutions solved operational challenges. Customer Milestone Stories Updates on key project achievements such as major implementations, go-lives, and expansion phases. In essence, one customer engagement now supports multiple layers of storytelling. Why AI Matters for Modern Marketing AI is often discussed as a way to generate content faster. In our experience, its real value is different. AI helps us access knowledge that already exists within the organization but is often difficult to gather and use effectively. Every customer project generates a significant amount of insight: Without the right tools, much of this knowledge remains buried in documents, presentations, and internal meetings. AI allows us to analyze, connect, and transform this knowledge into meaningful stories. The Future of Customer Storytelling Through this process, we see marketing evolving beyond content production. Our role increasingly becomes the bridge between delivery expertise and market insight. By capturing customer journeys, organizing knowledge, and using AI to uncover meaningful narratives, we are moving from fragmented content creation toward intentional storytelling. In a market where decision makers want partners who truly understand their challenges, authentic customer stories carry far more weight than generic marketing messages. The organizations that stand out will not necessarily be the ones producing the most content. They will be the ones that capture and communicate the stories that truly matter. To conclude, in today’s market, decision-makers are not looking for generic content.They are looking for partners who understand their challenges and can prove impact. The organizations that stand out will not be the ones producing the most contentbut the ones telling the most meaningful, authentic customer stories. And with AI, we now have the ability to do exactly that at scale, with precision, and with impact.
Share Story :
Real-Time PDF Report Generation on Power Pages: Replacing SSRS with Azure Function Apps for a US-Based Cybersecurity Firm
Summary A Houston-based cybersecurity firm eliminated report failures (~65%) by replacing SSRS with an Azure Function App pipeline. Dynamics 365 bound action ensured authentication stayed internal, bypassing Defender-related token failures. Integrated Power Pages, Power Automate, Dynamics 365, and Azure Functions for real-time PDF generation. Report generation time reduced from 3–8 minutes to under 15 seconds with zero infrastructure overhead. Table of Contents 1. About the Customer 2. The Challenge 3. The Solution 4. Technical Implementation 5. Business Impact 6. FAQs 7. Conclusion 1. About the Customer The client is a technology consulting and cybersecurity services firm based in Houston, Texas. They manage multiple concurrent client engagements using Dynamics 365 Project Operations as their core platform. Project managers and clients access live project data through a customer-facing portal built on Microsoft Power Pages. 2. The Challenge The organization needed one-click downloadable Project Status Reports from their Power Pages portal covering risks, issues, logs, and timelines. Their SSRS-based solution failed frequently due to authentication breakdowns caused by Microsoft Defender for Cloud Apps across multiple service boundaries. Key pain points: Silent authentication failures with no clear errors Retry delays of 60–90 seconds per attempt Separate SSRS infrastructure dependency Slow report customization cycle Project managers avoided generating reports during live meetings due to reliability concerns. 3. The Solution At Cloudfronts, while working on this project, I replaced the SSRS pipeline entirely with a synchronous, serverless architecture that keeps the authentication context inside the Dynamics 365 service layer. Technologies Used: Dynamics 365 Project Operations Power Pages Power Automate Plugins Azure Function Apps The solution generates fully formatted PDFs in real time using structured JSON payloads. This eliminated authentication failures while significantly improving speed and reliability. 4. Technical Implementation 1] Power Pages Button triggers Flow A “Download Report” button captures the project GUID and triggers a Power Automate flow with real-time progress feedback. 2] Dynamics 365 Plugin prepares JSON payload A bound action plugin retrieves all project data and converts it into a clean JSON payload for PDF generation. 3] Azure Function generates PDF The Azure Function processes the JSON and generates a formatted PDF, returning it as a Base64 string. 4] SharePoint Integration The generated PDF is automatically stored in the associated SharePoint document location linked to the project. This ensures centralized document management, version control, and easy access for stakeholders directly within the project workspace. 5] Portal PDF Preview The Base64 PDF is rendered directly in the portal using an iframe, allowing instant preview and download. Video: End-to-end implementation of real-time PDF report generation. 5. Business Impact 100% success rate — zero failures post deployment Under 15 seconds report generation time No infrastructure — fully serverless Zero authentication failures Faster iteration for report updates Project managers can now confidently generate reports during live client meetings. 6. FAQs Why not fix the SSRS authentication issue instead of replacing SSRS entirely? The authentication failures were a structural consequence of traversing multiple service boundaries in an environment with strict Defender for Cloud Apps session policies. Fixing them would have required either relaxing those policies — which the client’s security posture did not permit — or re-architecting the data retrieval to stay inside the platform, which is exactly what the bound action approach achieves. Replacing SSRS also removed a separate infrastructure dependency and gave the client full control over report formatting in code. Can this pattern be reused for other document types in Dynamics 365? Yes. The Azure Function App’s renderer is data-driven — it consumes a JSON payload and builds tables from whatever keys are present. The Dynamics 365 plugin can be adapted to query any entity and produce an equivalent payload. CloudFronts has applied the same pattern to inspection records, summary reports, and client-facing status documents across Professional Services and Manufacturing implementations. Does this work for environments without Microsoft Defender for Cloud Apps? Yes. The architectural benefits — synchronous generation, serverless PDF rendering, no SSRS infrastructure, and in-browser preview — apply regardless of the security layer on the environment. 7. Conclusion Replacing SSRS with an Azure Function App-based PDF renderer resolved both the reliability and authentication problems in a single architectural shift, delivering instant, professional-quality Project Status Reports from a Microsoft Power Pages portal with no legacy reporting infrastructure to maintain. The key lesson from this project is that keeping authentication within the Dynamics 365 service layer — rather than bridging to external systems — eliminates an entire category of environment-specific failures that are otherwise very difficult to diagnose and fix. By keeping authentication within Dynamics 365 and leveraging serverless architecture, the solution delivers instant, high-quality reports without infrastructure overhead. This approach demonstrates how modern cloud-native patterns can eliminate entire classes of system failures while improving user experience dramatically. Ready to modernise document generation in your Dynamics 365 environment?CloudFronts builds scalable Power Platform and Dynamics 365 solutions that replace legacy reporting infrastructure and automate document workflows. Reach out at transform@cloudfronts.com. Shashank Keny Associate Consultant · CloudFronts Shashank Keny is an Associate Consultant at CloudFronts with 1.5+ years of experience in cloud, data, and business applications. He specializes in building scalable, API-driven architectures and integrating enterprise systems across the Microsoft ecosystem. He is a Certified Databricks Data Engineer with hands-on experience in Dynamics 365 Project Operations and Dynamics 365 Sales, along with delivering business intelligence solutions using Power BI. His expertise also extends to modern AI solutions, including building custom copilots and implementing intelligent applications using Azure AI Foundry. Passionate about solving real-world business challenges through data and AI, he focuses on delivering efficient, scalable, and production-ready solutions. Experience: 1.5+ years Certification: Databricks Certified Data Engineer Specialization: Dynamics 365 Project Operations, Power BI, Azure Integrations, AI Solutions View LinkedIn Profile
Share Story :
Designing Metadata-Driven Data Pipelines in Databricks for Scalable Ingestion
Summary In modern data engineering environments, managing ingestion pipelines across multiple source systems becomes increasingly complex as data volume and variety grow. Hardcoded pipelines create maintenance overhead, slow down onboarding of new datasets, and introduce operational risks. This blog explains how a metadata-driven pipeline approach in Databricks can simplify ingestion by using a centralized configuration table to dynamically control pipeline behavior. It highlights how this pattern improves scalability, governance, and maintainability while enabling faster and more reliable data processing. The Real Problem: Hardcoded Pipelines Do Not Scale In many implementations, ingestion pipelines are built separately for each entity or source system. Typical issues include: As the number of entities grows, pipelines become difficult to manage and error-prone. What Is a Metadata-Driven Pipeline? A metadata-driven pipeline shifts control from code to configuration. Instead of writing separate logic for each dataset, we define ingestion behavior in a centralized configuration table. Typical metadata fields include: The pipeline reads this metadata and dynamically executes ingestion logic. Implementation Approach Step 1: Create a Configuration Table A centralized metadata table is created to define ingestion rules. Each row represents one dataset and contains all required configuration. Step 2: Dynamic Pipeline Execution The pipeline reads metadata and loops through each configuration entry. For each entity: No code changes are required when new entities are added. Step 3: Incremental Logic Control Instead of hardcoding: WHERE modifiedon > last_run The incremental field is read from metadata, allowing flexibility across different source systems. Step 4: Integration with Lakehouse Layers Metadata drives ingestion, while Lakehouse layers manage transformation. Why This Approach Works in Enterprise Environments 1. Scalability New entities can be added by inserting a new row in metadata. No pipeline duplication required. 2. Maintainability Changes in incremental logic or source structure are handled centrally. 3. Consistency All pipelines follow the same logic and standards. 4. Governance Metadata provides visibility into: Common Mistakes to Avoid Metadata-driven pipelines require discipline in design. Business Impact Metadata-driven pipelines are not just a technical optimization they are a foundational shift in how data platforms are built and managed. Organizations looking to scale their data engineering capabilities should move away from hardcoded ingestion logic and adopt configuration-driven approaches that support flexibility, governance, and long-term growth. Connect with CloudFronts to get started at transform@cloudfonts.com.
Share Story :
How to Track and Debug Job Queue Failures in Business Central for a Cameroon-Based Consulting Company
Summary This blog explains how to effectively track and debug job queue failures in Microsoft Dynamics 365 Business Central. In many Business Central implementations, job queues are used to automate critical background processes such as posting transactions, sending emails, synchronizing data, and running reports. However, when these jobs fail, identifying the root cause can become challenging due to limited visibility and lack of proper debugging practices. This blog provides a structured approach to monitor job queue failures, analyze error logs, and debug issues efficiently using built-in tools and development techniques. This blog explains: 1] Common reasons behind job queue failures 2] How to track failed job queue entries 3] How to debug job queue errors using AL 4] Best practices for logging and monitoring 5] Business impact of efficient job queue handling Table of Contents Customer Scenario A growing organization using Microsoft Dynamics 365 Business Central had automated multiple backend processes using Job Queues. These included: 1] Automatic posting of invoices 2] Scheduled report generation 3] Email notifications to customers 4] Data synchronization with external systems While automation improved efficiency, the team started facing frequent job queue failures. The challenges included: 1] No clear visibility of why jobs were failing 2] Errors appearing without sufficient details 3] Delays in critical processes like posting and integrations 4] Manual intervention required to restart failed jobs 5] Increased dependency on technical teams Since job queues run in the background, users were often unaware of failures until business operations were impacted. The organization needed a structured way to track, analyze, and debug job queue failures efficiently. Solution Overview To address these challenges, a systematic approach was implemented to monitor and debug job queue failures within Business Central. The goal was simple: Enable quick identification and resolution of job queue failures with minimal effort. With this approach: The workflow now looks like this: Functional Implementation Approach The implementation focuses on improving visibility, debugging capability, and system reliability. Monitoring Job Queue Entries Business Central provides a dedicated Job Queue Entries page where all scheduled jobs are listed. Key fields to monitor: 1] Status (Ready, In Process, Error) 2] Earliest Start Date/Time 3] Recurrence settings 4] Object Type and Object ID 5] Last Error Message When a job fails, the status changes to Error, which becomes the primary trigger for investigation. Analyzing Job Queue Log Entries Each job queue execution creates log entries that store execution details. These logs provide: 1] Error messages 2] Execution time 3] Call stack (in some cases) 4] Number of attempts This is the first place to check when debugging a failure. Using “Show Error” Functionality The “Show Error” action provides detailed error messages generated during execution. This helps identify: 1] Missing data 2] Invalid field values 3] Permission issues 4] Posting errors Debugging Job Queue Failures Debugging job queues requires a slightly different approach compared to normal execution. Attaching Debugger to Session Since job queues execute in the background, debugging requires attaching to the active session where the job is running. Steps: 1] Go to Help and Support page 2] Click on Attach Debugger to this Session 3] Set breakpoints in the relevant codeunit 4] Trigger or wait for the job queue to execute This method allows you to debug the exact session where the job queue is running, making it easier to trace issues in real time. Using Breakpoints in Codeunits Most job queues run codeunits. Developers should: 1] Identify the Codeunit ID from Job Queue Entry 2] Add breakpoints in key logic areas 3] Re-run the job queue 4] Step through execution Common Causes of Failures Some frequent reasons include: 1] Missing mandatory fields 2] Incorrect filters in code 3] Permission issues for background user 4] Deadlocks or record locking 5] Integration/API failures Handling Complex Scenarios In real-world implementations, job queue failures can involve complex scenarios. Logging Custom Errors Developers can enhance debugging by adding custom logs in AL code. For example: 1] Logging key variable values 2] Capturing intermediate processing steps 3] Writing meaningful error messages This makes troubleshooting faster and more accurate. Retry Mechanism Job queues support automatic retries. Proper configuration ensures: 1] Temporary issues are resolved automatically 2] Manual intervention is minimized 3] System resilience improves Handling Integration Failures When job queues interact with external systems: 1] API timeouts must be handled 2] Response validation should be implemented 3] Retry logic should be added Business Impact 1] Reduced Downtime Quick identification of job queue failures ensures minimal disruption to business operations. 2] Improved System Reliability With proper monitoring and debugging, automated processes become more stable. 3] Increased Developer Productivity Developers spend less time identifying issues and more time resolving them. 4] Faster Issue Resolution Clear logs and debugging techniques reduce troubleshooting time significantly. 5] Scalable Automation Organizations can confidently automate more processes without fear of silent failures. Preview Video The preview video demonstrates how to track and debug job queue failures in Business Central. Video highlights: Opening Job Queue Entries page Identifying failed jobs Viewing Job Queue Log Entries Using “Show Error” functionality Attaching debugger from Visual Studio Code Demo: Debugging a Job Queue Failure in Business Central Final Thoughts Job queues are a powerful feature in Microsoft Dynamics 365 Business Central that enable automation of critical business processes. However, without proper monitoring and debugging practices, failures can go unnoticed and impact operations. By implementing structured tracking, logging, and debugging techniques, organizations can transform job queue management from a reactive process into a proactive one. What was once a difficult and time-consuming troubleshooting activity can now be handled efficiently with the right approach—ensuring smooth and reliable system performance. If your Business Central environment is facing recurring job queue failures or requires optimization of background processes, consider implementing structured debugging and monitoring practices to improve overall system efficiency. Connect with CloudFront’s to get started at transform@cloudfonts.com.
Share Story :
From Default to Dynamic: Transforming Dynamics CRM Subgrids with Custom HTML for a Netherlands-Based Sustainability Certification Non-Profit
Summary A Netherlands-based sustainability certification non-profit faced a key limitation in Dynamics CRM: the default subgrid had no way to filter related lookup values — meaning all versions and levels appeared for every certification standard, regardless of relevance. CloudFronts replaced the default subgrid with a custom HTML Web Resource that renders each certification standard as an interactive card, with its own pre-filtered version and level dropdowns. Users selecting C2C Certified® Full Scope now only see versions and levels that belong to Full Scope — not a cluttered list of every record in the related table. Beyond fixing the filtering gap, the solution transformed the CRM form experience from a flat, generic grid into a clean, modern card-based interface — significantly improving usability for both applicants and assessors. Table of Contents 1. Customer Scenario 2. The Real Problem — Unfiltered Lookups in Subgrids 3. Solution Overview 4. Key Features of the Custom Web Resource 5. How It Works — Technical Implementation 6. End-to-End Walkthrough 7. Architecture & Design Decisions 8. Business Impact 9. FAQs 10. Conclusion Customer Scenario A Netherlands-based non-profit organization uses Dynamics CRM to manage the full certification application lifecycle, from initial scoping through assessment and final issuance. As part of every certification application, users must define a Certification Scope, selecting which Cradle to Cradle standards they want assessed, choosing the correct version of that standard, and setting a target certification level. The available standards include: Full Scope Material Health Circularity Each standard has its own set of applicable versions and certification levels stored in related Dataverse tables. The challenge was making sure users could select and configure each standard correctly — without the CRM form showing them irrelevant data from other standards. The Real Problem, Unfiltered Lookups in Subgrids The original design used a default CRM subgrid to list the certification scope lines. Each row in the subgrid had lookup fields pointing to related Dataverse tables, one for Standard Version, one for Certification Level. The problem was straightforward but significant: CRM subgrid lookup fields have no native mechanism to filter their values based on another field in the same row. This meant that when a user opened the Version lookup on a Full Scope row, they saw every version across every standard — Full Scope versions, Material Health versions, Circularity versions, all mixed together in a single unfiltered list. The same issue applied to Certification Levels. There was no built-in way to say: “this row is for Full Scope — only show me Full Scope versions.” Key Pain Points Wrong version selected by mistake: With all versions in one unfiltered list, users had to manually identify and pick the correct one — easy to get wrong, especially for new staff unfamiliar with which version belongs to which standard. Cluttered, confusing lookup lists: A lookup showing 20+ mixed records when the user only needs to choose from 3–4 relevant options is a frustrating experience and a source of data quality issues. No visual structure or grouping: The default subgrid renders as a flat table. There is no way to visually distinguish one standard from another or understand the overall scope at a glance. A form that did not match the product’s quality: The client wanted their CRM environment to feel professional and polished — a plain, out-of-the-box grid did not meet that expectation. The subgrid was not broken — it was simply the wrong tool for this job. What was needed was a control that understood the relationship between a standard and its versions, and filtered accordingly. Solution Overview CloudFronts replaced the default subgrid entirely with a custom HTML Web Resource embedded directly on the CRM application form. The web resource reads a single JSON field on the record which carries each standard along with its own pre-scoped list of versions and levels. The core idea: Each certification standard gets its own card → Each card shows only the versions and levels that belong to that standard → No more mixed, unfiltered lookup lists What This Achieves For Applicants and Assessors: Select one or more certification standards using clear, visual checkbox cards See only the versions relevant to the selected standard — nothing from other standards Choose a target level from a correctly filtered, correctly sorted dropdown Get instant visual feedback on which standards are active in the scope For the CRM Platform Team: No subgrid lookup filtering workarounds, form-level JavaScript hacks, or plugin-based filtering required All filtering is naturally handled by the JSON data structure, each standard row already carries only its own versions and levels A significantly better-looking form that reflects the quality of the certification program itself Scope configuration can be extended simply by updating the JSON, no schema changes needed Key Features of the Custom Web Resource The web resource was designed with two clear goals: solve the filtering problem correctly, and make the form experience noticeably better. Here is how each feature serves those goals. 1. Card-Per-Standard Layout with Checkbox Selection Each certification standard is rendered as its own self-contained card — with a title, a short description of what that standard covers, and a checkbox. This immediately solves the visual grouping problem that a flat subgrid cannot address. Clicking a card (or its checkbox) marks that standard as In Scope The selected card highlights with a blue left-border accent and a soft background tint — making it immediately clear which standards are active Deselected cards remain compact and unobtrusive, keeping the form clean For assessors reviewing multiple applications, being able to scan the full scope at a glance — without opening related records or reading through a grid — is a meaningful time saving. 2. Filtered Version Dropdown — Per Standard This is the feature that directly solves the original problem. When a card is selected and expands, the Standard Version dropdown is populated exclusively from the versions array within that standard’s JSON row. A user working on a Full Scope card sees only Full Scope versions A user working … Continue reading From Default to Dynamic: Transforming Dynamics CRM Subgrids with Custom HTML for a Netherlands-Based Sustainability Certification Non-Profit
Share Story :
Business Central Environment Transfers: What Works, What Doesn’t, and Why
Subtitle: Environment movement in Microsoft Dynamics 365 Business Central is not supported across tenants or regions – migration is the only viable approach. Author: Siddhi Patekar · Sr. Functional ConsultantSiddhi specializes in helping organizations transition from manual processes to fully digital systems using Microsoft Dynamics 365. She has worked closely with pharmaceutical manufacturers, service organizations, and the banking sector to design and implement solutions that enhance compliance, improve traceability, and drive operational efficiency. Industry: Cross-industry | Technology: Microsoft Dynamics 365 Business Central | Years of experience: 5 | Certification: MB800 Summary The Core Reality: You Don’t Transfer – You Migrate Most organizations using Microsoft Dynamics 365 Business Central eventually ask:“Can we move our environment to another tenant or region?” The answer is simple: No. This is not a limitation of configuration – it is a platform-level restriction enforced by Microsoft. Why this restriction exists: The one rule to remember: What You Cannot Do Organizations often attempt shortcuts that are simply not supported: These are not edge cases – they are hard platform constraints. What Actually Works: The Only Supported Approach The only viable method is: Recreate + Migrate A successful migration typically follows this structure: This is not a lift-and-shift – it is a controlled rebuild. What Always Breaks (Be Prepared) Every migration involves rework. The most common areas impacted: Planning for this upfront avoids delays later. Where “Transfer Environment” Actually Helps There is often confusion around this feature. Important clarification: It is useful for internal environment movement – but not for restructuring tenants. Real-World Scenario: Tenant Consolidation for Integration Situation A company was running: This resulted in: Project Goals What Should Be Done Instead A structured approach ensures success: 1. Align Tenant Strategy Early Define a single primary tenant for all business applications. 2. Plan Data Migration Properly 3. Rebuild Integrations the Right Way 4. Re-evaluate Licensing Migration is the best time to optimize licensing before renewal cycles. Business Impact Following this approach, organizations typically achieve: Frequently Asked Questions Can Business Central environments be transferred across tenants? No. Microsoft does not support cross-tenant environment transfers. Migration is the only option. Is there any way to retain integrations during migration? No. Integrations must be reconfigured in the new tenant to ensure stability and compliance. Does Microsoft provide a direct migration tool? No single tool handles full migration. A combination of RapidStart, APIs, and manual configuration is required. Conclusion The biggest misconception in Microsoft Dynamics 365 Business Central is assuming environments can be moved. They cannot. The real decision is not whether to migrate- it is when and how well you plan it. Organizations that define their tenant strategy early avoid: Those that delay the decision often face migration under pressure – when it becomes unavoidable. Thinking about restructuring your Business Central environment or tenant strategy?Plan it early, design it right, and treat migration as a strategic initiative – not a technical task. Connect with CloudFront’s to get started at transform@cloudfonts.com.
Share Story :
How We Built & Deployed a Mobile-Based Canvas App for Unified Time, Expense (with Receipts) & Material Submission with Project-Based Approvals for a US Cybersecurity Firm
Summary A US-based oil & gas cybersecurity firm implemented a mobile-first Canvas App integrated with Dynamics 365 Project Operations to unify time, expense, and material submission, tracking, and approval. The solution enabled project-specific approval workflows where only assigned approvers could validate submitted records. CloudFronts introduced a dual-mode interface (Day Mode and Week Mode) to improve usability for both field engineers and managers. Submission and approval cycle time reduced from hours/days to near real-time visibility. Table of Contents 1. Customer Scenario 2. Solution Overview 3. Key UX Features 4. Functional Implementation 5. Solution Walkthrough 6. Architecture & Integration Approach 7. Business Impact 8. FAQs 9. Conclusion Customer Scenario A Texas-based cybersecurity firm specializing in operational technology (OT) security for oil rigs manages multiple concurrent field projects using Dynamics 365 Project Operations. Employees and resources were responsible for logging: Time entries Expense entries (travel, accommodation, airfare, etc.) Material usage logs (equipment, parts, consumables, etc.) However, the system was not designed for mobile-first usage, and processes were fragmented across multiple interfaces. Key Challenges Field engineers & other Resources could not efficiently submit entries from mobile devices Time, expense, and material tracking existed in separate workflows Approval processes had to be restricted to project-specific stakeholders Project managers lacked real-time visibility into resource usage • Delays in submission can cause downstream billing and reporting issues Project tracking accuracy can get compromised, and reporting delays directly affected client communication and billing cycles. Solution Overview CloudFronts designed and deployed a unified mobile application using Power Apps (Canvas Apps) integrated with Dynamics 365 Project Operations. Objective: One app → All submissions → Controlled approvals → Real-time visibility What the App Enables For Field Users: Submit time entries (daily or weekly) Create expense entries with receipt validation Log material consumption against projects Track submission status instantly For Project Approvers: View only entries related to assigned projects Approve or reject submissions directly from mobile Maintain audit-ready approval workflows Key UX Features The application is designed with a strong focus on usability for both resources and project approvers, ensuring a seamless mobile experience across submission and approval workflows. 1. Day Mode / Week Mode Toggle The app provides a flexible entry experience through a dual-mode interface: Day Mode: Enables detailed entry for a single day, ideal for precise logging and corrections. Week Mode: Allows bulk entry across multiple days, reducing effort for repetitive data entry. This flexibility significantly improves usability across different working styles and scenarios. 2. Calendar-Based Swipe Navigation The application introduces a Dynamics-style calendar navigation with swipe support, allowing users to: Traverse across multiple days or weeks effortlessly View and manage multiple submission records in sequence Navigate between historical and current entries with minimal effort This mobile-first interaction design reduces friction in high-frequency data entry scenarios. 3. Unified Submission & Approval Experience The UI/UX is intentionally designed to mirror the complete lifecycle of a record, ensuring consistency between submission and approval stages. Each record follows a structured lifecycle aligned with Dynamics 365 stages: Submitted Pending Approved Rejected Recall Requested Recall Request Approved Recall Request Rejected The interface dynamically adapts based on the current stage: Action buttons (Approve, Reject, Recall, etc.) are conditionally visible Status indicators are clearly displayed Users experience the same structured flow from creation to closure This ensures clarity, reduces errors, and improves user confidence in the system. 4. Dynamic Action-Based UI (Smart Button Behavior) The app intelligently modifies UI controls based on record state: Submit button appears only for draft entries Approve/Reject buttons are visible only to project approvers Recall option is available only after submission Post-approval states restrict further edits This enforces role-based and state-based control, preventing invalid actions and maintaining process integrity. 5. Conditional Receipt Upload for Expense Entries Expense submission logic is enhanced with category-driven validation: Mandatory: Airline tickets, OT hardware purchases Optional: Meals, local travel This balances compliance requirements with user convenience, avoiding unnecessary friction. 6. On-Demand Data Refresh Users can manually refresh data within the app to: Fetch the latest submission and approval statuses Sync newly created or updated records Ensure real-time visibility without relying solely on background refresh Especially useful in environments with intermittent connectivity. 7. Mobile-First Interaction Design Touch-friendly controls Swipe navigation Lightweight screens for faster performance Minimal navigation depth This ensures field engineers working in remote or on-site environments can operate efficiently. Functional Implementation This section outlines how the solution was implemented within Dynamics 365 Project Operations and the Power Platform to enable end-to-end submission and approval management. 1. Unified Data Model in Dataverse All three entry types — Time, Expense, and Material — are structured within Dataverse and linked to: Project Resource (User) Approval records Supporting documents (for expenses) Each submission creates a corresponding record with a defined lifecycle stage, ensuring consistency across all entry types. 2. Submission Logic from Canvas App Each submission type follows a structured flow: User selects project and entry type (Time / Expense / Material) Required fields are validated based on entry type Conditional logic enforces: Receipt requirement (for specific expense categories) Mandatory fields (based on business rules) Record is created in Dataverse Submission triggers backend approval workflow This ensures that all records entering the system are complete, validated, and ready for approval processing. 3. Approval Record Creation & Routing Upon submission: A corresponding approval record is automatically created The system identifies project-specific approvers Key behavior: Only assigned project approvers can view and act on records Approval actions update the main record status 4. Record Lifecycle Management (Status-Driven System) Lifecycle: Draft → Submitted → Pending → Approved / Rejected → Recall Flow Users submit records → moves to Submitted Approvers review → Approved or Rejected Users request recall → Recall Requested Approvers respond → Recall Approved or Rejected Controlled through: Power Apps UI logic MS Bound Actions for submission and approval handling Dataverse status fields 5. Expense Receipt Handling (Integrated from Previous Solution) Receipt upload enforced conditionally Files stored as Notes (Annotations) in Dataverse Linked to expense records This eliminates manual document handling and ensures compliance. Solution Walkthrough The following walkthrough … Continue reading How We Built & Deployed a Mobile-Based Canvas App for Unified Time, Expense (with Receipts) & Material Submission with Project-Based Approvals for a US Cybersecurity Firm
