Skip to content

Project Settings

Every project has a Settings area (under /projects/:id/settings) where Admins configure the project’s identity, who can access it, how its board works, and its lifecycle. This page covers the settings that are available today.

Fields carrying jargon, a policy choice, or an inheritance cascade also carry a circled ⓘ contextual-help affordance that explains the setting and deep-links to the relevant guide. See In-product help for how it behaves.

The New project Start sheet — one screen, no step navigation — collects only what changes what happens next. It opens with the way in: one choice among three peer ways to start (Template, Blank, or Import). Below that come the project’s own fields — name, key, program, and start date — and the working calendar sits in the pinned footer above the actions, where it stays in view however long the template list gets. Planning model is derived from the way you choose and shown read-only, never asked for directly. See Creating a project under a program for the full field list and Project methodology preset for how the derived line resolves.

Nothing is created until you press the sheet’s commit button — which is what the footer tells you, naming whichever button is on screen (it reads Create & import spreadsheet on the Import way). The sheet does not create a draft as you type, so closing it leaves no project behind and no notification, webhook, or rollup sees anything until you commit. Note that it does not preserve your entries either: there is no autosave today, so a closed sheet starts fresh.

Everything else on this page — default view, board cadence, visibility, the default role for new members, and the sharing, attachment, and Monte Carlo policies — starts on the program or workspace default (inherited, not copied) and is set here, in project settings, immediately after creation. There is no create-time “copy settings from another project” step: a new project always starts on live inheritance from its program or workspace, which you can override per setting whenever you choose.

The General page edits the project’s identity:

Project settings, General: project name, code, description, lead, program, health override, visibility and guest access

  • Name, description, and key — see Project key below

  • Health indicator and visibility

  • Time zone — the clock this project’s quiet hours are read in, and the only thing it does. It does not change how dates are displayed to you: task dates are calendar dates, so no time zone moves them, and timestamps follow your own personal time zone. Leaving it on Workspace default falls back to the server’s time zone, which is UTC.

  • Default view — the view this project states it leads with. TruePPM does not route on it: opening a project takes you to the view your own view focus prefers, so two people opening the same project land in different places regardless of what is set here. The value is saved, returned by the API, and shown on an empty schedule among the project’s stated facts.

  • Public sharing and guest access — these inherit from the workspace (or the project’s program) and a Project Manager or Project Admin can override them per project. A control with no override reads Inherit (On/Off), showing the value that would apply from the parent scope. See Sharing & Access Inheritance.

  • Sprint planning — whether the sprint story picker starts filtered to Definition-of-Ready stories for this project. Inherits the program or workspace default unless you override it here (Resource Manager or above may set it — PO/team territory, alongside estimation scale). Advisory only: the picker’s own “Show all” toggle always reveals a not-ready story, and committing one is never blocked.

Changes are staged and committed with a save bar, so you can review edits before applying them. The General page also carries the project’s Working calendar override, which inherits the program or workspace default unless you set one — see Working calendars.

The project key is the project’s short name in links and IDs: PLAT in /projects/PLAT/schedule, and the prefix of references like PLAT-T-12. (The API field is still called code; see Project and program keys.) A key is 2 to 10 letters and digits and starts with a letter. It is unique across the workspace, and capitalization doesn’t matter.

  • At creation, the Start sheet fills the Key field from the name as you type (Platform Migration suggests PM) and says whether it’s available. Type your own to take it over; clear the field to go back to the suggestion. If a key is already in use, the sheet offers the next free one, such as PM2. If you leave the field blank, a key is derived for you.
  • Renaming is done in the Project key field here and saved with the save bar. Old links keep working: a link that uses the old key opens this project and the address bar switches to the new key. The old key stays reserved for this project, so no other project can take it. A project can be renamed at most 10 times. After that the field is read-only; contact your workspace admin.
  • Links. Links that use the project’s ID instead of its key also keep working, and they switch to the key when opened. A key that doesn’t match any project you can see shows This project isn’t available. This is the same message as for a project you don’t have access to.
  • Read-only. If you can’t edit General settings, the key is shown as text with a Copy project link button.

Keys appear in URLs, browser history and server logs, so don’t put confidential words in one. A key created before 0.4 may contain hyphens (GA-SEC). It keeps working, but a new key can’t use hyphens.

The Access page manages project membership using the 5-role model (Owner, Admin, Scheduler, Member, Viewer). From here you can invite members, change a member’s role, and remove members. Inviting is restricted to the project Owner. See Roles & Permissions for what each role can do.

The page also sets the default role for new members — the role someone receives when added without one chosen, overridable per person at any time — and the project’s mention groups, custom @groups that notify a curated set of project members from a comment. See Project members.

Methodology, Workflow & fields and Sprint guardrails are one section in the settings rail — How this team works — not three. They are one decision: the planning model a team uses, the stages its work moves through, and the rules it holds itself to. Splitting them across the rail meant a delivery lead standing a team up had to find all three before they could see the shape of what they had configured.

The section opens with a plain restatement of the preset — what this team runs, and how its work is paced — followed by a jump strip to the three blocks below, in order:

BlockWhat it setsDetail
MethodologyThe planning model, and which surfaces leadMethodology
Workflow & fieldsBoard cadence, phases, statuses and their lanes and WIP limits, custom fieldsWorkflow & fields
Sprint guardrailsWhich composition mistakes warn and which the Owner blocksSprint guardrails

Board columns appear here as the Statuses list, with each column’s WIP limit and its lane expander — the same editor described under Workflow & fields. There is no second column editor.

The preset communicates; it does not enforce. It decides which planning surfaces a project leads with — the ones it leaves out are hidden, not withdrawn, and changing the preset brings them straight back. Note that Surfaces is a different control: it toggles the four optional surfaces (Reports, Time tracking, Baselines, the Monte-Carlo forecast), not Board / Schedule / Sprints.

Two things on this page can stop an action, and neither is the preset:

  • Sprint guardrails — a Project Admin may escalate a composition rule from Warn to Block, and a Block has no override. That is a deliberate, Project Admin-only, per-rule decision, which is the opposite of a preset silently deciding for a team.
  • A phase committed to a sprint is rejected unconditionally by the API — a data-integrity rule, not a preset consequence. See Sprint guardrails.

Everything else here configures what a team does, not what it may do.

The three addresses these sections used to answer on still resolve, in both forms:

Old addressNow resolves to
/projects/:id/settings/methodology/projects/:id/settings#how-this-team-works
/projects/:id/settings/workflow/projects/:id/settings#how-this-team-works
/projects/:id/settings/guardrails/projects/:id/settings#how-this-team-works
/projects/:id/settings#methodology/projects/:id/settings#how-this-team-works
/projects/:id/settings#workflow/projects/:id/settings#how-this-team-works
/projects/:id/settings#guardrails/projects/:id/settings#how-this-team-works

The address in the bar becomes the section’s, but the page scrolls to the block the old link named — …#guardrails still lands on the guardrail matrix, not on the top of a section three blocks tall. A settings URL in a runbook, a bookmark, or a link someone mailed a colleague does not break, and does not land short, because the navigation was tidied.

A block within How this team works.

The Methodology block picks the project’s planning methodology (its delivery model). The choice drives which planning surfaces appear — Board, Schedule, Sprints — so a predictive project does not carry sprint chrome it never uses, and an agile one does not lead with a Gantt. See Methodology preset.

Surfaces switched off by the methodology can still be re-enabled individually on Surfaces; the methodology sets the default, not a hard limit.

The Team page assigns facilitation and ownership. Roles control who can manage the team; facets separately mark the Scrum Master and Product Owner. The two are independent — a Scrum Master is not required to be a project Admin, and marking someone as Product Owner grants no extra permission by itself. See Project team.

The page appears only for methodologies that have a team ceremony model; a purely predictive project does not show it.

The Templates page publishes this project’s shape (phases, dependencies, durations — never owners, dates, or progress) as a reusable starting point for future projects, and Template divergence reports how far a project adopted from a template has drifted from it since. Both are feature-level, not administration settings, so the full picture — what a template carries, what it strips, and how divergence is computed and reported — lives in Project templates.

A block within How this team works.

The Workflow & fields block configures how the board behaves for this project:

  • Board columns — the column configuration the board renders.
  • Custom fields — define task custom fields (add, edit, remove) that appear on cards and task detail.

Each status row carries a Lanes expander. Adding a lane splits that one column into named tracks on the board — Review into Peer review and QA, say — up to six per column. Requires the Resource Manager role or above, the same gate as the rest of the board column configuration.

A lane is a board-presentation split, not a sixth status: a card in the QA lane still carries status = REVIEW, so burndown, throughput rollups, MS Project export and every API integration are unaffected. Lane names must be unique across the whole project. Removing a lane never deletes or hides a card — anything left in it reappears in the column’s first lane.

The Labels page manages the project’s colored labels. A label categorizes tasks across the board and the schedule independently of status, sprint, or WBS position, so it is the right tool for a cross-cutting concern (“needs design”, “customer-committed”) that does not fit the workflow columns. See Labels.

The Working calendars page manages the calendars this project can schedule against — working days, working hours, and holiday exceptions. The calendar a task uses determines how CPM converts a duration into dates, so a change here moves dates. The project inherits the program or workspace calendar unless it defines its own. See Working calendars.

The Notifications page sets per-member notification preferences — each member controls which project events notify them. Preferences are stored per membership, not as a single project-wide switch.

A daily background scan nudges the assignee of any task that has sat in a non-terminal status (anything other than Complete) longer than the project’s stale-task threshold — stale_task_threshold_days, default 7 days. The nudge lands in the assignee’s notification inbox (and, if they opt in, as email) via the “When a task you own goes stale” preference on their personal notification settings. Re-runs dedupe against the existing unread nudge, so a still-stale task is not notified twice.

The threshold is a board-level setting on the project, editable by a Project Manager (Admin) or Project Admin via PATCH /api/v1/projects/{id}/ with {"stale_task_threshold_days": <1–365>}. A dedicated settings-page control is planned; today it is set through the API. Unassigned stale cards are surfaced by the board card’s stalled chip rather than a notification, since there is no single owner to nudge.

When a schedule recompute moves the project’s overall finish date by more than the project’s end-date shift threshold — end_date_shift_threshold_days, default 5 days — the project’s Project Manager (Admin) and Project Admin members are notified. The comparison is against the project’s most recently recorded forecast snapshot (a background record of the project’s schedule finish over time, captured on every recompute), so a slip is reported once, not once per recompute — a recompute that leaves the finish unchanged produces no repeat notification. The move is measured in working time: a milestone finish shown at the start of a Monday is the same finish as the end of the Friday before it, so a finish whose shown date only hops a weekend or holiday is not a shift and notifies nobody (see Scheduler Conventions). Notifies only Project Manager and Project Admin members; Resource Manager, Team Member, and Viewer roles do not receive this digest.

The threshold is a board-level setting on the project, editable by a Project Manager (Admin) or Project Admin via PATCH /api/v1/projects/{id}/ with {"end_date_shift_threshold_days": <1–365>}. A dedicated settings-page control is planned; today it is set through the API, the same way as the stale-task threshold above.

The Lifecycle page handles a project’s end-of-life:

  • Archive / unarchive — take a project out of active rotation without deleting it.
  • Transfer ownership — hand the Project Admin (owner) role to another member.
  • Delete — remove the project (Project Admin only). Deleting also removes the project’s tasks, sprints, risks, and baselines, and the project stops resolving at its URL. Deleting a program is different: its projects are detached and kept intact rather than deleted.

A block within How this team works.

The Sprint guardrails block configures the per-project guardrail policy as a rule-by-rule matrix: each sprint/phase composition rule is either Warn (default — the team sees a warning and may override) or Block (no override). Only the project Owner may escalate a composition rule to Block — sprint composition stays team-owned. The subtasks_split rule is advisory-only and cannot be escalated. When the policy was supplied externally (an Enterprise resolver), the page shows a banner naming who set it, and composition Blocks stay inert until the team toggles acknowledgement.

Phase in a sprint is a hard block, not a policy toggle. Committing a phase — a task that rolls up one or more real child tasks — to a sprint always double-counts velocity, so it is rejected unconditionally regardless of this policy: the API returns 400 with the stable error code phase_in_sprint_forbidden, and the sprint picker does not offer a phase as a target. This block is not owner-escalatable and cannot be relaxed to Warn. The phase_in_sprint matrix row therefore has no effect on phases; the softer Warn/Block matrix still governs the summary, out-of-window, and recurring rules. Assign the tasks inside the phase to the sprint instead. (A leaf task decomposed into drawer subtasks is not a phase and remains a legitimate, warn-only summary_in_sprint case.)

The Signal privacy page controls how far each team signal — the health and flow readings the team generates — may travel. The team owns the ceiling; a Scrum Master moves the dial below it but cannot raise it past what the team set. The page appears only for methodologies that produce team signals. See Signal privacy.

The Attachments page controls whether task file uploads are allowed on this project and which file types are accepted. It inherits the program or workspace policy unless you override it here. External links are always allowed regardless of the policy — the setting governs uploaded files, not references. See Attachment policy.

The Surfaces page turns optional surfaces on or off for this project. Each inherits a default from the project’s methodology unless overridden here.

Hiding a surface removes its chrome only — the data stays computed and reachable by direct link. Turning off the Schedule surface does not stop CPM from running or make the schedule private; it removes the navigation entry. Treat this as decluttering, not as an access control. Use Access for permissions and Sharing for external exposure.

Three of the four toggles do what they say. Time tracking does not, and the row is shown inert rather than editable so you are not offered a save that changes nothing.

Every time-logging surface in TruePPM is personal and cross-project — the top-bar timer, Quick log, My Work, and your timesheet each cover every project you are on. None of them is per-project chrome that a per-project setting could hide, so there is nothing for the toggle to switch off.

The column, the API field, and the methodology default are all still live: the value saves, round-trips on reload, and is returned by GET /api/v1/projects/{id}/. Only the consequence is missing. Hiding it also no longer notifies the team — a config-change notice about a change nobody can see is noise, so this one surface is excluded from that notice.

Making it real needs a per-task delivery signal on the My Work payload, which is a feature rather than a wiring fix; nothing tracks it yet. Until then, treat the row as a statement of intent, not as a control.

The Sharing page generates public, read-only links to this project’s schedule or board. Anyone holding a link can view it with no login, so a link is a credential — revoke it here when it should stop working. Whether this page is available at all depends on the workspace (or program) public-sharing policy, which an Owner or Admin may override per project. See Sharing & access.

The Agents page sets Agent read access — whether an AI agent connected over MCP may read this project’s data. Inherits the program or workspace setting unless you override it here. Turning it off blocks the read outright (it does not affect people signed in through the web or mobile app, or a member’s own personal API token) and cannot be reversed by a program or workspace administrator — only this project can re-enable it. See Team-level opt-out for the full inheritance and audit behavior.

The Integrations page manages this project’s outbound webhooks and inbound API tokens: add, edit, test, and delete webhooks (with a format picker and delivery log), and mint and revoke API tokens. Per-user credentials are not configured here — those live under User → Connected Accounts.

See Webhooks, Personal access tokens, and Git-event automation. A program-scoped equivalent, firing across every project in a program, is documented at Program settings → Integrations.

The functional pages map to these endpoints:

PageEndpoint(s)
GeneralPATCH /api/v1/projects/{id}/
AccessGET/POST/PATCH/DELETE /api/v1/projects/{id}/members/…
Workflow & fieldsGET/PUT /api/v1/projects/{id}/board-config/, …/custom-fields/…
LifecyclePOST /api/v1/projects/{id}/archive/, …/unarchive/, …/transfer/, DELETE /api/v1/projects/{id}/
IntegrationsGET/POST/PATCH/DELETE /api/v1/projects/{id}/webhooks/…, …/api-tokens/…
Sprint guardrailsGET/PATCH /api/v1/projects/{id}/guardrail-policy/