Skip to main content

Submit Workflow (Admin)

Create or update a partner workflow submission in draft state. Returns Stage-1 lint inline. Requires an admin-scoped API key. Per spec §6.1, the response carries {submissionId, status: 'draft', validationSummary}. TIP: run the prepare_submission prompt first to assemble a review-ready payload in your own model (free), then submit and call admin_request_review.

Parameters

NameTypeDefaultDescription
submissionIdstring-
name Requiredstring-
slug Requiredstring-
description Requiredstring-
heroCopy Requiredstring-
promptBody Requiredstring-
requiredMcpServersarray[]
recommendedSkillsarray[]
marketingUseCases Requiredarray-
marketingUseCases[].title Requiredstring-
marketingUseCases[].description Requiredstring-
useCasesarray[]
preferredModelstringanthropic/claude-sonnet-4.6
allowedToolsarray[]
defaultParamsobject{}
meshCategorystring-
screenshotUrlstring-
versioninteger1
changelogstring-
outputSchemaobject-

Use Cases

  • Create a new partner workflow submission in draft, with inline Stage-1 lint feedback
  • Update an existing draft submission's payload (pass its submissionId)
  • Prepare a workflow for the review gate — then call admin_request_review

Example Usage

Create a workflow draft

{
"tool": "admin_submit_workflow",
"arguments": {
"name": "Account Research Brief",
"slug": "account-research-brief",
"description": "Generates a one-page research brief for a target account.",
"heroCopy": "Turn a domain into a sales-ready brief.",
"promptBody": "---\nparameters:\n - name: domain\n required: true\n---\nResearch {{domain}} and produce a brief.",
"marketingUseCases": [
{
"title": "Sample output",
"description": "A formatted research brief for cisco.com."
}
]
}
}

Response Format

FieldTypeDescription
submissionIdstring | nullUUID of the created/updated submission. Null only on the pre-write slug_collision path (validationSummary carries a single slug_collision error).
statusstringSubmission state after this call.
validationSummaryobjectStage-1 lint result (same shape as validate_submission output). Absent on the happy path when no issues surfaced.
validationSummary.statusstring
validationSummary.issuesarray
validationSummary.issues[].codestringStable issue code (ISSUE_CODES).
validationSummary.issues[].severitystring
validationSummary.issues[].fieldstring
validationSummary.issues[].messagestring
validationSummary.issues[].fixHintstringActionable remediation hint for blocking issues.