Skip to main content
← Developers

System map

The whole product, top-down: what each section contains, every setting it actually offers, and how an agent reaches the same thing. If a setting isn’t here, Planra doesn’t have it.

01Workspace

The top of the hierarchy. Everything — projects, boards, agents, forms, keys — belongs to exactly one workspace. Members hold a role in it; API keys are scoped to it.

Contains

  • Members & roles
  • Guests (board-scoped)
  • Invitations
  • Workspace settings
  • Client portal
  • Audit logs (team workspaces)
SettingWhereValuesDefault
Team nameTeam → Team SettingsText
DescriptionTeam → Team SettingsText
Member roleSettings → Workspace → Members (invite: Admin · Member · Viewer); Team → Members on team workspacesowner · admin · member · viewer (viewers cannot write)
Guest accessTeam → Invitations (team workspaces)Board access (which boards) · Allow commenting
Default hourly rateAnalyze → BudgetsNumber per hour, applied to all logged time50
Per-member rateProject budget card (v2 rates)Number per hour, overrides the workspace default for that member
SidebarBottom of the sidebarRail (default; flies out on hover) · Keep open (pinned)Rail

Agent: workspace_summary · list_workspace_members · search_all · search_workspace_semantic

02Projects

A project groups boards, goals, notes, whiteboards, forms and budget. Created manually or from an AI blueprint.

Contains

  • Boards
  • Epics
  • Releases
  • Goals
  • Docs
  • Whiteboards
  • Budget
  • Starred / recent
SettingWhereValuesDefault
Name, idea/descriptionNew Project dialog · project headerText
ReleaseProject → Releases card · task windowName · version · description · status planned · in progress · released · cancelled · target date; progress rolls up from attached tasks; Changelog drafts Markdown grouped by task type with linked pull requests
BudgetProject → budget cardAmount in workspace currency; remaining = budget − tracked hours × rate
Project propertiesProject → Properties cardWorkspace-level project fields (owner, client, stage…) — text · number · select · multi-select · date · checkbox · URL · person; values per project, validated like board fields
HealthProject → Health card · project header · projects listOn track · At risk · Off track, posted as dated updates with an optional note; the latest post is the project’s health
SectionsProject → Sections menuShow or hide Properties · Health · Epics · Releases · Budget on this projectAll shown
InitiativeInitiatives page (Analyze) · MCP update_projectA project belongs to at most one initiative; the Initiatives page rolls up projects, task progress, overdue count, due span and project health per initiative — name · colour · status planned · active · done · cancelled · target date
StarProjects listPins the project to the top of your list

Agent: list_projects · get_project · create_project · update_project · delete_project · list_epics · create_epic · update_epic · delete_epic

03Boards

Where the work lives. Kanban, list, timeline and calendar views of the same tasks; columns, fields, labels, sprints and share links are board-level.

Contains

  • Columns
  • Custom fields
  • Labels
  • Sprints & burndown
  • Views
  • Share links
  • Templates
  • Bulk select
  • AI: Ask / Generate tasks
SettingWhereValuesDefault
ViewBoard header switcherKanban · List · Timeline · Calendar — saved on the board, shared by everyone on itKanban (new boards)
FiltersBoard header → FiltersStatus · priority · type · label (multi-select, combined with search and My tasks); part of what a saved view captures
Saved viewsBoard header → ViewsName · personal (only you) or shared with the board (writers only) · captures view type, search, My tasks, filters, kanban grouping, list sort/grouping/columns/field filters; "Save changes" when the active view drifts; the last-used view is restored per browserAll tasks
Group byBoard header (kanban)No grouping · assignee swimlanes
Group by (list)List view toolbarNone · Epic (with rollup headers) · Type · Label · Release; remembered per browser
Release markersTimeline viewEvery release with a target date (not cancelled) is drawn as a vertical marker with its name; released ones are greyed — nothing to configure
ColumnAdd column / column menuName · color · position · WIP limit
Custom fieldTask window → Board fieldsName · type: text · number · select (comma-separated options) · multi-select (several options, stored comma-joined) · date · checkbox · URL (http/https, validated) · person (a workspace member) · required (a task cannot be marked Done while a required field is empty — REST, MCP and drag-to-Done all refuse); values are stored on the task by field name
StatusesSettings → Statuses · task window status select · MCP list_statusesName your own states (e.g. Backlog, In QA, Shipped); each maps to a category To Do · In Progress · In Review · Done · Cancelled so rollups, sprints, burndown, imports, automations and agents keep working; colour; one default per category; the first custom status materialises the built-in five as editable rowsThe built-in five
Realtime multiplayer (lab)Board · whiteboard · Settings → LabsLive sync on private per-workspace Realtime channels (ws:<workspace>:board:<id>, …:whiteboard:<id>) that only active members can join — RLS on realtime.messages keyed on the Clerk user id; task edits, moves, deletes and column changes propagate; whiteboard saves push instead of the 20s poll; off until NEXT_PUBLIC_FEATURE_REALTIME=1 and the lab is on
Column → statusKanban column menu → Maps toPick the workspace status a column represents; moving a card sets that status. Unmapped columns infer the category from the column name (Done/Shipped → Done, QA/Review → In Review, …)
Intake by email (lab)Forms → Intake by email · Settings → LabsOne address per board (<token>@intake domain); mail becomes an unassigned To Do task in triage with the message id as external_ref (redeliveries deduped); pause/resume/delete addresses; webhook POST /api/inbound/email?provider=postmark|sendgrid|mailgun|generic guarded by INBOUND_EMAIL_SECRET (+ Mailgun HMAC); off until the deployment is configured and the lab is on
LabsSettings → Labs (owners/admins)Realtime multiplayer · Intake by email — each is built and wired but off; a lab can be switched on only when the deployment has what it needs (env flags), otherwise it reads "Coming soon" with the requirementBoth off
Task typeSettings → Task types · task create dialog · task windowName · emoji icon · colour · default priority · description template · default field values · subtask template (titles created under every new task of the type) · checklist template (items seeded on every new task); starter set Feature / Bug / Chore / Spike; one type can be the default for new tasks
LabelTask label picker / MCPName · color · description
SprintSprints panel (Manage)Name · goal · start/end date · status planned · active · completed; complete moves unfinished work forward
Share linkShare dialogPermission view · comment · edit; advanced: expiry date, max views, enabled/disabled; revoke any time
Board templateTemplates gallery / MCPName · description · category · icon · public · columns · default labels

Agent: list_boards · create_board · update_board · delete_board · list_columns · create_column · update_column · delete_column · list_board_fields · list_labels · create_label · list_sprints · create_sprint · complete_sprint · list_share_links · create_share_link · list_templates · apply_template

04Tasks

One tap opens a task as a floating window anywhere in the app (My Tasks, search, the task bar). Windows move, resize from every edge, snap left/right/center/max, and stack in the bottom bar.

Contains

  • Task windows & task bar
  • Subtasks
  • Checklists
  • Dependencies
  • Comments & mentions
  • Attachments
  • Time entries & timer
  • Approvals
  • Delegate to agent
  • Recurrence
SettingWhereValuesDefault
StatusTask windowTo Do · In Progress · In Review · Done · Cancelled
PriorityTask windowNone · Low · Medium · High · Urgent
Assignee, start date, due date, epicTask windowWorkspace member · dates · epic of the project
RepeatTask window → RepeatNone · recurrence rule (re-creates the task on completion)
DependencyLinked tasksblocks · blocked by · relates to
Approval requestTask window → ApprovalsApprover (member) · message; decisions: approve · reject · cancel
Custom field valuesTask window (board fields)Per the board’s field definitions
Window layoutWindow headerSnap left · center · right · maximize; minimize to bar; recent list in the barCenter, 620×680

Agent: list_tasks · list_available_work · get_task · create_task · update_task · delete_task · create_subtask · set_task_field · add_task_comment · request_human_review · create_checklist · add_checklist_item · add_task_dependency · add_task_attachment · start_timer · stop_timer · list_time_entries · request_task_approval · decide_task_approval · delegate_task_to_agent

05Goals

Outcomes a project is driving toward, with a target date and a done/archived lifecycle.

Contains

  • Goal list
  • Mark done
SettingWhereValuesDefault
GoalGoals pageTitle · description · project · target date · status active · done · archived

Agent: list_goals · create_goal · update_goal

06Forms & e-signature

Public intake forms that create tasks on a board, with optional legal statements and click-to-sign signatures; personal signing links track sent → viewed → signed.

Contains

  • Form builder
  • Public form page (/f/<token>)
  • Submissions
  • Signature records
  • Signing links
  • Signed PDF
SettingWhereValuesDefault
FormForms pageTitle · description · project · board (submissions land here) · active/inactive
FieldForm builderLabel · type: text · textarea · email · phone · number · date · time · url · select · radio · checkbox · rating (max) · section · statement (≤10k chars) · signature; required; options; show-if condition
SignatureField type “signature”Typed name + consent, always required when present; content hash, signer IP/UA and a signed PDF are recorded
Signing linkForm viewer → Signing linksRecipient name · email; single-use; revoke

Agent: list_forms

07Docs, drive & whiteboards

Rich-text notes and a freeform whiteboard, both linkable to a project or task. Whiteboard items can be sent to a board as tasks.

Contains

  • Docs (notes) in folders
  • Shared drive files
  • Publish a doc
  • Whiteboard canvas
  • Whiteboard templates
  • Send to board
  • Whiteboard share links
  • Describe → diagram
SettingWhereValuesDefault
DocDocs pageTitle · emoji icon · named cover · folder · project · task; editor: headings, bold/italic/underline/strike, highlight, inline code, links, bullet/numbered/to-do lists, quotes, callouts, dividers, tables, images (URL), emoji picker, / slash menu for blocks; Publish creates a read-only link at /docs/p/<token>, Unpublish revokes it; Download as .md, .txt or standalone .html
FolderDocs page → folder treeName · parent folder (nested) · project link; deleting a folder keeps its docs and files at the root
Download…Docs page headerPick a file type (Markdown · plain text · HTML) and tick docs and drive files, grouped by folder, Select all / Clear; one item downloads directly in that type, more come as a ZIP mirroring the folders with every doc in that type and files as they are (API: GET docs-export by folder with format=md · txt · html · both · all, or POST with note_ids / file_ids / format)
Drive fileDocs page → folder → UploadAny file up to the plan's per-file limit, counted against workspace storage; download via a short-lived signed link; move between folders; delete frees the quota
WhiteboardWhiteboard pageName · project · task · elements; templates: brainstorm · kanban · retro · customer journey
Whiteboard shareShare dialogSame options as board share links; public viewer at /shared/<token>

Agent: list_notes · create_note · update_note · delete_note · list_whiteboards · create_whiteboard · update_whiteboard · delete_whiteboard

08Agents & the trust layer

Bring your own model. Each agent has a role, a provider, an optional schedule, a budget and a trust level. High-stakes actions queue for human approval; everything is metered and logged.

Contains

  • Agent roster & templates
  • Chat / run
  • Deliverables
  • Approvals queue
  • Activity (provenance)
  • Usage
  • ROI ledger
  • Audit bundle export
  • Memory (Living Graph)
SettingWhereValuesDefault
Agent type, name, descriptionAgent configText
ScheduleAgent configCron / schedule text, or manual only
AI providerAgents → AI Providers · agent configPlanra AI (default, uses credits) · OpenAI-compatible · Anthropic-compatible · custom base URL; API key · model. BYO providers use no Planra credits
Budget capsAgent config → budgetmax tokens per day / month · max actions per day / month · unlimited500k tokens and 300 actions per day when unset
Trust levelAgent config → budgetsupervised (every high-stakes action queues) · trusted (destructive + oversight queue) · autonomous (nothing queues)supervised
Risk tiersFixed by actiondestructive · outbound · costly · oversight
ApprovalTasks → Approvals · Agents → agent → Approvals · notificationsApprove or reject; executes on approve; expires after 7 days
Budget alertsNotificationsWarning at 50% and 80%; a cap hit pauses the agent visibly with a resume path
Memory indexAgents → MemoryRebuild index on demand; auto-reindex daily for active workspaces

Agent: list_agents · run_agent · list_agent_runs · get_agent_run · get_my_agent_status · get_approval_status · search_workspace_semantic · REST: GET /api/v1/agents · POST /api/v1/agents/:id/run · GET …/runs · GET …/deliverables

09Automations

When X happens on a task, do Y — server-side, no agent needed. The pipeline editor wires triggers to actions by drag.

Contains

  • Rule list
  • Pipeline editor (drag to wire)
SettingWhereValuesDefault
TriggerAutomation formtask status changed · task created · task assigned · due date approaching · task overdue · checklist completed · label added · column changed
ActionAutomation formchange status · change priority · assign member · add label · remove label · move to column · send notification · create subtask · set due date
ScopeAutomation formBoard filter · label filter · project · enabled/disabled

Agent: list_automations · create_automation · update_automation · toggle_automation · delete_automation

10Reports, insights, workload, budgets

Read-outs over the same data: period digests, velocity and charts, who is carrying what, and what the hours cost.

Contains

  • Reports (week / month / quarter)
  • Saved & scheduled reports
  • Insights
  • Portfolio
  • Workload & heatmap
  • Budgets
SettingWhereValuesDefault
Report periodAnalyze → ReportsWeek · Month · Quarter
Saved reportReports → Saved & scheduledName · type weekly_progress · workload · velocity · portfolio · budget; schedule manual · daily · weekly · monthly; recipients; enabled

Agent: list_reports · run_report · create_saved_report · update_saved_report · delete_saved_report

11Campaigns, assets, channels, audiences

The content-marketing layer: campaigns with KPIs, the assets inside them, the channels they publish to, and audience segments. Reached through ⌘K.

Contains

  • Campaigns
  • Assets
  • Channels
  • Audiences
  • Performance snapshots
  • Roadmap
SettingWhereValuesDefault
CampaignCampaignsName · goal · status planning · in progress · live · completed · archived · dates · KPI type views · clicks · signups · sales · subscribers · engagement · impressions · reach · custom · KPI target/actual · project · audience
AssetCampaignType · title · status idea · drafting · review · approved · scheduled · published · archived · channel · publish date · assignee
ChannelChannelsKind · name · handle · URL · notes · active
AudienceAudiencesName · description · size estimate · attributes

Agent: list_campaigns · create_campaign · list_assets · create_asset · list_channels · create_channel · list_audiences · create_audience · record_performance · get_performance

12Client portal

A read-only window for a client into selected projects, on its own link. One portal per workspace.

Contains

  • Portal link (/portal/<token>)
  • Overview / AI Reports / Activity / Feedback tabs
SettingWhereValuesDefault
PortalSettings → Workspace → Client PortalEnabled · projects shown · accent color · welcome message · logo · expiry date
Allow client commentsSettings → Workspace → Client PortalOn / offOff
Share AI deliverablesSettings → Workspace → Client PortalOn / off
Share budget burnSettings → Workspace → Client PortalOn / off — shows per-project cost, hours and budgetOff

Agent: get_portal · create_portal · update_portal · delete_portal

13Integrations, import & export

Ways in and out: import from other tools, sync with Google, notify Slack, link GitHub, export to build platforms and documents, or push events to a webhook.

Contains

  • Import (Jira · Linear · ClickUp · Plane · Trello · Asana · Notion · CSV)
  • Google Calendar sync & Sheets export
  • Slack
  • GitHub repository links
  • Build & deploy platform exports
  • Document exports
  • Outbound webhook
SettingWhereValuesDefault
ImportWorkspace → ImportSource file (Jira · Linear · ClickUp · Plane · Trello · Asana · Notion · any CSV — tool detected from the file) · target project name; dry-run preview shows tasks, columns, labels
GoogleSettings → Preferences → Connected servicesConnect / disconnect; per-board calendar sync and Sheets export from the board toolbar
SlackIntegration guide (/docs)Authorize the bot · default channel for agent notifications
GitHubIntegrations → GitHubRepository ↔ board links; PR and workflow events referencing plan-12 or #12 update the linked board; optional read-only token (owner/admin) unlocks Import open issues (one-to-one, deduped by issue number) and Scan repo → propose tasks (README, issues, merges, TODOs → up to 12 proposals into triage, tagged "repo scan")
WebhookSettings → Preferences · AI & ExportName · URL (HTTPS)
ExportsWorkspace → AI & ExportLovable · Bolt.new · Replit · v0 hand-off packages; document exports; quick actions

Agent: list_github_links · send_notification

14Developer: API keys & MCP

Keys are workspace-scoped Bearer tokens. A key bound to an agent acts as that agent — metered and trust-gated; an unbound key acts as its creator.

Contains

  • API keys
  • MCP endpoint (/api/mcp)
  • REST v1 (agents)
  • Developer docs (/developers)
SettingWhereValuesDefault
API keySettings → DeveloperName · optional “acts as agent” binding; shown once; revoke any time (show revoked toggle)
ScopesKeyagents:read · agents:run
MCP accessPlanPro or Team plan; free keys can initialize/ping and learn to upgrade

Agent: tools/list exposes every tool with a description · get_my_agent_status first, then work

15Account, preferences, billing, data

Everything personal, in one Settings hub with five tabs.

Contains

  • Account
  • Billing
  • Preferences
  • Developer
  • Workspace (members · client portal · data & privacy)
SettingWhereValuesDefault
ProfileSettings → AccountAvatar (uploaded in Planra) · display name
PlanSettings → BillingFree · Pro · Team; upgrade, downgrade, invoices
Browser notificationsSettings → PreferencesAsk permission · enabled · blocked (browser-controlled)
Email notificationsSettings → PreferencesMaster switch · task assigned · mention · comment added · task updated · weekly digestAll on except “task updated”
Data exportSettings → Workspace → Data & PrivacyDownload all projects and settings as JSON
Delete accountSettings → Account / WorkspaceType DELETE to confirm; lists what will be removed

Kept in step with the code — this page is generated from the same definition the product ships with.