Cross-Provider Workflow

Entra User with Slack Onboarding Channel Create and Invite

Version 1.0.0

Provision an Entra user, create a Slack onboarding channel, then invite them.

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

Providers Orchestrated

microsoft-entra slack

Workflows

provision-user-onboarding-channel
Create an Entra user, create a Slack channel, and invite them.
Provisions a user in Microsoft Entra ID, creates a Slack onboarding channel, and invites the new hire's Slack user into that channel.
3 steps inputs: channelName, displayName, mailNickname, password, slackUserId, userPrincipalName outputs: channelId, inviteOk, userId
1
create-user
$sourceDescriptions.entraApi.createUser
Provision the new hire in Microsoft Entra ID.
2
create-channel
$sourceDescriptions.slackConversationsApi.postConversationsCreate
Create the Slack onboarding channel.
3
invite-user
$sourceDescriptions.slackConversationsApi.postConversationsInvite
Invite the new hire into the onboarding channel.

Source API Descriptions

Arazzo Workflow Specification

id-entra-user-slack-channel-create-invite.yml Raw ↑
arazzo: 1.0.1
info:
  title: Entra User with Slack Onboarding Channel Create and Invite
  summary: Provision an Entra user, create a Slack onboarding channel, then invite them.
  description: >-
    An onboarding workflow that provisions a new user in Microsoft Entra ID,
    creates a dedicated Slack onboarding channel for the hire, and invites them
    into that channel. Chains the created Slack channel id into the invite call
    so the new employee lands in a ready-made space on day one.
  version: 1.0.0
sourceDescriptions:
  - name: entraApi
    url: https://raw.githubusercontent.com/api-evangelist/microsoft-entra/refs/heads/main/openapi/microsoft-entra-users-api-openapi.yml
    type: openapi
  - name: slackConversationsApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-conversations-api-openapi.yml
    type: openapi
workflows:
  - workflowId: provision-user-onboarding-channel
    summary: Create an Entra user, create a Slack channel, and invite them.
    description: >-
      Provisions a user in Microsoft Entra ID, creates a Slack onboarding channel,
      and invites the new hire's Slack user into that channel.
    inputs:
      type: object
      properties:
        displayName:
          type: string
        userPrincipalName:
          type: string
        mailNickname:
          type: string
        password:
          type: string
        channelName:
          type: string
        slackUserId:
          type: string
    steps:
      - stepId: create-user
        description: Provision the new hire in Microsoft Entra ID.
        operationId: $sourceDescriptions.entraApi.createUser
        requestBody:
          contentType: application/json
          payload:
            accountEnabled: true
            displayName: $inputs.displayName
            userPrincipalName: $inputs.userPrincipalName
            mailNickname: $inputs.mailNickname
            passwordProfile:
              forceChangePasswordNextSignIn: true
              password: $inputs.password
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          userId: $response.body#/id
      - stepId: create-channel
        description: Create the Slack onboarding channel.
        operationId: $sourceDescriptions.slackConversationsApi.postConversationsCreate
        requestBody:
          contentType: application/json
          payload:
            name: $inputs.channelName
            is_private: false
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          channelId: $response.body#/channel/id
      - stepId: invite-user
        description: Invite the new hire into the onboarding channel.
        operationId: $sourceDescriptions.slackConversationsApi.postConversationsInvite
        requestBody:
          contentType: application/json
          payload:
            channel: $steps.create-channel.outputs.channelId
            users: $inputs.slackUserId
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          inviteOk: $response.body#/ok
    outputs:
      userId: $steps.create-user.outputs.userId
      channelId: $steps.create-channel.outputs.channelId
      inviteOk: $steps.invite-user.outputs.inviteOk

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/id-entra-user-slack-channel-create-invite"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.