Action Configuration
action.json is the configuration file that defines a Roboto Action. The Roboto CLI consumes it when creating or updating actions:
roboto actions create --from-file action.json
roboto actions init generates one when scaffolding a new action project.
Top-level fields
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Unique identifier for the action within your organization. Conventionally kebab-cased. |
description |
string | No | Full description of what the action does. |
short_description |
string | No | One-line summary shown in listings and the Action Hub. |
parameters |
list of Parameter | No | Runtime parameters that customize action behavior at invocation time. Defaults to []. |
requires_downloaded_inputs |
boolean | No | Whether to download input files into the action’s workspace before execution. Set to false if the action reads only ingested topic data and does not need raw files. Defaults to null (platform default applies). |
compute_requirements |
ComputeRequirements | No | CPU, memory, and storage to allocate for each invocation. |
container_parameters |
ContainerParameters | No | Overrides for the container’s entrypoint, command, environment variables, and working directory. |
image_uri |
string | No | URI of a pre-built Docker image in a registry the Roboto platform can access. Mutually exclusive with docker_config. |
docker_config |
DockerImageConfig | No | Instructions for building a Docker image from a local Dockerfile. Mutually exclusive with image_uri. |
inherits |
ActionReference | No | Reference to another action whose container image, container parameters, action parameters, and input-download settings this action inherits. When set, image_uri/docker_config, container_parameters, parameters, and requires_downloaded_inputs must be omitted — those are inherited from the referenced action. |
tags |
list of strings | No | Free-form labels for filtering and discovery. Defaults to []. |
metadata |
object | No | Arbitrary key/value metadata attached to the action. Defaults to {}. |
timeout |
integer | No | Maximum invocation duration in minutes. If omitted, the platform applies a tier-dependent default (30 minutes for free-tier orgs, 720 minutes otherwise). |
Parameter
Defines a parameter passed to an action at invocation time. Action code reads parameters via InvocationContext.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Parameter name. Used as the key when passing values at invocation time. |
description |
string | No | Human-readable description of the parameter’s purpose. |
required |
boolean | No | Whether the parameter must be provided at invocation time. Defaults to false. |
default |
any | No | Value used when the parameter is not provided. Coerced to a string. |
Example:
"parameters": [
{
"name": "threshold",
"description": "Alert threshold in meters per second squared",
"required": false,
"default": "9.8"
},
{
"name": "topic",
"description": "Topic name to analyze",
"required": true
}
]
ComputeRequirements
Compute resources allocated to each action invocation. Not all vCPU and memory combinations are valid — see the table below for supported pairings, or the Compute page for how usage is measured.
| Field | Type | Required | Description |
|---|---|---|---|
vCPU |
integer | No | CPU units to allocate; 1024 units = 1 vCPU. Defaults to 512 (0.5 vCPU). |
memory |
integer | No | Memory in MiB. Valid values depend on vCPU — see the table below. Defaults to 1024 (1 GiB). |
storage |
integer | No | Ephemeral storage in GiB. Minimum 21; maximum 200 (premium-tier orgs). Defaults to 21. |
Valid vCPU / memory combinations:
vCPU |
vCPUs | Valid memory values (MiB) |
|---|---|---|
256 |
0.25 | 512, 1024, 2048 |
512 |
0.5 | 1024, 2048, 3072, 4096 |
1024 |
1 | 2048 – 8192 (in 1024 MiB increments) |
2048 |
2 | 4096 – 16384 (in 1024 MiB increments) |
4096 |
4 | 8192 – 30720 (in 1024 MiB increments) |
8192 |
8 | 16384 – 61440 (in 4096 MiB increments) |
16384 |
16 | 32768 – 122880 (in 8192 MiB increments) |
ContainerParameters
Overrides for the action container’s runtime configuration. Each field overrides the value baked into the Docker image.
| Field | Type | Required | Description |
|---|---|---|---|
entry_point |
list of strings | No | Overrides the image ENTRYPOINT. |
command |
list of strings | No | Overrides the image CMD. |
env_vars |
object (string → string) | No | Environment variables injected into the container. |
workdir |
string | No | Overrides the container’s working directory. |
DockerImageConfig
Builds a Docker image from a local Dockerfile at deploy time. Set as the docker_config top-level field. Mutually exclusive with image_uri.
| Field | Type | Required | Description |
|---|---|---|---|
dockerfile |
string (path) | No | Path to the Dockerfile. Defaults to ./Dockerfile relative to the current working directory. |
context |
string (path) | No | Docker build context. Defaults to the current working directory. |
build_args |
object (string → string) | No | Build-time variables passed via docker build --build-arg. |
ActionReference
Points at another action whose container image, container parameters, action parameters, and input-download settings this action reuses. Set as the inherits top-level field. See the inherits row in Top-level fields for fields that cannot be set alongside it.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the action to inherit from. |
owner |
string | No | Org ID of the action’s owner. Defaults to your own organization. |
digest |
string | No | Pins to a specific action version digest. If omitted, the latest version is used. |
Full example
{
"name": "check-magnetometer-norm",
"short_description": "Flag flights where magnetometer norm deviates from expected range",
"description": "Computes the magnetometer vector norm for each flight and creates an event if it falls outside the configured tolerance range.",
"parameters": [
{
"name": "min_norm",
"description": "Minimum acceptable magnetometer norm (µT)",
"required": false,
"default": "25"
},
{
"name": "max_norm",
"description": "Maximum acceptable magnetometer norm (µT)",
"required": false,
"default": "65"
}
],
"requires_downloaded_inputs": false,
"compute_requirements": {
"vCPU": 1024,
"memory": 2048
},
"tags": ["diagnostics", "magnetometer"]
}