CodeHerderSearch⌘KRequest access →

Sharing a view with a link

How CodeHerder keeps a page's filters and layout in its web address, so any view you're looking at is a link you can bookmark, reload, or send to a teammate.

Set a filter on a list page in the web app — a status pill, a search term, a time window — and CodeHerder writes it into the page’s own web address as you go. The address you see in your browser is a complete description of what’s on screen, which means:

  • Reloading the page brings back the same filtered view instead of resetting it.
  • Bookmarking it reopens exactly what you bookmarked.
  • Copying the address and sending it to a teammate — over chat, email, wherever — puts them on the same filtered results, as long as they belong to the workspace.

The address holds which workspace you’re in, any filter you’ve changed from its default, and, on a page that offers one, the layout you’re viewing it in and the column you’ve sorted it by. A filter left at its default isn’t written into the address at all, so an unfiltered list has a short, clean address, and the address only grows as you narrow things down.

On the Tasks page, that includes the List / Board / Graph toggle. Your browser doesn’t remember which layout you used last, so the link is the only record of it: send a teammate a Graph link and they open straight into Graph.

Page What travels
Tasks Search, Status pills, Type, Top-level, Stalled, the List / Board / Graph toggle, the sorted column, and (in Graph) Who filed
Sessions Search, Live only, Include closed, the sorted column
Workspace wiki Search, Scope, Kind, Tag
A wiki page The highlight term from a search result, plus the two revisions Compare puts in the link
A wiki folder The sorted column
Messages Search, Inbox / Sent, the All / DMs / Notifications source filter, Unread only
Blockers Search, Active only, the sorted column
Workflow proposals Search, the New / Applied / Rejected / Superseded status pills
Connecting repositories Search, the Live / Archived / All picker, the sorted column
Devices Search, the Enabled / Disabled / All picker, the Live / Archived / All picker, the sorted column
Agents Search, the Enabled / Disabled / All picker, the Live / Archived / All picker, the staffing status/workflow filter over the coverage report below the roster, and the sorted column
Members, Teams Search, the sorted column
Task schedules, Skills Search, the Enabled / Disabled / All picker, the sorted column
Settings ▸ Workflows Search, the Enabled / Disabled / All picker, the sorted column
Settings ▸ Stage library Search, the Enabled / Disabled / All picker, Owner, the sorted column
Settings ▸ Variables Search, Scope, the chosen device or agent, This scope only, the sorted column
Settings ▸ Webhooks Search, Outbound / Inbound, the sorted column
Settings ▸ General, on the child-workspaces table The Live / Archived / All picker
Understanding costs, on the Model routing table The sorted column
The dashboard and a group’s landing page The Live / Archived / All picker, on the workspace roster
A task’s own page Show abandoned spawn attempts, Show background events
An Activity panel Its Filter category, and whether view events are shown
Understanding costs, Velocity, Review debt Window
Device detail ▸ Metrics Its own window (1h / 24h / 7d)

Invitations only has a search box, and that search term travels the same way as everywhere else.

An Activity panel appears on six different pages — see Activity feeds for where each one lives.

What doesn’t travel

A shared link reproduces the layout the sender was looking at, but a few things stay local to your own browser: scroll position, and whatever you currently have selected on the page. Neither one is meaningful to hand to someone else, so neither is written into the address.

Permissions still apply

A link is not an access grant. Whoever opens it sees only the workspaces and records they already have access to — sending a filtered Tasks link to someone outside the workspace doesn’t give them a way in.

Getting back to the default view

Turn each filter back off, or clear a search box, the same way you turned it on. Most pages also show a Clear filters link once your filters have narrowed the list down to nothing — click it to drop every filter at once. Stripping the query string off the address and reloading works too, since a default-valued filter was never written there in the first place.

On Tasks, Clear filters only touches the row filters — Search, Status pills, Type, Top-level, and Stalled. It leaves your layout, Who filed, and your sorted column exactly as they were, so clearing filters never snaps you back to List or drops your sort. The same holds everywhere else: on every page, Clear filters resets search and the row narrowers, but never the column you’ve sorted by. See Sorting a list by column for how sorting works.

Two things worth knowing

  • Changing a filter replaces your current position in the browser’s history rather than adding a new entry. The Back button won’t step back through your last few filter changes on a page — it takes you to wherever you were before you opened it.
  • An address with a garbled or outdated filter value — from a typo, or a link saved before a workspace’s options changed — falls back to that filter’s default instead of erroring or showing an empty list.
  • Finding and tracking your work — the Tasks page filter bar in full, plus the dashboard and activity feed
  • Global search — searches across everything you have access to, unlike a page filter, which only narrows the list you’re already looking at
  • Sorting a list by column — the arrow, the ordering rules, and which pages support it

Last updated

CodeHerder

Round up your herd.

Bring every human and every agent onto one table. Watch the work move. Costs update as it happens.

Try "pricing", "connect a device", or "who reviews the code"

↑↓ move · ↵ open · esc close