This is a tool created to help search Power Automate flows, workflows, web resources, and plugins across your Dataverse environments. It started as a basic search tool and has somewhat grown with several performance optimizations and search features.
Please feel free to suggest commits/changes and new features/bug fixes/optimizations!
- Open XrmToolBox
- Click Tool Library
- Search for "Power Automate Search"
- Click Install
- Download the latest
paSearch.dllfrom the Releases page
Default location:
C:\Users\[YourUsername]\AppData\Roaming\MscrmTools\XrmToolBox\Plugins\
Alternative locations:
%APPDATA%\MscrmTools\XrmToolBox\Plugins\- Where you installed XrmToolBox:
[XrmToolBox Install Dir]\Plugins\
- Copy
paSearch.dllto the Plugins folder - Important: Also copy these dependencies if they don't exist:
ICSharpCode.Decompiler.dll(for code search feature)System.Reflection.Metadata.dllSystem.Collections.Immutable.dll
- Close XrmToolBox completely
- Reopen XrmToolBox
- The plugin should appear in the Tools menu
- Click Tools → Power Automate Search
- Connect to your Dataverse environment
- Start searching!
Required:
- Visual Studio 2019 or later
- .NET Framework 4.8 SDK
- Git
Recommended:
- XrmToolBox (lol)
git clone https://github.com/addisonfischer/Power-Automate-Search.git
cd Power-Automate-SearchOption A: Visual Studio (Recommended)
- Open
paSearch.slnin Visual Studio - Right-click solution → Restore NuGet Packages
- Wait for packages to download
Option B: Command Line
nuget restore paSearch.slnKey Dependencies:
XrmToolBox.PluginBase- XrmToolBox SDKMicrosoft.CrmSdk.CoreAssemblies- Dynamics SDKICSharpCode.Decompiler- Code search decompilationNewtonsoft.Json- JSON parsing
Option A: Visual Studio
- Open
paSearch.sln - Set configuration to Release
- Build → Build Solution (Ctrl+Shift+B)
- Output DLL:
bin\Release\paSearch.dll
Option B: MSBuild (Command Line)
msbuild paSearch.sln /p:Configuration=ReleaseOption C: dotnet CLI (if using .NET Core SDK)
dotnet build paSearch.sln --configuration ReleaseCopy to XrmToolBox Plugins folder:
# Windows (PowerShell)
Copy-Item "bin\Release\paSearch.dll" "$env:APPDATA\MscrmTools\XrmToolBox\Plugins\" -Force
# Also copy dependencies (if not already there)
Copy-Item "bin\Release\ICSharpCode.Decompiler.dll" "$env:APPDATA\MscrmTools\XrmToolBox\Plugins\" -ForceOr manually:
- Navigate to
bin\Release\ - Copy
paSearch.dllto XrmToolBox Plugins folder - Copy dependency DLLs if needed
- Restart XrmToolBox
- Connect to your organization
- Search and go!
- Select a category (Workflow, Cloud Flow, Web Resource, etc.) or search all
- Leaving the search blank will return everything in the selected category
- Double clicking a line will copy the Solution ID of the object
- Fuzzy Search: Check this to find results even with typos (e.g., "varCstmrNme" will find "varCustomerName")
- Search Content: For Web Resources, check this to search inside file contents. Expect slightly longer search times. Leave unchecked for faster name-only searches.
- Search Code: For plugins, check this to decompile plugin code back to dotnet/C#. Expect significantly longer search times. Leave unchecked for faster entity/message/stage-only searches.
- Workflows/Flows: Searches names and content (variables, expressions, actions inside flows)
- Web Resources: Searches names and optionally file contents (HTML, JavaScript, CSS, etc.)
- Solutions: Automatically shows which solution contains each object
- Plugins: Searches names, entities, messages, stages of plugins, as well as optionally code snippets.
- Deep content search inside Power Automate flow definitions
- Web resource search (by name or file content)
- Plugin search (by name/entity/message/stage or code)
- Fuzzy search for typo tolerance
- Optimized batch queries for fast performance
- Automatic opening of solutions upon double click (open to suggestions on how to do this)
- Double click plugins and open PluginRegistrationTool (or similar)
- Content preview window
- Export results to CSV/Excel
- Search history
- Additional search filters