Initiatives
An initiative groups projects. Their effort, forecast, AI spend and variance roll up to it. Objectives and key results sit above initiatives; CapEx claims can be anchored on one. See Projects for how they fit together.
There’s no REST endpoint for initiatives. Use the MCP server tools below, and webhooks to follow changes.
Access
Tools act as the signed-in person, with their Flowstate permissions:
| Action | Permission |
|---|---|
| Create, update, delete initiatives | Create / Update / Delete Initiatives (roadmap_initiatives_create, _update, _delete) |
| Money in any result | View Financial Summary (financials_view_summary) or View Detailed Financials (financials_view_detailed). Without either, amounts are left out; FTE and counts still return. |
Writes change live data, not a scenario.
Read
| Tool | Arguments | Returns |
|---|---|---|
search_initiatives | query, status, financeMode, lensId, limit (default 10) | Matching initiatives: id, name, finance mode, portfolio lens, status, project count, budgeted cost |
get_initiative_details | initiativeId (required), startDate, endDate | Finance fields, child projects, whether it’s capitalisable, and roll-ups for the window: effort actuals, forecast, variance, planned commitment |
list_portfolio | startDate, endDate, limit (default 25) | The objective → initiative → project tree with a variance figure per initiative |
list_objectives | status, limit (default 25) | Objectives with key-result progress and linked initiative counts |
list_capex_claims | status, jurisdictionCode, initiativeId, limit (default 20) | CapEx claims with initiative, project count and status |
Windows default to the last three months. Dates are ISO 8601.
Write
| Tool | Required | Optional | Does |
|---|---|---|---|
add_initiative | name | description, financeMode, objectiveId, lensId | Creates an initiative |
update_initiative | initiativeId | financeMode, lensId, objectiveId, completionCostCentreId, budgetedCost, budgetCurrency, marginPct, committedFte, aiBudgetAmount, aiBudgetCurrency | Changes only the fields sent |
delete_initiative | initiativeId | Deletes an initiative | |
adopt_project_to_initiative | initiativeId, projectId | Makes the initiative the project’s parent | |
detach_project_from_initiative | initiativeId, projectId | Removes the project from the initiative and restores its own cost centre | |
create_capex_claim | periodStart, periodEnd, claimPeriodKey, and initiativeId or projectIds | jurisdictionCode (defaults to the organisation’s) | With initiativeId, claims the initiative’s projects; with projectIds, claims those projects |
add_objective, update_objective, delete_objective | Manage objectives | ||
add_key_result, update_key_result, delete_key_result | Manage key results |
See the tool catalogue for every argument.
Rules
financeModeisINTERNAL_COST(default) orCLIENT_BILLING. It controls billing only:CLIENT_BILLINGusesbudgetedCost,budgetCurrencyandmarginPct.- Whether an initiative can be capitalised or claimed follows its projects’ cost centres, never its finance mode.
- A project has at most one initiative. An initiative has no cost centre of its own.
- A project can be in one claim per
claimPeriodKey, e.g.FY2026.
Error codes
Write tools return these codes in the tool error:
| Code | Tool | Meaning |
|---|---|---|
PROJECT_ALREADY_ADOPTED | adopt_project_to_initiative | The project already belongs to another initiative. Detach it first. |
PROJECT_NOT_ADOPTED_HERE | detach_project_from_initiative | The project isn’t in this initiative. |
CROSS_ORG_ADOPTION | adopt_project_to_initiative | The project and initiative are in different organisations. |
PROJECT_ALREADY_CLAIMED | create_capex_claim | A project is already in a claim for the same claimPeriodKey that hasn’t been rejected. |
Webhooks
Changes to initiatives send initiative events. See Webhooks.
Related
- MCP server: connecting and the full tool catalogue.
- Projects: the REST resource initiatives group.
- How capitalisation works