---
source_url: https://itmustbecode.com/how-to-create-deep-links-to-d365-fo-records-with-dataverse-virtual-tables/
title: How to Create Deep Links to D365 F&O Records with Dataverse Virtual Tables
date: 2025-04-23T02:30:01+00:00
categories:
  - blog
tags:
  - dataverse
  - f&amp;o
  - xrmtoolbox
word_count: 1307
reading_time_minutes: 7
type: posts
---

It is a common requirement for SaaS platform that exposes form over data to be able to share a secure link (a.k.a. **Deep Link**) to access a given record. That way, links can be shared publicly— _via email or Teams message for example_—but clicking them still requires the user to **authenticate** and have the right **permissions** to access the record.

For instance, Power Platform **model-driven apps** have this functionality **built in.** You can simply copy and share the URL exposed in the browser while looking at a specific record. If the recipient has the right credentials, they can click the link and go straight to the record. This predictable URL format also makes it super handy to build **automations**.

{{< figure src="./image-13.png" alt="" caption="" >}}

Unfortunately, it's a bit more complex with **D365 Finance and Operations** since the URL shown in the browser while viewing a record doesn’t contain any specific record information and will not open the record if shared to another user.

{{< figure src="./finops_deeplink.png" alt="" caption="" >}}

In this post, I'll explain how to use Dataverse **virtual tables** to create secure **deep links** to D365 F&O records.

I’ll guide you through an example using **Power Automate** to demonstrate how it works in practice. Plus, I will show you how to easily create deep links using the **[Finance and Operations Virtual Entity Manager](/finance-and-operations-virtual-entity-manager-for-xrmtoolbox/)** for XrmToolBox.

## **Deep links in D365 Finance (F&O)**

According to the [official documentation](https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/create-deep-links?WT.mc_id=DX-MVP-5004959) there are 2 ways to create deep links in D365 Finance (F&O), the **URL Generator** and **System Entity Navigation**.


🔗[Create shareable, secured URLs (deep links) - Finance & Operations | Dynamics 365 | Microsoft Learn](https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/create-deep-links)


The **URL Generator** is a .NET library you can use from X++ code to create links in D365 F&O. But it only works within the F&O platform—like in user sessions or batch jobs. Since I’m not an X++ developer, we’ll skip this technique for this blog post.

Instead we will focus on the more versatile **System Entity Navigation** approach that leverages Dataverse **Virtual Tables**. This method lets you build deep link URLs dynamically— _outside of the F&O runtime and without writing any X++ code_.

### **Prerequisite**

This **System Entity Navigation** feature was introduced in **v10.41** of F&O. If you're running an older version and try to access a link that relies on this feature, you’ll get the following error.

{{< figure src="./image-6.png" alt="" caption="" >}}

If its not already the case, you will also need to enable Dataverse **virtual tables** in your environment. (see docs below)


🔗[Enable Microsoft Dataverse virtual entities - Finance & Operations | Dynamics 365 | Microsoft Learn](https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/enable-virtual-entities)


Once virtual tables are configured, you'll need to enable any tables that you want to expose as a deep link on the Dataverse side. For our example, I'll enable the **VendVendorV2Entity**, that corresponds to vendor accounts.

To enable a table, you could take the hard route and use Power Platform’s old-school Advanced Find method (see documentation)—or, you could make your life easier and use my **[FinOps Virtual Entity Manager](/finance-and-operations-virtual-entity-manager-for-xrmtoolbox/)** tool for XrmToolBox, which offers a much smoother experience and many other nifty features (shameless plug ☺️).

{{< figure src="./image-4.png" alt="" caption="" >}}

This will expose a table called **`mserp_vendvendorv2entity`** in the linked Dataverse environment.

### **System Entity Navigation URL Schema**

Now that everything’s set up, you can start building deep links to F&O records—like vendor accounts. Just use the following **URL schema**:


> https://[FinOpsUrl]/?cmp=[Dataarea]&mi=action:SysEntityNavigation&entityName=[EntityCollectionName]&entityGuid=[Guid]


- **FinOpsUrl** : This is the root URL of the F&O environment. ex. _https://myfinopsenv.operations.dynamics.com_


>💡There is function part of the Dataverse Web Api called [RetrieveFinanceAndOperationsIntegrationDetails](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/reference/retrievefinanceandoperationsintegrationdetailsresponse?WT.mc_id=DX-MVP-5004959). You can use this function to dynamically get RootUrl of the linked F&O environment of a given Dataverse environment.


- **Dataarea** : This is the company name (legal entity) associated with the record. Note that this parameter is **optional**, and we won’t be using it in the examples below.

- **EntityCollectionName** : The plural of the **schema name** of the Dataverse virtual table

For the vendor account table, the plural name is **`mserp_vendvendorv2entities`**

You can find the plural name of a given table 'buried' in the maker portal, by navigating to a Virtual table properties and select ' **Advanced/Tools/Copy set name**'

{{< figure src="./image-3.png" alt="" caption="" >}}

But again I would advise you to use my XrmToolBox tool to get this info as it will save you a lot of time.

- **Guid** : the **unique identifier** property of the selected record in the Dataverse virtual table

Every record in a virtual table gets a GUID assigned by the Dataverse engine in the identity field. By convention, the field name is the name of the virtual table suffixed with 'id'. So, for the Vendor Account table, the field would be `mserp_vendvendorv2entityid`.

You can see this in action with a query on the virtual table using the epic **[SQL 4 CDS](https://www.xrmtoolbox.com/plugins/MarkMpn.SQL4CDS/)** tool by [Mark Carrington](https://www.linkedin.com/in/markmpn/)

{{< figure src="./image-5.png" alt="" caption="" >}}

### **Example with Power Automate**

Time to try it out!

Another great feature of F&O Virtual tables is that once a table is enabled, you can create Power Automate flows that treat these F&O tables just like regular Dataverse tables.

To illustrate this I will create a Power Automate flow that triggers on every Vendor Account creation and send an email to an agent. _Note that I'm using the **Dataverse** connector and not the classic F&O connector._

Since I'm using the virtual table in the trigger, I'm able to get the appropriate **Guid** of the record to compose the link, **directly** from the available values received by the trigger action.

In the Compose block, I’m hardcoding thee **FinOpsUrl** and the **EntityCollectionName** just to keep things simple—but keep in mind, there are ways to make this more dynamic and generic if needed.

Once the link is composed, it’s added as a hyperlink in an email message, which is sent to the agent.

{{< figure src="./finops_deeplink6.png" alt="" caption="" >}}

And that’s it! I now get an email every time a new Vendor account is created in the system, and I can easily navigate to the record— _provided my security role allows it_.

{{< figure src="./finops_deeplink7.png" alt="" caption="" >}}

{{< figure src="./image.png" alt="" caption="" >}}

## **Create DeepLinks with FinOps Virtual Entity Manager for XrmToolBox**

To wrap up this post:

In the latest version of my **[FinOps Virtual Entity Manager](/finance-and-operations-virtual-entity-manager-for-xrmtoolbox/)** Tool for **XrmToolBox**, I added a new feature to create DeepLinks on the fly.

When using the tool, just select an F&O entity that as been enabled for virtual entity. Notice that the **FinOpsUrl** and the **EntityCollectionName** are already available.

{{< figure src="./finops_deeplink2.png" alt="" caption="" >}}

In the Deep Link section of the tool, you can select a given record and a deep link to that record will be generated. This will give the **Guid** of the record and complete the deep link.

{{< figure src="./finops_deeplink4-1.png" alt="" caption="" >}}

Note that not all enabled virtual entities will generate valid deep links. For the link to work, the entity must correspond to a valid menu item in F&O. If it doesn't, you'll run into an error like below. This means the system couldn’t figure out where to send the user, so it’s important to test and verify which table supports deep linking.

{{< figure src="./image-3-1.png" alt="" caption="" >}}

## **Take Away**

That’s all for now!

Deep links for D365 F&O records are a great way to deliver a slick user experience and take your automations to the next level.

I’m excited to see how the community puts this feature to use and what creative scenarios it will unlock.

## **Links**
{{< linkcard url="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/create-deep-links" title="Create shareable, secured URLs (deep links) - Finance & Operations | Dynamics 365" summary="Learn how to create shareable, secured URLs to Finance and Operations forms and records." image="/linkcards/deep-links.png" domain="learn.microsoft.com" new_tab="true" nofollow="true" >}}

{{< linkcard url="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/enable-virtual-entities" title="Enable Microsoft Dataverse virtual entities - Finance & Operations | Dynamics 365" summary="Learn how to enable Finance and Operations virtual entities in Microsoft Dataverse." image="/linkcards/enable-virtual-entities.png" domain="learn.microsoft.com" new_tab="true" nofollow="true" >}}

{{< linkcard url="https://github.com/drivardxrm/Driv.XTB.FinOpsVirtualEntityManager" title="GitHub - drivardxrm/Driv.XTB.FinOpsVirtualEntityManager: XrmToolBox tool to manage Finance and Operations Dataverse Virtual Entities" summary="XrmToolBox tool to manage Finance and Operations Dataverse virtual entities." image="/linkcards/finops-virtual-entity-manager.png" domain="github.com" new_tab="true" nofollow="true" >}}

{{< linkcard url="/finance-and-operations-virtual-entity-manager-for-xrmtoolbox/" title="Finance and Operations Virtual Entity Manager for XrmToolBox" summary="Manage Finance and Operations Dataverse virtual entities with XrmToolBox." image="./hands-20333_1280.jpg" domain="itmustbecode.com" new_tab="false" nofollow="false" >}}

{{< linkcard url="https://www.xrmtoolbox.com/plugins/MarkMpn.SQL4CDS/" title="SQL 4 CDS · XrmToolBox" summary="Use standard SQL syntax to query and manipulate data and metadata in Dataverse." image="/linkcards/6f96dbb8987f563d.png" domain="www.xrmtoolbox.com" new_tab="true" nofollow="true" >}}

{{< linkcard url="https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/reference/retrievefinanceandoperationsintegrationdetailsresponse?WT.mc_id=DX-MVP-5004959" title="RetrieveFinanceAndOperationsIntegrationDetailsResponse ComplexType (Microsoft.Dynamics.CRM)" summary="Contains the response from the RetrieveFinanceAndOperationsIntegrationDetails function." image="/linkcards/4fac7452f522bab5.png" domain="learn.microsoft.com" new_tab="true" nofollow="true" >}}

![](https://learn.microsoft.com/en-us/media/open-graph-image.png)


Photo by [Edge2Edge Media](https://unsplash.com/@edge2edgemedia?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/grey-metal-chain-on-white-background-t1OalCBUYRc?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)

