一键导入
workato-developer
Workato developer using Platform CLI. Use when working with Workato locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Workato developer using Platform CLI. Use when working with Workato locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | workato-developer |
| description | Workato developer using Platform CLI. Use when working with Workato locally. |
The Workato Platform CLI is a modern, type-safe command-line interface for the Workato API. It enables developers to build, validate, and manage Workato recipes, connections, and projects locally with version control integration.
uv add workato-platform-cli
workato --version
Note: Always ensure the virtual environment is activated before running CLI commands:
source ~/.zshrc
Navigate to Workspace admin > API clients > Client roles and create a role with these permissions:
Projects tab (all selected):
Tools tab:
Admin tab:
wrk, e.g., wrkprod-...)workato init
This guides you through:
Verify with:
workato workspace
WORKATO_PROFILE - Active profile nameWORKATO_API_TOKEN - API token for authenticationWORKATO_API_HOST - API endpoint host| Option | Description |
|---|---|
--profile TEXT | Specifies authentication profile |
--version | Shows CLI version |
--help | Displays available commands |
--output-format | Output as table (default) or JSON |
| Option | Description |
|---|---|
--page INTEGER | Page number (min 1) |
--per-page INTEGER | Results per page (max 100) |
Sets up authentication, region selection, and project configuration.
Displays current workspace information and connection status.
Synchronizes recipes, connections, and data tables from workspace to local directory.
workato pull
Uploads local modifications to workspace with optional recipe restart.
workato push
Workato CLI profiles are stored in ~/.workato/profiles as a JSON file:
{
"current_profile": "agent-workato-demo",
"profiles": {
"default": {
"region": "trial",
"region_url": "https://app.trial.workato.com",
"workspace_id": 2100003058
},
"production": {
"region": "us",
"region_url": "https://app.workato.com",
"workspace_id": 1234567890
}
}
}
| Field | Description |
|---|---|
current_profile | Name of the active profile |
profiles | Map of profile name to configuration |
region | Data center region (trial, us, eu, jp, sg) |
region_url | API endpoint URL |
workspace_id | Workato workspace identifier |
Shows all configured authentication profiles.
Switches active profile for subsequent operations.
workato profiles use production
Displays currently active profile with configuration details.
Removes a profile from configuration.
Enumerates available projects in workspace.
Changes active project context.
workato projects use "Enterprise Second Brain"
Lists recipes with filtering options.
workato recipes list
workato recipes list --folder "subfolder"
workato recipes list --status running
Checks JSON syntax and schema compliance locally.
workato recipes validate --path ./recipes/my_recipe.recipe.json
Enables stopped recipes by ID or name.
workato recipes start --name "My Recipe"
workato recipes start --id 12345
Halts running recipes by ID or name.
workato recipes stop --name "My Recipe"
Modifies connector credentials in stopped recipes.
Shows recipe execution history.
workato recipes jobs --name "My Recipe"
Shows all connections with provider filtering.
workato connections list
workato connections list --provider slack
Establishes new connections with authentication details.
Initiates OAuth authentication flow.
Generates OAuth authorization URL.
Modifies connection properties.
Retrieves dynamic field values from connections.
Displays available standard and custom connectors.
Shows authentication requirements and configuration fields.
Enumerates data tables with schema information.
Creates structured data storage with defined schema.
Lists environment or project-level configuration variables.
Creates or updates configuration properties.
workato properties upsert --file properties.json
Shows recipe endpoint groupings.
Establishes new endpoint collections.
Displays endpoints within a collection.
Activates specific API endpoints.
Shows programmatic access clients.
Establishes new API clients with credentials.
Lists available help documentation sections.
Searches documentation by keywords.
Displays full documentation for specific topics.
Comprehensive listing of all workspace assets with types and locations.
Recipe files define automation workflows with triggers, actions, and logic.
{
"name": "Recipe Name",
"description": "Recipe description",
"version": 1,
"private": false,
"concurrency": 1,
"code": {
"number": 0,
"provider": "connector_name",
"name": "trigger_or_action_name",
"as": "unique_step_id",
"keyword": "trigger",
"input": { },
"block": [ ]
},
"config": [ ]
}
| Property | Type | Description |
|---|---|---|
name | string | Display name of the recipe |
description | string | Recipe description |
version | integer | Recipe version number |
private | boolean | Whether recipe is private |
concurrency | integer | Max concurrent executions |
code | object | Recipe logic (trigger + steps) |
config | array | Connection configurations |
Each step in a recipe follows this structure:
{
"number": 0,
"provider": "slack",
"name": "new_event",
"as": "91503a3a",
"keyword": "trigger",
"input": { },
"filter": { },
"block": [ ],
"extended_input_schema": [ ],
"extended_output_schema": [ ],
"uuid": "unique-uuid"
}
| Keyword | Description |
|---|---|
trigger | Recipe trigger (entry point) |
action | Connector action |
if | Conditional branch |
try | Error handling block |
catch | Error catch block |
stop | Stop recipe execution |
Data pills reference output from previous steps using the _dp() function:
"#{_dp('{\"pill_type\":\"output\",\"provider\":\"slack\",\"line\":\"91503a3a\",\"path\":[\"event\",\"text\"]}')}"
Components:
pill_type: Always "output"provider: Connector nameline: Step ID (as value)path: Array path to the fieldPrefix with = for formula mode (Ruby expressions):
"message": "=\"Hello \" + _dp('{...}')"
{
"filter": {
"conditions": [
{
"operand": "equals_to",
"lhs": "#{_dp('...')}",
"rhs": "value",
"uuid": "condition-uuid"
}
],
"operand": "and",
"type": "compound"
}
}
Operand types: equals_to, present, not_equals_to, contains, starts_with, ends_with, greater_than, less_than
Trigger for callable recipes:
{
"provider": "workato_recipe_function",
"name": "execute",
"keyword": "trigger",
"input": {
"parameters_schema_json": "[{\"control_type\":\"text\",\"label\":\"Message\",\"type\":\"string\",\"name\":\"message\"}]",
"result_schema_json": "[{\"name\":\"result\",\"type\":\"string\"}]"
}
}
{
"provider": "workato_recipe_function",
"name": "call_recipe",
"keyword": "action",
"input": {
"flow_id": {
"zip_name": "other_recipe.recipe.json",
"name": "Other Recipe",
"folder": ""
},
"parameters": {
"param1": "value"
}
}
}
{
"provider": "workato_recipe_function",
"name": "return_result",
"keyword": "action",
"input": {
"result": {
"field1": "#{_dp('...')}"
}
}
}
Defines connections used by the recipe:
{
"config": [
{
"keyword": "application",
"provider": "slack",
"skip_validation": false,
"account_id": {
"zip_name": "myslackworkspace.connection.json",
"name": "MySlackWorkspace",
"folder": ""
}
},
{
"keyword": "application",
"provider": "logger",
"skip_validation": false,
"account_id": null
}
]
}
For custom connectors:
{
"account_id": {
"zip_name": "myconnection.connection.json",
"name": "MyConnection",
"folder": "",
"custom": true
}
}
Connection files define authentication to external services.
{
"name": "MySlackWorkspace",
"provider": "slack",
"root_folder": false
}
| Property | Type | Description |
|---|---|---|
name | string | Connection display name |
provider | string | Connector identifier |
root_folder | boolean | Whether in root folder |
Note: Actual credentials are not stored in JSON files for security. OAuth connections are managed via CLI commands.
Lookup tables are referenced in recipes with this structure:
{
"provider": "lookup_table",
"name": "get_entry",
"input": {
"lookup_table_id": {
"zip_name": "my_table.lookup_table.json",
"name": "my_table",
"folder": ""
},
"parameters": {
"col1": "search_value"
}
}
}
Actions: get_entry, add_entry, update_entry, delete_entry
Used in extended_input_schema and extended_output_schema:
{
"control_type": "text",
"label": "Field Label",
"name": "field_name",
"type": "string",
"optional": false,
"hint": "Help text",
"sticky": true
}
| Type | Description |
|---|---|
text | Single-line text input |
text-area | Multi-line text input |
number | Numeric input |
integer | Integer input |
select | Dropdown selection |
switch | Boolean toggle |
schema-designer | Dynamic schema builder |
| Type | Description |
|---|---|
string | Text value |
integer | Integer number |
number | Decimal number |
boolean | True/false |
object | Nested object with properties |
array | List with of or properties |
date | Date value |
date_time | DateTime value |
| Provider | Description |
|---|---|
slack | Slack integration |
salesforce | Salesforce CRM |
logger | Workato logging |
lookup_table | Lookup table operations |
workato_recipe_function | Callable recipes |
variables | Recipe variables |
http | HTTP requests |
workato initworkato pull to get current stateworkato recipes validate --path <file>workato push to deploy changesworkato recipes jobs to check executionsworkato profiles use devworkato profiles use production"Python 3.12+ required"
Update Python and verify: python --version
uv show workato-platform-cli
python -m workato_platform.cli.main --help
"Could not resolve API credentials"
Run workato init and enter your API token.
Check JSON syntax and ensure all referenced connections exist.
# Setup
uv add workato-platform-cli
workato init
workato workspace
# Daily workflow
workato pull
# ... edit files ...
workato recipes validate --path ./recipe.recipe.json
workato push
# Management
workato recipes list
workato recipes start --name "Recipe Name"
workato recipes stop --name "Recipe Name"
workato connections list
workato profiles use production