Cross-Provider Workflow

Entra User Create to Group to Slack Welcome

Version 1.0.0

Create a Microsoft Entra user, add them to a group, then post a Slack welcome.

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

Providers Orchestrated

microsoft-entra slack

Workflows

create-user-add-group-welcome
Provision an Entra user, add to a group, and send a Slack welcome.
Creates a user in Microsoft Entra ID, adds the new user to a security group by directory object reference, and posts a welcome message naming the new hire to a Slack channel.
3 steps inputs: displayName, groupId, mailNickname, password, slackChannel, userPrincipalName outputs: membershipStatus, messageTs, userId
1
create-user
$sourceDescriptions.entraApi.createUser
Provision the new user account in Microsoft Entra ID.
2
add-to-group
$sourceDescriptions.entraApi.addGroupMember
Add the newly created user to the target Entra group.
3
slack-welcome
$sourceDescriptions.slackApi.postChatPostmessage
Post a welcome message for the new hire to a Slack channel.

Source API Descriptions

Arazzo Workflow Specification

id-entra-create-user-add-group-slack-welcome.yml Raw ↑
arazzo: 1.0.1
info:
  title: Entra User Create to Group to Slack Welcome
  summary: Create a Microsoft Entra user, add them to a group, then post a Slack welcome.
  description: >-
    An identity onboarding workflow that provisions a new user in Microsoft Entra
    ID, adds the freshly created user to a target security group, and announces
    the new hire with a welcome message in a Slack channel. Chains the created
    user id into the group membership call and surfaces it in the Slack message.
  version: 1.0.0
sourceDescriptions:
  - name: entraApi
    url: https://raw.githubusercontent.com/api-evangelist/microsoft-entra/refs/heads/main/openapi/_original/microsoft-entra-graph-identity-openapi.yml
    type: openapi
  - name: slackApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-chat-api-openapi.yml
    type: openapi
workflows:
  - workflowId: create-user-add-group-welcome
    summary: Provision an Entra user, add to a group, and send a Slack welcome.
    description: >-
      Creates a user in Microsoft Entra ID, adds the new user to a security
      group by directory object reference, and posts a welcome message naming
      the new hire to a Slack channel.
    inputs:
      type: object
      properties:
        displayName:
          type: string
        userPrincipalName:
          type: string
        mailNickname:
          type: string
        password:
          type: string
        groupId:
          type: string
        slackChannel:
          type: string
    steps:
      - stepId: create-user
        description: Provision the new user account 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
          userPrincipalName: $response.body#/userPrincipalName
      - stepId: add-to-group
        description: Add the newly created user to the target Entra group.
        operationId: $sourceDescriptions.entraApi.addGroupMember
        parameters:
          - name: group-id
            in: path
            value: $inputs.groupId
        requestBody:
          contentType: application/json
          payload:
            "@odata.id": https://graph.microsoft.com/v1.0/directoryObjects/$steps.create-user.outputs.userId
        successCriteria:
          - condition: $statusCode == 204
        outputs:
          membershipStatus: $statusCode
      - stepId: slack-welcome
        description: Post a welcome message for the new hire to a Slack channel.
        operationId: $sourceDescriptions.slackApi.postChatPostmessage
        requestBody:
          contentType: application/json
          payload:
            channel: $inputs.slackChannel
            text: Welcome aboard $inputs.displayName! Your account has been provisioned.
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          messageTs: $response.body#/ts
    outputs:
      userId: $steps.create-user.outputs.userId
      membershipStatus: $steps.add-to-group.outputs.membershipStatus
      messageTs: $steps.slack-welcome.outputs.messageTs

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-create-user-add-group-slack-welcome"
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.