Overview
Version
| Report Server Version | Plugin Version | Functional Change |
|---|---|---|
V11.0 | V1.2 | / |
Function Description
This document introduces the required environment preparation before you configure integration with Teams.
You can integrate FineReport with Microsoft Teams using the Teams Integration plugin.
You can configure Teams notifications in the Client Notification setting in Task Schedule.
You can integrate FineReport with multiple Teams applications.
Network Environment
Network Requirement
1. External network user
External network users can configure the integration without restrictions.
2. Internal network user
The following three URLs must be reachable via the ping command:
login.microsoftonline.com
https://graph.microsoft.com/v1.0
The domain name used by the webhook. For example, https://fanruan.webhook.office.com. For details about how to check the domain name, see the "Teams Webhook" section in Teams Integration Example.
If the URLs are unreachable via the ping command, you can set up three proxy servers and configure NGINX as a forward proxy on each, with each server handling one of the three URLs.
Domain Name Format of the Report Server
The report server supports two domain name formats:
When the report server uses HTTPS, URLs formatted like https://xxx.xxx.com/webroot/decisionare supported.
When the report server uses a non-HTTPS protocol, only URLs formatted as http://localhost:Port number/webroot/decision are supported. In this case, after integration with Teams, you cannot set Message Type to Image/Text Message in Task Schedule on the decision-making platform.
Note: Notes
Currently, the single sign-on function is only supported in the Teams app.
Functions are limited for the new Teams app upon its initial release. For example, you can not preview templates on the decision-making platform directly in Teams. Instead, you need to click a link that opens a template in a browser for preview.
To preview templates directly in Teams, you need to install Teams of the individual version, as shown in the following figure.

Note: Procedure
Creating an App in Microsoft Azure
1. Log in to the website https://portal.azure.com/#home as the admin, enter App registrations in the search box, and select the first option in Services.

2. Click New registration.

3. Enter Teams Integration Test in the text box and click Register.

Configuring App Permissions
1. Click Teams Integration Test on the App registrations page to enter the App setting page.

2. Select API permissions in Manage, click Add a permission, and choose Microsoft APIs > Microsoft Graph.

3. Add permissions.
Click Delegated permissions, enter User.Read in the search box, and tick User.Read in User.

Click Application permissions, enter the following six permissions in the search box one by one, tick them separately, and click Add permissions:
Application.Read.All
Chat.Create
Group.Read.All
GroupMember.Read.All
Organization.Read.All
User.Read.All

3. For permissions not granted by default, wait for the admin consent after applying for them.

Configuring Certificates and Secrets
Click Certificates & secrets in Manage, choose Client secrets > New client secret, and add a client secret.

Note: The client secret value can only be viewed when it is created and cannot be accessed afterward. Before leaving the page, be sure to save the created secret value.

Configuring URI Wildcards
For details, see the official Microsoft document Redirect URI (reply URL) outline and restrictions.
1. Select Authentication in Manage, click Add a Platform, and select Web in Web applications.

2. Enter the redirect URL of the application in the pop-up dialog box, and click Configure.
The redirect URL is formatted as the decision-making platform address suffixed with /plugin/public/com.fr.plugin.teams.v11/teams/single, for example, https://IP address:Port number/webroot/decision/plugin/public/com.fr.plugin.teams.v11/teams/single.

3. The JSON data of the redirect URL will be automatically added to AAD Graph App Manifest in Manifest after the configuration.

4. Append a slash and an asterisk (/*) to the redirect URL in the JSON data, and click Save, as shown in the following figure.