# Presence

The actions of the presence group, with their input fields and their names on every transport.

4 actions: 4 on the command line, 4 as MCP tools, 4 as HTTP endpoints and 4 in the page.

## presence.list

**Collaborators.** The roster of the deck’s room with the computed mark, slide, selection, pointer and follow target per participant; server side on the window transport.

It takes no input.

* Command line: `turboslide presence list`
* MCP tool: `deck_list_presence`
* HTTP: `POST /api/actions/presence.list`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: no.

## presence.follow

**Follow.** The attached page follows a client’s slide and scroll; refused for viewers, commenters, anonymous people and agents with Go to slide offered instead.

| Field      | Type   | Required | Description |
| ---------- | ------ | -------- | ----------- |
| `clientId` | string | yes      |             |

* Command line: `turboslide presence follow <clientId>`
* MCP tool: `deck_follow_client`
* HTTP: `POST /api/actions/presence.follow`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: yes.

## presence.unfollow

**Stop following.** The attached page stops following.

It takes no input.

* Command line: `turboslide presence unfollow`
* MCP tool: `deck_unfollow`
* HTTP: `POST /api/actions/presence.unfollow`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: yes.

## presence.pointer

**Live pointer.** Turns the caller’s live pointer on or off, persisted on the principal record per deck.

| Field | Type    | Required | Description |
| ----- | ------- | -------- | ----------- |
| `on`  | boolean | yes      |             |

* Command line: `turboslide presence pointer --on`
* MCP tool: `deck_set_pointer`
* HTTP: `POST /api/actions/presence.pointer`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: yes.
