Cross-Provider Workflow

Auth0 Organization Create and Member Add with Slack Notify

Version 1.0.0

Create an Auth0 organization, add a member, then announce in Slack.

1 workflow 2 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

auth0 slack

Workflows

create-org-add-member
Create an Auth0 organization, add a member, and notify Slack.
Creates an Auth0 Organization, adds a user as a member, and posts a Slack message announcing the new tenant.
3 steps inputs: displayName, memberUserId, orgName, slackChannel outputs: addStatus, messageTs, orgId
1
create-org
$sourceDescriptions.auth0Api.post_organizations
Create the new Auth0 Organization.
2
add-member
$sourceDescriptions.auth0Api.post_members
Add the user as a member of the new organization.
3
notify-slack
$sourceDescriptions.slackApi.postChatPostmessage
Announce the new organization in Slack.

Source API Descriptions

Arazzo Workflow Specification

id-auth0-org-create-add-member-slack.yml Raw ↑
arazzo: 1.0.1
info:
  title: Auth0 Organization Create and Member Add with Slack Notify
  summary: Create an Auth0 organization, add a member, then announce in Slack.
  description: >-
    A B2B onboarding workflow that creates a new Organization in Auth0, adds an
    existing user as a member of that organization, and posts a Slack notification.
    Chains the created organization id into the member-add request to wire up a
    customer tenant in a single pass.
  version: 1.0.0
sourceDescriptions:
  - name: auth0Api
    url: https://raw.githubusercontent.com/api-evangelist/auth0/refs/heads/main/openapi/auth0-management-api-openapi.yml
    type: openapi
  - name: slackApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-chat-openapi.yml
    type: openapi
workflows:
  - workflowId: create-org-add-member
    summary: Create an Auth0 organization, add a member, and notify Slack.
    description: >-
      Creates an Auth0 Organization, adds a user as a member, and posts a Slack
      message announcing the new tenant.
    inputs:
      type: object
      properties:
        orgName:
          type: string
        displayName:
          type: string
        memberUserId:
          type: string
        slackChannel:
          type: string
    steps:
      - stepId: create-org
        description: Create the new Auth0 Organization.
        operationId: $sourceDescriptions.auth0Api.post_organizations
        requestBody:
          contentType: application/json
          payload:
            name: $inputs.orgName
            display_name: $inputs.displayName
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          orgId: $response.body#/id
      - stepId: add-member
        description: Add the user as a member of the new organization.
        operationId: $sourceDescriptions.auth0Api.post_members
        parameters:
          - name: id
            in: path
            value: $steps.create-org.outputs.orgId
        requestBody:
          contentType: application/json
          payload:
            members:
              - $inputs.memberUserId
        successCriteria:
          - condition: $statusCode == 204
        outputs:
          addStatus: $statusCode
      - stepId: notify-slack
        description: Announce the new organization in Slack.
        operationId: $sourceDescriptions.slackApi.postChatPostmessage
        requestBody:
          contentType: application/json
          payload:
            channel: $inputs.slackChannel
            text: Created Auth0 organization $inputs.displayName and added a member.
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          messageTs: $response.body#/ts
    outputs:
      orgId: $steps.create-org.outputs.orgId
      addStatus: $steps.add-member.outputs.addStatus
      messageTs: $steps.notify-slack.outputs.messageTs