| name | validate-recipe |
| description | Validate the structure of Workato recipe / Genie JSON and report issues. Takes a file path or a project name as argument. |
/validate-recipe
Validates the structure of Workato JSON files.
Usage
/validate-recipe <file-path> — validate a specific file
/validate-recipe <project-name> — validate every file in a project
/validate-recipe — no argument: validate every project
Checks
recipe.json
- Required top-level fields:
name, version, code, config
-
code.keyword is "trigger" (number: 0)
- Every step has
number, provider, name, keyword, uuid
-
number values are sequential
-
uuid is a valid UUID v4
-
uuid is 36 characters or fewer (push rejects longer values; applies to step uuid, filter.conditions[].uuid, and input.conditions[].uuid)
- Steps inside
block recursively follow the same structure
- Every
provider in config is actually used by the recipe
- Datapill references (
_dp) point at a real step (provider + line)
- If
filter is present, both conditions (array) and operand exist
agentic_genie.json
agentic_skill.json
connection.json
Output format
✅ file.recipe.json — OK
⚠️ file2.recipe.json — 2 warnings
- W001: Step 3 is missing its uuid
- W002: config contains unused provider "slack"
❌ file3.recipe.json — 2 errors
- E001: code.keyword is not "trigger"
- E002: Step 5 uuid exceeds 36 characters (push will fail)
Severity: ❌ Error (likely to fail on push) > ⚠️ Warning (works but discouraged) > ℹ️ Info (informational).