Skip to content
Roboto
Esc
↑↓navigate↵open⌘Jpreview
On this page

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"]
}

Was this page helpful?