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