Auth0 · Arazzo Workflow

Auth0 Create Organization and Invite a User

Version 1.0.0

Create an organization, create an invitation for a new member, then read the invitation back.

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

Provider

auth0

Workflows

invite-user-to-org
Create an organization and invite a user to join it.
Creates an organization, sends an invitation to the invitee email, and reads the invitation back to obtain its invitation URL.
3 steps inputs: clientId, display_name, inviteeEmail, inviterName, name, roles outputs: invitationId, invitationUrl, orgId
1
createOrg
post_organizations
Create a new organization within the tenant.
2
createInvitation
post_invitations
Create an invitation for the invitee email on behalf of the inviter and client.
3
getInvitation
get_invitations_by_invitation_id
Read the invitation back to confirm it and surface its invitation URL.

Source API Descriptions

Arazzo Workflow Specification

auth0-invite-user-to-org-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Auth0 Create Organization and Invite a User
  summary: Create an organization, create an invitation for a new member, then read the invitation back.
  description: >-
    Onboards an external user to an Auth0 Organization via email invitation. The
    workflow creates an organization, issues an invitation for an invitee email
    on behalf of an inviter and client, and reads the invitation back to surface
    its invitation URL. 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: invite-user-to-org
  summary: Create an organization and invite a user to join it.
  description: >-
    Creates an organization, sends an invitation to the invitee email, and reads
    the invitation back to obtain its invitation URL.
  inputs:
    type: object
    required:
    - name
    - 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.
      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.
      roles:
        type: array
        description: Optional list of role ids to associate with the invited user.
        items:
          type: string
  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: createInvitation
    description: >-
      Create an invitation for the invitee email on behalf of the inviter and
      client.
    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
        roles: $inputs.roles
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      invitationId: $response.body#/id
      invitationUrl: $response.body#/invitation_url
  - stepId: getInvitation
    description: >-
      Read the invitation back to confirm it and surface its invitation URL.
    operationId: get_invitations_by_invitation_id
    parameters:
    - name: id
      in: path
      value: $steps.createOrg.outputs.orgId
    - name: invitation_id
      in: path
      value: $steps.createInvitation.outputs.invitationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      invitationUrl: $response.body#/invitation_url
  outputs:
    orgId: $steps.createOrg.outputs.orgId
    invitationId: $steps.createInvitation.outputs.invitationId
    invitationUrl: $steps.getInvitation.outputs.invitationUrl