Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion docs/core-concepts/cycles.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ If the Project Admin sets the **Timezone** in [Project settings](/core-concepts/
You can modify the name, description, start and due dates of active and upcoming cycles at any time.
:::

## Start and stop cycles <Badge type="info" text="Pro" />
## Manually start and stop cycles <Badge type="info" text="Pro" />

While Cycles typically run for their set duration, sometimes you need more flexibility in managing your work periods. You can manually control when a Cycle begins or ends using the interface controls.

Expand Down Expand Up @@ -82,6 +82,21 @@ Any unfinished work items in the ended Cycle will remain in their current state.

This manual control gives you the flexibility to adapt your Cycles to your team's actual work rhythm, rather than being strictly bound to predetermined dates.

## Override scheduled cycles <Badge type="warning" text="Enterprise Grid" />

Cycles start and end automatically when their scheduled dates arrive. With this feature, a cycle's dates no longer trigger state changes on their own. The admin decides when each cycle actually starts and ends.

So if a cycle is scheduled to start on July 5, it stays upcoming past that date until the admin clicks **Start cycle**. If it's set to end on July 5, it keeps running until the admin clicks **End cycle**.

To enable this feature:

1. Go to **Settings → Features → Cycles** inside the project.
2. Find **Manually start and end cycles** and toggle it on.

When ending a cycle, if there are incomplete work items, you'll be asked whether to leave them in place or transfer them to another cycle before confirming.

> Turning this off does not affect any cycle already in progress, it only restores automatic scheduling going forward.

## Parallel cycles <Badge type="warning" text="Enterprise Grid" />

By default, only one cycle can be active at a time, and cycles cannot have overlapping dates. With parallel cycles enabled, you can run multiple cycles simultaneously with overlapping date ranges. This is useful when your team manages parallel workstreams — for example, a two-week sprint running alongside a longer release cycle.
Expand Down
60 changes: 59 additions & 1 deletion docs/core-concepts/pages/editor-blocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,20 @@ Use the `/embed` slash command to quickly insert an embed block.

This opens an embed dialog where you can paste any supported link. The system automatically detects the content type and creates an appropriate embed with a rich preview. This eliminates the need for users to navigate away from your content to view referenced materials.

## Embed Dashboard widget <Badge type="warning" text="Enterprise Grid" />

Embed a live dashboard widget directly in a page. Instead of linking out to a dashboard, you bring a single chart, table, or metric from an existing dashboard into your page. It renders inline and stays in sync with your data.

Type `/` in the editor and search for **Link dashboard widgets** to insert a dashboard widget block.

When you insert the block, a selector opens where you choose a dashboard and then pick the specific widget you want to embed. The widget appears inline in your page.

You can change the widget at any time by hovering over the block and clicking **Change widget**. To remove it, click **Delete** from the block menu.

:::tip
You need at least one dashboard with widgets already set up before you can embed one in a page. See [Dashboards](/dashboards) to get started.
:::

## Image

Inserts and displays images within your content.
Expand Down Expand Up @@ -170,7 +184,7 @@ Generate or transform content directly within your pages using AI. The AI Block

Type `/ai` to insert an AI Block. The block appears with a prompt input area and a dropdown to select the action type.

### Action types
#### Action types

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use ### for these subsection headings.

These headings skip a level under the surrounding ## sections and trigger the MD001 warning. Keeping them at ### preserves the hierarchy.

♻️ Suggested fix
-#### Action types
+### Action types

-#### Insert a date block
+### Insert a date block

-#### Pick a date
+### Pick a date

-#### In read-only pages
+### In read-only pages

-#### Insert a status block
+### Insert a status block

-#### Edit the label
+### Edit the label

-#### In read-only pages
+### In read-only pages

Also applies to: 211-211, 217-217, 223-223, 231-231, 237-237, 247-247

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 187-187: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/core-concepts/pages/editor-blocks.md` at line 187, The subsection
headings like Action types are using the wrong heading level under the
surrounding ## sections and should be changed to ### throughout the page. Update
the matching markdown headings in the editor-blocks content, including the ones
identified by the other affected occurrences, so the hierarchy stays consistent
and avoids MD001 warnings.

Source: Linters/SAST tools


**Summarize page**
Generates a concise summary of your page content. Useful for creating executive summaries, TL;DRs, or quick overviews of longer documents.
Expand All @@ -189,3 +203,47 @@ Adds a horizontal line to separate content sections visually.
## Emoji

Add emojis to your content across all Plane editors. Type `/emoji` to open the picker or use `:` and start typing for suggestions like `:smile:`. Choose from standard Unicode emojis and GitHub's extended collection.

## Date block <Badge type="warning" text="Enterprise Grid" />

The date block inserts an inline date picker anywhere in a page. It renders as a small pill showing a formatted date and can be clicked to open a calendar and change the selection.

#### Insert a date block

Type `/date` in the editor to open the slash command menu and select **Date**. You can also search for it by typing `/calendar`, `/deadline`, or `/due`.

The block is inserted at the cursor position with no date selected.

#### Pick a date

Click the date pill to open a calendar popover. Select any date. The popover closes and the pill updates to show the selected date formatted as `Jan 15, 2025`.

Click the pill again at any time to change the date.

#### In read-only pages

The date renders as plain formatted text. It cannot be clicked or changed.

## Status block <Badge type="warning" text="Enterprise Grid" />

The status block inserts an inline colored label anywhere in a page. You define the text and choose from six colors. Use it to mark sections of a page with a state, flag, or category without creating a separate work item.

#### Insert a status block

Type `/status` in the editor and select **Status**. You can also search for it by typing `/label`, `/badge`, or `/tag`.

The block is inserted with the default text "STATUS" and a gray background.

#### Edit the label

Click the status badge to open a popover with a text field and a color picker.

Type your label text in the field. Changes appear on the badge as you type.

Select a color from the six options: Gray, Emerald, Crimson, Yellow, Indigo, Purple.

Press **Enter** or click outside the popover to close it and save.

#### In read-only pages

The status badge renders with its color and text preserved. It cannot be clicked or edited.
130 changes: 130 additions & 0 deletions docs/dashboards.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,46 @@ One row per group, with a count column. The y-axis metric is fixed to **work ite
and cannot be changed - table charts always show a raw count. The appearance settings
(column color, legend, tooltip) match the bar chart config options.

### Work Items Table <Badge type="warning" text="Enterprise Grid" />

A work items table lists individual work items as rows with configurable columns. Unlike the table chart, which aggregates issues into groups and shows a count, the work items table renders one row per work item — giving you a live filtered spreadsheet view of your issues directly on a dashboard.

It is most useful when you need a quick-reference list of specific issues on a dashboard — for example, all open blockers, issues due this week, or unassigned high-priority work — without navigating to a project view.

**Basic**

Rows display each matching work item with its identifier and name always visible. You choose which additional columns appear, how many rows to show per page, and navigate across pages directly on the widget.

The widget does not have an x-axis property, y-axis metric, or group-by dimension — it is a flat list, not a chart. Dashboard-level and widget-level filters control which work items appear.

**Columns**

The identifier, name, and project are always present. All other columns are optional and can be enabled or disabled in the widget configuration.

| Column | What it shows |
| ----------------- | ------------------------------------------- |
| State | State name, color, and group |
| Priority | Work item priority |
| Assignees | Assigned members with avatars |
| Due date | Target date |
| Start date | Start date |
| Labels | All labels on the work item |
| Cycle | Current cycle |
| Modules | All modules the work item belongs to |
| Work item type | The type, if work item types are configured |
| Estimate points | Estimate value |
| Created by | Member who created the work item |
| Sub-work items | Count of child work items |
| Attachments | Attachment count |
| Links | Link count |
| Customer requests | Number of customer requests linked |
| Customers | Number of customers linked |
| Releases | Releases the work item is part of |

**Rows per page**

Set between 1 and 100 rows per page (default 10). Use a lower number for a compact at-a-glance list and a higher number when you need to scan many items at once.

## Configure a widget

Open the configuration sidebar by clicking the widget or by clicking the pencil icon.
Expand Down Expand Up @@ -343,6 +383,96 @@ Plane renders each widget into the PDF. Chart widgets become images; table and n
are rendered as structured content. The PDF renderer respects the desktop grid layout and places widgets in their configured
positions and sizes across pages.

## Share a dashboard <Badge type="warning" text="Enterprise Grid" />

Sharing a dashboard grants specific workspace members access to a private dashboard without making it public to the whole workspace. You choose which members to invite and what level of access they get.

A shared dashboard appears in the recipient's **Shared** tab in the dashboard list.

### Share with members

1. Open the dashboard.
2. Click **Share** in the header.
3. In the modal, open the **Share** tab.
4. Search for a workspace member and select them. They are added with **View** access by default.
5. To change their access level, click the permission dropdown next to their name and select **View** or **Edit**.
6. Click **Save**.

You can add multiple members before saving. All changes are applied in one batch when you click Save.

Only the dashboard owner can share a dashboard. Shared members cannot re-share it with others.

### Access levels

**View** - The member can open and read the dashboard. They cannot add, edit, move, or delete widgets, and cannot change dashboard settings or filters.

**Edit** - The member can do everything the owner can, except delete the dashboard, change its visibility, or manage sharing.

### Remove a member

1. Open **Share** in the header, then the **Share** tab.
2. Find the member in the list and click the permission dropdown, then **Remove**.
3. Click **Save**.

Removed members immediately lose access. The dashboard disappears from their Shared tab.

### The Shared tab

Dashboards appear under the **Shared** tab in the left sidebar when

- You own a private dashboard that you have shared with at least one member.
- Someone has shared their private dashboard with you.

Both cases show in the same tab. You can tell which dashboards you own by the presence of the Share and edit controls in the header. Shared members who do not own the dashboard will not see those controls.

### Limits

There is no limit on the number of members you can share a dashboard with. You can share with any active, non-guest workspace member. The dashboard owner and guest-role members cannot be added.

---

## Publish a dashboard <Badge type="warning" text="Enterprise Grid" />

Publishing a dashboard generates a unique public URL that anyone can open with no Plane account required. It is the right choice when you want to share dashboard data with stakeholders, clients, or teammates who are not part of your workspace.

A published dashboard is always read-only for viewers. They can see widget data but cannot edit the dashboard, change filters, or modify anything.

### Publish

1. Open the dashboard.
2. Click **Share** in the header.
3. In the modal, open the **Publish** tab.
4. Click **Publish**. Plane generates a unique link.
5. Copy the link and share it.

Anyone with the link can view the dashboard without signing in.

Only the dashboard owner can publish or unpublish a dashboard.

### Unpublish

1. Open the dashboard.
2. Click **Share**, then the **Publish** tab.
3. Click **Unpublish**.

The public URL immediately becomes inaccessible. The link is deactivated but not permanently deleted, so the same anchor can be reactivated if you publish again.

### Regenerate the link

If you need to invalidate the current public URL without unpublishing the dashboard, click **Regenerate link** in the Publish tab. This creates a new URL. The old URL stops working immediately.

Use this if the link was shared with the wrong people and you want to cut off their access without taking the dashboard fully offline.

### What viewers see

Viewers see the dashboard name, all widgets in their configured layout, and all data subject to the dashboard-level and widget-level filters. The grid is responsive; widgets stack vertically on smaller screens.

Viewers cannot see who owns the dashboard, edit any settings, or interact beyond reading the data.

### Access controls

Published dashboards are link-only. There is no password protection, no expiration date, and no view limit. Anyone with the URL can view the dashboard. To restrict access, unpublish the dashboard or regenerate the link.

## Resize and reposition widgets

While a dashboard is in **edit mode**:
Expand Down
61 changes: 42 additions & 19 deletions docs/work-items/project-work-item-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,31 +81,54 @@ You can add custom properties to all your work item types.
Before you delete properties, switch off the **Active** toggle button to avoid data loss.
:::

### Property types
## Property types

Here's a list of all the property types and attributes that Plane provides for creating custom fields:
### Text

| Property&nbsp;type | Attributes | Notes |
| ---------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Text** | Single line, Paragraph, Read-only | The **Read-only** attribute cannot be marked as mandatory. Enter text in the Read only data box for this option. |
| **Number** | Default value | An optional default value can be given to this property type. |
| **Dropdown** | Single select, Multi select, Add options | Specify the values for the dropdown under **Add options**. |
| **Boolean** | True/False | Default value is false. This attribute cannot be marked as mandatory. |
| **Date** | Date Format | Consistent date format across all properties. |
| **Member&nbsp;picker** | Single Select, Multi select | Displays a list of all project members. Members selected via a member picker property are automatically added as subscribers to the work item, so they receive notifications for updates, comments, and status changes. |
| **Release picker** | One or more releases | Multi select |
| **URL** | | A URL field for linking to external resources. |
A freeform text field. When you add a text property, you choose one of three formats:

### Examples of custom properties
- **Single line:** A compact input for short values like names, codes, or labels.
- **Paragraph:** A multi-line input for longer freeform content.
- **Read-only:** A fixed text display. You enter the text when setting up the property, and members see it on every work item but cannot edit it. Read-only text properties cannot be marked as mandatory.

- _Product launch_
`Launch date` `Geography` `Budget` `Approval status` `Stakeholder`
### Number

- _Bug_
`Affected version` `Resolved version` `Environment` `Steps to reproduce` `Approval status` `Customer impact`
A numeric field that accepts decimal values. You can optionally set a default value that pre-fills when a work item is created.

- _Final design approval_
`Final design files` `Approval checklist` `Client approval date` `Responsible person`
### Dropdown

A selection field backed by a list of options you define. When setting up the property, add your options under **Add options**. Each option can have a name and an icon.

Choose **Single select** to let members pick one option at a time, or **Multi select** to allow multiple selections.

### Boolean

A true/false toggle. The default state is false. Because it already represents a complete two-state answer, boolean properties cannot be marked as mandatory.

### Date

A date picker field. You choose a display format for dates across this property:

- `Jan 15, 2025`
- `15/01/2025`
- `01/15/2025`
- `2025/01/15`

The format you pick applies consistently to all work items using this property.

### Member picker

A people-selection field that lists all members of the project. Choose **Single select** to allow one member, or **Multi select** to allow several.

Members selected through a member picker property are automatically added as subscribers to that work item, so they receive notifications for updates, comments, and status changes.

### Release picker <Badge type="tip" text="Business" />

A field for linking a work item to one or more [releases](https://docs.plane.so/releases) in the project. Supports multi-select.

### URL

A field for a single URL. Members enter a link to an external resource, like a design file, a document, or a ticket in another tool, and it renders as a clickable link on the work item.

## Use work item types

Expand Down
Loading
Loading