Open app →
Documentation

Views, filters & query language

How to narrow a board down with filters, save a named slice as a reusable view, write precise queries in PQL or plain English on the Query page, and publish a teamspace view as a read-only public link.

Finding the work that matters

A project board shows everything in the project. Most of the time you only care about a slice of it: the open work, the items assigned to you, the high-priority tasks, the bugs in one module. Elliptic gives you three layers for getting to that slice. Filters narrow what you are looking at right now. Saved views remember an arrangement so you can return to it with one click. And PQL, the Elliptic Query Language, lets you express anything filters cannot, in a precise expression you run on the Query page or ask for in plain English.

All three operate on the same building block, the work item (a task, bug, story, or epic). Because agents are first-class members of an org and operate the same surfaces over the company-brain MCP on your organization's own model key, the queries you write by hand are exactly the queries an agent reasons over. A PQL expression is a shared, exact definition of "the work that matters", whether a person or an agent is reading it.

Filtering work items

Filters live on a project's board. They are applied in your browser, so the board responds instantly as you toggle them, and they never change the underlying tasks. Open a project and you have several controls that stack together, each narrowing the set further.

The board controls

ControlWhat it does
StatusAn inline picker that shows only items in one workflow status: Backlog, Todo, In progress, In review, Done, or Cancelled. Defaults to All statuses.
AssigneeAn inline picker that shows only items assigned to a specific member, or only Unassigned items. Defaults to All assignees.
Text searchType into the inline search box to match an item by its title or its identifier (like WEB-142). Matching is case-insensitive and partial, so pay finds Payment retry.
Group byArrange the board into swimlanes by None, Assignee, or Priority.

The Filter menu

Next to the inline controls is a Filter menu that adds three more filters, each accepting multiple values at once:

FilterWhat it does
PriorityToggle one or more priorities (None, Low, Medium, High, Urgent). An item matches if its priority is any of the selected ones.
LabelToggle one or more of the project's labels. An item matches if it carries any of the selected labels.
ModuleToggle one or more of the project's modules. Only items in a selected module remain.

Active filters from the Filter menu appear as removable chips next to it, and a small count badge on the button shows how many are on. Click the X on a chip to drop that one, or Clear all to reset every menu filter at once. The status, assignee, and search controls live inline on the board toolbar, so they are always one click away.

Severity, release-blocker, and cycle
Work items also carry severity (for bugs), a release-blocker flag, and a cycle. The board has no dedicated toggle for these, but they are stored on every item and are fully filterable through PQL, covered below. So severity = "critical" or release_blocker = true is one short query away, and module, which the board does expose as a filter, is queryable too.

Saved views

A saved view is a named arrangement of a board you can return to. On a project board it captures the current grouping (swimlanes by none, assignee, or priority) together with the inline status, assignee, and search filters, under a name you choose. Save it once, and selecting it later restores that arrangement in a click. Board views are stored in your browser, so they are personal to you and to the device you save them on.

  1. Arrange the board
    Set the grouping and the status, assignee, and search filters until the board looks the way you want to keep it.
  2. Save it
    Open the views bar, choose to save the current arrangement, and give it a clear name such as "My open work" or "In review".
  3. Reopen any time
    Select the view later to restore its grouping and filters in one click. A small dot marks a view you have changed since you last saved it.
  4. Set a default
    Pin one view as the default for that board so its arrangement is applied automatically the next time the board loads.

You can rename, delete, or lock a view from the views menu. Locking guards a view against accidental edits, so its name and definition stay put until you unlock it. There is at most one default per board, marking another view as default moves the star to it.

Teamspace views across a team's projects

A team gets its own kind of saved view, created from the Views tab on the team page. Instead of looking at a single project, a teamspace view shows the union of work items across every project linked to the team. Open it and you see one combined count drawn from all of the team's projects at once. Visibility rides on team membership, so any member of the team sees the whole union, and the dataset is not re-checked project by project. Triage items and archived tasks are left out, and results are ordered by the board's sort order and item number.

How saved views are scoped under the hood
Every saved view has exactly one scope, and the scope decides who can change it. A personal view belongs to one user and only that user may edit it. A team view is shared org-wide and only an org admin or owner may edit it. A teamspace view is tied to one team and may be edited by any member of that team or by an org admin. Teamspace views, with their cross-project union and public links, are the kind you create and manage in the app today, from the team's Views tab. If you try to edit a view you have no rights to, Elliptic declines rather than silently failing.

PQL, the Elliptic Query Language

PQL is a small, precise filter language for work items. Where the board filters cover the common cases, PQL reaches every queryable field, combines conditions with boolean logic, and adds a handful of functions for the questions that come up most. A PQL query is filter-only. It describes which items match, and Elliptic returns the list. You write and run PQL on the Query page in your workspace.

Fields

A query is built from comparisons against an item's fields. The available fields are:

FieldMeaningExample values
statusWorkflow statusbacklog, todo, in_progress, in_review, done, cancelled
priorityPrioritynone, low, medium, high, urgent
kindWork-item typetask, bug, story, epic
severityBug severitylow, medium, high, critical
componentFree-text component nameany string
titleItem titleany string
descriptionItem descriptionany string
numberThe item's number within its projectany number, e.g. 142
assigneeAssigned member (by id), or compare to nulla member id, or null
labelA label attached to the item, matched by namee.g. "bug", "infra"
release_blockerWhether it blocks a releasetrue or false
is_triageWhether it is sitting in triagetrue or false
due_dateDue dateYYYY-MM-DD, e.g. 2026-07-01

Operators

Each field is compared with an operator. PQL supports equality and ordering, a contains operator for text, and list membership:

  • = and != for equals and not-equals.
  • ~ for contains: title ~ "payment" matches any title that contains the word, case-insensitively.
  • <, <=, >, >= for ordered comparisons, most useful on number and due_date.
  • IN [...] and NOT IN [...] to test membership in a list, for example status in ["todo", "in_progress"].

Combining conditions

Conditions compose with the boolean keywords and, or, and not, and you can group them with parentheses to control precedence. For example, (priority = "high" or priority = "urgent") and not is_done() reads as high or urgent items that are not yet done.

Functions

Six built-in functions cover the common questions that are awkward to express as plain comparisons. Each takes no arguments and is written with empty parentheses:

FunctionMatches an item when
is_overdue()It has a due date in the past and is not yet completed.
has_no_assignee()Nobody is assigned to it.
has_no_label()It carries no labels.
is_top_level()It is not a subtask (it has no parent).
is_done()Its status is in the completed category.
is_open()Its status is not in the completed category.
text
# Overdue bugs that nobody is working on
kind = "bug" and is_overdue() and has_no_assignee()

# High or urgent items that are still open
priority in ["high", "urgent"] and is_open()

# Anything that mentions billing in its title or description
title ~ "billing" or description ~ "billing"

# Release-blocking bugs not yet in review or done
release_blocker = true and kind = "bug" and status not in ["in_review", "done"]

Validating and running a query

Open the Query page from your workspace. Type a query into the editor, then run it. Elliptic first validates the query, parsing it and checking that every field and function is one it knows, and then executes it across your org's items. The page shows the result count and a list of matching items, each with its identifier, title, priority, and status. Click any result to jump straight to that item on its project board. A few example queries sit under the editor as one-click starting points, and you can run with the Run button or with Cmd/Ctrl+Enter.

What a query runs against
By default a query runs over all of the organization's work items, skipping archived ones. Results are capped at 500 items, so very broad queries return the first 500 matches rather than an unbounded list. Tighten the query (add a status, a label, or a priority) to focus the result.

Ask in plain English

You do not have to know the grammar to use PQL. At the top of the Query page there is an Ask in plain English box. Type a request the way you would say it, like "overdue bugs nobody is working on" or "high priority items in review", and Elliptic turns it into PQL for you. This translation runs on your organization's own model key (BYOK), the same key behind every other AI feature.

  1. Describe what you want
    Type a plain-English request into the Ask in plain English box, for example "unassigned release blockers".
  2. Generate the query
    Elliptic sends your request to your org's model, gets back a PQL query, and validates it before showing it to you.
  3. Review and run
    The generated query drops into the editor and runs automatically, so you see both the exact query and its results. Edit the query by hand from there if you want to refine it.

Because the result is real PQL, you keep the precision of the query language with the ease of natural language. If the model produces something that does not parse, Elliptic tells you so and asks you to rephrase, rather than running a broken query. This is also how an agent can take a request like "show me everything blocking the launch" and turn it into a query it can actually execute over the company brain.

Sharing a teamspace view

A teamspace view can be turned into a read-only public link so people outside your workspace can see the slice without an account. Publishing a view generates a secret token and a public path of the form /public/views/{token}. Anyone with that link sees a stripped-down, read-only snapshot of the matching items (identifier, title, status, and priority), and nothing else about your org. They cannot edit anything, and they cannot navigate into the rest of your workspace.

  • Publish a view from the team's Views tab to create its public link. Elliptic mints a single unguessable token, and the link is copied to your clipboard so you can hand it out.
  • Visit the link to see the current snapshot. It shows the union across the team's linked projects, the same as inside the app, minus triage and archived items.
  • Revoke the link at any time. Once revoked, the token stops working immediately and the view is private again. Publishing later mints a fresh token.
A public link is genuinely public
Anyone who has the link can open it without signing in. Treat it like a shared secret: only send it to people who should see that slice of work, and revoke it the moment it is no longer needed. Only someone who can edit the view (per its scope) can publish or revoke its link.

Published views sit alongside the other read-only links in Elliptic, like public project boards and shared notes. Each is a single unguessable token you can revoke at any time, and each exposes only a minimal, read-only snapshot of the underlying work, never write access or the rest of your workspace.