Citizen Developer
explore our new search
Share & Email Single Dataverse Record Easily in Canvas App
Image Source:
Microsoft Dataverse
Feb 22, 2024 5:20 PM

Share & Email Single Dataverse Record Easily in Canvas App

by HubSite 365 about Suparna Banerjee

Cloud Solution Architect at Microsoft UK | Power Platform

Citizen DeveloperMicrosoft DataverseLearning Selection

Share Dataverse Records Easily with Canvas App and Direct Email Links

Key insights

  • Implementing deep linking in Canvas Apps allows sharing of single Dataverse records directly to a specified user via email, even if the user does not have prior access to the app or the Dataverse table.

  • A combination of Canvas App logic, Power Automate Flow, and Dataverse Web API is used to check the recipient's access, provide necessary permissions if needed, and then send an email with a direct link to view the record.

  • Creating an App registration in Azure and configuring service connection details are crucial steps to authenticate and enable the required interactions between the Power Platform environment and the Dataverse Web API.

  • The Power Automate Flow plays a central role, storing user access lists, managing permissions, and interfacing with the Dataverse to ensure the targeted user gets read-only access to the specified record if they don't already have it.

  • The Deep Linking feature in Canvas App is achieved through a specific URL syntax, enabling direct navigation to the desired screen, which significantly enhances user experience by streamlining access to relevant data.

Deep Linking in Canvas Apps: A Game-Changer for User Experience

Deep linking in Canvas Apps represents a significant leap forward in customizing the user experience within the Microsoft Power Platform environment. By enabling direct access to specific screens or records, developers can create more intuitive and efficient pathways for users to interact with the application. This functionality not only simplifies navigation but also enhances the overall usability of the app by ensuring that users can easily access the information they need without unnecessary searching or browsing. Furthermore, the ability to share direct links to individual Dataverse records opens up new possibilities for collaboration and communication, allowing users to quickly and securely share critical information with colleagues, even those outside their immediate app environment. Coupled with the robust security and permission management capabilities of the Power Platform, deep linking in Canvas Apps offers an effective solution for delivering personalized and relevant content that meets the specific needs of each user.

In a recent blog post by Suparna Banerjee, the focus is on a creative workaround for Canvas Apps, specifically sharing a single Microsoft Dataverse record with a direct email link. This functionality, which is a default in Model Driven Apps, is absent in Canvas Apps. The solution enables users to share a Microsoft Dataverse record from a Canvas App to a specific user who might not have access to the app or the entire database, by sending an email containing a direct read-only link to the record.

To implement this feature, a series of steps are outlined. Firstly, logic for deep linking to a specific screen within the Canvas App is added. Next, a Power Automate Flow is called to perform several operations. These include checking the user's access level to the app and the specific record, and if necessary, granting read-only access before sending a direct link via email to the shared record.

Suparna provides insight into creating an efficient app registration process that involves navigating to the Azure portal, creating a new registration, and setting the necessary API permissions. This process ensures authenticated HTTP actions with Microsoft Dataverse. Additionally, she details how to update variables in the Power Automate Flow based on the app registration values obtained during setup.

The post includes instructions on checking existing access levels for users and how to adjust these if the user lacks the appropriate permissions. Using the Dataverse Web API, it verifies a user's access to a specific record and adjusts permissions accordingly. Suparna also describes the method to deep link into a Canvas App to direct users straight to the specific record's screen.

Readers are provided with a technical walkthrough of modifying the Canvas App's OnStart and StartScreen properties to accommodate deep linking, along with the necessary Power Automate Flow configurations for capturing and updating user access permissions. The process outlined ensures that upon clicking the share button, the intended recipient receives an email link that directs them to a read-only view of the specified record, even without prior access to the app or database.

This detailed guide showcases a workaround to address a significant functionality gap in Canvas Apps compared to Model Driven Apps. By leveraging deep linking and Power Automate Flows, users can efficiently share specific Microsoft Dataverse records with others, significantly enhancing collaborative efforts within organizations.

Deeper Dive into Microsoft Dataverse Sharing and Accessibility

Sharing and managing accessibility within Microsoft Dataverse is an essential aspect of streamlining workflows and enhancing collaboration in business operations. Being able to share specific records securely ensures that information is accessible to the right individuals at the right time, without compromising on data security and compliance. These capabilities allow for more flexible and dynamic interactions with data housed within the Dataverse, empowering users to communicate and collaborate more effectively.

While the Model Driven Apps inherently support this functionality, Canvas Apps require additional steps, as illustrated by Suparna Banerjee. Her detailed guide demonstrates how to create a seamless user experience by extending accessibility to users who might not have direct access to the app or database, thereby fostering greater collaboration.

The ability to share a direct link to a specific database record aligns with modern business needs, where agility and timely access to information can significantly impact decision-making processes. It signifies the versatility of Microsoft Dataverse and the broader Power Platform, highlighting the creative potential for customization and adaptation to meet specific requirements.

Moreover, the integration with Power Automate for automating the process of sharing and managing access permissions illustrates the potential for automation in simplifying complex processes. This not only improves efficiency but also enhances data security by ensuring that only authorized individuals gain access to sensitive information.

Understanding and implementing these functionalities within Microsoft Dataverse is key to leveraging the full potential of the Power Platform ecosystem. It enables businesses to create highly customized and efficient workflows, significantly enhancing the way they interact with and manage their data.

Whether for internal collaboration or extending access to external stakeholders, the ability to manage and share data with granular control is a powerful feature. It underscores the importance of the Dataverse as a comprehensive and adaptable data management solution, essential for modern, dynamic businesses.

Canvas App allows sharing a single Microsoft Dataverse record via an email link for read-only access. The functionality mimics what's available in Model Driven App but expands it to Canvas App. This process involves adjusting the app to support deep linking and using a Flow to handle permissions and send the email.

  • Add deep linking logic to the Canvas App.
  • Utilize Flow from Canvas App to check user access and send an email with a direct link.

Developing this feature requires multiple steps, including checking if the user has access to the app and the specific record, providing read-only access if they do not, and then emailing a direct link to the record. The steps involve setting up deep linking within the Canvas App and creating a Power Automate flow triggered by Power Apps.

  • Implement deep linking for a specific screen in the app.
  • Configure a Power Automate flow to manage access rights and send emails.

The solution involves setting up an App registration in Azure to authenticate HTTP actions with Microsoft Dataverse Web API, updating Power Automate flow variables, and ensuring the user can access the specific record. It culminates in creating a deep link to the Canvas App that directs users to the appropriate screen.

  • Register the app in Azure and configure API permissions.
  • Use Microsoft Dataverse Web API for access checks and to create deep links.

Sharing Records in Microsoft Dataverse

Sharing single records from a Canvas App in the Microsoft Dataverse environment enhances user collaboration without requiring full app access. By utilizing Azure for app registration, Power Automate flows for permission management, and deep linking techniques, developers can efficiently share information with selected users. This approach ensures that users can view data relevant to them securely and straightforwardly, thus improving the usability and flexibility of apps built on the Microsoft Dataverse platform.

Microsoft Dataverse - Share & Email Single Dataverse Record Easily in Canvas App

Read the full article Canvas App -share single Dataverse record and email direct Link

People also ask

Can you use Dataverse in a canvas app?

Indeed, integrating Dataverse with canvas apps, particularly within Dataverse for Teams, allows for the creation of engaging and visually appealing canvas apps. For optimal design and user interface, incorporating the Material Design Component Library for Power Apps, alongside the Material Design Template app developed by Luise Freese and Robin Rosengrün, is highly recommended.

What are the limitations of Dataverse?

Dataverse for Teams comes with certain limitations, notably a storage capacity cap at either 1 million rows or 2 GB. Should your data management needs exceed these limits, exploring Dataverse as a more fitting solution would be advisable.

How do I share data connections in power app?

Sharing data connections within Power Apps can be achieved by navigating to, selecting Data -> Connections from the left navigation panel, and then choosing the desired connection. If a Share button is visible in the top navigation or a Share option appears under More Commands (...), this indicates that the connection can be shared with others.

What are implicitly shared connections in Powerapps?

Within Power Apps, implicitly shared connections refer to those that employ standardized credentials, such as a SQL Server connection string, in lieu of user-specific credentials (e.g., AAD).


Canvas App, Share Dataverse Record, Email Direct Link, Dataverse Email Integration, Direct Link Sharing, Canvas App Dataverse, Email Dataverse Link, Canvas App Record Sharing