MCP tools
The tools of Steplane's MCP server at https://steplane.app/api/mcp.
Tools act as the signed-in person. Read-only API keys get the reading
tools only.
whoami
Who you're signed in as in Steplane. Steplane acts as this person, with their permissions.
how_to_delete_my_account
When the person asks to delete their Steplane account or an organization: explains what is deleted and what stays, and where they confirm it. Deletes nothing itself; the person confirms in Steplane with a code from their email.
search_docs
Search Steplane's user documentation: how Steplane works and where things are in the app, such as processes and the landscape, change projects and approvals, reviews, standards and ISO audits, improvements, connecting Claude or Linear, members, roles and settings. Returns the matching sections as Markdown, each with its link on steplane.app/docs. Use it when the person asks how to do something in Steplane, answer from it, and give them the link.
| Argument | Type | Required | Description |
|---|---|---|---|
query | string | yes | What to look for, in English, such as 'request approval' or 'connect Linear'. |
limit | integer | How many sections to return. Default 4. |
list_organizations
The organizations (companies) you belong to in Steplane, with your role in each and what AI assistants may do there: aiChangePolicy "publish" (change and publish) or "drafts" (change drafts only; a person publishes). Other tools take an organization's slug.
search_processes
Find business processes by words in their name, purpose, description or step titles. Returns each process's slug, status and the steps that matched. Use get_process for the full process.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
text | string | yes | Words to look for. |
get_landscape (changes data)
The organization's process landscape (process map): its groups in order, such as management, core and support processes or its own names, with sub-groups and the processes in each, and the processes not placed in a group yet. Core value chains have layout flow.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. |
list_projects (changes data)
Change projects: the unit of change for processes, like a branch and pull request. Each holds to-be versions of the processes it changes, new processes and processes it retires, while the live processes stay as they are until the project goes live. Open projects (planning, in review) come first.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. |
get_project (changes data)
One change project: goal, owner, status, target go-live date, and what it changes. For each changed process, edit gives the to-be version's slug and version: change it with the usual tools (update_process, add_step, edit_step… with that slug as process). New processes are edited the same way. Publishing happens when the project goes live, not per process.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
analyze_impact (changes data)
The impact checks of a change project: what its to-be versions, new and retired processes break in the processes around them (outputs others need, links to retired processes, ISO clauses no longer covered, systems a subprocess still needs, gaps), with each finding's owner and status, and how many open warnings block go-live. Then look for less obvious problems yourself: read the processes in read with get_process (the to-be versions, new processes and connected live processes), and record what you find with add_finding, for example that a new flow skips a check another process relies on.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
approval_status (changes data)
Where a process's change stands in the organization's approval chain (such as the process owner, then the Quality manager): whether approval is needed and was asked for, each step and who approves or approved it, and whether it was sent back with a comment. Approving is a person's decision in Steplane; you can ask for approval with request_approval.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
process | string | yes | Slug, number or exact name. |
list_documents (changes data)
The document register: controlled documents (work instructions, procedures, forms, templates, records, policies) with number, version, owner, the link to the file, and which processes and steps use each. Documents nobody uses have an empty usedBy.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. |
list_roles (changes data)
The organization's roles (swimlanes such as Warehouse, and positions such as CEO or Quality manager), who holds each, and how many processes each owns. A process owned by a role is its holder's responsibility.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. |
list_standards (changes data)
The standards Steplane maps clause by clause (such as ISO 9001), their editions, and which edition the organization works towards (editionId; null: none). Clause keys such as iso9001:8.4 are what processes tag. Steplane helps make an organization audit-ready; only accredited certification bodies certify.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. |
get_process
One business process in full: purpose, owner, status, review date, steps (role, systems, inputs, outputs, what follows), links to other processes, ISO clauses, KPIs and risks, plus its swimlane diagram in Mermaid. Show the diagram to the person as a mermaid code block. This is the current working copy; version is what to pass when changing it.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug (from search_processes), its number (such as P15) or its exact name. |
find_processes_using
Which processes use a system (such as an ERP), are carried out by a role (such as Warehouse), or take in or produce an input/output (such as an invoice) or a document (also by its number, such as I-15-01). Matches names partly and ignores case. Useful for impact questions: what changes if this system is replaced?
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
thing | string | yes | What kind of thing to look for. |
name | string | yes | Its name, or part of it. |
list_reviews_due
Published processes whose regular review is due, overdue first, with their owners. ISO management systems expect processes to be reviewed on schedule.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
within_days | integer | Also include reviews due within this many days. |
find_automation_candidates (changes data)
What to improve first: where the organization's processes show friction, ranked by friction × how often it happens, with the cheapest fix that fits. Patterns: middleman (one role decides and sends it by email or paper to another, who enters it into a system), back_and_forth (work sent back to another role), double_entry (something made in one place is typed into another system), handoff (passed on by email, paper or hand), workaround_tool (a spreadsheet, email or paper next to a business system), repeated_handling, rework_loop and no_system: stage right. Then, the maturity ladder's stage better (decision 0035), ranked by people's time: rule_decision (a system applies the rule), automate (a step no person needs to decide, done by AI or a system) and assist (AI helps a person who keeps the decision, through a system's MCP server or API when it has one). A better-stage suggestion with afterFixing above 0 has friction left in its process: tell the person to fix that first, or AI on top will hide it. get_process shows each process's rung (described, right, connected, assisted, automated) and next step. Each candidate has the process, the steps (numbered as get_process shows them), the roles, a reason, a remedy with a suggested fix, how often it happens a year and how sure that is (confirmed, guessed or unknown; timesPerYear is null while the frequency is unknown), and people's hours a year as context when estimated. Fixes follow a ladder, cheapest and safest first: change the process (move the step to whoever decides, or remove it), connect the systems (an integration costs nothing to run once built), let a system apply the rule, and AI only last, for judgment the rest can't solve, because it costs on every run. Don't suggest AI where an earlier rung fits. Answers questions like 'what should we improve first?', 'where do we type things twice?' or 'what does finance do by hand?' (role). Explain each candidate in the company's own terms, say what you don't know, and ask the person the questions in askFor: how often things happen decides the ranking. decided says whether a candidate was recorded as an opportunity or taken on in a project (with the saving after go-live); dismissed ones are left out. Act on one with record_automation_opportunity, start_automation_project or dismiss_automation_candidate, after asking the person.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
group | string | Only this landscape group (with its sub-groups and their subprocesses), by name. | |
process | string | Only this process and its subprocesses: slug, number or name. | |
role | string | Only steps this role does, such as Finance. | |
stage | string | right: friction to fix first (process changes, integrations), by how often it happens. better: AI helping people who keep the decision, automation and rules a system applies, by people's time. Leave out for both, right first. | |
limit | integer |
find_gaps
Checks the organization's processes for gaps: missing owners or purposes, steps without a role, outputs nobody uses, links to missing or retired processes, and similar, plus clauses of the standards it works towards that no process covers yet (requirement_uncovered). With standard (such as iso9001), only that standard's uncovered clauses, also for a standard the organization doesn't work towards yet. Returns findings with severity; propose which process should cover each uncovered clause, using list_requirements for the guidance.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
standard | string | A standard's key, such as iso9001. |
propose_landscape (changes data)
Onboarding: typical processes for a company in the given industries, from Steplane's own process taxonomy, grouped as management, core and support, each with the organization's landscape group it would go in, the clauses it usually covers (for the standards the organization works towards) and whether a process by that name exists. Ask what the company does first, propose the list, let the person remove what doesn't apply or rename, then create the rest with create_placeholders. Leave industries empty to see the industries and the processes every company has.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
industries | array | Industry keys, such as manufacturing or logistics. |
list_requirements (changes data)
Clause by clause, how the organization's processes cover each standard it works towards (or one standard, such as iso9001): our plain-language title and guidance, what auditors usually ask to see, the covering processes, and a status: covered, placeholder (only placeholders so far), uncovered, not_applicable (with the reason), organization (met by the organization as a whole) or section/detail. Guidance is Steplane's own wording, not the standard's text.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
standard | string | A standard's key, such as iso9001. |
get_history
The published versions of a process, newest first: revision number, date, who published it (and through which AI client) and the change note.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug (from search_processes), its number (such as P15) or its exact name. |
compare_versions
What changed in a process between two versions: details, steps added, removed, moved or changed, links, ISO clauses, KPIs and risks.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name, from list_organizations. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug (from search_processes), its number (such as P15) or its exact name. |
from | any | yes | A published revision number, or "working" for the current working copy. |
to | any | yes | A published revision number, or "working" for the current working copy. |
create_process (changes data)
Create a new business process (a draft) in the organization. Then add steps with add_step and publish it when it's right.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
name | string | yes | |
number | string | The organization's own process number, such as P15 or AP-01-02. | |
purpose | string | ||
description | string | ||
group | string | Where it sits on the process landscape: a group's name, as get_landscape lists them. Leave out for a subprocess (home_parent). | |
home_parent | string | The process this one is a subprocess of (slug, number or exact name): it then sits under that process instead of directly in a landscape group. | |
frequency | object | How often the process runs, such as { count: 40, per: 'day' }. When nobody has said, estimate it from what you know of the company and mark it as a guess. | |
owner | string | Email or name of the member responsible for it. Or give owner_role instead. | |
owner_role | string | A role that owns the process, such as CEO or Quality manager: whoever holds the role is responsible (set_role_holder). A new name adds the role. |
update_process (changes data)
Change a process's details: name, number, purpose, description, landscape group, home parent (to make it a subprocess), how often it runs, owner (a person, or a role with owner_role), review interval or the diagram's direction. Pass only what changes; null clears a field.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
name | string | ||
number | any | The process number, such as P15; null removes it. | |
purpose | any | ||
description | any | ||
group | any | A landscape group's name; null takes it off the map. | |
home_parent | any | The process this one is a subprocess of (slug, number or exact name); null makes it a top-level process again. | |
frequency | any | How often it runs, such as { count: 40, per: 'day' }; guess: true when you estimated it. To confirm a guess, send it again without guess. null: unknown. | |
owner | string,null | Email or name of a member, replacing an owner role; null for no owner at all. | |
owner_role | string | A role that owns it instead of a person, such as Quality manager. | |
review_interval_months | any | Null: use the organization's default. | |
diagram_direction | string | How everyone sees the diagram: top to bottom (lanes are columns) or left to right (a timeline). |
add_step (changes data)
Add a step to a process: a task, a decision, or a step carried out by another process. Roles are swimlanes; a new role name is added to the organization. Adds at the end unless after_step is given. Set systems, inputs, outputs and branches with edit_step: ask where the step is done or written down and how the next person gets it, and record spreadsheets, email and paper as systems too.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
title | string | yes | |
kind | string | ||
role | string | Who does it, such as Warehouse. | |
description | string | ||
carried_out_by | string | For kind process: the other process, by slug or name. A name that doesn't exist yet becomes a placeholder process under this one, to describe later. | |
after_step | integer | Insert after this step number; 0 puts it first. | |
estimate | object | A rough estimate of the step's effort, used to rank what to automate. Guess when nobody has said, and mark it. | |
needs_judgment | object | Whether a person should keep the decision in this step, such as how the website should look (true), or not, such as answering a question the documentation already answers (false). Judgment steps can be helped by AI, never automated. Guess when nobody has said, and mark it. | |
done_with | string | How the step is done today: by a person, by a person with AI help, or by AI or a system on its own. Part of the process: it shows in the history. |
edit_step (changes data)
Change a step: title, kind, description, role, the process that carries it out, the systems it uses, its inputs and outputs, what follows it (branches), or the estimate of its effort. Pass only what changes; lists replace the current ones. New names are added to the organization.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
step | integer | yes | The step's number, as get_process shows it. |
title | string | ||
kind | string | ||
description | any | ||
role | string,null | ||
carried_out_by | string,null | The other process for a step of kind process, by slug or name; null makes it a task. A name that doesn't exist yet becomes a placeholder process under this one. | |
systems | array | ||
inputs | array | ||
outputs | array | ||
then | array | What follows the step. Empty: the next step. A decision has one branch per outcome. | |
estimate | any | People's own time on it each time, on average, and how many take part; guess: true when you estimated it. To confirm a guess, send it again without guess. null: unknown. | |
needs_judgment | any | Whether a person should keep the decision; guess: true when you estimated it. null: unknown. | |
done_with | string | How the step is done today: by a person, by a person with AI help, or by AI or a system on its own. Part of the process: it shows in the history. |
set_system_kind (changes data)
Say what kind of tool a system is: a business system (ERP, CRM, warehouse system and other systems of record), a spreadsheet, email or chat (messaging), paper or phone, or other. Work moving between kinds, such as from a spreadsheet into the ERP, is where friction hides. Also whether AI can work with it (ai_access): an MCP server, an API, or neither, which decides where AI can help people later (decision 0035). For well-known names (Excel, Outlook, Teams, a CMS with an MCP server) set them yourself as guesses.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
system | string | yes | The system's name, as steps use it. |
kind | any | null: unknown. | |
ai_access | any | Whether AI can work with it: an MCP server, an API, or neither. null: unknown. | |
guess | boolean | true when you estimated it yourself; leave out or false when the person told you or agreed. |
record_automation_opportunity (changes data)
Record an improvement candidate as an opportunity on its process (risks and opportunities), with the estimated time it takes now. That's evidence of improvement for ISO 9001 (6.1 and 10). It changes the process, so publish it afterwards like any change. Ask the person first.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
candidate | string | yes | The candidate's key from find_automation_candidates. |
start_automation_project (changes data)
Take on an improvement candidate in a change project: creates the project with a to-be version of the process, where you then make the fix (edit_step on the to-be's slug): move the step to whoever decides, use the connected system, let a system apply the rule, or, last, an AI agent. The process's estimated hours a year now are kept, so the difference shows after go-live. Ask the person first.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
candidate | string | yes | The candidate's key from find_automation_candidates. |
dismiss_automation_candidate (changes data)
Dismiss an automation candidate with a reason, such as 'the supplier only sends paper', so it no longer shows. reopen_automation_candidate brings it back.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
candidate | string | yes | The candidate's key from find_automation_candidates. |
reason | string | yes |
reopen_automation_candidate (changes data)
Undo a decision about an automation candidate, such as a dismissal, so it shows as open again. An opportunity already on the process and a project already started stay.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
candidate | string | yes | The candidate's key from find_automation_candidates. |
move_step (changes data)
Move a step to another place in the order.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
step | integer | yes | The step's number, as get_process shows it. |
to | integer | yes | The number the step should have afterwards. |
remove_step (changes data)
Remove a step from the process. Branches that led to it are removed too.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
step | integer | yes | The step's number, as get_process shows it. |
link_process (changes data)
Link this process to another: "uses" (a subprocess it runs) or "hands_off_to" (the process that takes over when it ends). A name that doesn't exist yet becomes a placeholder process to describe later: under this one for "uses", on its own for "hands_off_to". With remove: true, removes that link instead.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
kind | string | yes | |
to | string | yes | The other process's slug or name. |
remove | boolean |
set_compliance (changes data)
Set a process's ISO clauses, KPIs (monitoring criteria) or risks and opportunities. Each list given replaces the current one. ISO clauses are keys such as "iso9001:8.4" or "iso27001:A.5.15".
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
iso_clauses | array | ||
kpis | array | ||
risks | array |
publish_process (changes data)
Publish the process's working copy as a new version that everyone reads. Recorded in its history with the change note, as the person through this AI client. Only when the person has agreed the change.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
change_note | string | yes | What changed and why, for the history. |
record_review (changes data)
Record that a published process was reviewed and is still right, without changing it. Sets the next review date. Only the process owner, or an editor, can do this.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
version | integer | yes | The process's version from get_process (or from the last change). A process changed since then is refused: read it again. |
note | string | yes | What was checked. |
set_landscape_group (changes data)
Add a group to the organization's process landscape, or change one: rename it, describe it, draw it as a value chain (flow) or a grid, nest it under another group (one level deep) or move it. Name an existing group in group to change it; leave group out to add a new one called name.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
group | string | The group to change, by name. | |
name | string | The new group's name, or a new name for group. | |
description | any | ||
layout | string | flow: a value chain drawn left to right; grid: cards in rows. | |
parent | any | The top-level group it belongs under; null makes it a top-level group. | |
place | integer | Its place among its sibling groups, 1 being first. |
remove_landscape_group (changes data)
Remove a group from the process landscape. Only empty groups can go: move its processes (update_process with another group) and its sub-groups first.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
group | string | yes | A landscape group's name, as get_landscape lists them. |
set_role_holder (changes data)
Set who holds a role such as CEO or Quality manager, one member at a time. Processes the role owns become theirs (inbox, reviews) at once; the history keeps who held it before. A new role name adds the role.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
role | string | yes | |
holder | string,null | yes | Email or name of a member; null: nobody holds it. |
set_standard (changes data)
Choose which standards the organization works towards, one edition each (owners and admins), such as during onboarding when the person says ISO 9001 matters to them. Use list_standards for the standards and editions; edition null stops working towards the standard. Clauses keep their tags on processes either way.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
standard | string | yes | The standard's key, such as iso9001. |
edition | string,null | yes | The edition's id, such as iso9001:2015; null: none. |
create_placeholders (changes data)
Create several processes at once as placeholders (only a name so far), each in a landscape group and tagged with the clauses it usually covers, such as after propose_landscape once the person has agreed to the list. Names the organization already uses are skipped. People describe the placeholders later, or you do with them.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
processes | array | yes |
link_linear_project (changes data)
Link a change project to a project in the organization's connected Linear workspace, one to one, or unlink it (linear_project null). Linear keeps the work (issues, who does what); Steplane keeps the process change. The Linear project gets a link back to Steplane that says how the change stands. Use the Linear project's name or id; get_project then shows the link, so you can work across Steplane's and Linear's MCP servers.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The change project, by slug or name. |
linear_project | string,null | yes | The Linear project's name or id; null to unlink. |
send_findings_to_linear (changes data)
Send findings of a change project to its linked Linear project as issues, so the work of fixing them is planned in Linear: each in the Linear project's team, assigned to the owner of the affected process when Linear knows their email, with a link back to Steplane. Name findings by their key (from analyze_impact), or send every open warning. A finding is sent once; done in Linear resolves findings people added, and analyze_impact shows each finding's Linear issue.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The change project, by slug or name. |
findings | array | Finding keys from analyze_impact. | |
all_open_warnings | boolean | Send every open warning not sent yet. |
set_clause_applicability (changes data)
Say that a clause doesn't apply to the organization, with the reason, such as ISO 9001 8.3 when it doesn't design products, or that it applies again (owners and admins). A clause that doesn't apply is no gap; the scope (4.3) has to give the reason. Only clauses a process should cover; ask the person before leaving one out.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
clause | string | yes | The clause's key, such as iso9001:8.3. |
applies | boolean | yes | |
reason | string | Why it doesn't apply; needed when applies is false. |
set_document (changes data)
Add a controlled document to the document register, or change one: its number (such as I-15-01), kind, version, owner and the link to where the file lives (SharePoint, Drive…). Steps use documents as inputs and outputs (edit_step); an input or output becomes a document once it has a kind. Name an existing document or input/output in document to change it; leave it out to add a new one called name.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
document | string | The document or input/output to change, by name or number. | |
name | string | ||
kind | any | null takes it out of the register (it stays an input/output). | |
number | any | ||
version | any | ||
link | any | https:// address of the file. | |
owner | string,null | Email or name of the member who owns the document. |
create_project (changes data)
Start a change project, such as "New ERP" or "Webshop returns": the processes it changes get to-be versions that are checked and approved before they go live together. Then add processes with add_to_project.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
name | string | yes | |
goal | string | ||
owner | string | Email or name of the member who leads it; you by default. | |
target_go_live_on | string | The planned go-live date, YYYY-MM-DD. |
add_to_project (changes data)
Add to a change project: a live process it changes (a to-be copy of its published version is made to edit), a live process it retires at go-live, or a new process that exists only in the project until go-live. Answers with the project, including the to-be versions to edit.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
process | string | A live process (slug, number or name) to change or retire. | |
change | string | With process: change it (the default) or retire it. | |
new_process | string | Instead of process: the name of a new process. |
update_project (changes data)
Change a project's details, mark it ready for review (in_review) or back to planning, or cancel it (cancelled: its to-be versions and new processes are discarded; the live processes never changed).
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
name | string | ||
goal | any | ||
owner | string,null | ||
target_go_live_on | string,null | ||
status | string |
remove_from_project (changes data)
Take a process out of a change project. Its to-be version, or the new process itself, is discarded; the live process is untouched.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
process | string | yes | The live or new process, by slug or name. |
mark_as_is_reviewed (changes data)
After the live process changed while the project worked on its to-be version (get_project shows outOfDate and what changed): confirm the changes were copied into the to-be, or don't apply. The to-be is then up to date again; go-live waits until every to-be is.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
process | string | yes | The live process, by slug or name. |
add_finding (changes data)
Record a problem a change project would cause that the impact checks don't catch, found by reading the to-be versions and the processes around them. Name the process it's about; its owner owns the finding. A warning blocks go-live until it's resolved or accepted as a risk.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
process | string | The live or new process it's about, by slug or name. | |
severity | string | yes | |
message | string | yes | What's wrong and why, for example "The new returns flow skips the quality check, but Complaints assumes every returned item was inspected". |
decide_finding (changes data)
Decide about a finding of a change project (its key from analyze_impact): accept it as a risk with a note why, reopen it, or resolve a finding that was added (findings from the checks resolve when their cause is fixed). Usually a person decides this; do it only when they ask.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
key | string | yes | |
status | string | yes | |
note | string |
request_approval (changes data)
Ask the organization's approval chain to approve a change to a process (a draft, or unpublished edits), when the organization has one (approval_status says so). The approvers see it in their inbox and approve in Steplane; once all have, the change can be published. You can't approve. In a change project, approval is asked for by marking the project ready for review (update_project status in_review).
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
process | string | yes | The process's slug, number or exact name, as get_process shows it. |
go_live (changes data)
Take a change project live: its to-be versions replace their live processes, new processes are published and retired ones retired, all at once, each as a new revision linked to the project. Only when the project is in review, every change approved, no to-be out of date and no open warning; otherwise the answer lists what's in the way. The organization's AI change policy applies.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
change_note | string | For the history; by default "Went live with the … project". |
revert_project (changes data)
Undo a project that went live: its processes get the versions from before go-live back, as new revisions; processes it added are retired and those it retired restored. Refused for a process that changed again since go-live.
| Argument | Type | Required | Description |
|---|---|---|---|
organization | string | The organization's slug or name. Leave out if the person belongs to only one. | |
project | string | yes | The project's slug or name. |
change_note | string |