{"id":42571,"date":"2025-10-14T14:44:13","date_gmt":"2025-10-14T09:14:13","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=42571"},"modified":"2025-10-14T14:44:13","modified_gmt":"2025-10-14T09:14:13","slug":"how-to-use-the-search-rows-preview-action-in-power-automate-for-smarter-dataverse-queries","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2025\/10\/how-to-use-the-search-rows-preview-action-in-power-automate-for-smarter-dataverse-queries\/","title":{"rendered":"How to Use the \u201cSearch Rows (Preview)\u201d Action in Power Automate for Smarter Dataverse Queries"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42575\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries.png\" alt=\"Power Automate for Smarter Dataverse Queries\" width=\"2100\" height=\"1200\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries.png 2100w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries-300x171.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries-1024x585.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries-768x439.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries-1536x878.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries-2048x1170.png 2048w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/How-to-Use-the-Search-Rows-Preview-Action-in-Power-Automate-for-Smarter-Dataverse-Queries-660x377.png 660w\" sizes=\"(max-width: 2100px) 100vw, 2100px\" \/><\/p>\n<p>If you often build automation flows in Power Automate, you\u2019ve probably used the \u201cList rows\u201d action to pull data from Microsoft Dataverse. It\u2019s useful for basic data retrieval\u2014but when your data grows or you need to search across multiple tables, it starts to hit limitations.<\/p>\n<p>That\u2019s where the \u201cSearch Rows (Preview)\u201d action comes in. It lets you perform fast, intelligent, and relevance-based searches across multiple tables in Dataverse\u2014all within a single flow. In this blog, you\u2019ll learn when and how to use it, how it differs from \u201cList rows,\u201d and how it can make your flows more efficient and scalable.<\/p>\n<h3><strong>Why \u201cList Rows\u201d Isn\u2019t Always Enough<\/strong><\/h3>\n<p>You might already know that the \u201cList rows\u201d action works well for straightforward queries. But as your data grows, so do its challenges:<\/p>\n<ul>\n<li>Row limits: By default, it retrieves only up to 5,000 rows (and with pagination, up to 100,000).<\/li>\n<li>Performance issues: Large datasets can slow down your flows.<\/li>\n<li>Limited search flexibility: It doesn\u2019t support fuzzy matching, keyword search, or relevance-based ranking.<\/li>\n<\/ul>\n<p>If your goal is to find records based on a search term\u2014like finding Leads, Contacts, or Accounts that match a keyword\u2014\u201cList rows\u201d isn\u2019t built for that.<\/p>\n<h3><strong>Meet the \u201cSearch Rows (Preview)\u201d Action<\/strong><\/h3>\n<p>The \u201cSearch Rows (Preview)\u201d action in the Microsoft Dataverse connector changes how you retrieve data. Instead of structured OData filters, it uses Dataverse Search\u2014a full-text, relevance-based search engine.<\/p>\n<p>This means you can search for a keyword across multiple tables, apply filters, and instantly retrieve records that match your search intent.<\/p>\n<p>Here\u2019s what makes it powerful:<\/p>\n<ul>\n<li><strong>Relevance-based search<\/strong> \u2014 Prioritizes the most relevant matches first.<\/li>\n<li><strong>Performance optimized<\/strong> \u2014 Faster lookups across large datasets.<\/li>\n<li><strong>Smart filters<\/strong> \u2014 Supports Boolean operators, wildcards, proximity search, fuzzy matching, and even regular expressions.<\/li>\n<li><strong>Dynamic content<\/strong> \u2014 Gives you extra details like search score, highlights, and record IDs.<\/li>\n<\/ul>\n<h3><strong>How to Implement the \u201cSearch Rows\u201d Action in Power Automate<\/strong><\/h3>\n<p>To implement this in Power Automate, follow these steps:<\/p>\n<p><strong>1. Enable Relevance Search<\/strong>: Ensure that Relevance Search is enabled in your Dataverse environment. This is a prerequisite for using the &#8220;Search rows&#8221; action.<\/p>\n<p><strong>2. Create a New Flow<\/strong>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Go to Power Automate and create a new flow.<\/li>\n<li>Add a trigger that suits your scenario (e.g., when a record is created or modified).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>3. Add the &#8220;Search rows&#8221; Action<\/strong>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Click on &#8220;New step&#8221; and search for &#8220;Search rows&#8221;.<\/li>\n<li>Select the &#8220;Search rows (Preview)&#8221; action.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42572\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/1Power-Automate-for-Smarter-Dataverse-Queries.png\" alt=\"Power Automate for Smarter Dataverse Queries\" width=\"644\" height=\"704\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/1Power-Automate-for-Smarter-Dataverse-Queries.png 644w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/1Power-Automate-for-Smarter-Dataverse-Queries-274x300.png 274w\" sizes=\"(max-width: 644px) 100vw, 644px\" \/><\/p>\n<p><strong>4. Configure the Action<\/strong>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Search term<\/strong>: Enter the keyword or phrase you want to search for.<\/li>\n<li><strong>Search type<\/strong>: Choose between &#8220;simple&#8221; or &#8220;full&#8221; query syntax. &#8220;Simple&#8221; is easier to use, while &#8220;full&#8221; offers more advanced features like fuzzy search and regular expressions.<\/li>\n<li><strong>Search mode<\/strong>: Decide whether any or all search terms must be matched.<\/li>\n<li><strong>Row count<\/strong>: Specify the number of rows to return.<\/li>\n<li><strong>Table filter<\/strong>: Narrow your search to specific tables if needed.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42573\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/2Power-Automate-for-Smarter-Dataverse-Queries.png\" alt=\"Power Automate for Smarter Dataverse Queries\" width=\"618\" height=\"792\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/2Power-Automate-for-Smarter-Dataverse-Queries.png 618w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/2Power-Automate-for-Smarter-Dataverse-Queries-234x300.png 234w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/p>\n<p><strong>5. Process the Results<\/strong>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>The action will return rows that match the search criteria.<\/li>\n<li>You can then use the &#8220;length&#8221; function to count the number of records and proceed with further actions based on that count and searched records.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42574\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/3Power-Automate-for-Smarter-Dataverse-Queries.png\" alt=\"Power Automate for Smarter Dataverse Queries\" width=\"620\" height=\"727\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/3Power-Automate-for-Smarter-Dataverse-Queries.png 620w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/10\/3Power-Automate-for-Smarter-Dataverse-Queries-256x300.png 256w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p><strong>Understanding the &#8220;Search rows&#8221; Action<\/strong><\/p>\n<p>The &#8220;Search rows&#8221; action offers several advantages:<\/p>\n<ul>\n<li><strong>Advanced Search Capabilities<\/strong>: Supports Boolean operators, wildcards, exact matches, fuzzy search, term boosting, proximity search, and regular expressions.<\/li>\n<li><strong>Performance<\/strong>: Optimized for fast searches across large datasets.<\/li>\n<li><strong>Dynamic Content<\/strong>: Provides dynamic content like row search score, highlights, and object IDs, which can be used in subsequent actions.<\/li>\n<\/ul>\n<p><strong>Comparison: &#8220;Search rows&#8221; vs. &#8220;List rows&#8221;<\/strong><\/p>\n<table width=\"629\">\n<thead>\n<tr>\n<td><strong>Feature \/ Aspect<\/strong><\/td>\n<td><strong>Search Rows<\/strong><\/td>\n<td><strong>List Rows<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Purpose<\/strong><\/td>\n<td>Performs a <strong>relevance-based search<\/strong> across multiple tables using Dataverse search.<\/td>\n<td>Retrieves <strong>records from a specific table<\/strong> with filter\/query conditions.<\/td>\n<\/tr>\n<tr>\n<td><strong>Search Method<\/strong><\/td>\n<td>Uses <strong>Dataverse search index<\/strong> (full-text search, supports multiple columns).<\/td>\n<td>Uses <strong>OData query<\/strong> against a single entity\/table.<\/td>\n<\/tr>\n<tr>\n<td><strong>Scope<\/strong><\/td>\n<td>Can search <strong>across multiple tables<\/strong> (if enabled).<\/td>\n<td>Works <strong>only on one table<\/strong> at a time.<\/td>\n<\/tr>\n<tr>\n<td><strong>Fields Queried<\/strong><\/td>\n<td>Searches across <strong>indexed searchable fields<\/strong> (defined in Dataverse).<\/td>\n<td>Returns only fields you <strong>explicitly select<\/strong> via $select.<\/td>\n<\/tr>\n<tr>\n<td><strong>Filtering Options<\/strong><\/td>\n<td>Limited filtering; focus is on keyword\/relevance.<\/td>\n<td>Rich OData filters ($filter, $top, $orderby, $expand).<\/td>\n<\/tr>\n<tr>\n<td><strong>Use Case<\/strong><\/td>\n<td>Best for <strong>user-driven keyword searches<\/strong> (e.g., search by name, email, text).<\/td>\n<td>Best for <strong>system queries, workflows, and data retrieval<\/strong> with precise filters.<\/td>\n<\/tr>\n<tr>\n<td><strong>Performance<\/strong><\/td>\n<td>Optimized for search but depends on indexing.<\/td>\n<td>Optimized for structured queries; predictable results.<\/td>\n<\/tr>\n<tr>\n<td><strong>Example<\/strong><\/td>\n<td>Search \u201cCortana\u201d across Contacts, Accounts, and Leads at once.<\/td>\n<td>Get all Contacts where city = &#8216;Mumbai&#8217; and createdon &gt; 2024-01-01.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><strong>Best Practices for Using \u201cSearch Rows\u201d<\/strong><\/h3>\n<ul>\n<li>Keep your Dataverse Search index updated to ensure results are accurate.<\/li>\n<li>Use Table filters to limit scope and improve performance.<\/li>\n<li>When handling large datasets, limit the row count to what\u2019s necessary.<\/li>\n<li>Combine with conditional actions (like \u201cApply to each\u201d or \u201cCondition\u201d) for automation logic.<\/li>\n<\/ul>\n<h3><strong>Q&amp;A: Quick Answers for AI Search &amp; Readers<\/strong><\/h3>\n<p><strong>Can I use \u201cSearch Rows\u201d to search across Leads, Contacts, and Accounts at once?<\/strong><\/p>\n<p>Yes. That\u2019s one of its biggest advantages\u2014it can query multiple tables in a single search.<\/p>\n<p><strong>Does it support fuzzy or partial matches?<\/strong><\/p>\n<p>Absolutely. The \u201cFull\u201d query syntax supports fuzzy search and even regular expressions.<\/p>\n<p><strong>Is it available in all environments?<\/strong><\/p>\n<p>It\u2019s in <strong>Preview<\/strong>, so availability might vary depending on your Dataverse region and updates.<\/p>\n<p><strong>Should I replace \u201cList rows\u201d entirely?<\/strong><\/p>\n<p>Not necessarily. Use \u201cSearch Rows\u201d for keyword and relevance-based searches; use \u201cList rows\u201d for structured OData queries.<\/p>\n<p><strong>When Should You Use \u201cSearch Rows\u201d?<\/strong><\/p>\n<p>You should use \u201cSearch Rows (Preview)\u201d when:<\/p>\n<ul>\n<li>You need to search across multiple tables.<\/li>\n<li>You want relevance-based or fuzzy results.<\/li>\n<li>You\u2019re building flows that rely on text-based lookups.<\/li>\n<li>You\u2019re optimizing for speed and scalability in your automation process.<\/li>\n<\/ul>\n<p>It\u2019s an ideal choice for customer lookup flows, data synchronization, AI-driven automation, and search-based notifications.<\/p>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p>The \u201cSearch Rows (Preview)\u201d action brings a smarter, faster, and more flexible way to work with Dataverse data inside Power Automate. By combining it with dynamic filters, conditions, and AI-powered logic, you can create intelligent automation flows that scale easily and deliver results faster.<\/p>\n<p>So, the next time you\u2019re building a flow that needs to search, match, or filter data dynamically, skip the \u201cList rows\u201d hassle and give \u201cSearch Rows\u201d a try \u2014 you\u2019ll notice the difference immediately.<\/p>\n<p>Next Step: Automate Smarter with Power Platform Experts<\/p>\n<p>If you\u2019re exploring ways to build intelligent Dataverse flows or optimize Power Automate performance, our team can help.<\/p>\n<p>Reach out to Inogic for tailored Power Platform solutions that integrate AI, Dataverse, and Dynamics 365 automation seamlessly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you often build automation flows in Power Automate, you\u2019ve probably used the \u201cList rows\u201d action to pull data from Microsoft Dataverse. It\u2019s useful for basic data retrieval\u2014but when your data grows or you need to search across multiple tables, it starts to hit limitations. That\u2019s where the \u201cSearch Rows (Preview)\u201d action comes in. It\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2025\/10\/how-to-use-the-search-rows-preview-action-in-power-automate-for-smarter-dataverse-queries\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1913,1985,2361],"tags":[1975],"class_list":["post-42571","post","type-post","status-publish","format-standard","hentry","category-microsoft-power-platform-services","category-power-automate","category-technical","tag-power-automate"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/42571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=42571"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/42571\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=42571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=42571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=42571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}