How to Trigger Device Actions

Device actions are commands you send to an IoT device to make it do something — start reading tags, stop reading, encode a tag, calibrate a sensor, and so on. You can trigger actions manually from the device page or automatically from within a flow.

Prerequisites

  • An adopted device in your Vesbite tenant (see Adopt a Device)
  • The device must be online for actions to reach it

Method 1: Manual Trigger from the Device Page

Use manual triggering for testing, one-off operations, or troubleshooting.

Step 1: Navigate to Your Device

Click Devices in the sidebar, then click the device you want to control. This opens the device detail page.

Step 2: Open the Actions Tab

Click the Actions tab at the top of the device detail page. You will see a list of action cards, each showing the action’s name and a brief description. The available actions depend on the device type and its schema.

Step 3: Select an Action

Click on the action card you want to execute. A modal dialog opens showing:

  • The action name and description
  • Input fields for any required or optional parameters
  • Invoke and Cancel buttons at the bottom

Step 4: Fill in Parameters and Execute

Fill in any parameters the action requires. For example, the “Start Reading” action on an Impinj R700 might accept a duration parameter (in seconds) to control how long the reader scans for tags.

Click Invoke to send the command to the device. The modal closes and the action is executed immediately.

Step 5: Verify the Result

Switch to the General tab to see the device’s live logs. You should see log entries confirming the action was received and executed. If the action produces a response, it appears in the logs as well.

Method 2: Automated Trigger from a Flow

Use flow-based triggering for production automation where actions need to happen in response to events.

Step 1: Add an Invoke Device Action Node

In the flow builder, click the + button on an existing node or drag an activity from the picker. Search for Invoke Device Action under the Devices category and add it to your canvas.

Step 2: Configure the Node

Double-click the Invoke Device Action node to open its settings panel. Configure the following:

FieldDescription
DeviceSelect the target device from the dropdown. Only adopted, online devices of the correct type appear.
ActionSelect the action to invoke (e.g., “Start Reading”, “Encode Tag”). Options are loaded from the device’s schema.
ParametersFill in the action’s parameters. Each parameter can be a literal value or a Vex expression for dynamic data (e.g., {{ output("trigger").duration }}).

Step 3: Connect and Publish

Connect the node to the rest of your flow, then publish. The action will execute every time the flow reaches that node during a run.

Action Parameters and Responses

Parameters

Each action defines its own set of parameters based on the device schema. Parameters can be:

  • Required — The action will fail if these are not provided
  • Optional — Default values are used if not specified
  • Typed — String, number, boolean, or complex objects depending on the action

When triggering from a flow, you can use Vex expressions in any parameter field to pass dynamic data from earlier steps. See Use Expressions.

Responses

Actions return a response from the device. In a flow, the response is available to subsequent nodes via the output() function:

{{ output("invokeAction1").status }}
{{ output("invokeAction1").data.tagId }}

When triggering manually, the response appears in the device’s live logs on the General tab.

Example: Starting and Stopping Reading on an RFID Reader

A common workflow with an Impinj R700 RFID reader:

  1. Start Reading — Opens the reader’s antennas and begins scanning for RFID tags. Optionally accepts a duration parameter (seconds). If no duration is set, reading continues until explicitly stopped.
  2. The reader emits Tag Read events as it detects tags.
  3. Stop Reading — Closes the antennas and stops scanning. No parameters required.

To test manually:

  1. Go to your R700 device’s Actions tab
  2. Click Start Reading, optionally set a duration, and click Invoke
  3. Switch to the General tab to watch tag read events appear in the live logs
  4. To stop early, go back to Actions and click Stop Reading, then Invoke

Example: Encoding a Tag

Some RFID readers support writing data to tags:

  1. Go to the device’s Actions tab
  2. Click the Encode Tag action
  3. Fill in the required parameters:
    • EPC — The new Electronic Product Code to write
    • Target EPC — (Optional) The current EPC of the tag to target. If omitted, the next tag presented to the reader is encoded.
  4. Click Invoke
  5. Present a tag to the reader’s antenna within the timeout period

Troubleshooting

Action failed with “Device offline” error: The device must be online to receive actions. Check the device’s status on the Devices page and verify network connectivity.

Action sent but no response: Some actions are fire-and-forget and do not return a response. Check the device’s live logs for confirmation that the command was received.

Parameters not accepted: Make sure parameter values match the expected types. For example, a duration field expects a number, not a string like “ten seconds”.

Next Steps