Adafruit IO · Arazzo Workflow

Adafruit IO Group Feed Bootstrap

Version 1.0.0

Create a group, add a new feed inside it, then write a data point to that grouped feed.

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

Provider

adafruit-io

Workflows

group-feed-bootstrap
Create a group, create a feed within it, and seed the grouped feed with data.
Provisions a group, then a feed inside that group, then writes a first data point addressed by both the group key and feed key.
3 steps inputs: aioKey, feedName, groupDescription, groupName, username, value outputs: dataId, feedKey, groupKey
1
createGroup
Create the group that will contain the new feed.
2
createFeedInGroup
Create a new feed inside the group just created, addressed by the group key.
3
seedGroupFeed
Write the first data point to the grouped feed, addressed by both the group key and the feed key.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Adafruit IO Group Feed Bootstrap
  summary: Create a group, add a new feed inside it, then write a data point to that grouped feed.
  description: >-
    Stands up an organized device namespace in Adafruit IO. The workflow creates
    a group to hold related feeds, creates a feed inside that group, and writes
    an initial data point to the grouped feed using the group and feed keys
    together. This is the standard pattern for a multi-sensor device where each
    sensor is a feed under one group. 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: dataApi
  url: ../openapi/adafruit-io-data-api-openapi.yml
  type: openapi
- name: feedsApi
  url: ../openapi/adafruit-io-feeds-api-openapi.yml
  type: openapi
- name: groupsApi
  url: ../openapi/adafruit-io-groups-api-openapi.yml
  type: openapi
workflows:
- workflowId: group-feed-bootstrap
  summary: Create a group, create a feed within it, and seed the grouped feed with data.
  description: >-
    Provisions a group, then a feed inside that group, then writes a first data
    point addressed by both the group key and feed key.
  inputs:
    type: object
    required:
    - username
    - aioKey
    - groupName
    - feedName
    - value
    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.
      groupName:
        type: string
        description: Display name for the new group (e.g. "Greenhouse").
      groupDescription:
        type: string
        description: Optional description for the group.
      feedName:
        type: string
        description: Display name for the feed created inside the group.
      value:
        type: string
        description: Initial data point value to write to the grouped feed.
  steps:
  - stepId: createGroup
    description: >-
      Create the group that will contain the new feed.
    operationId: createGroup
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.groupName
        description: $inputs.groupDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupKey: $response.body#/key
      groupId: $response.body#/id
  - stepId: createFeedInGroup
    description: >-
      Create a new feed inside the group just created, addressed by the group
      key.
    operationId: createGroupFeed
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: group_key
      in: path
      value: $steps.createGroup.outputs.groupKey
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.feedName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      feedKey: $response.body#/key
      feedId: $response.body#/id
  - stepId: seedGroupFeed
    description: >-
      Write the first data point to the grouped feed, addressed by both the
      group key and the feed key.
    operationId: createGroupFeedData
    parameters:
    - name: username
      in: path
      value: $inputs.username
    - name: group_key
      in: path
      value: $steps.createGroup.outputs.groupKey
    - name: feed_key
      in: path
      value: $steps.createFeedInGroup.outputs.feedKey
    - name: X-AIO-Key
      in: header
      value: $inputs.aioKey
    requestBody:
      contentType: application/json
      payload:
        value: $inputs.value
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dataId: $response.body#/id
      storedValue: $response.body#/value
  outputs:
    groupKey: $steps.createGroup.outputs.groupKey
    feedKey: $steps.createFeedInGroup.outputs.feedKey
    dataId: $steps.seedGroupFeed.outputs.dataId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/adafruit-io-group-feed-bootstrap-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.