Documentation Index
Fetch the complete documentation index at: https://inorbitinc.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Action definitions specify commands that can be sent to robots. Actions can be triggered manually by operators from dashboards, automatically in response to incidents, or offered as options when resolving incidents.
When to Use
- Remote control: Allow operators to start/stop missions, change modes, or execute scripts
- Incident response: Automatically trigger recovery actions when problems occur
- Custom workflows: Build operator workflows with user input and confirmation dialogs
Action Types
| Type | Description |
|---|
PublishToTopic | Publishes a message to /inorbit/custom_commands ROS topic |
RunScript | Executes a shell script from ~/.inorbit/local/user_scripts |
InOrbitPage | Navigates to a specific page in the InOrbit app |
Url | Opens an external URL |
DispatchMission | Dispatches a mission definition to a robot |
Spec Fields
| Field | Type | Required | Description |
|---|
type | string | Yes | Action type (see above). |
label | string | Yes | Display label for buttons and dialogs. Keep short (1-2 words). |
description | string | No | Detailed description shown when inputting arguments. |
group | string | No | Group name for organizing actions in the UI. |
lock | boolean | No | If true, requires robot lock before execution. Default: false. |
confirmation | object | No | If required: true, prompts for confirmation before execution. |
condition | object | No | Rules that determine when the action is available. |
widgets | array | No | Widgets where this action appears. Currently only "navigation" supported. |
arguments | array | No | List of action arguments. |
Arguments
Arguments provide values for action execution.
| Field | Type | Description |
|---|
name | string | Argument name (optional for positional args). |
type | string | "string" or "number". Default: "string". |
value | any | Fixed value for this argument. |
dataSourceId | string | Data source to get value from at runtime. |
input | object | Prompts user for input before execution. |
Prompt operators for input using the input field:
| Control | Description |
|---|
text | Free-form text input |
select | Dropdown selection from predefined values |
arguments:
- name: "destination"
input:
control: "select"
values:
- label: "Warehouse A"
value: "warehouse_a"
- label: "Warehouse B"
value: "warehouse_b"
Template Replacements
Use {{{argName}}} to substitute other argument values:
arguments:
- name: "message"
value: "DELIVER|{{{floor}}}|{{{room}}}"
- name: "floor"
dataSourceId: "FloorNumber"
- name: "room"
dataSourceId: "RoomNumber"
Examples
Publish to ROS Topic
kind: ActionDefinition
apiVersion: v0.1
metadata:
id: "startDelivery"
scope: account/<accountId>
spec:
type: "PublishToTopic"
label: "Start Delivery"
group: "Missions"
arguments:
- name: "message"
value: "START_DELIVERY|{{{floor}}}|{{{room}}}"
- name: "floor"
dataSourceId: "FloorNumber"
- name: "room"
dataSourceId: "RoomNumber"
Run Script with Confirmation
kind: ActionDefinition
apiVersion: v0.1
metadata:
id: "cancelMission"
scope: account/<accountId>
spec:
type: "RunScript"
label: "Cancel Mission"
description: "Cancels the currently running mission"
group: "Mission Control"
lock: true
confirmation:
required: true
arguments:
- value: "mission.sh"
- value: "--cancel"
- name: "mission-id"
dataSourceId: "MissionDataSourceId"
kind: ActionDefinition
apiVersion: v0.1
metadata:
id: "setSpeed"
scope: account/<accountId>
spec:
type: "RunScript"
label: "Set Speed"
confirmation:
required: true
arguments:
- value: "set_speed.sh"
- name: "speed"
input:
control: "select"
values:
- label: "Slow"
value: "0.5"
- label: "Normal"
value: "1.0"
- label: "Fast"
value: "1.5"
Dispatch Mission
kind: ActionDefinition
apiVersion: v0.1
metadata:
id: "startPatrol"
scope: account/<accountId>
spec:
type: "DispatchMission"
label: "Start Patrol"
group: "Missions"
arguments:
- name: "missionDefinitionId"
value: "patrol-route-a"