Adafruit IO · Arazzo Workflow

Adafruit IO Attach Feed to Group

Version 1.0.0

Add an existing feed to a group, then list the group's feeds to confirm membership.

1 workflow 1 source API 1 provider
View Spec View on GitHub IoTInternet of ThingsMQTTMakerHobbyistCircuitPythonArduinoESP32FeatherDashboardsTime SeriesArazzoWorkflows

Provider

adafruit-io

Workflows

attach-feed-to-group
Add an existing feed to a group and verify it appears in the group's feed list.
Adds a feed to a group by feed key, then reads back the group's feeds to confirm the attachment succeeded.
2 steps inputs: aioKey, feedKey, groupKey, username outputs: feedKey, firstFeedKey, groupKey
1
addFeed
addFeedToGroup
Add the existing feed to the group, identifying the feed via the feed_key query parameter.
2
verifyMembership
allGroupFeeds
List all feeds in the group to confirm the newly attached feed is present.

Source API Descriptions

Arazzo Workflow Specification

adafruit-io-attach-feed-to-group-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Adafruit IO Attach Feed to Group
  summary: Add an existing feed to a group, then list the group's feeds to confirm membership.
  description: >-
    Reorganizes an existing feed into a group. The workflow adds an already
    created feed to a group by feed key, then lists every feed in that group so
    the caller can confirm the feed now belongs to it. Useful when consolidating
    standalone feeds under a shared group namespace. Every step spells out its
    request inline — including the username path parameter and the X-AIO-Key
    authentication header.
  version: 1.0.0
sourceDescriptions:
- name: adafruitIoApi
  url: ../openapi/adafruit-io-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: attach-feed-to-group
  summary: Add an existing feed to a group and verify it appears in the group's feed list.
  description: >-
    Adds a feed to a group by feed key, then reads back the group's feeds to
    confirm the attachment succeeded.
  inputs:
    type: object
    required:
    - username
    - aioKey
    - groupKey
    - feedKey
    properties:
      username:
        type: string
        description: A valid Adafruit IO username.
      aioKey:
        type: string
        description: The Adafruit IO API key, sent in the X-AIO-Key header.
      groupKey:
        type: string
        description: The key of the group to attach the feed to.
      feedKey:
        type: string
        description: The key of the existing feed to add to the group.
  steps:
  - stepId: addFeed
    description: >-
      Add the existing feed to the group, identifying the feed via the feed_key
      query parameter.
    operationId: addFeedToGroup
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: group_key
      in: path
      value: $inputs.groupKey
    - name: feed_key
      in: query
      value: $inputs.feedKey
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupId: $response.body#/id
  - stepId: verifyMembership
    description: >-
      List all feeds in the group to confirm the newly attached feed is present.
    operationId: allGroupFeeds
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: group_key
      in: path
      value: $inputs.groupKey
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstFeedKey: $response.body#/0/key
  outputs:
    groupKey: $inputs.groupKey
    feedKey: $inputs.feedKey
    firstFeedKey: $steps.verifyMembership.outputs.firstFeedKey