# Sharing a view with a link

Source: https://codeherder.com/docs/sharing-a-view/

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.

## What travels in the link

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.

## Which pages, and what’s in the link

| Page | What travels |
| --- | --- |
| [Tasks](https://codeherder.com/docs/tracking-work/#the-web-app-tasks-view) | Search, Status pills, Type, Top-level, Stalled, the List / Board / Graph toggle, the sorted column, and (in Graph) **Who filed** |
| [Sessions](https://codeherder.com/docs/following-a-live-session/) | Search, Live only, Include closed, the sorted column |
| [Workspace wiki](https://codeherder.com/docs/memory/) | 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](https://codeherder.com/docs/messages/) | Search, Inbox / Sent, the All / DMs / Notifications source filter, Unread only |
| [Blockers](https://codeherder.com/docs/blockers/) | Search, Active only, the sorted column |
| [Workflow proposals](https://codeherder.com/docs/workflow-proposals/) | Search, the New / Applied / Rejected / Superseded status pills |
| [Connecting repositories](https://codeherder.com/docs/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](https://codeherder.com/docs/stage-staffing/) | 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](https://codeherder.com/docs/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](https://codeherder.com/docs/costs/), [Velocity](https://codeherder.com/docs/tracking-work/#the-tasks-completed-page), [Review debt](https://codeherder.com/docs/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](https://codeherder.com/docs/activity/) 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](https://codeherder.com/docs/sorting-lists/) 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.

## Related guides

- [Finding and tracking your work](https://codeherder.com/docs/tracking-work/) — the Tasks page filter bar in full, plus the dashboard and activity feed
- [Global search](https://codeherder.com/docs/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](https://codeherder.com/docs/sorting-lists/) — the arrow, the ordering rules, and which pages support it
