RecordUrlGeneratorTool 1.2026.3.16
dotnet add package RecordUrlGeneratorTool --version 1.2026.3.16
NuGet\Install-Package RecordUrlGeneratorTool -Version 1.2026.3.16
<PackageReference Include="RecordUrlGeneratorTool" Version="1.2026.3.16" />
<PackageVersion Include="RecordUrlGeneratorTool" Version="1.2026.3.16" />
<PackageReference Include="RecordUrlGeneratorTool" />
paket add RecordUrlGeneratorTool --version 1.2026.3.16
#r "nuget: RecordUrlGeneratorTool, 1.2026.3.16"
#:package RecordUrlGeneratorTool@1.2026.3.16
#addin nuget:?package=RecordUrlGeneratorTool&version=1.2026.3.16
#tool nuget:?package=RecordUrlGeneratorTool&version=1.2026.3.16
Record URL Generator — XrmToolBox Plugin
Automatically generate direct URLs for your Dataverse records.
Record URL Generator is an XrmToolBox plugin that registers a server-side Dataverse plugin to automatically populate a URL field every time a record is created. It also provides a bulk-update feature to backfill URLs on existing records — all configured through a step-by-step wizard, with zero code required.
Features
- Automatic URL generation — A Dataverse plugin (Pre-Operation / Create) builds and stores a direct link to each new record.
- Model-Driven App support — URLs can include an
appidparameter so the link opens directly in the correct app. - Environment Variables — The base URL and optional Model-Driven App ID are stored as Dataverse Environment Variables, making the solution environment-aware and ALM-friendly.
- Guided wizard (5 steps) — No manual configuration needed:
- Solution & Environment Variables — Pick an unmanaged solution, create or select the required environment variables.
- Assembly Deployment — Deploy the server-side plugin assembly (embedded as a resource) and add it to the solution.
- Table & Field Selection — Choose the target table and create (or select) a URL-formatted string field.
- Plugin Step Configuration — Register the SDK Message Processing Step with auto-generated JSON configuration.
- Bulk Update — Browse existing records and batch-update those with empty URLs, with progress tracking and cancellation support.
- Solution-aware — Every component (environment variables, assembly, plugin step, field) is automatically added to the selected solution.
- Bulk operations — Update up to 500 records per page using
ExecuteMultipleRequest(batches of 100, withContinueOnError). - Pagination, sorting & filtering — Browse records with paging (50/page), column sorting and filter by All / Empty URLs / Filled URLs.
URL Format
# With Model-Driven App
https://<org>.crm.dynamics.com/main.aspx?appid=<GUID>&pagetype=entityrecord&etn=<table>&id=<recordid>
# Without Model-Driven App
https://<org>.crm.dynamics.com/main.aspx?pagetype=entityrecord&etn=<table>&id=<recordid>
How It Works
- Two Environment Variables hold the configuration:
<publisher>_EnvironmentURL— the base URL of the environment (e.g.https://contoso.crm.dynamics.com).<publisher>_ModelDrivenAppId(optional) — the GUID of the Model-Driven App to open.
- A Dataverse plugin (
GenerateRecordUrlPlugin) is registered on the Create message (Pre-Operation, Synchronous, Sandbox). - On each record creation the plugin:
- Reads the environment variables.
- Builds the URL from the environment URL + entity logical name + record ID (+ optional app ID).
- Sets the URL field on the target entity before the record is committed.
- The Bulk Update feature in the XrmToolBox UI follows the same logic to backfill records created before the plugin was registered.
Plugin Step Configuration (JSON)
The SDK Message Processing Step uses the following unsecure configuration:
{
"envUrlVarName": "<publisher>_EnvironmentURL",
"recordUrlFieldName": "<prefix>_<fieldname>",
"mdaEnvName": "<publisher>_ModelDrivenAppId"
}
| Property | Description |
|---|---|
envUrlVarName |
Schema name of the Environment Variable holding the base URL. |
recordUrlFieldName |
Logical name of the string field where the URL is stored. |
mdaEnvName |
Schema name of the Environment Variable holding the Model-Driven App GUID (optional). |
Prerequisites
- XrmToolBox (latest version recommended).
- A connection to a Dataverse / Dynamics 365 environment.
- An unmanaged solution in the target environment.
- Sufficient security privileges to register plugin assemblies and SDK steps.
Installation
- Open XrmToolBox.
- Go to the Tool Library (Plugin Store).
- Search for Record URL Generator and install it.
- The tool appears under the plugin list — connect to your environment and launch it.
Manual installation: copy the compiled
RecordUrlGeneratorTool.dllinto your XrmToolBoxPluginsfolder.
Getting Started
- Connect to your Dataverse environment in XrmToolBox.
- Open Record URL Generator.
- Follow the 5-step wizard:
- Step 1 — Select a solution and configure environment variables (the tool can create them for you).
- Step 2 — Deploy the plugin assembly to Dataverse.
- Step 3 — Choose the target table and URL field (or create a new one).
- Step 4 — Register the plugin step.
- Step 5 — Optionally bulk-update existing records.
- From now on, every new record on the configured table will automatically get a direct URL.
Project Structure
RecordUrlGenerator/
├── RecordUrlGenerator.sln
├── RecordUrlGenerator.Plugins/ # Server-side Dataverse plugin (.NET 4.6.2)
│ └── GenerateRecordUrlPlugin.cs # IPlugin implementation
├── RecordUrlGeneratorTool/ # XrmToolBox plugin UI (.NET 4.8)
│ ├── MyPlugin.cs # Plugin metadata & entry point
│ ├── MyPluginControl.cs # 5-step wizard (WinForms)
│ ├── Settings.cs # User settings
│ └── Helpers/
│ └── CrmServiceHelper.cs # Dataverse API helper methods
└── packages/ # NuGet dependencies
Build
- Open
RecordUrlGenerator.slnin Visual Studio 2019+. - Restore NuGet packages.
- Build the solution — the plugin assembly (
RecordUrlGenerator.Plugins.dll) is embedded as a resource inside the XrmToolBox plugin.
| Project | Target Framework |
|---|---|
| RecordUrlGeneratorTool | .NET Framework 4.8 |
| RecordUrlGenerator.Plugins | .NET Framework 4.6.2 |
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
License
This project is provided as-is. See the repository for license details.
Learn more about Target Frameworks and .NET Standard.
-
- XrmToolBox (>= 1.2020.2.36)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2026.3.16 | 118 | 3/16/2026 |
| 1.2026.3.14 | 97 | 3/13/2026 |
| 1.2026.3.13 | 104 | 3/13/2026 |
| 1.2026.3.8 | 98 | 3/6/2026 |
| 1.2026.3.7 | 99 | 3/6/2026 |
| 1.2026.3.6 | 98 | 3/6/2026 |
v1 of Record URL Generator