Custom Filter and Sorting Rules with Base64
Some requirements go beyond what can be configured directly in the UI. However, you still have the option to apply these advanced filtering/ sorting rules into Base64 code and insert them directly.
Please note that this method is very advanced and only applies to a limited number of use cases. You will typically need it only when you:
want to filter and sort by multiple complex criteria simultaneously
need to enforce a strict, predefined order of processing steps
want to apply multiple sorting rules at the same time
Concept of working with Base64 codes
Before encoding, every filter begins as a decoded configuration object. This object defines all filtering and sorting logic in a structured format and will then be added to the grouping placeholder.
To build this configuration correctly, you will need:
1. The column IDs from your monday.com board
Each rule - whether a filter or a sort condition- must reference the exact column_id.
We recommend listing all your requirements first and then gathering the corresponding column IDs from your board.

2. Sorting rules using order_by
order_byAll sorting configurations must be placed inside an order_by array.
The sequence inside this array defines the exact sorting order.
For example:
order_by: [
{ column_id: "country" },
{ column_id: "state" },
{ column_id: "city" }
]This means the data will be sorted first by Country, then by State, and finally by City. You can use as many sorting rules as you like, just add them to the row by separating them with a comma.
3. Combined Filtering + Sorting rules
If your configuration includes both filtering and sorting, the object must always begin with a rules section:
rules: [...],
order_by: [...]rulesdefines the filtering logicorder_bydefines the sorting logicBoth must be included when using filters and sorting together
Retrieving only the filter string for the 'rules' section via the UI
You can retrieve your filter conditions directly from the UI as a Base64-encoded filter string.
This is especially useful if you only need the filtering part (rules) but want to manually add additional sorting or grouping logic afterward.
By copying the filter from the UI:
You get a ready-made Base64 filter string based on your current UI filter selection.
You can decode this Base64 string to view the underlying filter object.
You may then combine this decoded
rulesobject with your additional requirements—for example, addingorder_bysorting rules or expanding the logic.Finally, you can re-encode the entire combined object back into Base64 and use it inside your template’s grouping placeholders.
This approach gives you a quick starting point for the filtering logic, while still allowing full flexibility for custom combinations of filters, sorting rules and grouping structures.
Please take a look at this article for more details on how to generate and copy a filter string in DocExport: Advanced Filtering
4. Encoding the configuration into Base64
Once your decoded object is complete, you can convert it into a Base64 string. This encoded string represents the full logic (filters and/or sorting) in a compact format.
5. Inserting the Base64 code into your template
After encoding, the Base64 string must be placed directly inside your TableStart and TableEnd placeholder, this is also where you can add your grouping:
{{TableStart:...}}{{TableEnd:...}}
For example:
{{TableStart:GroupByStatus(your_base64_code_here)}}
...
{{TableEnd:GroupByStatus(your_base64_code_here)}}Once inserted, the entire dataset is filtered and sorted strictly according to the logic defined in your Base64 configuration.
This method allows you to combine multiple filters, layered sorting rules, and grouping operations—far beyond what the UI can configure on its own.
Example Base64 codes with
Sorting (order by one value) + Grouping
Sorting (order by two or more values) + Grouping
Filtering (e.g. Checkbox) + Grouping + Sorting
You can also retrieve the basic filter condition string directly in the UI and then combine it with the rest of your requirements. Please take a look at this article for more details on how to generate a filter string: Advanced Filtering
Final Placeholder:
{{TableStart:GroupByStatus(e3J1bGVzOlt7Y29sdW1uX2lkOiJib29sZWFuX21reTE0dmRxIixjb21wYXJlX3ZhbHVlOltdLGNvbXBhcmVfYXR0cmlidXRlOiIiLG9wZXJhdG9yOmlzX25vdF9lbXB0eX1dLG9yZGVyX2J5Olt7Y29sdW1uX2lkOiJjb3VudHJ5In0se2NvbHVtbl9pZDoiZHJvcGRvd25fbWt5MWR5cDYifV19)}}
and
{{TableEnd:GroupByStatus(e3J1bGVzOlt7Y29sdW1uX2lkOiJib29sZWFuX21reTE0dmRxIixjb21wYXJlX3ZhbHVlOltdLGNvbXBhcmVfYXR0cmlidXRlOiIiLG9wZXJhdG9yOmlzX25vdF9lbXB0eX1dLG9yZGVyX2J5Olt7Y29sdW1uX2lkOiJjb3VudHJ5In0se2NvbHVtbl9pZDoiZHJvcGRvd25fbWt5MWR5cDYifV19)}}
Summary
Using Base64-coded filtering, sorting and grouping rules allows you to:
Apply complex multi-step filter and/or sorting orders
Combine multiple filters and sortings
Go beyond all UI-level limitations
If you need help building a specific Base64 filter, feel free to ask: [email protected]
Last updated