How to create a Teams chat from Microsoft Lists

This blog post is in response to a question posed in the comments section of Microsoft Lists: Updated Issue Tracker. The question is: “Wondering if there is a way of integrating the Teams chat function into the Issue Tracker – so that when someone opens an “issue”; I can chat with them within the context of the particular issue.”

Using Power Automate we can create a “button” Flow that will use the data in the list to prompt to start a chat using a simple Adaptive Card and then create a new chat with the user who logged the issue. It is a great user experience and a cool way to extend Microsoft Lists functionality to Teams.

Create a new Flow by clicking Integrate > Power Automate > See your flows.

See your flows

Click New flow > Instant cloud flow.

Instant cloud flow

Provide a Flow name, I.e. “Issue tracker – Start Chat”, select the SharePoint “For a selected item” and then click “Create”.

SharePoint For a select item

Set the For a selected item to:

  • Site Address and List Name to your target site and list
For a selected item

Add a SharePoint – Get item action and set:

  • Site Address and List Name to your target site and list
  • Id to “ID” from the For a selected item trigger
 SharePoint – Get item action

Add a Microsoft Teams – Post adaptive card and wait for a response action and set:

  • Post as to “Flow bot”
  • Post in to “Chat with Flow bot”
  • Message to:

{

    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",

    "type": "AdaptiveCard",

    "version": "1.2",

    "speak": "Issue tracker chat",

    "body": [

        {

            "type": "TextBlock",

            "text": "Issue tracker: @{outputs('Get_item_-_Issue_tracker')?['body/Title']}",

            "size": "Large",

            "weight": "Bolder"

        },

        {

            "type": "TextBlock",

            "text": "@{outputs('Get_item_-_Issue_tracker')?['body/Assignedto/DisplayName']} is requesting to chat with you about your submitted issue. Click \"Start chat\" to start the chat.",

            "isSubtle": true,

            "wrap": true

        }

    ],

    "actions": [

        {

            "type": "Action.Submit",

            "title": "Start chat",

            "data": {

                "UserAction": "Start"

            }

        }

    ],

    "-ms-tokens": {}

}

  • Update message to “Thanks for your response!”
  • Recipient to “Issue logged by Email”
Adaptive Card

A couple of important notes on this step. I used the Adaptive Cards designer to develop this card. You can customize further at Designer | Adaptive Cards. The submit button passes the “UserAction” value back to the Flow for evaluation and next steps.

Add a new Condition action and set:

  • Value to the following expression outputs('Post_adaptive_card_and_wait_for_a_response_-_Chat')?['body/data/UserAction']
  • Condition to “Is equal to”
  • Value to “Start”
Condition action
  • Add a new Microsoft Teams – Create a chat action in the If yes branch and set:
    • Members to add to “Issue logged by Email”
    • Title to “Issue tracker: ” “Title” from the  SharePoint – Get item action

My completed Flow is shown in the image below.

Save and test your Flow by right-clicking on an item, select Automate and then click “Issue tracker – Start chat”.

If all goes well the person who logged the issue will receive a prompt to start a chat with the person to whom the issue is assigned to.

After clicking “Start chat” a new empty chat is created.

I like this Flow pattern because it provides context to the user experience and allows the user to start the chat on their terms. Microsoft Lists and Adaptive Cards powered by Power Automate make for a compelling platform to modernize business processes without heavy-handed development tools. I am looking forward to exploring Adaptive Cards further in the future.

Thanks for reading!

NY

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s