Retrieve more than 100,000 Dataverse Rows with List Records Action in Cloud Flow Using Skip Token
- The data of the 5001st row onwards of the output does not contain the value for @OData.Community.Display.V1.FormattedValue
- @odata.nextLink property returns empty which means you cannot use the Skip Token parameter to retrieve the data with a batch of 100k rows
🔗 List Records using oData Queries with Skip Token Parameter
1. Initial Query and Set Skip Token
First, you need to retrieve the initial data with List Records step to get the @odata.nextLink to fetch next page data (if there are more than 5k rows). Make sure the Pagination is disabled in the List Records step setting or else, @odata.nextLink will be empty. This step cannot be inside the loop because the Skip Token parameter cannot be set with any value (not even empty string) or, it will throw "Malformed XML" error.if
(
empty
(
outputs('List_records_using_oData_Queries_Initial_Query')?['body/@odata.nextLink']
),
'',
decodeUriComponent
(
last
(
split
(
uriQuery(outputs('List_records_using_oData_Queries_Initial_Query')?['body/@odata.nextLink']),
'skiptoken='
)
)
)
)
2. Do Until Skip Token is Empty
If there is next page data after the initial query, the Skip Token variable will not be an empty string and the steps in the loop will be processed. The default limit of Until iteration is 60 (5k x 60 = 300k rows) and for larger result sets, you can increase up to 5,000. The List Records step within the loop will be the same as the initial query except populating the Skip Token parameter with the variable.1. Simple Paging using FetchXML
2. Page Large Result Sets using FetchXML with Paging Cookie
if
(
empty(outputs('List_records_using_FetchXML_Initial_Query')?['body']?['@Microsoft.Dynamics.CRM.fetchxmlpagingcookie']),
'',
replace
(
replace
(
replace
(
decodeUriComponent
(
decodeUriComponent
(
first(split(last(split(outputs('List_records_using_FetchXML_Initial_Query')?['body']?['@Microsoft.Dynamics.CRM.fetchxmlpagingcookie'], 'pagingcookie="')), '" '))
)
),
'<', '<'
),
'>', '>'
),
'"','"'
)
)
<cookie pagenumber="2" pagingcookie="%253ccookie%2520page%253d%252291%2522%253e%253ccontactid%2520last%253d%2522%257b21883F50-3084-E911-A850-000D3AE02BC5%257d%2522%2520first%253d%2522%257bB5C46C64-2C84-E911-A850-000D3AE02BC5%257d%2522%2520%252f%253e%253c%252fcookie%253e" istracking="False" />
%253ccookie%2520page%253d%252291%2522%253e%253ccontactid%2520last%253d%2522%257b21883F50-3084-E911-A850-000D3AE02BC5%257d%2522%2520first%253d%2522%257bB5C46C64-2C84-E911-A850-000D3AE02BC5%257d%2522%2520%252f%253e%253c%252fcookie%253e
<cookie page="91"><contactid last="{21883F50-3084-E911-A850-000D3AE02BC5}" first="{B5C46C64-2C84-E911-A850-000D3AE02BC5}" /></cookie>
<cookie page="91"><contactid last="{21883F50-3084-E911-A850-000D3AE02BC5}" first="{B5C46C64-2C84-E911-A850-000D3AE02BC5}" /></cookie>
Summary
Published on:
Learn moreRelated posts
Handling Dataverse Customer Columns in Power Automate
In Dataverse, a Customer column is a special type of lookup. Unlike a standard lookup, it can reference either an Account or a Contact. That f...
Understanding Power Automate flow performance
In this post I'm looking at performance of Power Automate flows. For some flows this may not really matter too much, however when you have a n...
How to Automate Project Assignment in Dynamics 365 Using Power Automate and Power Apps Code Apps
This blog demonstrates how to automate project assignments in Microsoft Dynamics 365 using Microsoft Power Automate and Power Apps Code Apps, ...
Power Automate: Select Action
The Select action reshapes arrays in Power Automate without loops. Faster than Apply to each, with text mode and calculated fields for clean t...
New Designer Run After Settings in Power Automate
I will start this post with a warning about the New Designer Run After settings. The steps described in this post do not make it easier to und...
Power Automate: range function
The 'range' function in Power Automate creates arrays of consecutive integers. Use it to replace counter variables and skip the count-vs-end t...
Power Automate: Teams - When I'm @mentioned
The Power Automate "When I'm @mentioned" Teams trigger fires for chat and channel mentions in near real time. Webhook based, fires on replies,...
Power Automate – Debug flows using variable default values
We are announcing the ability to debug flows using variable default values in Power Automate. This feature will reach general availability on ...
Power Automate – Export object-centric process mining data to Microsoft Fabric semantic model
We are announcing the ability to export object-centric process mining data to the Microsoft Fabric semantic model in Power Automate. This feat...






