Cross-Provider Workflow

Okta Group Grant to Slack Notification

Version 1.0.0

Add an Okta user to a group, then announce the role grant in Slack.

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

Providers Orchestrated

okta slack

Workflows

grant-group-notify
Add an Okta user to a group and announce in Slack.
Adds an existing user to an Okta group to grant group-based access, then posts a Slack message naming the user and group.
2 steps inputs: groupId, groupName, slackChannel, userEmail, userId outputs: grantStatus, messageTs
1
add-to-group
$sourceDescriptions.oktaApi.addUserToGroup
Add the user to the target Okta group.
2
notify-slack
$sourceDescriptions.slackApi.postChatPostmessage
Announce the access grant in Slack.

Source API Descriptions

Arazzo Workflow Specification

id-okta-group-grant-slack-notify.yml Raw ↑
arazzo: 1.0.1
info:
  title: Okta Group Grant to Slack Notification
  summary: Add an Okta user to a group, then announce the role grant in Slack.
  description: >-
    A role-grant workflow that adds an existing Okta user to a group — which in
    Okta drives group-based application and role assignments — and then posts a
    Slack message announcing the new access. Useful for promotion and access
    elevation events that should be visible to a team channel.
  version: 1.0.0
sourceDescriptions:
  - name: oktaApi
    url: https://raw.githubusercontent.com/api-evangelist/okta/refs/heads/main/openapi/okta-openapi-original.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: grant-group-notify
    summary: Add an Okta user to a group and announce in Slack.
    description: >-
      Adds an existing user to an Okta group to grant group-based access, then
      posts a Slack message naming the user and group.
    inputs:
      type: object
      properties:
        groupId:
          type: string
        userId:
          type: string
        userEmail:
          type: string
        groupName:
          type: string
        slackChannel:
          type: string
    steps:
      - stepId: add-to-group
        description: Add the user to the target Okta group.
        operationId: $sourceDescriptions.oktaApi.addUserToGroup
        parameters:
          - name: groupId
            in: path
            value: $inputs.groupId
          - name: userId
            in: path
            value: $inputs.userId
        successCriteria:
          - condition: $statusCode == 204
        outputs:
          grantStatus: $statusCode
      - stepId: notify-slack
        description: Announce the access grant in Slack.
        operationId: $sourceDescriptions.slackApi.postChatPostmessage
        requestBody:
          contentType: application/json
          payload:
            channel: $inputs.slackChannel
            text: Granted $inputs.userEmail access via the $inputs.groupName Okta group.
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          messageTs: $response.body#/ts
    outputs:
      grantStatus: $steps.add-to-group.outputs.grantStatus
      messageTs: $steps.notify-slack.outputs.messageTs