Webcraft Solutions

How to generate Model-Driven and Canvas Apps with Copilot

Introduction In this blog, I’m going to share about an exciting capability in the Power Platform: generating Model-Driven and Canvas Apps with Copilot. Traditionally, creating apps required a lot of setup  defining tables, building forms, and wiring up relationships  before you could even start testing your idea. This process often slowed down makers who wanted to quickly translate business needs into working solutions. With Copilot, Microsoft has introduced a smarter way to begin. Instead of starting from scratch, you can describe your app in plain language, and Copilot will generate the core structure  tables, forms, views, and layouts  for you. It’s not meant to replace customization, but it gives you a strong starting point so you can spend less time on repetitive setup and more time shaping the features that matter most to your business. Problem Statement One of the biggest challenges with Model-Driven and Canvas Apps is the amount of upfront work required before you even have something usable. You need to define tables, set up relationships, and design forms and views. While this structure is powerful, it often slows down innovation. For organizations that want to quickly test ideas and turn them into business solutions, this initial setup can feel like a hurdle rather than a starting point. Solution Copilot helps bridge that gap. By using natural language, you can describe the kind of app you need, and Copilot will generate the basic structure for you. It cuts down the setup effort and lets you jump straight into refining and extending your app. Steps to Generate a Model-Driven App Using Copilot Step 1: Navigate to the Maker PortalGo to make.powerapps.com. Select Create → Start with Data. Step 2: Describe Your AppYou will be prompted to describe your app in around 200 characters. For example, try this prompt: “Create a model-driven app for managing projects, tasks, and approvals with entities for Projects, Team Members, Status, and automated workflows for notifications and reporting.” Copilot will generate a draft app plan for you. Step 3: Refine the PlanAfter the first iteration, you can keep adding details in natural language to refine the entities, relationships, and features. For instance, you might add requirements for resources, deadlines. Step 4: Save and Choose Your App TypeOnce satisfied with the generated plan, select Save and Open App. The dropdown gives you an option to choose between a Canvas App and a Model-Driven App. For this walkthrough, we’ll select a Model-Driven App. Step 5: Review and ExtendYour model-driven app is now ready. While Copilot generates the core entities and relationships, it might not cover every required field or customization. You can easily extend the app by: Final Thoughts Copilot doesn’t replace the need for thoughtful design, but it dramatically reduces the time and effort required to get started. Instead of spending hours on setup, makers can focus on building value-driven features, refining user experiences, and aligning apps with organizational goals. As the feature matures, it will become an assistant in the low-code toolkit making app creation faster, smarter, and more accessible for everyone. In the meantime, makers are encouraged to experiment with its limits and capabilities to fully understand its potential. Thank you, Aslin for your inputs to this blog.

Implementing Access Restrictions in Project for the Web iFrame

IntroductionIn this blog, I’m going to share about Project for the web iFrame which plays an important role in task planning. It allows users to view, create, update, and manage project tasks directly inside Dynamics without leaving the system. However, one major challenge has been the lack of restrictions inside this iFrame — meaning that anyone with access to the project record could freely make changes. With the upcoming update, Microsoft is bringing access control inside the Project for the web iFrame. This gives project managers and admins the power to decide who can do what. Public preview: May 16, 2025; General availability: Mar 2026 Problem StatementUntil now, once a user had access to a project record, they could: This lack of restrictions often led to: For example, if a sales executive (who is not part of the project delivery team) but has access to the record, opens the iFrame, they still had access to create or delete tasks which could cause confusion and project delays. UPDATE: The new feature introduces a security system for Project for the web iFrame that allows: This means if a user is part of project team member, their access can be limited to read-only mode. Availability Timeline: HOW TO ENABLE?? After Enabling, within few minutes, Go to Project team member you will see a Read only column on form. EXAMPLE: A team member can only read the iFrame. So, for that we will provide read access. After, providing read access, User will not be able to edit anything on the iFrame. Everything will be read only. CONCLUSIONThe new access restriction system for Project for the web iFrame ensures that only the right people can make the right changes, at the right time. By giving admins and project managers fine-grained control. With this feature rolling out from May 2025 (preview) and March 2026 (GA), organizations can start planning their access control strategies to take full advantage of it. Thank you, Kalyani for your valuable inputs!

Schedule modes in Project Operations

Problem Definition: It has always been a confusion for the Project Manager to choose between the Schedule modes, whether it should be a Fixed effort, Fixed duration or a fixed unit project. And the primary reason behind it was, that most of the PM wanted to a have a fixed duration/unit project without impacting the effort they have added to that specific task. This was not possible earlier, as the OOB formula to calculate the effort, duration or unit, would only respect one fixed value (effort, duration, unit). Solution: With the new release wave feature named “Include effort-driven schedule modes” it now possible to have a fixed duration As you can see, in the above image the efforts changed the moment an additional resource was tagged to the task. As you can see, in the above image the efforts were not impacted even when an additional resource was tagged to the task. As you can see, in the above image the efforts & duration changed the moment an additional resource was tagged to the task. As you can see, in the above image the efforts were not impacted even when an additional resource was tagged to the task, and the duration value changed. Conclusion: This feature will help the Project Manager to have duration/unit as a schedule mode without impacting the efforts, which might be useful for different Projects across various industries. Thank you, Sankalp for your valuable inputs for this blog!

Time and Expense Entry Agent Approval – using MS Copilot

In this blog, I’m going to share about Agent Approvals in Microsoft D365 related to Project Operations. In this short blog, we’re going to have a look at how Agent Approval work and its importance in MSD. Applies To: Project Operations Integrated with ERP, Project Operations Core PROBLEM STATEMENT: For project managers, one of the most time-consuming activities is the review and approval of time, expense, and material entries. Every record submitted by resources needs to be checked against company policies. Manual review often leads to mistakes, delays, and unnecessary back-and-forth between employees and managers. The challenge is clear: how do we reduce the burden of approvals while ensuring compliance with organizational policies? SOLUTION: Approvals Agent in Project Operations Microsoft has introduced the Approvals Agent, a feature within Dynamics 365 Project Operations powered by Microsoft Copilot Studio. The Approvals Agent automatically reviews time, expense, and material submissions against policy documents uploaded by the organization. Based on these policies: This means project managers only need to focus on exceptions, significantly cutting down review time. SETUP BY ADMIN: 2. A new Time and Expense Agent tab appears, allowing admins to upload policy documents for time, expenses, and materials. 3. The agent can run in two modes: Classify: Marks records as Ready for approval or Needs review. Final approval is still done manually by the manager. Classify and Auto Approve: Records that meet policy rules are automatically approved. BACKGROUND SETTING: New tab opens -> search Microsoft Copilot Studio -> Click on Create new -> Sign in for which user you want to use this feature (NOTE: This will be only visible to the user who is using their ID, Also User should have Time and Approval Agent security role, or another role that provides the same or greater privileges) ACTIVATE THE AGENT: ONCE THE CONNECTION REFERENCE IS MADE AND THE FLOWS ARE TURNED ON. You are set to go with the feature use. Last thing to configure is to update your Approvals rules Refer the image/file, you can add expense entry rules as well. After configuring all the rules, while you login with same user you will see AGENT APPROVAL area in the App. After classification, managers can view the list of reviewed entries. For each record, they can: EXAMPLE:Imagine a consulting company where: Here’s what happens with Approvals Agent: Conclusion: The Approvals Agent in Dynamics 365 Project Operations is a step forward in intelligent automation for project management. By leveraging Microsoft Copilot Studio and well-structured policy documents, organizations can cut down approval times and reduce mistakes. Thank you, Kalyani for your valuable inputs for this blog.

How to configure the Feature Release Setup in Power-Apps (preview)

Title: Feature Release Setup (preview)IntroductionIn Power Apps, configuring release channels is crucial for balancing stability with access to new features. Release channels allow app makers to choose update cadences that best fit their organization’s needs, whether they want regular, incremental updates or less frequent, more stable releases. The right configuration can ensure that new features and improvements are introduced thoughtfully, minimizing disruption.Description Power Apps offers a variety of release channels that cater to different needs:• Monthly Channel: Updates are delivered every week, typically the fastest way to access new features and updates.• Semi-Annual Channel: Updates are pushed less frequently, making it suitable for production environments needing higher stability. Each environment, app, and user can be assigned a release channel to control when and how updates are received. This granularity helps organizations manage updates across different departments or roles, tailoring the release strategy based on users’ requirements. Why Choose a Release Channel? Choosing the correct release channel depends on factors like testing requirements, user roles, and how critical app stability is to business operations. For example, development or test environments might use the Monthly channel to stay on top of the latest updates, while production environments might prefer the Semi-Annual channel to ensure that updates are well-tested before deployment. Default and Custom Settings•New apps and environments default to the Monthly Channel.• Custom release channel configurations override the default settings, giving admins greater control over when updates occur. How to Configure Release Channels? Configuring a release channel involves specifying settings at different levels (environment, app, or user levelThe release channel for model-driven apps can be changed in two primary ways:• Environment channel• App channel In addition, the release channel can be overridden with either of these options: •` User channel override• Browser session channel override Channel Release Order of OperationsThe following order determines which setting controls the release channel: 1. URL Override: Takes highest priority.2. User Channel Override: Applies if set.3. App Release Channel: if set to a specific value like Monthly or Semi-annual, rather than auto).4. Environment Release Channel: if set to a specific value like Monthly or Semi-annual, rather than Auto.5. Default to Auto: Applies when both app and environment release channels are set to Auto. Step-by-Step Guide: Configuring the Release Channel1. Set the Environment-Level Channel:o In Power Platform Admin Center, navigate to Environments.o Select the target environment.o In the settings ➔ Behavior, choose the desired release channel (Monthly or Semi-Annual). 2.App-Level Configuration:o Open https://make.powerapps.com.o Under Solutions open an existing solution containing a model-driven app.o Open the app in the app designer.o For app-level control, makers can go to the specific app settings in Power Apps.o Under General Settings, there is an option to set the release channel.o This ensures that the app follows a different update cadence than the environment default, if required. 3. User-Level Channel Changes:o Individual users can modify their release channel settings by navigating to Settings in the Power Apps maker portal.o This setting is beneficial for testing new features without impacting the entire environment or app. 4. Session-Level Adjustments (Browser-based):o Users can modify the release channel for a single session by appending the ?channel=desiredchannel parameter in the URL (for example, ?channel=Monthly).o This is useful for testing purposes without altering the overall settings. 5. Applying Changeso Any change made to the release channel requires users to refresh their browser to take effect immediately.o For larger environments, it’s advised to test updates in a dedicated environment before rolling out changes across all users. ConclusionConfiguring release channels in Power Apps provides essential flexibility, allowing organizations to tailor update schedules based on stability and feature needs. This flexibility can help mitigate the risks associated with frequent updates while ensuring that users have access to the latest tools. By carefully managing release channels, organizations can enhance productivity and maintain control over their app’s user experience. Thank you, Subhash for your valuable inputs to this blog.

Title: Restoring Deleted Table Records in Microsoft Power Platform (preview)

Introduction In the dynamic environment of Power Platform, managing and manipulating data is an essential part of building business applications. Accidental deletions of records, however, can happen to anyone. Microsoft Power Platform’s recovery options provide a safety net, allowing users to restore deleted table records quickly and efficiently. This guide will walk you through the steps and key considerations for restoring deleted records in Power Platform. What Happens When a Record is Deleted? When records are deleted in Power Platform, they are not immediately removed from the system. Instead, they’re retained in a “soft delete” state, remaining recoverable for a certain period. This approach helps prevent data loss due to accidental deletions, as records can be restored without complex recovery methods or external backups. When Can Records Be Restored? Deleted records can be restored within 30 days of deletion. After this period, records are permanently deleted and are no longer recoverable. It’s important to act promptly if you need to restore a record to avoid permanent data loss. Turning On the Recycle Bin FeatureTo enable the Recycle Bin in your Dataverse environment, here’s what you need to do: 1. Sign in to the Power Platform admin center as an administrator (you’ll need the Dynamics 365 admin or Microsoft Power Platform admin role).2. Go to Environments: From the admin center, select Environments and open the environment where you want to enable the Recycle Bin.3. Access Feature Settings: Head to Settings > Product > Features. 4. Enable Recycle Bin: Scroll down to find the Recycle Bin setting and switch it On.5. Set the Retention Period: Choose how long you’d like deleted records to be available for recovery—up to 30 days. This setup gives you peace of mind, knowing you can retrieve records if needed, for up to 30 days after deletion.Step-by-Step Guide to Restoring Deleted Table RecordsFollow these steps to restore deleted records in Power Platform. Step 1: Go to the Power Platform Admin Center1. Open your browser and go to the Power Platform Admin Center.2. Sign in with your administrative credentials to access the environment where the deleted record was stored. Step 2: Navigate to the Environment Settings1. In the Admin Center, select Environments from the left menu.2. Choose the specific environment where the table and its records are located. Step 3: Access Deleted Records1. Go to Environments: From the admin center, select Environments and open the environment where you want to enable the Recycle Bin.2. Access Feature Settings: Head to Settings > Product > Features. Step 4: Restore the Record1. In the Deleted Rows section, find the specific record you wish to restore.2. Select the record, and then choose the Restore option. This action will reinstate the record to its original table.Important Considerations When Restoring Records1. Data Dependencies: Some records may be linked to other tables or workflows. Ensure that the restored records don’t disrupt any existing processes or create duplicates in related tables.2. Storage Capacity: Restoring large volumes of deleted records could impact storage capacity. Regularly monitor your environment’s capacity usage to prevent potential issues.3. Security and Permissions: Only users with the appropriate permissions can restore deleted records. Make sure your permissions align with your environment’s security policies. ConclusionThe ability to restore deleted records in Power Platform is a valuable feature, enabling organizations to protect and recover critical data with ease. By following these steps and keeping a few considerations in mind, administrators can manage data restoration effectively, minimizing downtime and maintaining data integrity. Whether it’s due to accidental deletion or troubleshooting needs, this feature provides a reliable solution for your data recovery needs. Thank you, Subhash Mahato for your valuable inputs to this blog!