Storyblok · Arazzo Workflow

Storyblok Onboard Collaborator

Version 1.0.0

Validate the space, invite a collaborator with a role, then list collaborators to confirm the invitation.

1 workflow 1 source API 1 provider
View Spec View on GitHub CMSContent DeliveryContent ManagementHeadless CMSImage OptimizationREST APIVisual EditorWebhooksArazzoWorkflows

Provider

storyblok

Workflows

onboard-collaborator
Invite a collaborator to a space and verify the invitation landed.
Confirms the target space, invites a user by email with a role, and reads the collaborator list back to confirm the new member appears.
3 steps inputs: email, role, spaceRoleId, space_id outputs: collaboratorId, collaborators, invited
1
validateSpace
getSpace
Confirm the target space exists and is accessible before inviting.
2
addCollaborator
addCollaborator
Invite the user to the space and assign their role.
3
verifyCollaborator
listCollaborators
List the space collaborators to confirm the newly invited collaborator is present.

Source API Descriptions

Arazzo Workflow Specification

storyblok-onboard-collaborator-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Storyblok Onboard Collaborator
  summary: Validate the space, invite a collaborator with a role, then list collaborators to confirm the invitation.
  description: >-
    Grants a teammate access to a space. The space is validated, a collaborator
    is invited by email with an assigned role, and the space collaborator list
    is then read back to confirm the new collaborator is present. Every step
    spells out its request inline so the flow can be read and executed without
    opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: managementApi
  url: ../openapi/storyblok-management-api-openapi.yml
  type: openapi
workflows:
- workflowId: onboard-collaborator
  summary: Invite a collaborator to a space and verify the invitation landed.
  description: >-
    Confirms the target space, invites a user by email with a role, and reads
    the collaborator list back to confirm the new member appears.
  inputs:
    type: object
    required:
    - space_id
    - email
    - role
    properties:
      space_id:
        type: integer
        description: Numeric ID of the Storyblok space.
      email:
        type: string
        description: Email address of the user to invite.
      role:
        type: string
        description: Role to assign — one of admin, editor, or viewer.
      spaceRoleId:
        type: integer
        description: Optional custom space role ID to assign instead of a built-in role.
  steps:
  - stepId: validateSpace
    description: Confirm the target space exists and is accessible before inviting.
    operationId: getSpace
    parameters:
    - name: space_id
      in: path
      value: $inputs.space_id
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      spaceId: $response.body#/space/id
  - stepId: addCollaborator
    description: Invite the user to the space and assign their role.
    operationId: addCollaborator
    parameters:
    - name: space_id
      in: path
      value: $inputs.space_id
    requestBody:
      contentType: application/json
      payload:
        collaborator:
          email: $inputs.email
          role: $inputs.role
          space_role_id: $inputs.spaceRoleId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      collaboratorId: $response.body#/collaborator/id
      invited: $response.body#/collaborator/invited
  - stepId: verifyCollaborator
    description: >-
      List the space collaborators to confirm the newly invited collaborator
      is present.
    operationId: listCollaborators
    parameters:
    - name: space_id
      in: path
      value: $inputs.space_id
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      collaborators: $response.body#/collaborators
  outputs:
    collaboratorId: $steps.addCollaborator.outputs.collaboratorId
    invited: $steps.addCollaborator.outputs.invited
    collaborators: $steps.verifyCollaborator.outputs.collaborators