MCP Tools
Workflows

update_workflow

Partial update of a workflow template. Only keys present in the input mutate — unspecified keys are preserved. Call get_workflow first to see the current state.

Input Schema

{
  "type": "object",
  "required": [
    "workflow_id"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "tags": {
      "type": "array"
    },
    "steps": {
      "type": "array"
    },
    "inputs": {
      "type": "object"
    },
    "status": {
      "enum": [
        "draft",
        "active",
        "archived"
      ],
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "workflow_id": {
      "type": "string",
      "format": "uuid",
      "description": "UUID of the workflow to update."
    },
    "allowed_tools": {
      "type": "array"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "required": [
    "id",
    "name",
    "status",
    "link_url"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Workflow UUID."
    },
    "name": {
      "type": "string"
    },
    "tags": {
      "type": "array"
    },
    "steps": {
      "type": "array"
    },
    "inputs": {
      "type": "object"
    },
    "status": {
      "enum": [
        "draft",
        "active",
        "archived"
      ],
      "type": "string"
    },
    "link_url": {
      "type": "string",
      "format": "uri",
      "description": "Direct link to this workflow in MarketCore. Format: https://app.marketcore.ai/workflows/{workflow_id}"
    },
    "updated_at": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "allowed_tools": {
      "type": "array"
    }
  }
}

Instructions

Partial update of a workflow template. Only keys you send mutate — unspecified keys are preserved. Call get_workflow first to see the current state; then construct the minimal diff.

Input roles:

  • workflow_id: integer id of the workflow to update.
  • name / description / steps / inputs / allowed_tools / tags: partial overrides.
  • status: "draft" | "active" | "archived". Use "archived" as soft-delete.

Usage patterns:

  • To activate: {workflow_id: X, status: "active"}.
  • To soft-delete: {workflow_id: X, status: "archived"}.
  • To rename: call get_workflow first, then send just {workflow_id, name}.

Do NOT send:

  • schedule / schedule_config — rejected with InputError. Direct the user to the UI for schedule edits.
Scroll to Top