# A block's actions and its derived progress

Every block can carry a list of actions to do — a task's own "comments". As soon as a block has at least one action, its progress is no longer a value you set by hand: it's **derived** from how many actions are done.

## Opening a block's actions

**Right-click a block › Actions…** (shortcut **A** once the block is selected) opens the **Actions** tab in the right-hand panel. The block's title and its progress ("*n*/*total* · *percentage*%") show at the top, with a **Kanban** / **List** display choice.

## Adding, moving, completing an action

At the bottom of the panel, the **Add an action…** field creates a new "to do" action. Each action carries:

- a title,
- someone responsible, picked from **Assign to…** (the action's "…" menu): **you**, the schedule's members by name — the owner, the administrators, the contributors, the readers —, a free-text name already in use, or **Another name…** for someone without an account. The owner and administrators also find **Invite someone…** there: an email and a role, the same invitation as **Settings › Sharing** — the invitation goes out (seven days), and the action can be assigned to the person once they have accepted it: even when known to PalmaPlan, they aren't a member before that, and **Assign to…** never offers someone pending; the email of an existing member, though, gets the action right away. Agents aren't picked there: an agent assigns itself an action through its tools, and the card then names it,
- **Context** — a bullet outline to spell out the task: **Enter** opens a bullet, **Tab** / **Shift+Tab** indent it, you drag a bullet by its dot to move it with its branch, **Ctrl+↑/↓** collapses; the **“…”** to the left of a line (or a click on its bullet) opens its menu: **Turn into…** (heading, to-do, number, paragraph), **Turn into an action** (an action of the same block, its sub-lines as context), **Turn into an activity** (a table row), **Move to…** another action; typing **/** opens a palette of the same commands, filtered by what you type next. An attachment can be **embedded** in the context (menu, palette, or by pasting or dropping a file): an image as a thumbnail, a PDF with its preview, each with **Download**; **Ctrl+B**, **Ctrl+I**, **Ctrl+K** for bold, italic and links. Files (PDF, images, Word, Excel, PowerPoint without macros, Markdown; 10 MB at most) can be attached below the context. Agents still read the text: a lightweight-Markdown list,
- the **allocated time** and the **time spent**, in days to the tenth (0 to 1000), set through **Allocated and spent time…** in the action's "…" menu — an empty field means "not estimated" — and shown on the card ("4 d · 3.5 d spent", in red when the time spent exceeds the allocation), while the block's progress still derives from statuses alone; a reader declares the time spent (not the allocation) on the actions assigned to them, through the **Time spent** button on their card,
- its status buttons.

In **Kanban** view, three columns — **TO DO**, **DOING**, **DONE** — with, on each card, buttons to move forward (**Start**, **Complete**) or back (**Reopen**). In **List** view, each action is a line to check off, with the same "…" menu and the same **Context** link.

**A reader** neither creates nor changes actions, but **checks off the ones assigned to them**: in **List** view, their box can be checked (theirs only); in **Kanban** view, their card carries a status choice — **To do**, **Doing**, **Done**. They don't move cards, rename or assign anything; Ctrl+Z undoes their check like any other gesture.

## Derived progress

From the first action added, the block's progress (shown in the grid and on the block itself) becomes *actions done / total actions* and stops being editable by hand — the manual progress field closes. Deleting the last action gives the block back a free progress value, editable directly again.

## The project's Kanban tab

A project has four tabs, under the schedule's bar: **Schedule** (the Gantt chart), **Kanban**, **Agenda** and **Analytics**. Each has its own address — `/s/:id`, `/s/:id/kanban`, `/s/:id/agenda`, `/s/:id/analyses` —: Back, a reload or a shared link reopen the right tab, and a Ctrl+click opens it in another browser tab. Switching between them reloads nothing: other people's live changes apply to all four. With the keyboard, the left and right arrows move from tab to tab, **Home** and **End** go to either end.

The **Kanban** tab shows **the actions of the whole schedule**, in three columns — **To do**, **Doing**, **Done** —, each card naming the block that carries it. Within a column, cards go block by block, the block that starts first coming first. They are the same cards as in the **Actions** panel: dragging a card to another column changes its status, and its block's progress follows; it only moves among the actions of its own block. You don't create actions there — an action belongs to a block, and is added from that block's **Actions** panel. **A viewer** only changes the status of the actions assigned to them; no other gesture is offered.

The members' absence **Agenda** has become a project tab too: see *[Absences: My absences, the Agenda, risks](/docs/en/guides/absences/)*. **Analytics** has its own guide: *[Analytics: the project's pivot table](/docs/en/guides/analytics/)*.

## What happens when you get it wrong

- **A status changed by mistake**: click the reverse button (**Reopen** after **Complete**, for instance) — every status change is also a command in the journal, undone by **Ctrl+Z**.
- **An action deleted by mistake when it was the block's only one**: progress becomes free again; **Ctrl+Z** brings back the action and the derived progress in one go.

## What this page doesn't cover

- **Drawing and linking blocks**: see *[The timeline: blocks, links and milestones](/docs/en/guides/timeline-blocks-and-links/)*.
- **A "Progress" column in the left panel**: a separate computed column, see *[The grid and columns](/docs/en/guides/grid-and-columns/)*.
- **Commenting on a block** (a discussion, not a task to check off): see *[Comment threads](/docs/en/guides/comment-threads/)*.
