get_workflow
Fetch a single workflow's full definition plus its triggers and latest run. Use before updating a workflow to avoid clobbering unknown fields.
Input Schema
{
"type": "object",
"required": [
"workflow_id"
],
"properties": {
"workflow_id": {
"type": "string",
"format": "uuid",
"description": "UUID of the workflow template."
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"required": [
"workflow"
],
"properties": {
"workflow": {
"type": "object",
"required": [
"id",
"name",
"status",
"team_id",
"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"
},
"team_id": {
"type": "integer"
},
"link_url": {
"type": "string",
"format": "uri",
"description": "Direct link to this workflow in MarketCore. Format: https://app.marketcore.ai/workflows/{workflow_id}"
},
"_triggers": {
"type": "array"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"_latest_run": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Run UUID."
},
"status": {
"type": "string"
},
"link_url": {
"type": "string",
"format": "uri",
"description": "Direct link to this run. Format: https://app.marketcore.ai/workflows/{workflow_id}/runs/{run_id}"
},
"workflow_template_id": {
"type": "string",
"format": "uuid"
}
},
"description": "Most recent run of this workflow, if any."
},
"description": {
"type": "string"
},
"allowed_tools": {
"type": "array"
},
"schedule_config": {
"type": "object"
}
}
}
}
}Instructions
Fetch one workflow's full definition plus triggers and latest run. Always use this before update_workflow to see the current field values — partial updates clobber unspecified keys.
Input roles:
- workflow_id: integer id of the workflow to fetch.
Usage patterns:
- Before update_workflow: call get_workflow, read the current
steps/allowed_tools/inputs, then construct your update payload with those existing values preserved for any field you aren't changing. - To show a workflow's schedule: inspect
_triggers[0].schedule_configand_triggers[0].is_enabled. - To show last run outcome: inspect
_latest_run.status+_latest_run.completed_at.