Once your workflow instance has been started via a trigger, and your event-driven workflow code is executing because it received an event, now from your workflow you can send actions to Relay devices or the Relay server to make things happen. There are many different kinds of actions your workflow can request, including:

  • Speak from a text string (text to speech). Optionally, the speech can be a language translation (i.e., English text to Spanish speech).

  • Listen for a set of spoken phrases (speech to text) and return which one was found.

  • Perform vibration in a desired on-off pattern.

  • Control the LEDs (full RGB color, individually addressable, optional effects like rotation / flash / breathe).

  • Get information about the device, including:

    • Device name (usually the user's name).

    • Device outdoor location (street address or latitude/longitude).

    • Device indoor location (position identifier / room).

    • Battery level (percentage).

  • Read any query parameters from ah HTTP trigger.

  • Move the device to a specified audio channel.

  • Get the list of members in the channel.

  • Store and retrieve your custom data in the workflow (i.e., your state information).

  • Send a notification/broadcast/alert message to other Relay devices.

  • Pull other Relay devices into this channel.

  • Create or resolve an incident.

  • Make a full-duplex audio "phone call" to another Relay device.

  • Invoke a webhook to an external system.

  • Set a timer to fire in the future as a trigger for a workflow.

These actions are discussed in more detail in the sections that follow (Say and LIsten, Location, LEDs, etc).

When you send an action to be run on a Relay device, that request is sent to the Relay server and you need to target which device(s) you want it to run on. The next section, titled "Targeting Devices", explains how to do this.