Skip to main content

Skills

The Skills column of a workflow shows the skill (or skills) that will be deployed to the workflow's devices. A skill is a containerized application — see Skills Overview for a general introduction.

Each skill added to a workflow is independently configurable: you can give it a custom display name, pin it to a specific version, configure its inputs, choose which outputs to enable, and control how its optional web interface is exposed.

Adding a skill

  1. In the Skills column, click the plus (+) icon.
  2. Browse or search for a skill in your organization's library.
  3. Select the skill to open the configuration screen.
  4. Review or adjust the settings (see Configuring a skill below).
  5. Click Save.

The skill appears in the Skills column. A sync icon (⟳) indicates there are pending changes — click Sync to deploy the skill to your devices.

tip

If you don't have a skill yet, you can click New Skill from within the skill selector to create one inline. See Add a Skill for a full guide.

Configuring a skill

Click on any skill in the Skills column to open the Edit Skill panel.

Name

The skill's display name within this workflow. By default it uses the skill's own name, but you can rename it to something more descriptive for your context.

Version

Choose which version of the skill to deploy. The currently deployed version is shown by default.

An update available badge appears when a newer version of the skill has been published. To upgrade, select the newer version from the version dropdown and click Save, then sync the workflow.

Inputs

Inputs are key/value configuration values delivered to the skill on the device through the Azure IoT module twin desired settings. Each input has a label and an expected type (text, number, etc.).

Fill in any required input values. These values are sent to every device running this workflow via the Azure IoT module twin when the workflow is synced.

Outputs

Outputs are the data channels that the skill publishes via Azure IoT messages. Use the Outputs section to enable or disable individual output channels.

  • Enabled outputs are available for use in Actions
  • Disabled outputs are ignored and not forwarded to any action

You do not need to enable all outputs — only enable the ones you intend to use.

Web UI port

Some skills include a built-in web interface. If the skill has one, you can configure which port it runs on:

  • Automatic port — The portal assigns an available port automatically (recommended for most setups)
  • Manual port — Enter a specific port number if you need it to be consistent

Expose to network

Toggle Expose to Network to control who can reach the skill's web interface:

  • On (default) — The web UI is accessible on the device's local network
  • Off — The web UI is only accessible from the device itself and via tunneling from the portal
note

Port and network exposure settings only apply to skills that include a web interface. These fields are hidden for skills that don't expose a UI.

Removing a skill

  1. Click on the skill in the Skills column to open the Edit Skill panel.
  2. Click Remove (top right of the panel).
  3. Confirm when prompted.

The skill is marked with a trash icon and strikethrough. It will be uninstalled from all devices in the workflow on the next sync.

Skill status indicators

IndicatorMeaning
⟳ Sync iconUnsynchronized changes — sync required
🗑 Trash iconRemoved, pending sync
🚫 Disabled badgeSkill cannot be deployed (see below)
🔄 Update badgeA newer version is available

Disabled skills

A skill may be shown as disabled if it is in a state that prevents deployment (for example, if the underlying skill version has become unavailable). A tooltip explains the specific reason. You will need to resolve the issue (such as selecting a different version) before the workflow can be synced.

Bulk editing device and skill configuration

If your organization has the Bulk Edit feature enabled, a Bulk Edit option appears in the workflow's gear menu. This allows you to upload a CSV file to batch-update skill inputs and device environment variables across many devices at once.

The CSV format requires the following columns:

ColumnDescriptionExample
idItem type and ID (or serial number for devices), separated by :workflowsSkills:abc123, devices:8080000000001
keyInput key or environment variable nameTHRESHOLD
valueValue to set0.75
typeEither input (skill input) or env (device env var)input
name(Optional) Display name of the itemMy Skill