---
title: "Share links"
description: "Short, login-free URLs that give everyone else their own view of the room."
---

# Share links

Share links are how everyone other than the show caller sees the room. Each one is a
short URL that needs **no login and no account** — you send it, they open it.

You manage them in the **Outputs** panel on the right of the [Controller](controller.md).

## The three shareable screens

| Screen                        | URL    | Give it to                                     |
| ----------------------------- | ------ | ---------------------------------------------- |
| **[Viewer](viewer.md)**       | `/v/…` | Stage monitors, confidence screens, projection |
| **[Agenda](agenda.md)**       | `/a/…` | Delegates, green room, registration            |
| **[Moderator](moderator.md)** | `/m/…` | Stage manager, comms — they can send messages  |

## Create a link

In the **Outputs** panel, each screen you have not yet shared appears as a dashed row.
Click **+ Create** next to it. The link appears immediately, with:

- The full URL, showing the path prefix and the 10-character code
- A small **QR code** thumbnail — click it to expand a larger one
- **Copy**, **Open**, and **✕** buttons

A chip at the top of the panel tracks how many are live, e.g. "1 of 3 live".

### Copying

**Copy** puts the full absolute URL on your clipboard. Note that **nothing on screen
changes when you click it** — there is no confirmation message, so it can feel like it
did not work. It did.

### QR codes

Click the QR thumbnail to expand it. This is the quickest way to get the Agenda onto
delegates' phones — put the large QR on a slide or a printed sign.

There is no download button; screenshot it or print the page.

## Removing a link

Click **✕**. The link stops working immediately for anyone who has it.

> **There is no confirmation prompt.** One click revokes the link. If a stage monitor
> is using it, that screen goes to "Link not found or expired." Re-creating a link
> generates a **new** code — the old URL cannot be brought back, so anything already
> printed or bookmarked is dead.

## Links do not expire

**Every share link is permanent until you remove it.** There is no expiry field in the
app — you cannot issue a link that dies after the event.

The database supports an expiry and honours it, but nothing in the product ever sets
one, so in practice this is a manual job:

> **Remove your share links when an event is over**, particularly the Moderator link.
> Anyone who still has the URL can keep sending messages to the room.

Treat a share link like a door key, not a ticket. In particular, do not paste one into
a public channel, a slide deck that gets circulated, or a screenshot in a bug report.

## About the codes

Codes are 10 characters of lowercase Crockford Base32 — the digits plus letters, with
`i`, `l`, `o`, and `u` left out so they cannot be confused when read aloud or typed.

Two practical notes:

- **Codes are case-sensitive in practice.** A code typed in UPPERCASE passes the format
  check but resolves to nothing. Keep them lowercase.
- Older links use a longer 32-character hex code. Those still work; new ones are the
  short form.

## Operator console

The **Outputs** panel also lists **Operator**, marked `REQUIRES LOGIN`. It is not a
share link:

- It has **no short code and no QR code** — the row shows "Operator Console" rather
  than a URL.
- Whoever opens it **must be signed in and a member of your team.** Sending the URL to
  an outsider gets them a login page, not the console.
- There is nothing to create and nothing to revoke — only **Copy** and **Open**.
- It is excluded from the "of 3" live count.

The Operator console is a stripped-down transport for a second operator on another
laptop: a large countdown, previous/start/pause/next, `−30s`/`+30s`, `■ Reset`,
blackout, the **Auto** switch, and a session picker. It **cannot** edit sessions or send
messages — for that, use the full [Controller](controller.md).

## Testing before a show

Open each link on the device that will actually use it, over that device's own
network:

1. **Viewer** on the stage monitor — check it is legible from the back of the room, and
   put the browser into fullscreen yourself (there is no fullscreen button — press
   F11 or use the browser's own control).
2. **Agenda** on a phone — confirm the running order looks right.
3. **Moderator** on the stage manager's phone — send a test message, **Show** it,
   confirm it lands on the Viewer, then delete it from the Controller.

An unshared screen shows "Link not found or expired." If a link that worked stops
working, check it was not removed from the Outputs panel.

## Related

- [Viewer](viewer.md), [Agenda](agenda.md), [Moderator](moderator.md) — what each
  screen shows
- [Team management](team-management.md) — for people who need to sign in, rather than a
  share link
