Microsoft Teams · Arazzo Workflow

Microsoft Teams Review Channel Conversation

Version 1.0.0

List a team's channels and read the recent messages in a chosen channel.

1 workflow 1 source API 1 provider
View Spec View on GitHub ChatCollaborationCommunicationMicrosoft 365ProductivityVideo ConferencingArazzoWorkflows

Provider

microsoft-teams

Workflows

review-channel-conversation
Resolve channels and read recent messages from a chosen channel.
Lists the team's channels and, when at least one exists, reads the most recent messages from the supplied channel.
2 steps inputs: accessToken, channelId, teamId, top outputs: messages
1
listChannels
listChannels
List the channels in the team to confirm the target channel is present before reading messages.
2
readMessages
listChannelMessages
Read the most recent messages from the chosen channel, limited by the top parameter.

Source API Descriptions

Arazzo Workflow Specification

microsoft-teams-review-channel-conversation-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Teams Review Channel Conversation
  summary: List a team's channels and read the recent messages in a chosen channel.
  description: >-
    Reviewing a conversation requires resolving the channel first and then
    reading its messages. This workflow lists the channels in a team, branches on
    whether any channel exists, and reads the most recent messages from the
    chosen channel. 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: teamsApi
  url: ../openapi/microsoft-teams-graph-api.yaml
  type: openapi
workflows:
- workflowId: review-channel-conversation
  summary: Resolve channels and read recent messages from a chosen channel.
  description: >-
    Lists the team's channels and, when at least one exists, reads the most
    recent messages from the supplied channel.
  inputs:
    type: object
    required:
    - accessToken
    - teamId
    - channelId
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer token with Channel.ReadBasic.All and ChannelMessage.Read.All scopes.
      teamId:
        type: string
        description: The unique identifier of the team.
      channelId:
        type: string
        description: The channel id to read messages from.
      top:
        type: integer
        description: Maximum number of messages to return.
        default: 20
  steps:
  - stepId: listChannels
    description: >-
      List the channels in the team to confirm the target channel is present
      before reading messages.
    operationId: listChannels
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: team-id
      in: path
      value: $inputs.teamId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      channels: $response.body#/value
    onSuccess:
    - name: channelsFound
      type: goto
      stepId: readMessages
      criteria:
      - context: $response.body
        condition: $.value.length > 0
        type: jsonpath
    - name: noChannels
      type: end
      criteria:
      - context: $response.body
        condition: $.value.length == 0
        type: jsonpath
  - stepId: readMessages
    description: >-
      Read the most recent messages from the chosen channel, limited by the top
      parameter.
    operationId: listChannelMessages
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: team-id
      in: path
      value: $inputs.teamId
    - name: channel-id
      in: path
      value: $inputs.channelId
    - name: $top
      in: query
      value: $inputs.top
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messages: $response.body#/value
  outputs:
    messages: $steps.readMessages.outputs.messages