CORE I/O · 2.2.633 documentation

Actions

An action set defines tasks that the server runs when a recording starts, splits, or stops. An action can run a shell script, call a REST API, or upload the recorded file. Create and organize action sets on the Actions page, then assign them to recording events from the Record Viewer.

An action set defines tasks that the server runs when a recording starts, splits, or stops. An action can run a shell script, call a REST API, or upload the recorded file. Create and organize action sets on the Actions page, then assign them to recording events from the Record Viewer.

Opening the page

In the sidebar, open Configuration and select Actions, or go to /actions. The page header reads "Configure action sets and automation scripts".

The Actions page lists all configured action sets.

Actions - Opening the page interface

Layout

The table lists every action set with its Name and the number of actions it contains ("3 actions"). Click a row (or its arrow) to expand it and see the actions inside. Each set row has Edit, Duplicate and Delete buttons; each action inside the expanded area has the same three.

With no sets yet the page reads "No action sets defined" and "Click "Add Action Set" to create your first one".

Creating an action set

  1. Click Add Action Set. A row with an input ("Enter action set name...") appears at the top.
  2. Enter a name, then click Save or press Enter. Press Escape or click Cancel to discard it.
  3. The new set is expanded right away so you can add actions.

An empty name displays "Name is required." A name already used by another set, regardless of capitalization, displays "Name must be unique." A toast confirms "Action set added."

Renaming, duplicating and deleting a set

Edit turns the name into an input; Save or Enter stores it, Cancel or Escape reverts. The same two validation messages apply.

Duplicate creates and expands a copy named <name>_copy. Further copies use _copy1, _copy2, and so on. The new set contains copies of all actions.

Delete changes the buttons to Confirm and Cancel. Confirming removes the set and all its actions. A toast reads "Action set deleted."

Adding an action

  1. Expand the set and click + Add Action. An inline form opens.
  2. Enter a Name and choose a Type. The remaining fields depend on the type (see below).
  3. Click Save. Cancel closes the form without saving.

The type badge on each saved action is green for Bash Script, blue for REST API Call and amber for File Upload.

Bash Script

Field What it does
Script The shell script to run. Start it with #!/bin/bash.
Variable... / Insert Pick a recording variable from the dropdown and click Insert to paste it at the cursor position.

REST API Call

Configure the request with Scheme, Method, Host, Port, Path, Content-Type, and Body. Insert recording variables into the Body where required.

Field What it does
Scheme http or https.
Method GET, POST, PUT, PATCH or DELETE.
Host Host name or IP address of the API, for example api.example.com.
Port Port number, for example 443.
Path The request path, for example /api/v1/resource.
Content-Type application/json or application/xml.
Body The request body. Use Variable... and Insert to paste recording variables.

File Upload

Select an enabled Upload Preset and the Capture ID to upload. Configure upload presets under Storage integrations.

Field What it does
Upload Preset One of the enabled upload presets, shown as <name> - <FTP, SFTP, S3, or Backblaze>. Configure upload presets under Storage integrations.
Capture ID Which of the flow's capture outputs to upload. The list comes from the server; if it is unavailable the field is disabled and reads "Capture IDs unavailable from action type schema".

Variables

The Variable... dropdown offers these values; the server fills them in when the action runs:

Name Variable
Filename without Extension $coreio_no_extension_clipname
Filename $coreio_clipname
Full Path $coreio_full_clipname
Timecode Source $coreio_timecode_source
Channel Name $coreio_channel_name
Container $coreio_container
Framerate $coreio_framerate
Framerate Is Drop $coreio_framerate_is_drop
Aspect Ratio $coreio_aspect_ratio
Capture Codec $coreio_capture_codec
Audio Channels $coreio_audio_channels
Capture Resolution $coreio_capture_resolution
Capture Width $coreio_capture_width
Capture Height $coreio_capture_height
Duration $coreio_capture_duration
In-Point $coreio_capture_inpoint
Out-Point $coreio_capture_outpoint
Bitrate $coreio_bitrate
Custom Date $coreio_custom_date
Chunk Start Timecode $coreio_chunk_start_timecode
Chunk End Timecode $coreio_chunk_end_timecode

Validation messages

The following messages explain why an action cannot be saved.

Message When
Name is required. The action name is empty.
Type is required. No type was chosen (new actions only).
Upload preset is required. File Upload without an upload preset.
Capture ID is required. File Upload without a capture ID.
Capture ID must match the action type schema. The chosen capture ID is not in the server's list.

Editing, duplicating and deleting an action

Edit opens the same inline form with the current values. The Type cannot be changed while editing; duplicate the action or create a new one instead. Saving replaces the action ("Action updated.").

Duplicate adds a copy named <name>_copy to the same set. Further copies use _copy1 and so on.

Delete displays Confirm and Cancel. Confirming the deletion displays the toast "Action deleted."

Where action sets are used

Open a Record Viewer's settings menu and choose Actions. The Update Action for flow "<flow name>" dialog has three dropdowns: Select Action for Start Recording, Select Action for Split Recording, and Select Action for Stop Recording. Each accepts one action set. The actions in that set run when the corresponding event occurs. With several Record Viewers selected, the dialog updates all of them and shows "Mixed" where their current choices differ. See Record Viewer.

Good to know

Only enabled upload presets are offered in a File Upload action.

Scripts and API calls run on the server, not in your browser.

The variable list is also available under Var in the export template of a metadata set, with a % prefix instead of $ (see Metadata Views).