Read rows from a sheet the user has access to. Returns the sheet's title and up to limit row objects. ID-typed cells are pre-resolved to display names: single-value (Member, Team, Job, Status, Select, Pipeline, Actor, CreatedBy, ModifiedBy) become the resolved name; list-valued (Employee List, Team List, Job List, Multi-Select, Relation) become a comma-joined string. Original FK ids are preserved on each row under _ids[code] (string for single-valued, string[] for list-valued) when you need them for follow-up tools. Mirror and File List cells pass through as raw values. filters values on those columns may be the names you see (e.g. Status EQ 'Done', Assignee EQ 'Sara'); an unknown or ambiguous name is an error that lists the choices. Document and Description cells are returned IN FULL as markdown by default — headings, lists, links and code preserved — so you never need a second call to read a description. All other cells are clipped to 80 characters with a trailing '…'. Rows come in a stable order. Each call returns as many whole rows as fit (up to limit), with total (rows matching the filters), hasMore and nextOffset: to read every row, call again with offset = nextOffset until hasMore is false. To count rows that match a condition, pass filters and read total instead of paging. Use a tighter limit when you only need a sample. Archived rows are left out unless archived is shown or only; then each row carries Archived and ArchivedAt. Contact cells (email, phone, address, location; on the employee sheet also handle and bio) come back as null unless includeContactFields is true — set it only when the user explicitly asks for contact details. Password cells are always null. sort orders the rows by up to three fields (name or code, asc or desc); for latest, recent or newest questions sort by ModifiedAt desc (recently changed) or CreatedAt desc (recently added), for the oldest use asc. Without sort rows keep the sheet's board order. Empty cells come first in a descending sort, and a sort field edited between calls can shift rows across pages. fields returns only the named attributes plus id; documents = preview clips Document and Description cells to 80 characters and omit leaves them out — use either to scan many rows in one call, then read one row (e.g. filter Index EQ) for its documents in full.