Sentry · Arazzo Workflow

Sentry Invite a Member and Onboard to a Team

Version 1.0.0

Invite a new member to an organization, confirm the invite, add them to a team, and verify the roster.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub APMApplication MonitoringBug TrackingDeveloper ToolsError TrackingObservabilityPerformance MonitoringReal-Time MonitoringArazzoWorkflows

Provider

sentry-system

Workflows

invite-member-onboard-team
Invite an organization member and add them to a team.
Invites a member to the organization by email, confirms the new member, adds them to the supplied team, and lists the team members to verify the addition.
4 steps inputs: email, organizationIdOrSlug, role, teamIdOrSlug outputs: memberEmail, memberId
1
inviteMember
addOrganizationMember
Invite a member to the organization by email with the supplied role.
2
confirmMember
retrieveOrganizationMember
Retrieve the newly invited member to confirm the invitation before onboarding them onto a team.
3
addToTeam
addMemberToTeam
Add the confirmed member to the target team.
4
verifyRoster
listTeamMembers
List the team's members to verify the newly onboarded member appears on the roster.

Source API Descriptions

Arazzo Workflow Specification

sentry-system-invite-member-onboard-team-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Sentry Invite a Member and Onboard to a Team
  summary: Invite a new member to an organization, confirm the invite, add them to a team, and verify the roster.
  description: >-
    The people-onboarding flow spanning organization membership and team
    assignment. The workflow invites a member to the organization by email,
    retrieves the created member to confirm the invite, adds that member to a
    target team, and lists the team members to verify the onboarding. 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: organizationsApi
  url: ../openapi/sentry-organizations-openapi.yml
  type: openapi
- name: teamsApi
  url: ../openapi/sentry-teams-openapi.yml
  type: openapi
workflows:
- workflowId: invite-member-onboard-team
  summary: Invite an organization member and add them to a team.
  description: >-
    Invites a member to the organization by email, confirms the new member,
    adds them to the supplied team, and lists the team members to verify the
    addition.
  inputs:
    type: object
    required:
    - organizationIdOrSlug
    - email
    - role
    - teamIdOrSlug
    properties:
      organizationIdOrSlug:
        type: string
        description: The ID or slug of the organization.
      email:
        type: string
        description: The email address of the person to invite.
      role:
        type: string
        description: The organization role for the member (e.g. member, admin, manager).
      teamIdOrSlug:
        type: string
        description: The ID or slug of the team to onboard the member onto.
  steps:
  - stepId: inviteMember
    description: >-
      Invite a member to the organization by email with the supplied role.
    operationId: addOrganizationMember
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        role: $inputs.role
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      memberId: $response.body#/id
  - stepId: confirmMember
    description: >-
      Retrieve the newly invited member to confirm the invitation before
      onboarding them onto a team.
    operationId: retrieveOrganizationMember
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: member_id
      in: path
      value: $steps.inviteMember.outputs.memberId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      memberId: $response.body#/id
      memberEmail: $response.body#/email
  - stepId: addToTeam
    description: >-
      Add the confirmed member to the target team.
    operationId: addMemberToTeam
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: member_id
      in: path
      value: $steps.confirmMember.outputs.memberId
    - name: team_id_or_slug
      in: path
      value: $inputs.teamIdOrSlug
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      addStatus: $statusCode
  - stepId: verifyRoster
    description: >-
      List the team's members to verify the newly onboarded member appears on
      the roster.
    operationId: listTeamMembers
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: team_id_or_slug
      in: path
      value: $inputs.teamIdOrSlug
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstMemberId: $response.body#/0/id
  outputs:
    memberId: $steps.confirmMember.outputs.memberId
    memberEmail: $steps.confirmMember.outputs.memberEmail