Posting to Microsoft Teams from Workflow

Hi there.

There are various enterprise social networking tools nowadays.

I have posted articles concerning linking with Slack and ChatWork previously. Today, I would like to describe setting up a connection with Microsoft Teams, aiming for combined use of Office 365 and Questetra.
Related article: Check Digest of Business with Internal Chat Service “slack”
Related article: Connecting ChatWork with Cloud Workflow

TOC
1. Overview of linkage between Microsoft Teams and Questetra
2. Settings on Microsoft Teams
3. Settings on Questetra
3-1. Using an Add-on
3-2. Not using an Add-on
4. Summary

1. Overview of linkage between Microsoft Teams and Questetra

The processing flow is like the following figure.
Although it is a common form of collaborating with enterprise social networks, that is when an approval request results via Questetra, the content of the result and the link to the details will be posted to Microsoft Teams.

2. Settings on Microsoft Teams

Configure an Incoming Webhook as a connector for the channel to which you are posting.

Configure the name and image, and obtain the endpoint URL. (Copy the endpoint URL somewhere for later use.)

3. Settings on Questetra

I will explain two separate cases where an add-on (Service Task definition) is used and not used respectively.
An add-on is a file that can be imported and used, and Service Task definition add-ons can be embedded in a flow. I recommend using an add-on if you prefer an easier setup. Whereas, if you want to handle a process in a more advanced way, such as by expanding the format of your posts, etc. you can be more flexible without using add-ons.

3-1. Using an Add-on

First, import the add-on (Service Task definition).

Download the add-on file below and import it to the Questetra App in reference to this page (M415).

MicrosoftTeams-messagePost.xml

Config items are as follows.

Config nameRequiredType
A: Endpoint URLRequiredEnter the endpoint URL obtained earlier
B: Select TEXT DATA for TitleOptionalSelect a String-type Data Item (single line) that will store the title you want to post
C: Select TEXT DATA for TextRequiredSelect a String-type Data Item (multiple
lines) that will store the text you want to post
X: Select TEXT DATA for LogOptionalSpecify a String-type Data Item to store log output if needed

* If you set up the following in the Data Item’s text field as the initial value, the wording to be posted will be prepared automatically.
(Substitute the part “XXX.questetra.net” with the value of your own environment. You cannot use the “${var[applicationRoot]}” format which I will mention later.)

Your request has been approved. [Details] https://XXX.questetra.net/OR/ProcessInstance/listView?processInstanceId=#{processInstanceId}

Otherwise, there is another method using an [Update Data] before the add-on.。
Related document: M227: Auto Executing Data Binding, Arithmetic Operations

* This add-on is configured to send JSON data to Microsoft Teams according to the format that I will explain later, and the contents to be posted is very simple. It is also possible to send more advanced contents by expanding the add-on.

3-2. Not Using an Add-on

The part the flow for sending posts is as follows.

At the Update Data on the left the JSON data to be sent to Microsoft Teams is prepared. Then it is sent to the endpoint URL as an HTTP request at the Throwing Message Intermediate Event (HTTP) on the right.

In the Update Data in which the JSON data is to be prepared, the set up should be as follows.

{
“title”: “Approval:#{processInstanceTitle}”,
“text”: “Your request has been approved. [Details](${var[applicationRoot]}OR/ProcessInstance/listView?processInstanceId=#{processInstanceId})”
}

With this setting the wordings to be posted are,
as the subject: “Approval:” + string set in “Title”
as the body: “Your request has been approved” + string of [Details] which is hyperlinked to the details page
Modify this part to what you want to actually post.

* See the following for the details of Update Data
M227: Auto Executing Data Binding, Arithmetic Operations
“${var[applicationRoot]}” and “#{processInstanceId}” are formats for converting according to the environment or ID.

* See the following for the detailed specification of JSON data to be transmitted.
Post an actionable message card to an Office 365 group
This page is the link destination of “Get started with actionable messages in Office 365” on the connector setting screen, and from the content I presume that the specification for Outlook is applied to Microsoft Teams as it is. In addition, markdown notation is available in the posting text. More advanced posting is also possible by devising the setting in the Update Data.

Also set the following for the Throwing Message Intermediate Event (HTTP) to send HTTP requests.

  • Network Settings tab -> Access URL: The endpoint URL which you have obtained earlier in the Microsoft Teams settings
  • Network Settings tab -> HTTP Method: POST (Specify Request Body)
  • Request Body tab -> The Data Item to be sent: Data Item storing the JSON data which is prepared at the Update Data
  • Request Body tab -> Content-Type: “application/json”
* See the following for the details of the Throwing Message Intermediate Event (HTTP)
M225: Auto Sending of HTTP Request with Business data Inserted

4. Summary

When you run the App it will be posted like the following.

Thus, you can insert a process for posting to Microsoft Teams into a business flow just using simple settings.

If you have any questions please feel free to Contact us.

Discover more from Questetra Support

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top