Fortinet white logo
Fortinet white logo

Microsoft Teams

Microsoft Teams v3.0.0

About the connector

Microsoft Teams is a chat-based workspace in Office 365 that provides global, remote, and dispersed teams with the ability to work together and share information using a common space.

This document provides information about the Microsoft Teams Connector, which facilitates automated interactions, with a Microsoft Teams server using FortiSOAR™ playbooks. Add the Microsoft Teams Connector as a step in FortiSOAR™ playbooks and perform automated operations with Microsoft Teams such as creating a new user in MS Teams, retrieving details for groups from MS Teams, sending messages to an MS Teams channel, etc.

The FortiSOAR for Microsoft Teams application (app) builds a bridge for seamless integration with FortiSOAR, allowing you to leverage the power of FortiSOAR as part of your daily communications and threat investigation routines. For more information, see the FortiSOAR for Microsoft Teams Application document.

Version information

Connector Version: 3.0.0

FortiSOAR™ Version Tested on: 7.4.1-3167

Microsoft Teams Version Tested on: Microsoft Graph API v1.0

Authored By: Fortinet

Certified: Yes

Release Notes for version 3.0.0

The following enhancements have been made to the Microsoft Teams Connector in version 3.0.0:

  • Added the 'Enable Bot Communication' configuration parameter to enable bi-directional communication between FortiSOAR and Microsoft Teams using the FortiSOAR for Microsoft Teams application. For more information, see the FortiSOAR for Microsoft Teams Application document.
  • Added a new action named "Send Bot Message/Input Form".
  • Renamed the following actions and playbooks:
    • 'Get User' to 'Get User Details'
    • 'Update User' to 'Update User Details'
    • 'Add Group Owner' to 'Add Group’s Owner'
    • 'Get Group Owner' to 'Get Group’s Owner'
    • 'Remove Group Owner' to 'Remove Group’s Owner'
    • 'Add Group Member' to 'Add Group’s Member'
    • 'Remove Group Member' to 'Remove Group’s Member'
    • 'Get Group Member' to 'Get Group’s Member'
    • 'Get Channel' to 'Get Channel Details'
    • 'Get Channel Messages' to 'Get Channel’s Messages'
    • 'Send Channel Message' to 'Send Message to Channel'
    • 'Message Mention' to 'Tag User in Message'
    • 'Get Team' to 'Get Team Details'
    • 'Update Team' to 'Update Team Details'
    • 'List User Joined Teams' to 'Get User’s Teams'
    • 'Get Meeting' to 'Get Meeting Details'
    • 'Update Meeting' to 'Update Meeting Details'
    • 'Send Chat Message' to 'Send Direct Message'

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the yum command as a root user to install the connector:
yum install cyops-connector-microsoft-teams

Prerequisites to configuring the connector

  • You must have the URL of the Microsoft Teams server to connect and perform automated operations and credentials to access that server.
  • The FortiSOAR™ server should have outbound connectivity to port 443 on the Microsoft Teams server.
  • Bi-directional communication between Microsoft Teams and FortiSOAR only works on a publicly accessible FortiSOAR instance such as, FortiSOAR hosted on AWS or a FortiSOAR instance deployed on FortiCloud. To enable bi-directional communication, do the following:
    1. SSH to your FortiSOAR instance using 'root' access.
    2. Run the following commands:
      1. cd /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0
      2. sudo sh run_listener_prerequisite.sh
        Note: Usually the run_listener_prerequisite.sh script handles the following tasks:
        1. Adds the 'msteamsbot' nginx route entry in the '/etc/nginx/conf.d/cyops-api.conf' file.
        2. Generates a self-signed certificate for the 'bot notification' service.

Minimum Permissions Required

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In FortiSOAR™, on the Connectors page, click the Microsoft Teams connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Get Access Token Select the method used to get authentication tokens for accessing the security graph APIs. You can choose from the following options:
  • Without a User – Application Permission
    The 'Without a User - Application Permission' flow refers to a process in which there is no user sign-in; instead, the administrator provides consent on behalf of all user's inboxes in a given tenant. Azure applications require 'full_app' permissions for granting your admin's consent.
  • On behalf of User – Delegate Permission
    The 'On behalf of User - Delegated Permission' flow refers to a process in which users access the mailbox using the signed-in users' consent.

If you choose 'Without a User - Application Permission', then you must specify the following parameters:

  • Server URL: Specify the service-based URI to which you will connect and perform the automated operations.
  • Tenant ID: Specify the ID of the tenant that is assigned to you by the Azure application registration portal
  • Client ID: Specify the unique ID of the Azure application that is used to create an authentication token required to access the API. The client ID comes from registering the application with the Microsoft Azure portal. It is in the UUID format.
  • Client Secret: Specify the unique Client Secret of the Azure application that is used to create an authentication token required to access the API. Sometimes called an application password, the client secret is set from the 'Certificates & Secrets' section of the Microsoft Azure portal. For information on how to get the secret key, see the 'Create an app to access Microsoft Defender for Endpoint without a user' article.

If you choose 'On behalf of User - Delegated Permission', then you must specify the following parameters:

  • Server URL: Specify the service-based URI to which you will connect and perform the automated operations.
  • Tenant ID: Specify the ID of the tenant that is assigned to you by the Azure application registration portal
  • Client ID: Specify the unique ID of the Azure application that is used to create an authentication token required to access the API. The client ID comes from registering the application with the Microsoft Azure portal. It is in the UUID format.
  • Client Secret: Specify the unique Client Secret of the Azure application that is used to create an authentication token required to access the API. Sometimes called an application password, the client secret is set from the 'Certificates & Secrets' section of the Microsoft Azure portal. For information on how to get the secret key, see the 'Create an app to access Microsoft Defender for Endpoint without a user' article.
  • Authorization Code: (Only Applicable to On behalf of User – Delegate Permission) The authorization code that you acquired during the authorization step. For more information, see the Getting Access Tokens using the Delegate Permissions method topic.
  • Redirect URL: (Only Applicable to On behalf of User – Delegate Permission) The redirect_uri of your app, where authentication responses can be sent and received by your app. It must exactly match one of the redirect_uri's you registered in the app registration portal.

For more information on how to get the Authentication code, see the Getting the Authorization Code section.

Enable Bot Communication Select this option if you want to enable bi-directional communication between Teams and FortiSOAR.
Important: By default, the bot service uses port 3978 of the FortiSOAR instance. If you want to use a custom port, see the Troubleshooting issues with the 'Listener' for Teams topic.
NOTE: This option will work only if you have installed the FortiSOAR for Microsoft Teams Solution Pack. For more information on the FortiSOAR For Microsoft Teams Solution Pack, see the Content Hub Portal.
If you select this option, then specify the following parameters based on your configured FortiSOAR for Microsoft Teams Application:
  • App Service URL: Specify the service URL of the FortiSOAR for the Microsoft Teams Application.
    NOTE: The Service URL differs based on the specified region.
  • App ID: Specify the Application ID of your configured FortiSOAR for Microsoft Teams Application.
  • App Password: Specify the Application Secret of your FortiSOAR for Microsoft Teams Application.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™:

Function Description Annotation and Category
Create User Creates a new user in Microsoft Teams based on the display name, mail nickname, password, and other input parameters you have specified. create_user
Investigation
Get All Users Retrieves a list of users from Microsoft Teams based on the query for filtering users that you have specified. list_users
Investigation
Get User Details Retrieves details for users from Microsoft Teams based on the user ID or the user's principal name you have specified. get_user
Investigation
Update User Details Updates the details of an existing Microsoft Teams user based on the user ID or the user's principal name, display name, and other input parameters you have specified. update_user
Investigation
Delete User Deletes an existing Microsoft Teams user based on the user ID or the user's principal name you have specified.
IMPORTANT: Once a user is deleted, the resources of the user are moved to a temporary container from which they can be restored within 30 days after which, they are permanently deleted.
delete_user
Investigation
Create Group Creates a new group in Microsoft Teams based on the display name, mail nickname, and other input parameters you have specified.
NOTE: You can create an Office 365 Group (Unified Group) or a Security Group.
create_group
Investigation
Get Groups Retrieves details for groups from Microsoft Teams based on the group ID you have specified.
NOTE: If no parameter is specified, then this operation returns details of all the groups.
get_groups
Investigation
Delete Group Deletes an existing Microsoft Teams group based on the group ID you have specified.
IMPORTANT:: Once a group is deleted, the Office 365 groups are moved to a temporary container from which they can be restored within 30 days after which, they are permanently deleted.
delete_group
Investigation
Add Group's Owner Adds a user as an owner of a specific Office 365 or Security Group in Microsoft Teams based on the group ID and user ID you have specified. add_owner
Investigation
Get Group's Owner Retrieves a list of owners of a specified group from Microsoft Teams based on the group ID you have specified get_group_owner
Investigation
Remove Group's Owner Removes the specified owner from the specified group in Microsoft Teams based on the group ID and owner ID you have specified. remove_group_owner
Investigation
Add Group's Member Adds a user as a member of a specific Office 365 or Security Group in Microsoft Teams based on the group ID and user ID you have specified. add_member
Investigation
Get Group's Members Retrieves a list of the direct members of a group from Microsoft Teams based on the group ID and user ID you have specified. A group can have users, contacts, devices, service principals, and other groups as its members. get_group_member
Investigation
Remove Group's Member Removes the specified user from the specified group in Microsoft Teams based on the group ID and user ID you have specified. remove_group_member
Investigation
Create Channel Creates a new channel in Microsoft Teams based on the team or group name, channel name, membership type, and other input parameters you have specified. create_channel
Investigation
Get Channel Details Retrieves information for a specified channel from Microsoft Teams based on the team or group ID and channel name you have specified. get_channel
Investigation
Get Channel's Messages Retrieves a list of messages (without the replies) from a specific channel of a specific group in Microsoft Teams based on the team or group ID, channel ID, and optionally the message ID you have specified.
NOTE: If you specify the message ID then details of the specific message will be retrieved from Microsoft Teams.
get_channel_messages
Investigation
Send Message to Channel Sends chat messages to a specified channel in the specified group in Microsoft Teams based on the team or group ID, channel ID, and message you have specified. send_message
Investigation
Reply Message Replies to a specified chat message of a specified channel in the specified group in Microsoft Teams based on the group ID, channel ID, message ID, and message you have specified. reply_messages
Investigation
Tag User in Message Mentions a specific user to a specific message and channel in Microsoft Teams based on the team or group ID, channel ID, user ID, user display name, and message you have specified. messages_mention
Investigation
Create Team Creates a new team in Microsoft Teams based on the display name, description, and other input parameters you have specified. create_team
Investigation
Get User’s Teams Retrieves the teams in which the specified user is a direct member from Microsoft Teams based on the user ID you have specified. list_user_joined_teams
Investigation
Get Team Details Retrieves detailed information about a team from Microsoft Teams based on the team or group ID you have specified. get_team
Investigation
Update Team Details Updates the properties for an existing team in Microsoft Teams based on the team ID and properties you have specified. update_team
Investigation
Archive Team Archives the specified team in Microsoft Teams based on the team ID you have specified.
NOTE: When a team is archived, users can no longer send or like messages on any channel that is part of the archived team.
archive_team
Investigation
Unarchive Team Restores an archived team in Microsoft Teams based on the team ID you have specified. Unarchiving a team restores the user's ability to send messages to the team and edit the properties of the team. unarchive_team
Investigation
Clone Team Creates a copy of a specified team in Microsoft Teams based on the team ID, display name, mail nickname, and other input parameters you have specified. This operation also creates a copy of the team's corresponding group. clone_team
Investigation
Create Meeting Creates a new meeting in Microsoft Teams based on the user ID, subject, and other input parameters you have specified. create_meeting
Investigation
Get Meeting Details Retrieves details for a specific meeting from Microsoft Teams based on the user ID, meeting ID, and other input parameters you have specified. get_meeting
Investigation
Update Meeting Details Updates the properties for an existing meeting in Microsoft Teams based on the user ID, meeting ID, and other input parameters you have specified. update_meeting
Investigation
Delete Meeting Deletes an existing meeting in Microsoft Teams based on the user ID and meeting ID you have specified. delete_meeting
Investigation
Send Direct Message Sends a new chat message to a specified user in Microsoft Teams based on the sender's and receiver's email address, and the message you have specified.
NOTE: This action is not supported if the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option. For more information, see the Getting Access Tokens section.
send_chat
Investigation
Send Bot Message/Input Form Sends a manual input form or message to Microsoft Teams based on the input object that you have specified.
NOTE: This action works only if users have selected the 'Enable Bot Communication' option while configuring the connector and also configured the FortiSOAR for Microsoft Teams Application.
send_input
Investigation

operation: Create User

Input parameters

Parameter Description
Display Name Specify the name to display in the address book for the user that you want to create in Microsoft Teams.
NOTE: Maximum length for the user's display name is 256 characters.
Account Enabled Select this checkbox, i.e., set it to "true", to enable the newly created account in Microsoft Teams. By default, this is set as "false".
Mail Nick Name Specify the mail alias for the user that you want to create in Microsoft Teams.
User Principal Name Specify the principal name of the user, for example, someuser@example.com, that you want to create in Microsoft Teams.
Password Specify the password to be set for the user that you want to create in Microsoft Teams. You must set this password when you are creating a user in Microsoft Teams. Passwords can be updated. However, the user will be required to change the password on their next login. The password must satisfy minimum requirements as specified by the "passwordPolicies" parameters of the user. By default, a strong password is required.
Force Change Password Next SignIn Select this checkbox, i.e., set it to "true", to force users to change their password when they sign in to Microsoft Teams the next time. Once the user has changed their password, this parameter automatically resets to false. By default, this is set as "false".
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the user you want to create in Microsoft Team. The additional properties signify additional fields associated with the user.

Output

The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}

operation: Get All Users

Input parameters

Parameter Description
Filter Query Specify the filter query based on which you want to retrieve groups. Refer to Azure Filter Query Parameters for information on the filter query syntax.
Select Query Specify the $select query to retrieve groups from Microsoft Teams. The OData's Select query is supported on fields such as id, userPrincipalName, displayName, etc. Refer to OData system query options for more information.
Search Query Specify the search query to retrieve user details from Azure Active Directory. The OData's Search query is supported on fields such as id, userPrincipalName, displayName, etc. Refer to OData system query options for more information.
Order By (Optional) Specify the order in which you want to sort the results retrieved from Microsoft Teams. You can specify asc or desc.
By default, this is set to asc.
Number of Users to Fetch (Optional) Specify the maximum number of users that this operation should return from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the user you want to create in Microsoft Team. The additional properties signify additional fields associated with the user.

Output

The output contains the following populated JSON schema:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}

operation: Get User Details

Input parameters

Parameter Description
Based On Select the parameter using which you want to retrieve details for a user from Microsoft Teams. You can choose from the following options:
  • User ID: Specify the ID of the user whose details you want to retrieve from Microsoft Teams, in the User ID field.
  • User Principal Name: Specify the User Principal Name of the user whose details you want to retrieve from Microsoft Teams, in the User Principal Name field. If this parameter is not specified then it returns all user details.

Output

The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}

operation: Update User Details

Input parameters

Parameter Description
Based On Select the parameter using which you want to update the details of a user in Microsoft Teams. You can choose from the following options:
  • User ID: Specify the ID of the user whose details you want to update in the User ID field.
  • User Principal Name: Specify the User Principal Name of the user whose details you want to update in the User Principal Name field.
Display Name Specify the display name that you want to update in the address book for the Microsoft Teams user.
Given Name Specify the given name (first name) that you want to update for the Microsoft Teams user.
Surname Specify the surname that you want to update for the Microsoft Teams user.
Job Title Specify the job title that you want to update for the Microsoft Teams user.
Office Location Specify the office location, i.e., the user's place of business that you want to update for the Microsoft Teams user.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to update for the Microsoft Teams user. The additional properties signify additional fields associated with the user.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Delete User

Input parameters

Parameter Description
Based On Select the parameter using which you want to delete the user in Microsoft Teams. You can choose from the following options:
  • User ID: Specify the ID of the user to delete in the User ID field.
  • User Principal Name: Specify the User Principal Name of the user whose details you want to delete in the User Principal Name field.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Create Group

Input parameters

Parameter Description
Display Name Specify the name to display in the address book for the group that you want to create in Microsoft Teams.
NOTE: Maximum length for the group's display name is 256 characters.
Mail Nickname Specify the mail alias for the group that you want to create in Microsoft Teams.
NOTE: Spaces are not allowed in the mail alias for the group.
Email Enabled Select this checkbox for mail-enabled groups.
Security Enabled Select this checkbox only for security-enabled groups, including Office 365 groups.
Group Type Specify the group type. If the collection contains Unified, the group is a Microsoft 365 group; otherwise, it's either a security group or a distribution group. For details, see: https://learn.microsoft.com/en-us/graph/api/resources/groups-overview?view=graph-rest-1.0#group-types-in-azure-ad-and-microsoft-graph
Description (Optional) Specify the description of the group that you want to create in Microsoft Teams.
Visibility Specify the visibility to be set for the Office 365 group that you want to create in Microsoft Teams. You can choose from the following options: Private, Public, HiddenMembership, or "empty" (which is interpreted as Public).
Custom Properties (Optional) Specify the additional properties, in JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"theme": "",
"groupTypes": [],
"visibility": "",
"description": "",
"displayName": "",
"mailEnabled": "",
"mailNickname": "",
"@odata.context": "",
"classification": "",
"membershipRule": "",
"proxyAddresses": [],
"createdDateTime": "",
"creationOptions": [],
"deletedDateTime": "",
"renewedDateTime": "",
"securityEnabled": "",
"preferredLanguage": "",
"expirationDateTime": "",
"isAssignableToRole": "",
"securityIdentifier": "",
"onPremisesDomainName": "",
"onPremisesNetBiosName": "",
"onPremisesSyncEnabled": "",
"preferredDataLocation": "",
"resourceBehaviorOptions": [],
"onPremisesSamAccountName": "",
"onPremisesLastSyncDateTime": "",
"resourceProvisioningOptions": [],
"onPremisesProvisioningErrors": [],
"onPremisesSecurityIdentifier": "",
"membershipRuleProcessingState": ""
}

operation: Get Groups

Input parameters

Parameter Description
Group ID Specify the ID of the group whose details you want to retrieve from Microsoft Teams.
NOTE: If you do not specify this parameter, then details of all the groups are returned.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:

Output schema when the "Group ID" is not specified:
{
"id": "",
"mail": "",
"theme": "",
"groupTypes": [],
"visibility": "",
"description": "",
"displayName": "",
"mailEnabled": "",
"mailNickname": "",
"classification": "",
"membershipRule": "",
"proxyAddresses": [],
"createdDateTime": "",
"creationOptions": [],
"deletedDateTime": "",
"renewedDateTime": "",
"securityEnabled": "",
"preferredLanguage": "",
"expirationDateTime": "",
"isAssignableToRole": "",
"securityIdentifier": "",
"onPremisesDomainName": "",
"onPremisesNetBiosName": "",
"onPremisesSyncEnabled": "",
"preferredDataLocation": "",
"resourceBehaviorOptions": [],
"onPremisesSamAccountName": "",
"onPremisesLastSyncDateTime": "",
"resourceProvisioningOptions": [],
"onPremisesProvisioningErrors": [],
"onPremisesSecurityIdentifier": "",
"membershipRuleProcessingState": ""
}

Output schema when the "Group ID" is not specified:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"theme": "",
"groupTypes": [],
"visibility": "",
"description": "",
"displayName": "",
"mailEnabled": "",
"mailNickname": "",
"classification": "",
"membershipRule": "",
"proxyAddresses": [],
"createdDateTime": "",
"creationOptions": [],
"deletedDateTime": "",
"renewedDateTime": "",
"securityEnabled": "",
"preferredLanguage": "",
"expirationDateTime": "",
"isAssignableToRole": "",
"securityIdentifier": "",
"onPremisesDomainName": "",
"onPremisesNetBiosName": "",
"onPremisesSyncEnabled": "",
"preferredDataLocation": "",
"resourceBehaviorOptions": [],
"onPremisesSamAccountName": "",
"onPremisesLastSyncDateTime": "",
"resourceProvisioningOptions": [],
"onPremisesProvisioningErrors": [],
"onPremisesSecurityIdentifier": "",
"membershipRuleProcessingState": ""
}
],
"@odata.context": ""
}
}

operation: Delete Group

Input parameters

Parameter Description
Group ID Specify the ID of the group that you want to delete from Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Add Group's Owner

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams to which you want to add the specific user as a group owner.
User ID Specify the ID of the user who you want to add as the group owner of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Get Group's Owner

Input parameters

Parameter Description
Group ID Specify the ID of the group whose group owner details you want to retrieve from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"@odata.type": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}

operation: Remove Group's Owner

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams from which you want to remove the specific user as a group owner.
Owner ID Specify the ID of the owner who you want to remove as the group owner of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Add Group's Member

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams to which you want to add the specific user as a member.
User ID Specify the ID of the user who you want to add as a member of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"owner_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Get Group's Members

Input parameters

Parameter Description
Group ID Specify the ID of the group whose direct members you want to retrieve from Microsoft Teams.
User ID Specify the ID of the member belonging to the specified group whose details you want to retrieve from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:

Output schema when the "User ID" is not specified:
{
"@odata.context": "",
"@odata.type": "",
"id": "",
"businessPhones": [],
"displayName": "",
"givenName": "",
"jobTitle": "",
"mail": "",
"mobilePhone": "",
"officeLocation": "",
"preferredLanguage": "",
"surname": "",
"userPrincipalName": ""
}

Output schema when the "User ID" is not specified:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"@odata.type": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}

operation: Remove Group's Member

Input parameters

Parameter Description
Group ID Specify the ID of the group which you want to remove from the specified member of that group
User ID Specify the ID of the user who you want to remove as the group member of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Create Channel

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in which you want to create a new channel in Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel Name Specify the name of the channel that you want to create in Microsoft Teams.
Description Specify the description of the channel that you want to create in Microsoft Teams.
Membership Type Select the type of membership that would be allowed for the channel that you want to create in Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the channel you want to create in Microsoft Team. The additional properties signify additional fields associated with the channel.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"webUrl": "",
"membershipType": ""
}

operation: Get Channel Details

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group that contains the channel whose information you want to retrieve from Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel whose information you want to retrieve from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the channel you want to create in Microsoft Team. The additional properties signify additional fields associated with the channel.

Output

The output contains the following populated JSON schema:

Output schema when the "Channel ID" is not specified:
{
"value": [
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"tenantId": "",
"webUrl": "",
"membershipType": ""
}
]
}

Output schema when the "Channel ID" is not specified:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"tenantId": "",
"webUrl": "",
"membershipType": ""
}
]
}

operation: Get Channel's Messages

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in Microsoft Teams from which you want to retrieve messages from the specified channel.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel in Microsoft Teams from which you retrieve messages.
Message ID (Optional) Specify the ID of the message whose details you want to retrieve from Microsoft Teams.

Output

The output contains the following populated JSON schema:

Output schema when the "Message ID" is not specified:
{
"@odata.context": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": "",
"tenantId": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

Output schema when the "Message ID" is not specified:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": "",
"tenantId": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}
]
}

operation: Send Message to Channel

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in Microsoft Teams to whom you want to send the group message.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel in Microsoft Teams on which you want to send the message.
Message Type Select the type of message that you want to send to the Microsoft Teams channel. You can choose from the following options:
  • Text: Specify the content of the group message that you want to send to a specific channel on a specific group or team in Microsoft Teams, in the Message field.
  • Adaptive Card Template: Specify the schema of adaptive cards in the JSON format that you want to send to the specific channel in Microsoft Teams. For more info, refer to https://adaptivecards.io/designer/.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

operation: Reply Message

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams whose conversation information you want to retrieve and to which you want to reply.
Channel ID Specify the ID of the channel in Microsoft Teams on which you want to send the reply to the specific message.
Message ID Specify the ID of the message in Microsoft Teams to which you want to send a reply.
Message Specify the content of the message that you want to send as a reply to the specified message.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"from": {
"application": "",
"device": "",
"conversation": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

operation: Tag User in Message

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in Microsoft Teams in which you want to add a mention of the specific user.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel in Microsoft Teams in which you want to add a mention of the specific user.
Message Specify the content of the message in which you want to add a mention of the specific user.
User ID Specify the ID of the user who you want to mention in the message.
User Display Name Specify the display name of the user who you want to mention in the message.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [
{
"id": "",
"mentionText": "",
"mentioned": {
"application": "",
"device": "",
"conversation": "",
"tag": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
}
}
],
"reactions": []
}

operation: Create Team

Input parameters

Parameter Description
Display Name Specify the display name of the team that you want to create in Microsoft Teams.
NOTE: The maximum length for the team's display name is 256 characters.
Description Specify the description of the team that you want to create in Microsoft Teams.
User ID (Optional) Specify the ID of the user whose teams you want to create in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Bind Team Template (Optional) Specify the name of the Bind Team Template for the team that you want to create in Microsoft Teams. Note: If you do not provide any value, the default template will be used.
Visibility Specify the visibility to be set for the Office 365 group that you want to create in Microsoft Teams. You can choose from the following options: Private, Public, HiddenMembership, or "empty" (which is interpreted as Public).
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the team you want to create in Microsoft Teams. The additional properties signify additional fields associated with the team.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"displayName": ""
}

operation: Get User’s Teams

Input parameters

Parameter Description
User ID Specify the ID of the user whose teams' membership information you want to retrieve from Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"internalId": "",
"classification": "",
"specialization": "",
"visibility": "",
"webUrl": "",
"isArchived": "",
"tenantId": "",
"isMembershipLimitedToOwners": "",
"memberSettings": "",
"guestSettings": "",
"messagingSettings": "",
"funSettings": "",
"discoverySettings": "",
"summary": ""
}
]
}

operation: Get Team Details

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group whose detailed information you want to retrieve from Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the team whose detailed information you want to retrieve from Microsoft Teams. The additional properties signify additional fields that you want to retrieve for the team from Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"internalId": "",
"classification": "",
"specialization": "",
"visibility": "",
"webUrl": "",
"isArchived": "",
"isMembershipLimitedToOwners": "",
"discoverySettings": {
"showInTeamsSearchAndSuggestions": ""
},
"memberSettings": {
"allowCreateUpdateChannels": "",
"allowCreatePrivateChannels": "",
"allowDeleteChannels": "",
"allowAddRemoveApps": "",
"allowCreateUpdateRemoveTabs": "",
"allowCreateUpdateRemoveConnectors": ""
},
"guestSettings": {
"allowCreateUpdateChannels": "",
"allowDeleteChannels": ""
},
"messagingSettings": {
"allowUserEditMessages": "",
"allowUserDeleteMessages": "",
"allowOwnerDeleteMessages": "",
"allowTeamMentions": "",
"allowChannelMentions": ""
},
"funSettings": {
"allowGiphy": "",
"giphyContentRating": "",
"allowStickersAndMemes": "",
"allowCustomMemes": ""
},
"summary": {
"ownersCount": "",
"membersCount": "",
"guestsCount": ""
}
}

operation: Update Team Details

Input parameters

Parameter Description
Team ID Specify the ID of an existing team whose properties you want to update in Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the team you want to update in Microsoft Team. The additional properties signify additional fields associated with the team.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"result": {
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"internalId": "",
"classification": "",
"specialization": "",
"visibility": "",
"webUrl": "",
"isArchived": "",
"isMembershipLimitedToOwners": "",
"discoverySettings": {
"showInTeamsSearchAndSuggestions": ""
},
"memberSettings": {
"allowCreateUpdateChannels": "",
"allowCreatePrivateChannels": "",
"allowDeleteChannels": "",
"allowAddRemoveApps": "",
"allowCreateUpdateRemoveTabs": "",
"allowCreateUpdateRemoveConnectors": ""
},
"guestSettings": {
"allowCreateUpdateChannels": "",
"allowDeleteChannels": ""
},
"messagingSettings": {
"allowUserEditMessages": "",
"allowUserDeleteMessages": "",
"allowOwnerDeleteMessages": "",
"allowTeamMentions": "",
"allowChannelMentions": ""
},
"funSettings": {
"allowGiphy": "",
"giphyContentRating": "",
"allowStickersAndMemes": "",
"allowCustomMemes": ""
},
"summary": {
"ownersCount": "",
"membersCount": "",
"guestsCount": ""
}
}
}

operation: Archive Team

Input parameters

Parameter Description
Team ID Specify the ID of an existing team that you want to archive in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}

operation: Unarchive Team

Input parameters

Parameter Description
Team ID Specify the ID of an existing team whose archive you want to restore from Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}

operation: Clone Team

Input parameters

Parameter Description
Team ID Specify the ID of the existing team whose clone you want to create in Microsoft Teams.
Display Name Specify the mail alias for the team that you have cloned in Microsoft Team, which must be unique in the organization. This parameter must be specified when a group is created or cloned. If this parameter is not specified, it will be computed from the Display Name.
NOTE: Known issue: This parameter is currently being ignored.
Mail Nick Name Specify the mail alias for the group, unique in the organization. This property must be specified when a group is created. If this property is not specified, it will be computed from the displayName.
NOTE: Known issue: This parameter is currently being ignored.
Parts to clone Specify a CSV list of the parts of the team you want to clone. Legal parts are "apps", "tabs", "settings", "channels", and "members".
Visibility Specify the visibility to be set for the team that you want to clone in Microsoft Teams. You can choose from the following options: Private or Public (which is interpreted as Public).

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}

operation: Create Meeting

Input parameters

Parameter Description
Subject Specify a subject of the meeting that you want to create in Microsoft Teams.
User ID Specify the ID of the user using whose ID you want to create a meeting in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Start Time Specify the start time of the meeting that you want to create in Microsoft Teams.
End Time Specify the end time of the meeting that you want to create in Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the meeting you want to create in Microsoft Team. The additional properties signify additional fields associated with the meeting.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"creationDateTime": "",
"startDateTime": "",
"endDateTime": "",
"joinUrl": "",
"joinWebUrl": "",
"meetingCode": "",
"subject": "",
"isBroadcast": "",
"autoAdmittedUsers": "",
"outerMeetingAutoAdmittedUsers": "",
"isEntryExitAnnounced": "",
"allowedPresenters": "",
"allowMeetingChat": "",
"allowTeamworkReactions": "",
"allowAttendeeToEnableMic": "",
"allowAttendeeToEnableCamera": "",
"recordAutomatically": "",
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": "",
"externalId": "",
"broadcastSettings": "",
"joinMeetingIdSettings": {
"isPasscodeRequired": "",
"joinMeetingId": "",
"passcode": ""
},
"audioConferencing": "",
"meetingInfo": "",
"participants": {
"organizer": {
"upn": "",
"role": "",
"identity": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"tenantId": "",
"identityProvider": ""
}
}
},
"attendees": []
},
"lobbyBypassSettings": {
"scope": "",
"isDialInBypassEnabled": ""
},
"chatInfo": {
"threadId": "",
"messageId": "",
"replyChainMessageId": ""
},
"joinInformation": {
"content": "",
"contentType": ""
}
}

operation: Get Meeting Details

Input parameters

Parameter Description
Meeting ID Specify the ID of the meeting whose details you want to retrieve from Microsoft Teams.
User ID Specify the ID of the user whose details you want to retrieve from Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the meeting whose details you want to retrieve from Microsoft Teams. The additional properties signify additional fields associated with the meeting.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"creationDateTime": "",
"startDateTime": "",
"endDateTime": "",
"joinUrl": "",
"joinWebUrl": "",
"meetingCode": "",
"subject": "",
"isBroadcast": "",
"autoAdmittedUsers": "",
"outerMeetingAutoAdmittedUsers": "",
"isEntryExitAnnounced": "",
"allowedPresenters": "",
"allowMeetingChat": "",
"allowTeamworkReactions": "",
"allowAttendeeToEnableMic": "",
"allowAttendeeToEnableCamera": "",
"recordAutomatically": "",
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": "",
"externalId": "",
"broadcastSettings": "",
"joinMeetingIdSettings": {
"isPasscodeRequired": "",
"joinMeetingId": "",
"passcode": ""
},
"audioConferencing": "",
"meetingInfo": "",
"participants": {
"organizer": {
"upn": "",
"role": "",
"identity": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"tenantId": "",
"identityProvider": ""
}
}
},
"attendees": []
},
"lobbyBypassSettings": {
"scope": "",
"isDialInBypassEnabled": ""
},
"chatInfo": {
"threadId": "",
"messageId": "",
"replyChainMessageId": ""
},
"joinInformation": {
"content": "",
"contentType": ""
}
}

operation: Update Meeting Details

Input parameters

Parameter Description
Meeting ID Specify the ID of an existing meeting whose properties you want to update in Microsoft Teams.
User ID Specify the ID of a user whose associated meeting properties you want to update in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Start Time Specify the start time of the meeting that you want to update in Microsoft Teams.
End Time Specify the end time of the meeting that you want to update in Microsoft Teams.
Subject Specify the subject of the meeting that you want to update in Microsoft Teams.
Enable Camera Select this option if attendees can turn on their cameras.
Enable Mic Select this option if attendees can turn on their microphones.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the meeting you want to update in Microsoft Team. The additional properties signify additional fields associated with the meeting.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"creationDateTime": "",
"startDateTime": "",
"endDateTime": "",
"joinUrl": "",
"joinWebUrl": "",
"meetingCode": "",
"subject": "",
"isBroadcast": "",
"autoAdmittedUsers": "",
"outerMeetingAutoAdmittedUsers": "",
"isEntryExitAnnounced": "",
"allowedPresenters": "",
"allowMeetingChat": "",
"allowTeamworkReactions": "",
"allowAttendeeToEnableMic": "",
"allowAttendeeToEnableCamera": "",
"recordAutomatically": "",
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": "",
"externalId": "",
"broadcastSettings": "",
"joinMeetingIdSettings": {
"isPasscodeRequired": "",
"joinMeetingId": "",
"passcode": ""
},
"audioConferencing": "",
"meetingInfo": "",
"participants": {
"organizer": {
"upn": "",
"role": "",
"identity": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"tenantId": "",
"identityProvider": ""
}
}
},
"attendees": []
},
"lobbyBypassSettings": {
"scope": "",
"isDialInBypassEnabled": ""
},
"chatInfo": {
"threadId": "",
"messageId": "",
"replyChainMessageId": ""
},
"joinInformation": {
"content": "",
"contentType": ""
}
}

operation: Delete Meeting

Input parameters

Parameter Description
Meeting ID Specify the ID of an existing meeting that you want to delete from Microsoft Teams.
User ID Specify the ID of a user whose associated meeting you want to delete in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Send Direct Message

Input parameters

Parameter Description
Sender User Email Specify the email address of your account from which you want to send a chat message.
Receiver User Email Specify the email address of the receiver who should receive the chat message.
Message Type

Select if you need to send a simple text message or a formatted message. You can choose between Text and Card options.

  • If you choose Text, then in the Message field, specify the content of the message that you want to send to the specified user in Microsoft Teams.
  • If you choose Card, then you can specify the following additional parameters:
    • Title: Specify the title of the message card that you want to send to the specified user in Microsoft Teams.
    • Subtitle: Specify the sub-title of the message card that you want to send to the specified user in Microsoft Teams.
    • Body: Specify the content of the message that you want to send to the specified user in Microsoft Teams.
    • Subject: Specify the subject of the message that you want to send to the specified user in Microsoft Teams.
    • Buttons: Specify the list of button objects to be added to the message that you want to send to the specified user in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"channelIdentity": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

operation: Send Bot Message/Input Form

Input parameters

NOTE: This action works only if users have selected the 'Enable Bot Communication' option while configuring the connector, and configured the FortiSOAR for Microsoft Teams Application and FortiSOAR for Microsoft Teams Solution Pack. For more information see the FortiSOAR for Microsoft Teams Application document and the FortiSOAR For Microsoft Teams Solution Pack document in the Content Hub Portal.

Parameter Description
Message Type

Specify the type and content of the message that you want to send to Microsoft Teams using the FortiSOAR for Microsoft Teams Application. You can choose between Text Message or Manual Input Form. Select Text Message to send a plain text message or select Manual Input Form to send a form in which users can provide their response.

  • If you choose Text Message, then you must specify the following parameters:
    • Conversation ID: Specify the ID of the conversation to which you want to send the message. The Conversation ID can be the actual conversion ID, the user's email address, or the name of the channel with its path, for example, FortiSOAR/Demo.
    • Message: Specify the content of the message that you want to send to the specified conversation in Microsoft Teams.
  • If you choose Manual Input, then in the Input field, specify the FortiSOAR Manual Input object that you want to send to Microsoft Teams. The form can either be an input form or an approval request that you want to send to Microsoft Teams and get users' responses.

NOTE: The 'Send Bot Message/Input Form' action internally prepares the mapping code for the form object as expected by Microsoft Teams and renders that form in MS Teams. However, if you want to send customized messages directly to Teams users, then you use the 'Send Message to Channel' or the 'Send Direct Message' actions.

Output

The output contains the following populated JSON schema:
{
"result": ""
}

Included playbooks

The Sample - Microsoft Teams - 3.0.0 playbook collection comes bundled with the Microsoft Teams connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Microsoft Teams connector.

  • Add Group's Member
  • Add Group's Owner
  • Archive Team
  • Clone Team
  • Create Channel
  • Create Group
  • Create Meeting
  • Create Team
  • Create User
  • Delete Group
  • Delete Meeting
  • Delete User
  • Get All Users
  • Get Channel Details
  • Get Channel's Messages
  • Get Group's Members
  • Get Group's Owner
  • Get Groups
  • Get Meeting Details
  • Get Team Details
  • Get User Details
  • Get User’s Teams
  • Remove Group's Member
  • Remove Group's Owner
  • Reply Message
  • Send Bot Message/Input Form
  • Send Message to Channel
  • Send Direct Message
  • Tag User in Message
  • Unarchive Team
  • Update Meeting Details
  • Update Team Details
  • Update User Details

NOTE: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets overwritten during the connector upgrade and gets deleted during connector uninstall.

Getting Access Tokens

You can get authentication tokens to access the graph APIs using two methods:

Getting Access Tokens using the On behalf of the User - Delegate Permission method

  1. Ensure that the required permissions are granted for the registration of the application. Select API Permissions > Add permission > Microsoft Graph > Delegated Permissions.
    NOTE: The API Permission that should be granted to the registered application is mentioned in the Minimum permissions required for the 'Delegate-type' permission table.
  2. The Redirect URL can be directed to any web application in which you want to receive responses from Azure AD. If you are unsure about what to set as a redirect URL, you can use https://localhost/myapp.
  3. Copy the following URL and replace the TENANT_ID, CLIENT_ID, and REDIRECT_URI with your tenant ID, client ID, and the following redirect URL:
    https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize? client_id=CLIENT_ID&response_type=code&redirect_uri=REDIRECTION_URL&response_mode=query&scope=https://graph.microsoft.com/.default%20offline_access
  4. Enter the above link with the replaced values and you will be prompted to grant permissions for your Azure Service Management. You will be automatically redirected to a link with the following structure: REDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATE
  5. Copy the AUTH_CODE (without the "code=" prefix) and paste it into your instance configuration in the Authorization Code parameter.
  6. Enter your client ID in the Client ID parameter field.
  7. Enter your client secret in the Client Secret parameter field.
  8. Enter your tenant ID in the Tenant ID parameter field.
  9. Enter your redirect URL in the Redirect URL parameter field. By default, it is set to https://localhost/myapp.

Getting Access Tokens Without a User - Application Permission method

  • Ensure that the required permissions are granted for the registration of the application. Select API Permissions > Add permission > Microsoft Graph > Delegated Permissions.
    NOTE: The API Permission that should be granted to the registered application is mentioned in the Minimum permissions required for the 'Application Type' permission table.
    • User.Read.All
    • User.ReadWrite.All
    • GroupMember.Read.All
    • GroupMember.ReadWrite.All
    • Group.ReadWrite.All
    • Group.Read.All
    • AuditLog.Read.All
    • Directory.Read.All
    • Directory.ReadWrite.All
    • User.ManageIdentities.All of type Application.
  • Enter your client ID in the Client ID parameter field.
  • Enter your client secret in the Client Secret parameter field.
  • Enter your tenant ID in the Tenant ID parameter field.

Minimum Permissions Table

To call the Microsoft Graph API, to perform any action, you must be assigned specific permissions as defined in this section. To learn more, including how to choose permissions, see Microsoft Graph permissions reference.

Action Name Permission Type Permissions (from least to most privileged)
Create user Delegated (work or school account) User.ReadWrite.All, Directory.ReadWrite.All
Application User.ReadWrite.All, Directory.ReadWrite.All
Get All Users Delegated (work or school account) User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Get User Details Delegated (work or school account) User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All,User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Update User Details Delegated (work or school account) User.ReadWrite, User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
Application User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
Delete User Delegated (work or school account) User.ReadWrite.All
Application User.ReadWrite.All
Create Group Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Delete Group Delegated (work or school account) Group.ReadWrite.All
Application Group.ReadWrite.All
Get Groups Delegated (work or school account) GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All
Add Group's Owner Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.ReadWrite.All, Directory.ReadWrite.All
Add Group's Member Delegated (work or school account) GroupMember.ReadWrite.All, Group.ReadWrite.All
Application GroupMember.ReadWrite.All, Group.ReadWrite.All
Get Group's Members Delegated (work or school account)

GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All

Application

GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All

Get Group's Owner Delegated (work or school account) GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All
Application GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All
Remove Group's Owner Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.ReadWrite.All, Directory.ReadWrite.All
Remove Group's Member Delegated (work or school account) GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Create Channel Delegated (work or school account) Channel.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Application Channel.Create.Group, Channel.Create, Teamwork.Migrate.All, Group.ReadWrite.All, Directory.ReadWrite.All
Get Channel Details Delegated (work or school account) Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application ChannelSettings.Read.Group, ChannelSettings.ReadWrite.Group, Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Send Message to Channel Delegated (work or school account) ChannelMessage.Send, Group.ReadWrite.All
Application Not Supported.
Reply Message Delegated (work or school account) ChannelMessage.Send, Group.ReadWrite.All
Application Not Supported.
Tag User in Message Delegated (work or school account) ChannelMessage.Send, Group.ReadWrite.All
Application Not Supported.
Get Channel's Messages Delegated (work or school account) ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All
Delegated (personal Microsoft account) ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All
Application ChannelMessage.Read.Group, ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All
Get User’s Teams Delegated (work or school account) Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Get Team Details Delegated (work or school account) Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application TeamSettings.Read.Group, TeamSettings.ReadWrite.Group, Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Archive Team Delegated (work or school account) TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application TeamSettings.ReadWrite.Group, TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Create Team Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.ReadWrite.All, Directory.ReadWrite.All
Clone Team Delegated (work or school account) Team.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Application Team.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Update Team Details Delegated (work or school account) TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application TeamSettings.ReadWrite.Group, TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Unarchive Team Delegated (work or school account) TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application TeamSettings.ReadWrite.Group, TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Create Meeting Delegated (work or school account) OnlineMeetings.ReadWrite
Application OnlineMeetings.ReadWrite.All
Get Meeting Details Delegated (work or school account) OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All
Application OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All
Update Meeting Details Delegated (work or school account) OnlineMeetings.ReadWrite
Application OnlineMeetings.ReadWrite.All
Delete Meeting Delegated (work or school account) OnlineMeetings.ReadWrite
Application OnlineMeetings.ReadWrite.All
Send Direct Message Delegated (work or school account) ChatMessage.Send, Chat.ReadWrite
Application Not Supported.

Troubleshooting

Troubleshooting issues with the 'Listener' for Teams

You can use the following troubleshooting tips for various issues with the Microsoft Teams 'Listener' (Enable Bot Communication option):

  • To check the status of the Microsoft Teams Listener:
    Run the following command:
    ps aux | grep teams_listener.py
  • If your Microsoft Teams Listener is not running, then you can check the Listener logs at /var/log/cyops/cyops-integrations/teams/teams_listener.log
    • To get more details about why the Microsoft Teams Listener is not running, update the logging level for the Microsoft Teams Listener, which is by default set to 'ERROR' to 'DEBUG'.
      You need 'sudo' permissions on the log_helper.py file, and then do the following.
      1. Edit the /opt/cyops/configs/integrations/connectors/microsoft-teams_<connector_version_numner>/listener/log_helper.py. For example,
        sudo vi /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0/listener/log_helper.py
        Update the log level as per your requirement, DEBUG in this case, and save the log_helper.py file.
      2. After saving the log_helper.py file, restart the 'uwsgi' service using the following command:
        sudo systemctl restart uwsgi
    • If you find that there are no Listener logs, then you can check the following:
      1. Try to find the error details in the connector log file located at /var/log/cyops/cyops-integrations/connector.log.
  • If your SSL certification has expired for the Microsoft Teams Listener, then you can regenerate its SSL certificate as follows:
    1. Navigate to /opt/cyops/configs/integrations/connectors/microsoft-teams_<connector_version_numner>. For example, /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0 and run the following command:
      sudo sh run_listener_prerequisite.sh
    2. Once the SSL certificate is created, restart the 'uwsgi' service using the following command:
      sudo systemctl restart uwsgi
  • If you uninstall the Microsoft Teams connector that used the Microsoft Teams Listener, then you must remove the Listener service route from the 'nginx' service, using the following commands.
    sed -i '/location \/msteamsbot\/ {/,/}/d' /etc/nginx/conf.d/cyops-api.conf
    nginx -s reload
  • If you want to use a custom port for the bot notification service, for which the default port is 3978, do the following:
    1. SSH to your FortiSOAR system as a 'root' user.
    2. Edit the /opt/cyops/configs/integrations/connectors/microsoft-teams_<connector_version_numner>/listener/config.py to replace the default port 3978 with your custom port and Save the file.
      For example, edit the
      sudo vi /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0/listener/config.py file and then save the file.
    3. Run the following commands:
      1. Navigate to your <connector_version_numner> folder:
        cd /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0
      2. Edit the run_listener_prerequisite.sh script file to replace the default port 3978 with your custom port and Save the file:
        vi run_listener_prerequisite.sh
      3. Run the following command:
        sh run_listener_prerequisite.sh
    4. Restart the 'uwsgi' service, using the following command:
      sudo systemctl restart uwsgi
  • If you have configured multiple configurations with the 'Enable Bot Communication' option selected, then you must manually select the desired connector configuration in the Choose Connector Configuration field to be used for bi-directional communication between Microsoft Teams and FortiSOAR:
Previous
Next

Microsoft Teams v3.0.0

About the connector

Microsoft Teams is a chat-based workspace in Office 365 that provides global, remote, and dispersed teams with the ability to work together and share information using a common space.

This document provides information about the Microsoft Teams Connector, which facilitates automated interactions, with a Microsoft Teams server using FortiSOAR™ playbooks. Add the Microsoft Teams Connector as a step in FortiSOAR™ playbooks and perform automated operations with Microsoft Teams such as creating a new user in MS Teams, retrieving details for groups from MS Teams, sending messages to an MS Teams channel, etc.

The FortiSOAR for Microsoft Teams application (app) builds a bridge for seamless integration with FortiSOAR, allowing you to leverage the power of FortiSOAR as part of your daily communications and threat investigation routines. For more information, see the FortiSOAR for Microsoft Teams Application document.

Version information

Connector Version: 3.0.0

FortiSOAR™ Version Tested on: 7.4.1-3167

Microsoft Teams Version Tested on: Microsoft Graph API v1.0

Authored By: Fortinet

Certified: Yes

Release Notes for version 3.0.0

The following enhancements have been made to the Microsoft Teams Connector in version 3.0.0:

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the yum command as a root user to install the connector:
yum install cyops-connector-microsoft-teams

Prerequisites to configuring the connector

Minimum Permissions Required

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In FortiSOAR™, on the Connectors page, click the Microsoft Teams connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Get Access Token Select the method used to get authentication tokens for accessing the security graph APIs. You can choose from the following options:
  • Without a User – Application Permission
    The 'Without a User - Application Permission' flow refers to a process in which there is no user sign-in; instead, the administrator provides consent on behalf of all user's inboxes in a given tenant. Azure applications require 'full_app' permissions for granting your admin's consent.
  • On behalf of User – Delegate Permission
    The 'On behalf of User - Delegated Permission' flow refers to a process in which users access the mailbox using the signed-in users' consent.

If you choose 'Without a User - Application Permission', then you must specify the following parameters:

  • Server URL: Specify the service-based URI to which you will connect and perform the automated operations.
  • Tenant ID: Specify the ID of the tenant that is assigned to you by the Azure application registration portal
  • Client ID: Specify the unique ID of the Azure application that is used to create an authentication token required to access the API. The client ID comes from registering the application with the Microsoft Azure portal. It is in the UUID format.
  • Client Secret: Specify the unique Client Secret of the Azure application that is used to create an authentication token required to access the API. Sometimes called an application password, the client secret is set from the 'Certificates & Secrets' section of the Microsoft Azure portal. For information on how to get the secret key, see the 'Create an app to access Microsoft Defender for Endpoint without a user' article.

If you choose 'On behalf of User - Delegated Permission', then you must specify the following parameters:

  • Server URL: Specify the service-based URI to which you will connect and perform the automated operations.
  • Tenant ID: Specify the ID of the tenant that is assigned to you by the Azure application registration portal
  • Client ID: Specify the unique ID of the Azure application that is used to create an authentication token required to access the API. The client ID comes from registering the application with the Microsoft Azure portal. It is in the UUID format.
  • Client Secret: Specify the unique Client Secret of the Azure application that is used to create an authentication token required to access the API. Sometimes called an application password, the client secret is set from the 'Certificates & Secrets' section of the Microsoft Azure portal. For information on how to get the secret key, see the 'Create an app to access Microsoft Defender for Endpoint without a user' article.
  • Authorization Code: (Only Applicable to On behalf of User – Delegate Permission) The authorization code that you acquired during the authorization step. For more information, see the Getting Access Tokens using the Delegate Permissions method topic.
  • Redirect URL: (Only Applicable to On behalf of User – Delegate Permission) The redirect_uri of your app, where authentication responses can be sent and received by your app. It must exactly match one of the redirect_uri's you registered in the app registration portal.

For more information on how to get the Authentication code, see the Getting the Authorization Code section.

Enable Bot Communication Select this option if you want to enable bi-directional communication between Teams and FortiSOAR.
Important: By default, the bot service uses port 3978 of the FortiSOAR instance. If you want to use a custom port, see the Troubleshooting issues with the 'Listener' for Teams topic.
NOTE: This option will work only if you have installed the FortiSOAR for Microsoft Teams Solution Pack. For more information on the FortiSOAR For Microsoft Teams Solution Pack, see the Content Hub Portal.
If you select this option, then specify the following parameters based on your configured FortiSOAR for Microsoft Teams Application:
  • App Service URL: Specify the service URL of the FortiSOAR for the Microsoft Teams Application.
    NOTE: The Service URL differs based on the specified region.
  • App ID: Specify the Application ID of your configured FortiSOAR for Microsoft Teams Application.
  • App Password: Specify the Application Secret of your FortiSOAR for Microsoft Teams Application.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™:

Function Description Annotation and Category
Create User Creates a new user in Microsoft Teams based on the display name, mail nickname, password, and other input parameters you have specified. create_user
Investigation
Get All Users Retrieves a list of users from Microsoft Teams based on the query for filtering users that you have specified. list_users
Investigation
Get User Details Retrieves details for users from Microsoft Teams based on the user ID or the user's principal name you have specified. get_user
Investigation
Update User Details Updates the details of an existing Microsoft Teams user based on the user ID or the user's principal name, display name, and other input parameters you have specified. update_user
Investigation
Delete User Deletes an existing Microsoft Teams user based on the user ID or the user's principal name you have specified.
IMPORTANT: Once a user is deleted, the resources of the user are moved to a temporary container from which they can be restored within 30 days after which, they are permanently deleted.
delete_user
Investigation
Create Group Creates a new group in Microsoft Teams based on the display name, mail nickname, and other input parameters you have specified.
NOTE: You can create an Office 365 Group (Unified Group) or a Security Group.
create_group
Investigation
Get Groups Retrieves details for groups from Microsoft Teams based on the group ID you have specified.
NOTE: If no parameter is specified, then this operation returns details of all the groups.
get_groups
Investigation
Delete Group Deletes an existing Microsoft Teams group based on the group ID you have specified.
IMPORTANT:: Once a group is deleted, the Office 365 groups are moved to a temporary container from which they can be restored within 30 days after which, they are permanently deleted.
delete_group
Investigation
Add Group's Owner Adds a user as an owner of a specific Office 365 or Security Group in Microsoft Teams based on the group ID and user ID you have specified. add_owner
Investigation
Get Group's Owner Retrieves a list of owners of a specified group from Microsoft Teams based on the group ID you have specified get_group_owner
Investigation
Remove Group's Owner Removes the specified owner from the specified group in Microsoft Teams based on the group ID and owner ID you have specified. remove_group_owner
Investigation
Add Group's Member Adds a user as a member of a specific Office 365 or Security Group in Microsoft Teams based on the group ID and user ID you have specified. add_member
Investigation
Get Group's Members Retrieves a list of the direct members of a group from Microsoft Teams based on the group ID and user ID you have specified. A group can have users, contacts, devices, service principals, and other groups as its members. get_group_member
Investigation
Remove Group's Member Removes the specified user from the specified group in Microsoft Teams based on the group ID and user ID you have specified. remove_group_member
Investigation
Create Channel Creates a new channel in Microsoft Teams based on the team or group name, channel name, membership type, and other input parameters you have specified. create_channel
Investigation
Get Channel Details Retrieves information for a specified channel from Microsoft Teams based on the team or group ID and channel name you have specified. get_channel
Investigation
Get Channel's Messages Retrieves a list of messages (without the replies) from a specific channel of a specific group in Microsoft Teams based on the team or group ID, channel ID, and optionally the message ID you have specified.
NOTE: If you specify the message ID then details of the specific message will be retrieved from Microsoft Teams.
get_channel_messages
Investigation
Send Message to Channel Sends chat messages to a specified channel in the specified group in Microsoft Teams based on the team or group ID, channel ID, and message you have specified. send_message
Investigation
Reply Message Replies to a specified chat message of a specified channel in the specified group in Microsoft Teams based on the group ID, channel ID, message ID, and message you have specified. reply_messages
Investigation
Tag User in Message Mentions a specific user to a specific message and channel in Microsoft Teams based on the team or group ID, channel ID, user ID, user display name, and message you have specified. messages_mention
Investigation
Create Team Creates a new team in Microsoft Teams based on the display name, description, and other input parameters you have specified. create_team
Investigation
Get User’s Teams Retrieves the teams in which the specified user is a direct member from Microsoft Teams based on the user ID you have specified. list_user_joined_teams
Investigation
Get Team Details Retrieves detailed information about a team from Microsoft Teams based on the team or group ID you have specified. get_team
Investigation
Update Team Details Updates the properties for an existing team in Microsoft Teams based on the team ID and properties you have specified. update_team
Investigation
Archive Team Archives the specified team in Microsoft Teams based on the team ID you have specified.
NOTE: When a team is archived, users can no longer send or like messages on any channel that is part of the archived team.
archive_team
Investigation
Unarchive Team Restores an archived team in Microsoft Teams based on the team ID you have specified. Unarchiving a team restores the user's ability to send messages to the team and edit the properties of the team. unarchive_team
Investigation
Clone Team Creates a copy of a specified team in Microsoft Teams based on the team ID, display name, mail nickname, and other input parameters you have specified. This operation also creates a copy of the team's corresponding group. clone_team
Investigation
Create Meeting Creates a new meeting in Microsoft Teams based on the user ID, subject, and other input parameters you have specified. create_meeting
Investigation
Get Meeting Details Retrieves details for a specific meeting from Microsoft Teams based on the user ID, meeting ID, and other input parameters you have specified. get_meeting
Investigation
Update Meeting Details Updates the properties for an existing meeting in Microsoft Teams based on the user ID, meeting ID, and other input parameters you have specified. update_meeting
Investigation
Delete Meeting Deletes an existing meeting in Microsoft Teams based on the user ID and meeting ID you have specified. delete_meeting
Investigation
Send Direct Message Sends a new chat message to a specified user in Microsoft Teams based on the sender's and receiver's email address, and the message you have specified.
NOTE: This action is not supported if the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option. For more information, see the Getting Access Tokens section.
send_chat
Investigation
Send Bot Message/Input Form Sends a manual input form or message to Microsoft Teams based on the input object that you have specified.
NOTE: This action works only if users have selected the 'Enable Bot Communication' option while configuring the connector and also configured the FortiSOAR for Microsoft Teams Application.
send_input
Investigation

operation: Create User

Input parameters

Parameter Description
Display Name Specify the name to display in the address book for the user that you want to create in Microsoft Teams.
NOTE: Maximum length for the user's display name is 256 characters.
Account Enabled Select this checkbox, i.e., set it to "true", to enable the newly created account in Microsoft Teams. By default, this is set as "false".
Mail Nick Name Specify the mail alias for the user that you want to create in Microsoft Teams.
User Principal Name Specify the principal name of the user, for example, someuser@example.com, that you want to create in Microsoft Teams.
Password Specify the password to be set for the user that you want to create in Microsoft Teams. You must set this password when you are creating a user in Microsoft Teams. Passwords can be updated. However, the user will be required to change the password on their next login. The password must satisfy minimum requirements as specified by the "passwordPolicies" parameters of the user. By default, a strong password is required.
Force Change Password Next SignIn Select this checkbox, i.e., set it to "true", to force users to change their password when they sign in to Microsoft Teams the next time. Once the user has changed their password, this parameter automatically resets to false. By default, this is set as "false".
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the user you want to create in Microsoft Team. The additional properties signify additional fields associated with the user.

Output

The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}

operation: Get All Users

Input parameters

Parameter Description
Filter Query Specify the filter query based on which you want to retrieve groups. Refer to Azure Filter Query Parameters for information on the filter query syntax.
Select Query Specify the $select query to retrieve groups from Microsoft Teams. The OData's Select query is supported on fields such as id, userPrincipalName, displayName, etc. Refer to OData system query options for more information.
Search Query Specify the search query to retrieve user details from Azure Active Directory. The OData's Search query is supported on fields such as id, userPrincipalName, displayName, etc. Refer to OData system query options for more information.
Order By (Optional) Specify the order in which you want to sort the results retrieved from Microsoft Teams. You can specify asc or desc.
By default, this is set to asc.
Number of Users to Fetch (Optional) Specify the maximum number of users that this operation should return from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the user you want to create in Microsoft Team. The additional properties signify additional fields associated with the user.

Output

The output contains the following populated JSON schema:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}

operation: Get User Details

Input parameters

Parameter Description
Based On Select the parameter using which you want to retrieve details for a user from Microsoft Teams. You can choose from the following options:
  • User ID: Specify the ID of the user whose details you want to retrieve from Microsoft Teams, in the User ID field.
  • User Principal Name: Specify the User Principal Name of the user whose details you want to retrieve from Microsoft Teams, in the User Principal Name field. If this parameter is not specified then it returns all user details.

Output

The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}

operation: Update User Details

Input parameters

Parameter Description
Based On Select the parameter using which you want to update the details of a user in Microsoft Teams. You can choose from the following options:
  • User ID: Specify the ID of the user whose details you want to update in the User ID field.
  • User Principal Name: Specify the User Principal Name of the user whose details you want to update in the User Principal Name field.
Display Name Specify the display name that you want to update in the address book for the Microsoft Teams user.
Given Name Specify the given name (first name) that you want to update for the Microsoft Teams user.
Surname Specify the surname that you want to update for the Microsoft Teams user.
Job Title Specify the job title that you want to update for the Microsoft Teams user.
Office Location Specify the office location, i.e., the user's place of business that you want to update for the Microsoft Teams user.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to update for the Microsoft Teams user. The additional properties signify additional fields associated with the user.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Delete User

Input parameters

Parameter Description
Based On Select the parameter using which you want to delete the user in Microsoft Teams. You can choose from the following options:
  • User ID: Specify the ID of the user to delete in the User ID field.
  • User Principal Name: Specify the User Principal Name of the user whose details you want to delete in the User Principal Name field.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Create Group

Input parameters

Parameter Description
Display Name Specify the name to display in the address book for the group that you want to create in Microsoft Teams.
NOTE: Maximum length for the group's display name is 256 characters.
Mail Nickname Specify the mail alias for the group that you want to create in Microsoft Teams.
NOTE: Spaces are not allowed in the mail alias for the group.
Email Enabled Select this checkbox for mail-enabled groups.
Security Enabled Select this checkbox only for security-enabled groups, including Office 365 groups.
Group Type Specify the group type. If the collection contains Unified, the group is a Microsoft 365 group; otherwise, it's either a security group or a distribution group. For details, see: https://learn.microsoft.com/en-us/graph/api/resources/groups-overview?view=graph-rest-1.0#group-types-in-azure-ad-and-microsoft-graph
Description (Optional) Specify the description of the group that you want to create in Microsoft Teams.
Visibility Specify the visibility to be set for the Office 365 group that you want to create in Microsoft Teams. You can choose from the following options: Private, Public, HiddenMembership, or "empty" (which is interpreted as Public).
Custom Properties (Optional) Specify the additional properties, in JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"theme": "",
"groupTypes": [],
"visibility": "",
"description": "",
"displayName": "",
"mailEnabled": "",
"mailNickname": "",
"@odata.context": "",
"classification": "",
"membershipRule": "",
"proxyAddresses": [],
"createdDateTime": "",
"creationOptions": [],
"deletedDateTime": "",
"renewedDateTime": "",
"securityEnabled": "",
"preferredLanguage": "",
"expirationDateTime": "",
"isAssignableToRole": "",
"securityIdentifier": "",
"onPremisesDomainName": "",
"onPremisesNetBiosName": "",
"onPremisesSyncEnabled": "",
"preferredDataLocation": "",
"resourceBehaviorOptions": [],
"onPremisesSamAccountName": "",
"onPremisesLastSyncDateTime": "",
"resourceProvisioningOptions": [],
"onPremisesProvisioningErrors": [],
"onPremisesSecurityIdentifier": "",
"membershipRuleProcessingState": ""
}

operation: Get Groups

Input parameters

Parameter Description
Group ID Specify the ID of the group whose details you want to retrieve from Microsoft Teams.
NOTE: If you do not specify this parameter, then details of all the groups are returned.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:

Output schema when the "Group ID" is not specified:
{
"id": "",
"mail": "",
"theme": "",
"groupTypes": [],
"visibility": "",
"description": "",
"displayName": "",
"mailEnabled": "",
"mailNickname": "",
"classification": "",
"membershipRule": "",
"proxyAddresses": [],
"createdDateTime": "",
"creationOptions": [],
"deletedDateTime": "",
"renewedDateTime": "",
"securityEnabled": "",
"preferredLanguage": "",
"expirationDateTime": "",
"isAssignableToRole": "",
"securityIdentifier": "",
"onPremisesDomainName": "",
"onPremisesNetBiosName": "",
"onPremisesSyncEnabled": "",
"preferredDataLocation": "",
"resourceBehaviorOptions": [],
"onPremisesSamAccountName": "",
"onPremisesLastSyncDateTime": "",
"resourceProvisioningOptions": [],
"onPremisesProvisioningErrors": [],
"onPremisesSecurityIdentifier": "",
"membershipRuleProcessingState": ""
}

Output schema when the "Group ID" is not specified:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"theme": "",
"groupTypes": [],
"visibility": "",
"description": "",
"displayName": "",
"mailEnabled": "",
"mailNickname": "",
"classification": "",
"membershipRule": "",
"proxyAddresses": [],
"createdDateTime": "",
"creationOptions": [],
"deletedDateTime": "",
"renewedDateTime": "",
"securityEnabled": "",
"preferredLanguage": "",
"expirationDateTime": "",
"isAssignableToRole": "",
"securityIdentifier": "",
"onPremisesDomainName": "",
"onPremisesNetBiosName": "",
"onPremisesSyncEnabled": "",
"preferredDataLocation": "",
"resourceBehaviorOptions": [],
"onPremisesSamAccountName": "",
"onPremisesLastSyncDateTime": "",
"resourceProvisioningOptions": [],
"onPremisesProvisioningErrors": [],
"onPremisesSecurityIdentifier": "",
"membershipRuleProcessingState": ""
}
],
"@odata.context": ""
}
}

operation: Delete Group

Input parameters

Parameter Description
Group ID Specify the ID of the group that you want to delete from Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Add Group's Owner

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams to which you want to add the specific user as a group owner.
User ID Specify the ID of the user who you want to add as the group owner of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Get Group's Owner

Input parameters

Parameter Description
Group ID Specify the ID of the group whose group owner details you want to retrieve from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"@odata.type": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}

operation: Remove Group's Owner

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams from which you want to remove the specific user as a group owner.
Owner ID Specify the ID of the owner who you want to remove as the group owner of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Add Group's Member

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams to which you want to add the specific user as a member.
User ID Specify the ID of the user who you want to add as a member of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"owner_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Get Group's Members

Input parameters

Parameter Description
Group ID Specify the ID of the group whose direct members you want to retrieve from Microsoft Teams.
User ID Specify the ID of the member belonging to the specified group whose details you want to retrieve from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the group you want to create in Microsoft Team. The additional properties signify additional fields associated with the group.

Output

The output contains the following populated JSON schema:

Output schema when the "User ID" is not specified:
{
"@odata.context": "",
"@odata.type": "",
"id": "",
"businessPhones": [],
"displayName": "",
"givenName": "",
"jobTitle": "",
"mail": "",
"mobilePhone": "",
"officeLocation": "",
"preferredLanguage": "",
"surname": "",
"userPrincipalName": ""
}

Output schema when the "User ID" is not specified:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"@odata.type": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}

operation: Remove Group's Member

Input parameters

Parameter Description
Group ID Specify the ID of the group which you want to remove from the specified member of that group
User ID Specify the ID of the user who you want to remove as the group member of the specified group in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}

operation: Create Channel

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in which you want to create a new channel in Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel Name Specify the name of the channel that you want to create in Microsoft Teams.
Description Specify the description of the channel that you want to create in Microsoft Teams.
Membership Type Select the type of membership that would be allowed for the channel that you want to create in Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the channel you want to create in Microsoft Team. The additional properties signify additional fields associated with the channel.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"webUrl": "",
"membershipType": ""
}

operation: Get Channel Details

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group that contains the channel whose information you want to retrieve from Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel whose information you want to retrieve from Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the channel you want to create in Microsoft Team. The additional properties signify additional fields associated with the channel.

Output

The output contains the following populated JSON schema:

Output schema when the "Channel ID" is not specified:
{
"value": [
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"tenantId": "",
"webUrl": "",
"membershipType": ""
}
]
}

Output schema when the "Channel ID" is not specified:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"tenantId": "",
"webUrl": "",
"membershipType": ""
}
]
}

operation: Get Channel's Messages

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in Microsoft Teams from which you want to retrieve messages from the specified channel.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel in Microsoft Teams from which you retrieve messages.
Message ID (Optional) Specify the ID of the message whose details you want to retrieve from Microsoft Teams.

Output

The output contains the following populated JSON schema:

Output schema when the "Message ID" is not specified:
{
"@odata.context": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": "",
"tenantId": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

Output schema when the "Message ID" is not specified:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": "",
"tenantId": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}
]
}

operation: Send Message to Channel

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in Microsoft Teams to whom you want to send the group message.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel in Microsoft Teams on which you want to send the message.
Message Type Select the type of message that you want to send to the Microsoft Teams channel. You can choose from the following options:
  • Text: Specify the content of the group message that you want to send to a specific channel on a specific group or team in Microsoft Teams, in the Message field.
  • Adaptive Card Template: Specify the schema of adaptive cards in the JSON format that you want to send to the specific channel in Microsoft Teams. For more info, refer to https://adaptivecards.io/designer/.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

operation: Reply Message

Input parameters

Parameter Description
Group ID Specify the ID of the group in Microsoft Teams whose conversation information you want to retrieve and to which you want to reply.
Channel ID Specify the ID of the channel in Microsoft Teams on which you want to send the reply to the specific message.
Message ID Specify the ID of the message in Microsoft Teams to which you want to send a reply.
Message Specify the content of the message that you want to send as a reply to the specified message.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"from": {
"application": "",
"device": "",
"conversation": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

operation: Tag User in Message

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group in Microsoft Teams in which you want to add a mention of the specific user.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Channel ID Specify the ID of the channel in Microsoft Teams in which you want to add a mention of the specific user.
Message Specify the content of the message in which you want to add a mention of the specific user.
User ID Specify the ID of the user who you want to mention in the message.
User Display Name Specify the display name of the user who you want to mention in the message.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"channelIdentity": {
"teamId": "",
"channelId": ""
},
"attachments": [],
"mentions": [
{
"id": "",
"mentionText": "",
"mentioned": {
"application": "",
"device": "",
"conversation": "",
"tag": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
}
}
],
"reactions": []
}

operation: Create Team

Input parameters

Parameter Description
Display Name Specify the display name of the team that you want to create in Microsoft Teams.
NOTE: The maximum length for the team's display name is 256 characters.
Description Specify the description of the team that you want to create in Microsoft Teams.
User ID (Optional) Specify the ID of the user whose teams you want to create in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Bind Team Template (Optional) Specify the name of the Bind Team Template for the team that you want to create in Microsoft Teams. Note: If you do not provide any value, the default template will be used.
Visibility Specify the visibility to be set for the Office 365 group that you want to create in Microsoft Teams. You can choose from the following options: Private, Public, HiddenMembership, or "empty" (which is interpreted as Public).
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the team you want to create in Microsoft Teams. The additional properties signify additional fields associated with the team.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"displayName": ""
}

operation: Get User’s Teams

Input parameters

Parameter Description
User ID Specify the ID of the user whose teams' membership information you want to retrieve from Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"internalId": "",
"classification": "",
"specialization": "",
"visibility": "",
"webUrl": "",
"isArchived": "",
"tenantId": "",
"isMembershipLimitedToOwners": "",
"memberSettings": "",
"guestSettings": "",
"messagingSettings": "",
"funSettings": "",
"discoverySettings": "",
"summary": ""
}
]
}

operation: Get Team Details

Input parameters

Parameter Description
Team/Group ID Specify the ID of the team or group whose detailed information you want to retrieve from Microsoft Teams.
NOTE: Every team is associated with a group and the group has the same ID as the team.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the team whose detailed information you want to retrieve from Microsoft Teams. The additional properties signify additional fields that you want to retrieve for the team from Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"internalId": "",
"classification": "",
"specialization": "",
"visibility": "",
"webUrl": "",
"isArchived": "",
"isMembershipLimitedToOwners": "",
"discoverySettings": {
"showInTeamsSearchAndSuggestions": ""
},
"memberSettings": {
"allowCreateUpdateChannels": "",
"allowCreatePrivateChannels": "",
"allowDeleteChannels": "",
"allowAddRemoveApps": "",
"allowCreateUpdateRemoveTabs": "",
"allowCreateUpdateRemoveConnectors": ""
},
"guestSettings": {
"allowCreateUpdateChannels": "",
"allowDeleteChannels": ""
},
"messagingSettings": {
"allowUserEditMessages": "",
"allowUserDeleteMessages": "",
"allowOwnerDeleteMessages": "",
"allowTeamMentions": "",
"allowChannelMentions": ""
},
"funSettings": {
"allowGiphy": "",
"giphyContentRating": "",
"allowStickersAndMemes": "",
"allowCustomMemes": ""
},
"summary": {
"ownersCount": "",
"membersCount": "",
"guestsCount": ""
}
}

operation: Update Team Details

Input parameters

Parameter Description
Team ID Specify the ID of an existing team whose properties you want to update in Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the team you want to update in Microsoft Team. The additional properties signify additional fields associated with the team.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"result": {
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"internalId": "",
"classification": "",
"specialization": "",
"visibility": "",
"webUrl": "",
"isArchived": "",
"isMembershipLimitedToOwners": "",
"discoverySettings": {
"showInTeamsSearchAndSuggestions": ""
},
"memberSettings": {
"allowCreateUpdateChannels": "",
"allowCreatePrivateChannels": "",
"allowDeleteChannels": "",
"allowAddRemoveApps": "",
"allowCreateUpdateRemoveTabs": "",
"allowCreateUpdateRemoveConnectors": ""
},
"guestSettings": {
"allowCreateUpdateChannels": "",
"allowDeleteChannels": ""
},
"messagingSettings": {
"allowUserEditMessages": "",
"allowUserDeleteMessages": "",
"allowOwnerDeleteMessages": "",
"allowTeamMentions": "",
"allowChannelMentions": ""
},
"funSettings": {
"allowGiphy": "",
"giphyContentRating": "",
"allowStickersAndMemes": "",
"allowCustomMemes": ""
},
"summary": {
"ownersCount": "",
"membersCount": "",
"guestsCount": ""
}
}
}

operation: Archive Team

Input parameters

Parameter Description
Team ID Specify the ID of an existing team that you want to archive in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}

operation: Unarchive Team

Input parameters

Parameter Description
Team ID Specify the ID of an existing team whose archive you want to restore from Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}

operation: Clone Team

Input parameters

Parameter Description
Team ID Specify the ID of the existing team whose clone you want to create in Microsoft Teams.
Display Name Specify the mail alias for the team that you have cloned in Microsoft Team, which must be unique in the organization. This parameter must be specified when a group is created or cloned. If this parameter is not specified, it will be computed from the Display Name.
NOTE: Known issue: This parameter is currently being ignored.
Mail Nick Name Specify the mail alias for the group, unique in the organization. This property must be specified when a group is created. If this property is not specified, it will be computed from the displayName.
NOTE: Known issue: This parameter is currently being ignored.
Parts to clone Specify a CSV list of the parts of the team you want to clone. Legal parts are "apps", "tabs", "settings", "channels", and "members".
Visibility Specify the visibility to be set for the team that you want to clone in Microsoft Teams. You can choose from the following options: Private or Public (which is interpreted as Public).

Output

The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}

operation: Create Meeting

Input parameters

Parameter Description
Subject Specify a subject of the meeting that you want to create in Microsoft Teams.
User ID Specify the ID of the user using whose ID you want to create a meeting in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Start Time Specify the start time of the meeting that you want to create in Microsoft Teams.
End Time Specify the end time of the meeting that you want to create in Microsoft Teams.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the meeting you want to create in Microsoft Team. The additional properties signify additional fields associated with the meeting.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"creationDateTime": "",
"startDateTime": "",
"endDateTime": "",
"joinUrl": "",
"joinWebUrl": "",
"meetingCode": "",
"subject": "",
"isBroadcast": "",
"autoAdmittedUsers": "",
"outerMeetingAutoAdmittedUsers": "",
"isEntryExitAnnounced": "",
"allowedPresenters": "",
"allowMeetingChat": "",
"allowTeamworkReactions": "",
"allowAttendeeToEnableMic": "",
"allowAttendeeToEnableCamera": "",
"recordAutomatically": "",
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": "",
"externalId": "",
"broadcastSettings": "",
"joinMeetingIdSettings": {
"isPasscodeRequired": "",
"joinMeetingId": "",
"passcode": ""
},
"audioConferencing": "",
"meetingInfo": "",
"participants": {
"organizer": {
"upn": "",
"role": "",
"identity": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"tenantId": "",
"identityProvider": ""
}
}
},
"attendees": []
},
"lobbyBypassSettings": {
"scope": "",
"isDialInBypassEnabled": ""
},
"chatInfo": {
"threadId": "",
"messageId": "",
"replyChainMessageId": ""
},
"joinInformation": {
"content": "",
"contentType": ""
}
}

operation: Get Meeting Details

Input parameters

Parameter Description
Meeting ID Specify the ID of the meeting whose details you want to retrieve from Microsoft Teams.
User ID Specify the ID of the user whose details you want to retrieve from Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the meeting whose details you want to retrieve from Microsoft Teams. The additional properties signify additional fields associated with the meeting.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"creationDateTime": "",
"startDateTime": "",
"endDateTime": "",
"joinUrl": "",
"joinWebUrl": "",
"meetingCode": "",
"subject": "",
"isBroadcast": "",
"autoAdmittedUsers": "",
"outerMeetingAutoAdmittedUsers": "",
"isEntryExitAnnounced": "",
"allowedPresenters": "",
"allowMeetingChat": "",
"allowTeamworkReactions": "",
"allowAttendeeToEnableMic": "",
"allowAttendeeToEnableCamera": "",
"recordAutomatically": "",
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": "",
"externalId": "",
"broadcastSettings": "",
"joinMeetingIdSettings": {
"isPasscodeRequired": "",
"joinMeetingId": "",
"passcode": ""
},
"audioConferencing": "",
"meetingInfo": "",
"participants": {
"organizer": {
"upn": "",
"role": "",
"identity": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"tenantId": "",
"identityProvider": ""
}
}
},
"attendees": []
},
"lobbyBypassSettings": {
"scope": "",
"isDialInBypassEnabled": ""
},
"chatInfo": {
"threadId": "",
"messageId": "",
"replyChainMessageId": ""
},
"joinInformation": {
"content": "",
"contentType": ""
}
}

operation: Update Meeting Details

Input parameters

Parameter Description
Meeting ID Specify the ID of an existing meeting whose properties you want to update in Microsoft Teams.
User ID Specify the ID of a user whose associated meeting properties you want to update in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.
Start Time Specify the start time of the meeting that you want to update in Microsoft Teams.
End Time Specify the end time of the meeting that you want to update in Microsoft Teams.
Subject Specify the subject of the meeting that you want to update in Microsoft Teams.
Enable Camera Select this option if attendees can turn on their cameras.
Enable Mic Select this option if attendees can turn on their microphones.
Custom Properties (Optional) Specify the additional properties, in the JSON format, that you want to specify for the meeting you want to update in Microsoft Team. The additional properties signify additional fields associated with the meeting.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"creationDateTime": "",
"startDateTime": "",
"endDateTime": "",
"joinUrl": "",
"joinWebUrl": "",
"meetingCode": "",
"subject": "",
"isBroadcast": "",
"autoAdmittedUsers": "",
"outerMeetingAutoAdmittedUsers": "",
"isEntryExitAnnounced": "",
"allowedPresenters": "",
"allowMeetingChat": "",
"allowTeamworkReactions": "",
"allowAttendeeToEnableMic": "",
"allowAttendeeToEnableCamera": "",
"recordAutomatically": "",
"anonymizeIdentityForRoles": [],
"capabilities": [],
"videoTeleconferenceId": "",
"externalId": "",
"broadcastSettings": "",
"joinMeetingIdSettings": {
"isPasscodeRequired": "",
"joinMeetingId": "",
"passcode": ""
},
"audioConferencing": "",
"meetingInfo": "",
"participants": {
"organizer": {
"upn": "",
"role": "",
"identity": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"tenantId": "",
"identityProvider": ""
}
}
},
"attendees": []
},
"lobbyBypassSettings": {
"scope": "",
"isDialInBypassEnabled": ""
},
"chatInfo": {
"threadId": "",
"messageId": "",
"replyChainMessageId": ""
},
"joinInformation": {
"content": "",
"contentType": ""
}
}

operation: Delete Meeting

Input parameters

Parameter Description
Meeting ID Specify the ID of an existing meeting that you want to delete from Microsoft Teams.
User ID Specify the ID of a user whose associated meeting you want to delete in Microsoft Teams.
NOTE: If the connector is configured using authentication tokens retrieved using the "Without a User – Application Permission" option, then is action works for all users by specifying the specific user ID. If the connector is configured using authentication tokens retrieved using the "On behalf of User – Delegate Permission" option, then only the current user is considered, and there is no need to specify the user ID. For more information, see the Getting Access Tokens section.

Output

The output contains the following populated JSON schema:
{
"message": ""
}

operation: Send Direct Message

Input parameters

Parameter Description
Sender User Email Specify the email address of your account from which you want to send a chat message.
Receiver User Email Specify the email address of the receiver who should receive the chat message.
Message Type

Select if you need to send a simple text message or a formatted message. You can choose between Text and Card options.

  • If you choose Text, then in the Message field, specify the content of the message that you want to send to the specified user in Microsoft Teams.
  • If you choose Card, then you can specify the following additional parameters:
    • Title: Specify the title of the message card that you want to send to the specified user in Microsoft Teams.
    • Subtitle: Specify the sub-title of the message card that you want to send to the specified user in Microsoft Teams.
    • Body: Specify the content of the message that you want to send to the specified user in Microsoft Teams.
    • Subject: Specify the subject of the message that you want to send to the specified user in Microsoft Teams.
    • Buttons: Specify the list of button objects to be added to the message that you want to send to the specified user in Microsoft Teams.

Output

The output contains the following populated JSON schema:
{
"@odata.context": "",
"replyToId": "",
"etag": "",
"messageType": "",
"createdDateTime": "",
"lastModifiedDateTime": "",
"lastEditedDateTime": "",
"deletedDateTime": "",
"subject": "",
"summary": "",
"chatId": "",
"importance": "",
"locale": "",
"webUrl": "",
"channelIdentity": "",
"policyViolation": "",
"eventDetail": "",
"from": {
"application": "",
"device": "",
"user": {
"id": "",
"displayName": "",
"userIdentityType": ""
}
},
"body": {
"contentType": "",
"content": ""
},
"attachments": [],
"mentions": [],
"reactions": []
}

operation: Send Bot Message/Input Form

Input parameters

NOTE: This action works only if users have selected the 'Enable Bot Communication' option while configuring the connector, and configured the FortiSOAR for Microsoft Teams Application and FortiSOAR for Microsoft Teams Solution Pack. For more information see the FortiSOAR for Microsoft Teams Application document and the FortiSOAR For Microsoft Teams Solution Pack document in the Content Hub Portal.

Parameter Description
Message Type

Specify the type and content of the message that you want to send to Microsoft Teams using the FortiSOAR for Microsoft Teams Application. You can choose between Text Message or Manual Input Form. Select Text Message to send a plain text message or select Manual Input Form to send a form in which users can provide their response.

  • If you choose Text Message, then you must specify the following parameters:
    • Conversation ID: Specify the ID of the conversation to which you want to send the message. The Conversation ID can be the actual conversion ID, the user's email address, or the name of the channel with its path, for example, FortiSOAR/Demo.
    • Message: Specify the content of the message that you want to send to the specified conversation in Microsoft Teams.
  • If you choose Manual Input, then in the Input field, specify the FortiSOAR Manual Input object that you want to send to Microsoft Teams. The form can either be an input form or an approval request that you want to send to Microsoft Teams and get users' responses.

NOTE: The 'Send Bot Message/Input Form' action internally prepares the mapping code for the form object as expected by Microsoft Teams and renders that form in MS Teams. However, if you want to send customized messages directly to Teams users, then you use the 'Send Message to Channel' or the 'Send Direct Message' actions.

Output

The output contains the following populated JSON schema:
{
"result": ""
}

Included playbooks

The Sample - Microsoft Teams - 3.0.0 playbook collection comes bundled with the Microsoft Teams connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Microsoft Teams connector.

NOTE: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets overwritten during the connector upgrade and gets deleted during connector uninstall.

Getting Access Tokens

You can get authentication tokens to access the graph APIs using two methods:

Getting Access Tokens using the On behalf of the User - Delegate Permission method

  1. Ensure that the required permissions are granted for the registration of the application. Select API Permissions > Add permission > Microsoft Graph > Delegated Permissions.
    NOTE: The API Permission that should be granted to the registered application is mentioned in the Minimum permissions required for the 'Delegate-type' permission table.
  2. The Redirect URL can be directed to any web application in which you want to receive responses from Azure AD. If you are unsure about what to set as a redirect URL, you can use https://localhost/myapp.
  3. Copy the following URL and replace the TENANT_ID, CLIENT_ID, and REDIRECT_URI with your tenant ID, client ID, and the following redirect URL:
    https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize? client_id=CLIENT_ID&response_type=code&redirect_uri=REDIRECTION_URL&response_mode=query&scope=https://graph.microsoft.com/.default%20offline_access
  4. Enter the above link with the replaced values and you will be prompted to grant permissions for your Azure Service Management. You will be automatically redirected to a link with the following structure: REDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATE
  5. Copy the AUTH_CODE (without the "code=" prefix) and paste it into your instance configuration in the Authorization Code parameter.
  6. Enter your client ID in the Client ID parameter field.
  7. Enter your client secret in the Client Secret parameter field.
  8. Enter your tenant ID in the Tenant ID parameter field.
  9. Enter your redirect URL in the Redirect URL parameter field. By default, it is set to https://localhost/myapp.

Getting Access Tokens Without a User - Application Permission method

Minimum Permissions Table

To call the Microsoft Graph API, to perform any action, you must be assigned specific permissions as defined in this section. To learn more, including how to choose permissions, see Microsoft Graph permissions reference.

Action Name Permission Type Permissions (from least to most privileged)
Create user Delegated (work or school account) User.ReadWrite.All, Directory.ReadWrite.All
Application User.ReadWrite.All, Directory.ReadWrite.All
Get All Users Delegated (work or school account) User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Get User Details Delegated (work or school account) User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All,User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Update User Details Delegated (work or school account) User.ReadWrite, User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
Application User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
Delete User Delegated (work or school account) User.ReadWrite.All
Application User.ReadWrite.All
Create Group Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Delete Group Delegated (work or school account) Group.ReadWrite.All
Application Group.ReadWrite.All
Get Groups Delegated (work or school account) GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All
Add Group's Owner Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.ReadWrite.All, Directory.ReadWrite.All
Add Group's Member Delegated (work or school account) GroupMember.ReadWrite.All, Group.ReadWrite.All
Application GroupMember.ReadWrite.All, Group.ReadWrite.All
Get Group's Members Delegated (work or school account)

GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All

Application

GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All

Get Group's Owner Delegated (work or school account) GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All
Application GroupMember.Read.All, Group.Read.All, GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All
Remove Group's Owner Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.ReadWrite.All, Directory.ReadWrite.All
Remove Group's Member Delegated (work or school account) GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Create Channel Delegated (work or school account) Channel.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Application Channel.Create.Group, Channel.Create, Teamwork.Migrate.All, Group.ReadWrite.All, Directory.ReadWrite.All
Get Channel Details Delegated (work or school account) Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application ChannelSettings.Read.Group, ChannelSettings.ReadWrite.Group, Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Send Message to Channel Delegated (work or school account) ChannelMessage.Send, Group.ReadWrite.All
Application Not Supported.
Reply Message Delegated (work or school account) ChannelMessage.Send, Group.ReadWrite.All
Application Not Supported.
Tag User in Message Delegated (work or school account) ChannelMessage.Send, Group.ReadWrite.All
Application Not Supported.
Get Channel's Messages Delegated (work or school account) ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All
Delegated (personal Microsoft account) ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All
Application ChannelMessage.Read.Group, ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All
Get User’s Teams Delegated (work or school account) Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Get Team Details Delegated (work or school account) Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Application TeamSettings.Read.Group, TeamSettings.ReadWrite.Group, Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Archive Team Delegated (work or school account) TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application TeamSettings.ReadWrite.Group, TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Create Team Delegated (work or school account) Group.ReadWrite.All, Directory.ReadWrite.All
Application Group.ReadWrite.All, Directory.ReadWrite.All
Clone Team Delegated (work or school account) Team.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Application Team.Create, Group.ReadWrite.All, Directory.ReadWrite.All
Update Team Details Delegated (work or school account) TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application TeamSettings.ReadWrite.Group, TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Unarchive Team Delegated (work or school account) TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Application TeamSettings.ReadWrite.Group, TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All
Create Meeting Delegated (work or school account) OnlineMeetings.ReadWrite
Application OnlineMeetings.ReadWrite.All
Get Meeting Details Delegated (work or school account) OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All
Application OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All
Update Meeting Details Delegated (work or school account) OnlineMeetings.ReadWrite
Application OnlineMeetings.ReadWrite.All
Delete Meeting Delegated (work or school account) OnlineMeetings.ReadWrite
Application OnlineMeetings.ReadWrite.All
Send Direct Message Delegated (work or school account) ChatMessage.Send, Chat.ReadWrite
Application Not Supported.

Troubleshooting

Troubleshooting issues with the 'Listener' for Teams

You can use the following troubleshooting tips for various issues with the Microsoft Teams 'Listener' (Enable Bot Communication option):

Previous
Next