Paginate List
Audience:
Low-code EngineersSkill Prerequisites:
Actions,Lists,Tokens
Takes one page of items from a list and saves them as a new list. You set the page size and the page number. Page numbers start at 0. The source list isn't changed.
Typical Use Cases
- Return one page of results from an API, with the page number and page size sent by the caller
- Process a large list in batches, for example to send emails 50 at a time
- Keep only the first items of a sorted list, for example the top 10 after Sort List
Don't use it to
- Page through database rows. Use
OFFSET ... FETCHin the query of Create List from SQL, so only one page is read from the database. - Page through Dynamics records. Read Multiple Entities has its own paging.
Related Actions
| Action Name | Description |
|---|---|
| Sort List | Sorts a list, usually before taking a page. |
| Create List from JSON | Creates a list from a JSON array. |
| Create List from SQL | Creates a list from the rows of a query. |
| Existing List as JSON | Writes the page as JSON, for example as an API response. |
| Execute Actions for each List Entry | Runs actions once for each item of the page. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| List Name | The name of the list to take the page from, for example OrdersList. The name is case-sensitive. An empty name doesn't use the listing's rows. In a listing, enter ActionGridEntry to page the listing's records. | Yes | empty string | Yes |
| Page Size | The number of items per page, for example 20. Must be a whole number. If it's empty, 0 or not a number, the page is empty. | Yes | empty string | Yes |
| Page | The page to take, starting at 0. For example, with a page size of 20, page 0 has items 1 to 20 and page 2 has items 41 to 60. If it's empty or not a number, the first page is taken. | Yes | empty string | No |
| Output List Name | The name of the new list, for example OrdersPageList. Use the same name as List Name to replace the source list. If it's empty, nothing is created. Tokens aren't replaced here: the text is used as typed, without square brackets. | No | empty string | Yes |
Output Parameters Reference
| Output | Description |
|---|---|
List <Output List Name> | A copy of the items on the page, in the same order and with the same properties as the source list. It's empty if the page is past the end of the list. |
The action doesn't create a count token for the page, and it doesn't return the number of pages. To work out the number of pages, use [<List Name>:Count], which Create List from SQL and Create List from JSON create.
Considerations
- Pages start at 0. If users see pages starting at 1, subtract one before passing the number to
Page. - Missing list. The action fails if the list doesn't exist. Use the
On Erroractions of Execute Actions to handle the error. - The last page can be shorter. It holds the remaining items. A page past the end gives an empty list, not an error.
- Sort first. Pages follow the list's current order. Use Sort List first if the order matters.
- Nested JSON. The page doesn't keep the JSON text of nested objects and arrays that Create List from JSON makes available in loops. The values inside them, for example
[OrdersList:Customer.Name], are kept. - Large listings. Paging
ActionGridEntryreads every record of the listing into memory first.
Examples
To understand how to use the below examples, please see Running Examples.
1. Return one page of orders
This action takes the page in the Page token from OrdersList, with 20 items per page, and saves it as OrdersPageList. A following Existing List as JSON action can return it to the caller.
{
"Title": "Paginate List",
"ActionType": "PaginateEntityList",
"Description": "Take one page of orders",
"Parameters": {
"EntityName": "OrdersList",
"PageSize": "20",
"Page": "[Page]",
"OutputEntityName": "OrdersPageList"
}
}
For example, if OrdersList has 45 items, pages 0 and 1 have 20 items, page 2 has 5 items, and page 3 is empty.
2. Keep the top 10 items
This action keeps the first 10 items of SortedProductsList, created by Sort List, and saves them as TopProductsList.
{
"Title": "Paginate List",
"ActionType": "PaginateEntityList",
"Description": "Keep the 10 most expensive products",
"Parameters": {
"EntityName": "SortedProductsList",
"PageSize": "10",
"Page": "0",
"OutputEntityName": "TopProductsList"
}
}
Revised 09/27/2026