Auth0 · Arazzo Workflow

Auth0 Create Organization, Attach Connection and Invite a User

Version 1.0.0

Create an organization, attach an existing connection, and invite a user to authenticate through it.

1 workflow 1 source API 1 provider
View Spec View on GitHub AI AgentsAuthenticationAuthorizationFGAIdentity ManagementMCPOAuthOktaOpenID ConnectSAMLSecuritySCIMArazzoWorkflows

Provider

auth0

Workflows

create-org-connection-and-invite
Create an organization, attach a connection, and invite a user via that connection.
Creates an organization, associates the supplied connection with it, then invites the invitee to authenticate using that connection.
3 steps inputs: clientId, connectionId, display_name, inviteeEmail, inviterName, name outputs: invitationId, invitationUrl, orgId
1
createOrg
post_organizations
Create a new organization within the tenant.
2
addConnection
post_organization_connection
Associate the supplied connection with the new organization.
3
invite
post_invitations
Invite the invitee to the organization, forcing authentication through the associated connection.

Source API Descriptions

Arazzo Workflow Specification

auth0-create-org-connection-and-invite-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Auth0 Create Organization, Attach Connection and Invite a User
  summary: Create an organization, attach an existing connection, and invite a user to authenticate through it.
  description: >-
    Stands up a self-contained Auth0 Organization that an external user can join.
    The workflow creates an organization, associates an existing connection with
    it, and issues an invitation that forces the invitee to authenticate with
    that connection. Each 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: auth0ManagementApi
  url: ../openapi/auth0-management-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-org-connection-and-invite
  summary: Create an organization, attach a connection, and invite a user via that connection.
  description: >-
    Creates an organization, associates the supplied connection with it, then
    invites the invitee to authenticate using that connection.
  inputs:
    type: object
    required:
    - name
    - connectionId
    - inviterName
    - inviteeEmail
    - clientId
    properties:
      name:
        type: string
        description: The name of the organization (lowercase, used as the slug).
      display_name:
        type: string
        description: Friendly display name for the organization.
      connectionId:
        type: string
        description: Existing connection id to associate with the organization.
      inviterName:
        type: string
        description: Name of the person sending the invitation.
      inviteeEmail:
        type: string
        description: Email address of the user being invited.
      clientId:
        type: string
        description: Auth0 client id used to resolve the login initiation endpoint.
  steps:
  - stepId: createOrg
    description: >-
      Create a new organization within the tenant.
    operationId: post_organizations
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        display_name: $inputs.display_name
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      orgId: $response.body#/id
  - stepId: addConnection
    description: >-
      Associate the supplied connection with the new organization.
    operationId: post_organization_connection
    parameters:
    - name: id
      in: path
      value: $steps.createOrg.outputs.orgId
    requestBody:
      contentType: application/json
      payload:
        connection_id: $inputs.connectionId
        assign_membership_on_login: true
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      connectionId: $response.body#/connection_id
  - stepId: invite
    description: >-
      Invite the invitee to the organization, forcing authentication through the
      associated connection.
    operationId: post_invitations
    parameters:
    - name: id
      in: path
      value: $steps.createOrg.outputs.orgId
    requestBody:
      contentType: application/json
      payload:
        inviter:
          name: $inputs.inviterName
        invitee:
          email: $inputs.inviteeEmail
        client_id: $inputs.clientId
        connection_id: $inputs.connectionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      invitationId: $response.body#/id
      invitationUrl: $response.body#/invitation_url
  outputs:
    orgId: $steps.createOrg.outputs.orgId
    invitationId: $steps.invite.outputs.invitationId
    invitationUrl: $steps.invite.outputs.invitationUrl