Identify the fields and filters from an existing NetSuite Saved Search by inspecting its criteria and columns in the UI or via SOAP getSavedSearch
Translate the saved search criteria into a SuiteQL WHERE clause, mapping NetSuite filter operators to SQL equivalents
Translate joined records (such as customer fields on a transaction search) into SuiteQL JOIN clauses using the appropriate foreign key columns
Execute the SuiteQL query via the REST suiteql endpoint and page through all results
For formula fields used in saved searches, rewrite the formula logic as a CASE expression or arithmetic in the SuiteQL SELECT clause
Validate row counts and spot-check values against the saved search results in the NetSuite UI to confirm equivalence
Known gotchas
NetSuite Saved Searches support summary types (sum, count, group) that translate to GROUP BY and aggregate functions in SuiteQL, but the grouping behavior may differ subtly from what the UI shows
Certain saved search fields are virtual or formula-computed and have no direct column equivalent in SuiteQL; these must be reconstructed from underlying stored fields
SuiteQL queries run under the OAuth user's role permissions; a query returning fewer rows than expected may indicate row-level permission filtering rather than a query error
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp