diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index e041fc5..add323b 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -302,7 +302,7 @@ export default defineConfig({
collapsed: true,
items: [
{ text: "Single sign-on (SSO)", link: "/authentication/sso" },
- { text: "Group Sync", link: "/authentication/group-sync" },
+ { text: "IdP Group Sync", link: "/authentication/group-sync" },
{
text: "Self-hosted authentication",
link: "https://developers.plane.so/self-hosting/govern/authentication",
@@ -472,7 +472,7 @@ export default defineConfig({
text: "Time Tracking",
link: "/core-concepts/issues/time-tracking",
},
- { text: "Workflows", link: "/workflows-and-approvals/workflows" },
+ { text: "Workflows and Approvals", link: "/workflows-and-approvals/workflows" },
{
text: "Automations",
link: "/automations/custom-automations",
@@ -561,6 +561,7 @@ export default defineConfig({
{ text: "Confluence", link: "/importers/confluence" },
{ text: "ClickUp", link: "/importers/clickup" },
{ text: "CSV", link: "/importers/csv" },
+ { text: "Flatfile", link: "/importers/flatfile" },
{ text: "Jira", link: "/importers/jira" },
{ text: "Linear", link: "/importers/linear" },
{ text: "Notion", link: "/importers/notion" },
diff --git a/docs/.vitepress/theme/components/Card.vue b/docs/.vitepress/theme/components/Card.vue
index 8764ba7..6aa2329 100644
--- a/docs/.vitepress/theme/components/Card.vue
+++ b/docs/.vitepress/theme/components/Card.vue
@@ -20,6 +20,7 @@ const customSvgIcons = {
jira: ``,
linear: ``,
notion: ``,
+ flatfile: ``,
sentry: ``,
slack: ``,
};
diff --git a/docs/ai/pi-chat.md b/docs/ai/pi-chat.md
index fed1dfa..ae04dc0 100644
--- a/docs/ai/pi-chat.md
+++ b/docs/ai/pi-chat.md
@@ -7,6 +7,9 @@ description: Plane AI is your intelligent assistant for finding project data, an
Plane AI is an AI assistant that helps you interact with your Plane workspace using natural language. Instead of navigating through menus and filters, you can simply ask Plane AI questions about your projects, work items, and documentation in plain English.
+> [!CAUTION] Plane self-hosted instances
+> If you're running a self-hosted instance of Plane, you'll need to first configure Plane AI services to get it working. Follow this [setup guide](https://developers.plane.so/self-hosting/govern/plane-ai) first to use Plane AI.
+
Think of Plane AI as a knowledgeable team member who has instant access to all your project data. You can ask it to find specific issues, analyze project progress, search through documentation, or help you understand complex relationships between work items.

diff --git a/docs/core-concepts/issues/plane-query-language.md b/docs/core-concepts/issues/plane-query-language.md
index afe2236..d2dd9ec 100644
--- a/docs/core-concepts/issues/plane-query-language.md
+++ b/docs/core-concepts/issues/plane-query-language.md
@@ -3,7 +3,7 @@ title: Plane Query Language
description: Filter work items using text-based queries with Plane Query Language (PQL).
---
-# Plane Query Language
+# Plane Query Language
Compile Q2 results for stakeholder review.
,high,2025-04-01,2025-04-10,started +Update vendor contracts,,medium,2025-04-05,2025-04-20,unstarted +Office supply restock,,low,,,backlog +``` + +A few things to note: -> **Role**: Workspace admins +- **description_html** supports HTML markup. Plain text works too, but wrap it in `` tags if you want paragraph formatting preserved.
+- **priority** accepts `urgent`, `high`, `medium`, `low`, or `none`.
+- **start_date** and **target_date** use `YYYY-MM-DD` format.
+- **state_group** maps to Plane's state groups: `backlog`, `unstarted`, `started`, `completed`, or `cancelled`.
-::: warning Work Item Types
-To import work item types, make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project.
+:::warning
+Make sure your CSV is properly formatted before uploading. Malformed rows or mismatched columns may cause individual rows to fail during import.
:::
-Here's how to get started:
+## Import from CSV
+
+> **Role**: Workspace Admin
+
+1. Go to **Workspace Settings > Imports**.
-1. Click your Workspace name at the top left on the sidebar.
+2. Find the **CSV** tile and click **Import**.
-2. Select **Settings**.
+ 
-3. In the right pane, click on **Imports**.
+3. On the **Select Project** step, choose the Plane project where you want to import your work items. The project must already exist — create it first if needed.
-4. You'll see several import options - look for the **CSV Importers** tile and click the **Import** button.
+ 
-5. Use the dropdown to select the project where you want your CSV data to go. If you haven't created your destination project yet, you'll need to create it first.
+4. Click **Next**.
-6. Click the **Upload CSV** button.
+5. On the **Upload CSV** step, upload your CSV file by dragging it onto the upload area or clicking to browse.
- ::: warning Prepare your CSV
- When importing user fields like **Assignee**, make sure to use email addresses rather than usernames. This ensures your team members are correctly linked to their work items.
- :::
+ 
-7. You can either drag and drop your file onto the upload area or click **Upload file** to browse your files. Alternatively, you can click **Manually enter data** if you prefer to input information directly.
+6. Click **Import CSV**.
-8. You'll need to match your CSV columns to Plane fields:
- - You'll see your CSV fields listed under **INCOMING FIELDS** on the left.
- - On the right, under **DESTINATION FIELDS**, select the corresponding Plane field for each item. Fields will be automatically mapped when names match, but you can adjust as needed.
- - Required fields are marked with an asterisk (\*).
+The importer processes your file and creates work items in the selected project. You'll see the import job appear in the **Migrations** table with a status of **Transforming** while it's in progress.
-9. Once you've mapped your fields, click **Continue** to proceed.
+Once complete, the status changes to **Finished**.
-10. You'll see a preview of your data in a table view:
- - Review the data to make sure everything looks correct.
- - If something's not right, you can click Back to adjust your field mapping.
- - When you're ready, click **Submit** to import your data.
+
-11. That's it! Your CSV data is now imported into your Plane project. For very large datasets, the import might take a few minutes to process.
+## View import summary
-12. Once it's done, go to **Work Items** in your Plane project to confirm that the data import is successful.
+After an import finishes, click **Summary** in the Migrations table to download a JSON report. The report includes the total number of rows processed, how many were successfully imported, and how many failed. For failed rows, the report lists the specific errors so you can fix your CSV and re-import.
+
+:::tip
+The CSV Importer creates new work items on every import — it does not update existing ones. If you import the same file twice, you'll get duplicate work items.
+:::
## Imported fields
-When bringing your data from CSV into Plane, here's exactly what you can transfer over:
-
-| Field | Notes |
-| -------------- | ----------------------------------------------------------------------------------------------------------- |
-| Title | Required for all items |
-| Description | Plain text only - any formatting, images, or tags will be imported as raw text |
-| Work Item Type | Make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project |
-| State | |
-| Assignee | **Must be email addresses**, not usernames - this is how Plane connects work items to users |
-| Priority | |
-| Created by | **Must be email addresses** - allows Plane to track who originally created the item |
-| Start date | |
-| Due date | |
-| Modules | |
-| Cycle | |
-| Labels | |
-| Created At | |
+| Column | Notes |
+| ------------------ | --------------------------------------------------------------------------------------------- |
+| `name` | Required. Used as the work item title. |
+| `description_html` | Supports HTML markup. Plain text is also accepted. |
+| `priority` | Accepts `urgent`, `high`, `medium`, `low`, or `none`. |
+| `start_date` | Format: `YYYY-MM-DD`. |
+| `target_date` | Format: `YYYY-MM-DD`. Used as the work item's due date. |
+| `state_group` | Maps to Plane's state groups: `backlog`, `unstarted`, `started`, `completed`, or `cancelled`. |
diff --git a/docs/importers/flatfile.md b/docs/importers/flatfile.md
new file mode 100644
index 0000000..352e029
--- /dev/null
+++ b/docs/importers/flatfile.md
@@ -0,0 +1,76 @@
+---
+title: Import data from CSV file
+description: Import work items from CSV files to Plane.
+---
+
+# Import your CSV data to Plane
+
+With the Flatfile importer, you can easily import work items from your CSV file to Plane.
+
+::: info
+The Flatfile importer is only available on Plane Cloud. A separate [CSV importer](/importers/csv) is available on both Cloud and the self-hosted Commercial Edition.
+:::
+
+## Import from CSV
+
+> **Role**: Workspace admins
+
+::: warning Work Item Types
+To import work item types, make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project.
+:::
+
+Here's how to get started:
+
+1. Click your Workspace name at the top left on the sidebar.
+
+2. Select **Settings**.
+
+3. In the right pane, click on **Imports**.
+
+4. You'll see several import options - look for the **Flatfile Importer** tile and click the **Import** button.
+
+5. Use the dropdown to select the project where you want your CSV data to go. If you haven't created your destination project yet, you'll need to create it first.
+
+6. Click the **Upload CSV** button.
+
+ ::: warning Prepare your CSV
+ When importing user fields like **Assignee**, make sure to use email addresses rather than usernames. This ensures your team members are correctly linked to their work items.
+ :::
+
+7. You can either drag and drop your file onto the upload area or click **Upload file** to browse your files. Alternatively, you can click **Manually enter data** if you prefer to input information directly.
+
+8. You'll need to match your CSV columns to Plane fields:
+ - You'll see your CSV fields listed under **INCOMING FIELDS** on the left.
+ - On the right, under **DESTINATION FIELDS**, select the corresponding Plane field for each item. Fields will be automatically mapped when names match, but you can adjust as needed.
+ - Required fields are marked with an asterisk (\*).
+
+9. Once you've mapped your fields, click **Continue** to proceed.
+
+10. You'll see a preview of your data in a table view:
+ - Review the data to make sure everything looks correct.
+ - If something's not right, you can click Back to adjust your field mapping.
+ - When you're ready, click **Submit** to import your data.
+
+11. That's it! Your CSV data is now imported into your Plane project. For very large datasets, the import might take a few minutes to process.
+
+12. Once it's done, go to **Work Items** in your Plane project to confirm that the data import is successful.
+
+## Imported fields
+
+When bringing your data from CSV into Plane, here's exactly what you can transfer over:
+
+| Field | Notes |
+| -------------- | ----------------------------------------------------------------------------------------------------------- |
+| Title | Required for all items |
+| Description | Plain text only - any formatting, images, or tags will be imported as raw text |
+| Work Item Type | Make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project |
+| State | |
+| Assignee | **Must be email addresses**, not usernames - this is how Plane connects work items to users |
+| Priority | |
+| Created by | **Must be email addresses** - allows Plane to track who originally created the item |
+| Start date | |
+| Due date | |
+| Modules | |
+| Cycle | |
+| Labels | |
+| Created At | |
diff --git a/docs/importers/notion.md b/docs/importers/notion.md
index 6e4de26..76a3da3 100644
--- a/docs/importers/notion.md
+++ b/docs/importers/notion.md
@@ -7,10 +7,6 @@ description: Import data from Notion to Plane.
The Notion to Plane importer lets you transfer your Notion pages and content to Plane's Wiki. This is useful when you want to bring your documentation, notes, and structured content from Notion into your Plane workspace as Wiki pages.
-::: info
-The Notion importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances.
-:::
-
The importer takes exported Notion content and converts it into Plane wiki pages. It preserves your page structure, including subpages, and maintains the hierarchical organization of your Notion workspace within Plane's wiki system.
## Export your Notion content
diff --git a/docs/importers/overview.md b/docs/importers/overview.md
index ea57cb0..3f2fa21 100644
--- a/docs/importers/overview.md
+++ b/docs/importers/overview.md
@@ -8,7 +8,7 @@ description: Importers to migrate your project data to Plane
Switching to Plane? No need to start from scratch. Our importers make it simple to move your project data from other tools, saving you time and effort. Instead of manually setting up your structure and history, you can directly transfer your existing issues into Plane, keeping your team's progress intact for a smooth transition.
::: info
-Importers are available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances.
+Importers are available on Plane Cloud and the Commercial Edition for self-hosted instances.
:::