How to use IBM App Connect with Microsoft Teams

Microsoft Teams is a chat-based tool that provides a common platform for remote teams to share information and work together. Microsoft Teams integrates with Microsoft 365. IBM® App Connect can integrate Microsoft Teams with a wide range of applications.

Supported product and API versions

To find out which product and API versions this connector supports, see Detailed System Requirements on the IBM Support page.

Connecting to Microsoft Teams

To connect App Connect to a Microsoft Teams account, see Connecting to Microsoft Teams from App Connect Enterprise as a Service.

General considerations for using Microsoft Teams in App Connect

  • (General consideration) You can see lists of the trigger events and actions that are available on the Applications and APIs page of the App Connect Designer.

    For some applications, the events and actions depend on the environment and whether the connector supports configurable events and dynamic discovery of actions. If the application supports configurable events, you see a Show more configurable events link under the events list. If the application supports dynamic discovery of actions, you see a Show more link under the actions list.

  • (General consideration) If you are using multiple accounts for an application, the set of fields that is displayed when you select an action for that application can vary for different accounts. In the flow editor, some applications always provide a curated set of static fields for an action. Other applications use dynamic discovery to retrieve the set of fields that are configured on the instance that you are connected to. For example, if you have two accounts for two instances of an application, the first account might use settings that are ready for immediate use. However, the second account might be configured with extra custom fields.
  • Microsoft Azure Active Directory groups are typically created in the Microsoft 365 admin center or in the Microsoft Azure portal. If you have the required permissions, you can use the 'Create group' action in App Connect to create Microsoft 365 groups or security groups.
  • If you are using a nonadmin user account to connect to Microsoft Teams, you can use App Connect to update or delete groups only if you are the owner of that group.
  • When you use the Create chat message or Retrieve chat messages action to create or retrieve chat messages in App Connect, you must first select an existing chat from the list.
    Sample entries in the Chat list
    • For one-on-one chats with another user whose name is specified in the To field in Microsoft Teams, the chat ID is displayed in the App Connect Chat list in the format 19:50144721-4f5b-4765-9b65-fd554a36c65c_8372f761-5d10-4888-ef47-5be0b7315e72@unq.gbl.spaces.
    • For group chats (which include the subject of the conversation in the Group name field, and multiple usernames in the To field in Microsoft Teams), the Group name (subject) value is displayed in the App Connect Chat list, making the chat easily identifiable.

    If you intend to use the Create chat message or Retrieve chat messages actions frequently, consider creating your chats with a Group name (subject) value in Microsoft Teams.

  • When you use the Create message reply or Retrieve message replies action to create or retrieve message replies in App Connect, you must first select a team, channel, and message for the reply. In the Message list, messages that were created with a subject displays the subject value, and messages without a subject display an ID value that was generated by Microsoft Teams.
    Sample Message list entries in App Connect

    If required, you can check which ID is assigned to a message in Microsoft Teams by opening the More options menu (...) for a message and then clicking Copy link. The message ID is included in the link; for example:

    https://teams.microsoft.com/l/message/19:a954b78415a547a7438c354c54b40f30@thread.tacv2/1595593605014?tenantId=0184ab77-1234-4ac0-5678-bf7eec6de925&groupId=e1c2515c-4512-471e-a772-60ce5ba78921&parentMessageId=1595593605014&teamName=FDteam&channelName=General&createdTime=1595593605014

    Locating the link for a message ID

    If you intend to use the Create message reply or Retrieve message replies actions frequently, consider creating message replies with a subject in Microsoft Teams.

    Subject field for messages in Microsoft Teams
  • When you use the Create chat message, Create message, or Create message reply action to create a message or reply in App Connect, you can add an attachment to the message by specifying a content type and associated content. Currently, only rich card attachments are supported. You can use the Content type field to select a card format and then use the Content field to specify a rich card object that defines the JSON format of the card. The supported card attachments are as follows.
    Content type Description Content
    application/vnd.microsoft.card.adaptive An Adaptive card that can contain text, speech, images, buttons, and input fields. Specify an AdaptiveCard object.
    application/vnd.microsoft.card.hero A Hero card that can contain a large image, one or more buttons, and some text. Specify a HeroCard object.
    application/vnd.microsoft.card.thumbnail A Thumbnail card that can contain a thumbnail image, one or more buttons, and some text. Specify a ThumbnailCard object.
    application/vnd.microsoft.com.card.receipt A Receipt card that provides a receipt. Specify a ReceiptCard object.
    Restriction: This card currently gives partial output.
    application/vnd.microsoft.com.card.signin A Sign In card that requests a user to sign in. Specify a SignInCard object.

    For more information about these card attachments, see Cards Reference in the Microsoft documentation.

    The following examples provide sample JSON for each content type.

    Adaptive card:
    json
    
    {
        "type": "AdaptiveCard",
        "body": [
            {
                "type": "TextBlock",
                "size": "Medium",
                "weight": "Bolder",
                "text": "Profile Info"
            },
            {
                "type": "FactSet",
                "facts": [
                    {
                        "title": "Given name",
                        "value": "John"
                    },
                    {
                        "title": "Surname",
                        "value": "Doe"
                    },
                    {
                        "title": "Job title",
                        "value": "Software Dev"
                    },
                    {
                        "title": "Office location",
                        "value": "NYC"
                    },
                    {
                        "title": "Email",
                        "value": "john@doe.com"
                    }
                ]
            },
            {
                "type": "TextBlock",
                "text": "Business phones",
                "weight": "Bolder"
            },
            {
                "type": "TextBlock",
                "text": "{$data}",
                "$data": "{businessPhones}",
                "spacing": "None"
            }
        ],
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "version": "1.0"
    }
    Hero card:
    json
    {
         "title": "Seattle Center Monorail",
         "subtitle": "Seattle Center Monorail",
         "text": "The Seattle Center Monorail is an elevated train line between Seattle Center (near the Space Needle) and downtown Seattle. It was built for the 1962 World's Fair. Its original two trains, completed in 1961, are still in service.",
         "images": [
           {
             "url":"https://upload.wikimedia.org/wikipedia/commons/thumb/4/49/Seattle_monorail01_2008-02-25.jpg/1024px-Seattle_monorail01_2008-02-25.jpg"
           }
         ],
        "buttons": [
          {
             "type": "openUrl",
             "title": "Official website",
             "value": "https://www.seattlemonorail.com"
           },
          {
            "type": "openUrl",
            "title": "Wikipeda page",
            "value": "https://en.wikipedia.org/wiki/Seattle_Center_Monorail"
           }
         ]
       }
    Thumbnail card:
    json
    {
        "title": "Bender",
        "subtitle": "tale of a robot who dared to love",
        "text": "Bender Bending Rodríguez is a main character in the animated television series Futurama. He was created by series creators Matt Groening and David X. Cohen, and is voiced by John DiMaggio",
        "images": [
          {
            "url": "https://upload.wikimedia.org/wikipedia/en/a/a6/Bender_Rodriguez.png",
            "alt": "Bender Rodríguez"
          }
        ],
        "buttons": [
          {
            "type": "imBack",
            "title": "Thumbs Up",
            "image": "http://moopz.com/assets_c/2012/06/emoji-thumbs-up-150-thumb-autox125-140616.jpg",
            "value": "I like it"
          },
          {
            "type": "imBack",
            "title": "Thumbs Down",
            "image": "http://yourfaceisstupid.com/wp-content/uploads/2014/08/thumbs-down.png",
            "value": "I don't like it"
          },
          {
            "type": "openUrl",
            "title": "I feel lucky",
            "image": "http://thumb9.shutterstock.com/photos/thumb_large/683806/148441982.jpg",
            "value": "https://www.bing.com/images/search?q=bender&qpvt=bender&qpvt=bender&qpvt=bender&FORM=IGRE"
          }
        ],
        "tap": {
          "type": "imBack",
          "value": "Tapped it!"
        }
      }
    Receipt card (Partial):
    json
    {
            "title": "I'm a receipt card",
            "items": [
              {
                "title": "Sushi",
                "subtitle": "2 piece",
                "image": {
                  "url": "https://mydeploy.azurewebsites.net/sushi.png"
                },
                "price": "16.25",
                "quantity": "1"
              },
              {
                "title": "Tenpura",
                "subtitle": "1 dish",
                "image": {
                  "url": "https://mydeploy.azurewebsites.net/tenpura.jpg"
                },
                "price": "34.50",
                "quantity": "2"
              }
            ],
            "total": "275.25",
            "tax": "27.52",
            "buttons": [
              {
                "type": "openUrl",
                "title": "Go to my site",
                "value": "https://blogs.msdn.microsoft.com/tsmatsuz"
              }
            ]
          }
    Sign In card:
    json
    {
        "buttons": [
            {
                "title": "Log In",
                "type": "openUrl",
                "value": "https://login.microsoftonline.com"
            }
        ],
        "text": "Sign in to our app"
    }

Post connection considerations

Take note of the following consideration after you are connected to Microsoft Teams:

Prerequisites for downloading call recording and call transcript content

To use the Download call recording content and Download call transcript content actions, you must schedule the meeting as a Microsoft Teams calendar event. To schedule the meeting as a Microsoft Teams calendar event, in the Create event action, you need to set Is online meeting to True.

Is online meeting field set to 'True' in the Create event action

Events and actions

Microsoft Teams events

These events are for changes in this application that trigger a flow to start completing the actions in the flow.

Note: In containers, only local accounts can be used for these events.
Object Event Description
Messages Deleted message Triggers when a message is deleted in Microsoft Teams
New message Triggers when a new message is created in Microsoft Teams
Updated message Triggers when a message is updated in Microsoft Teams

Microsoft Teams actions

Your flow completes these actions on this application.

Object Action Description
Call recordings Download call recording content Downloads the content of a single recording of an online meeting
Retrieve call recordings by meeting ID Retrieves a list of call recordings of an online meeting using meeting ID
Call transcripts Download call transcript content Downloads the content of a single transcript of an online meeting
Retrieve call transcripts by meeting ID Retrieves a list of call transcripts of an online meeting
Channels Create channel Create a channel for a team
Delete channel Delete a channel
Retrieve channels Retrieve the properties of a channel
Update channel Update the settings of a channel
Chat messages Retrieve chat messages Retrieve a set of chat messages
Send chat message Create a chat message
Chats Retrieve chats Retrieve a list of chats
Events Create event Creates an event
Delete event Deletes an event
Retrieve events Retrieves all online meeting events
Update event Updates the properties of an online meeting
Groups Create group Create a group
Delete group Delete a group
Retrieve groups Retrieve a list of groups
Update group Update the properties of a group
Members Add member Add a member to a group
Delete member Delete a member of a group
Retrieve members Retrieve the list of members of a group
Message replies Create a reply to message Create a reply to a message in a channel
Retrieve message replies Retrieve replies to a message in a channel
Messages Retrieve messages Retrieve messages in a channel
Send message to channel Create a message in a channel
Online meetings Create online meeting Creates an online meeting
Delete online meeting Deletes an online meeting
Find meeting slots Suggests meeting times based on multiple parameters like availability of people, time, and location
Retrieve online meeting  
Update online meeting Updates the properties of an online meeting
Owners Delete owner Delete an owner of a group
Retrieve owners Retrieve the list of owners of a group
Set owner Set a user as the owner of a group
Teams Create team Create a team from a group
Retrieve teams Retrieve the properties of a team
Update team Update the settings of a team
Users Retrieve users Retrieve a list of users

Examples

Dashboard tile for a template that uses Microsoft Teams
Dashboard tile for a template that uses Microsoft Teams
Dashboard tile for a template that uses Microsoft Teams

Use templates to quickly create flows for Microsoft Teams

Learn how to use App Connect templates to quickly create flows that complete actions on Microsoft Teams. For example, go to the Discover page and search for Microsoft Teams.

Dashboard tile for a template that uses Microsoft Teams