{"id":10386,"date":"2026-11-11T13:38:20","date_gmt":"2026-11-11T13:38:20","guid":{"rendered":"https:\/\/www.process.st\/help\/?p=10386"},"modified":"2026-11-11T13:38:20","modified_gmt":"2026-11-11T13:38:20","slug":"read-a-whole-workflow-in-one-api-call-with-getworkflowdefinition","status":"publish","type":"post","link":"https:\/\/www.process.st\/help\/read-a-whole-workflow-in-one-api-call-with-getworkflowdefinition\/","title":{"rendered":"Read a Whole Workflow in One API Call with getWorkflowDefinition"},"content":{"rendered":"<p><code>getWorkflowDefinition<\/code> is now live in the Process Street Public API and MCP. It returns a workflow&#8217;s complete definition as a single JSON tree, so API integrations and MCP clients can see everything about a workflow before making changes.<\/p>\n<h2>What it does<\/h2>\n<p>Instead of calling dozens of individual endpoints to piece together a workflow&#8217;s structure, <code>getWorkflowDefinition<\/code> returns the full picture in one request. For a 10-task workflow, that&#8217;s one call instead of roughly 60.<\/p>\n<p>The response has two parts:<\/p>\n<ul>\n<li><strong>Workflow<\/strong>: settings, permissions, webhooks, incoming webhooks, and schedules. Changes to these take effect immediately.<\/li>\n<li><strong>Revision<\/strong>: a selected revision&#8217;s settings, run due date rule, variables, logic rules, and tasks, including each task&#8217;s configuration, assignment rules, permission rules, due date rules, and widgets. Edits to revision items go into a draft and take effect when you publish it.<\/li>\n<\/ul>\n<h2>Why it matters for MCP<\/h2>\n<p>If you use Process Street through an MCP client (such as Claude), the client now reads the entire workflow before it changes anything. That means more accurate edits, fewer round trips, and plenty of room within the rate limits.<\/p>\n<p>Every item&#8217;s <code>properties<\/code> object is shaped exactly like the matching update tool expects (<code>updateWorkflowRevisionTask<\/code>, <code>updateWorkflowRevisionTaskWidget<\/code>, and so on). The client reads a value, changes the field it needs, and sends the object back with no guesswork.<\/p>\n<p>The response also includes an <code>exclusions<\/code> list that names what the tree leaves out (for example, automations other than AI and Code tasks), so a missing item is never mistaken for one that does not exist. Code task inputs that contain secrets appear as <code>&lt;masked&gt;<\/code>, and sending that value back preserves the stored secret without exposing it in the conversation.<\/p>\n<h2>How to try it<\/h2>\n<ol>\n<li>Open an MCP client connected to Process Street (or any tool that calls the Public API).<\/li>\n<li>Ask something like: &#8220;Read the draft of our Client Onboarding workflow and add an approval step after Kickoff call.&#8221;<\/li>\n<li>The client calls <code>getWorkflowDefinition<\/code>, sees the full workflow, and makes targeted edits through the existing update tools.<\/li>\n<\/ol>\n<p>If you don&#8217;t see the tool in your MCP client, reconnect the Process Street connector.<\/p>\n<h2>Good to know<\/h2>\n<ul>\n<li><code>getWorkflowDefinition<\/code> is read-only. Edits still go through the individual update tools, one item at a time.<\/li>\n<li>The same access rules apply: task configuration and permissions require edit access to the workflow, and webhooks require an Administrator.<\/li>\n<li>Each person can make 20 requests per minute, and each organization can make 60.<\/li>\n<li>A workflow too large for one response returns an error rather than a partial tree.<\/li>\n<\/ul>\n<p>Full endpoint documentation is available at <a href=\"https:\/\/public-api.process.st\/api\/v1.1\/docs\/index.html\">developer.process.st<\/a> under Workflow Revisions. For more on using Process Street through MCP, see <a href=\"https:\/\/www.process.st\/help\/docs\/mcp-server\/\">Using Process Street&#8217;s MCP Server<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>getWorkflowDefinition is now live in the Process Street Public API and MCP. It returns a workflow&#8217;s complete definition as a single JSON tree, so API integrations and MCP clients can see everything about a workflow before making changes. What it does Instead of calling dozens of individual endpoints to piece together a workflow&#8217;s structure, getWorkflowDefinition [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"available_plan":"All plans","available_product":"Integrations","footnotes":""},"categories":[2],"tags":[],"class_list":["post-10386","post","type-post","status-publish","format-standard","hentry","category-new-feature"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/posts\/10386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/comments?post=10386"}],"version-history":[{"count":1,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/posts\/10386\/revisions"}],"predecessor-version":[{"id":10407,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/posts\/10386\/revisions\/10407"}],"wp:attachment":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/media?parent=10386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/categories?post=10386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/tags?post=10386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}