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.
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
The following enhancements have been made to the Microsoft Teams Connector in version 3.0.0:
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
cd /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0 sudo sh run_listener_prerequisite.sh run_listener_prerequisite.sh script handles the following tasks:
msteamsbot' nginx route entry in the '/etc/nginx/conf.d/cyops-api.conf' file.bot notification' service. For the procedure to configure a connector, click here
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:
If you choose 'Without a User - Application Permission', then you must specify the following parameters:
If you choose 'On behalf of User - Delegated Permission', then you must specify the following parameters:
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:
|
| Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. By default, this option is set to True. |
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 |
| 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. |
The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}
| 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:
|
The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
| 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:
|
| 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. |
The output contains the following populated JSON schema:
{
"message": ""
}
| 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:
|
The output contains the following populated JSON schema:
{
"message": ""
}
| 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. |
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": ""
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"message": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"owner_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"webUrl": "",
"membershipType": ""
}
| 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. |
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": ""
}
]
}
| 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. |
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": []
}
]
}
| 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:
|
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": []
}
| 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. |
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": []
}
| 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. |
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": []
}
| 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. |
The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"displayName": ""
}
| 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. |
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": ""
}
]
}
| 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. |
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": ""
}
}
| 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. |
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": ""
}
}
}
| Parameter | Description |
|---|---|
| Team ID | Specify the ID of an existing team that you want to archive in Microsoft Teams. |
The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}
| Parameter | Description |
|---|---|
| Team ID | Specify the ID of an existing team whose archive you want to restore from Microsoft Teams. |
The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}
| 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). |
The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}
| 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. |
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": ""
}
}
| 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. |
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": ""
}
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"message": ""
}
| 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.
|
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": []
}
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.
|
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.
The output contains the following populated JSON schema:
{
"result": ""
}
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.
You can get authentication tokens to access the graph APIs using two methods:
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_accessREDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATEAUTH_CODE (without the "code=" prefix) and paste it into your instance configuration in the Authorization Code parameter.User.Read.AllUser.ReadWrite.AllGroupMember.Read.AllGroupMember.ReadWrite.AllGroup.ReadWrite.AllGroup.Read.AllAuditLog.Read.AllDirectory.Read.AllDirectory.ReadWrite.AllUser.ManageIdentities.All of type Application.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. |
You can use the following troubleshooting tips for various issues with the Microsoft Teams 'Listener' (Enable Bot Communication option):
ps aux | grep teams_listener.py/var/log/cyops/cyops-integrations/teams/teams_listener.log
sudo' permissions on the log_helper.py file, and then do the following.
/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.pylog_helper.py file. log_helper.py file, restart the 'uwsgi' service using the following command:sudo systemctl restart uwsgi/var/log/cyops/cyops-integrations/connector.log./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.shsudo systemctl restart uwsgised -i '/location \/msteamsbot\/ {/,/}/d' /etc/nginx/conf.d/cyops-api.confnginx -s reload/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.sudo vi /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0/listener/config.py file and then save the file.<connector_version_numner> folder:cd /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0 vi run_listener_prerequisite.sh sh run_listener_prerequisite.sh sudo systemctl restart uwsgi
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.
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
The following enhancements have been made to the Microsoft Teams Connector in version 3.0.0:
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
cd /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0 sudo sh run_listener_prerequisite.sh run_listener_prerequisite.sh script handles the following tasks:
msteamsbot' nginx route entry in the '/etc/nginx/conf.d/cyops-api.conf' file.bot notification' service. For the procedure to configure a connector, click here
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:
If you choose 'Without a User - Application Permission', then you must specify the following parameters:
If you choose 'On behalf of User - Delegated Permission', then you must specify the following parameters:
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:
|
| Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. By default, this option is set to True. |
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 |
| 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. |
The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"data": {
"value": [
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
],
"@odata.context": ""
}
}
| 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:
|
The output contains the following populated JSON schema:
{
"id": "",
"mail": "",
"surname": "",
"jobTitle": "",
"givenName": "",
"displayName": "",
"mobilePhone": "",
"@odata.context": "",
"businessPhones": [],
"officeLocation": "",
"preferredLanguage": "",
"userPrincipalName": ""
}
| 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:
|
| 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. |
The output contains the following populated JSON schema:
{
"message": ""
}
| 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:
|
The output contains the following populated JSON schema:
{
"message": ""
}
| 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. |
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": ""
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"message": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"owner_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"result": {
"user_id": "",
"group_id": ""
},
"status": "",
"message": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"createdDateTime": "",
"displayName": "",
"description": "",
"isFavoriteByDefault": "",
"email": "",
"webUrl": "",
"membershipType": ""
}
| 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. |
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": ""
}
]
}
| 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. |
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": []
}
]
}
| 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:
|
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": []
}
| 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. |
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": []
}
| 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. |
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": []
}
| 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. |
The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"displayName": ""
}
| 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. |
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": ""
}
]
}
| 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. |
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": ""
}
}
| 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. |
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": ""
}
}
}
| Parameter | Description |
|---|---|
| Team ID | Specify the ID of an existing team that you want to archive in Microsoft Teams. |
The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}
| Parameter | Description |
|---|---|
| Team ID | Specify the ID of an existing team whose archive you want to restore from Microsoft Teams. |
The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}
| 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). |
The output contains the following populated JSON schema:
{
"status": "",
"message": ""
}
| 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. |
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": ""
}
}
| 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. |
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": ""
}
}
| 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. |
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": ""
}
}
| 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. |
The output contains the following populated JSON schema:
{
"message": ""
}
| 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.
|
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": []
}
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.
|
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.
The output contains the following populated JSON schema:
{
"result": ""
}
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.
You can get authentication tokens to access the graph APIs using two methods:
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_accessREDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATEAUTH_CODE (without the "code=" prefix) and paste it into your instance configuration in the Authorization Code parameter.User.Read.AllUser.ReadWrite.AllGroupMember.Read.AllGroupMember.ReadWrite.AllGroup.ReadWrite.AllGroup.Read.AllAuditLog.Read.AllDirectory.Read.AllDirectory.ReadWrite.AllUser.ManageIdentities.All of type Application.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. |
You can use the following troubleshooting tips for various issues with the Microsoft Teams 'Listener' (Enable Bot Communication option):
ps aux | grep teams_listener.py/var/log/cyops/cyops-integrations/teams/teams_listener.log
sudo' permissions on the log_helper.py file, and then do the following.
/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.pylog_helper.py file. log_helper.py file, restart the 'uwsgi' service using the following command:sudo systemctl restart uwsgi/var/log/cyops/cyops-integrations/connector.log./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.shsudo systemctl restart uwsgised -i '/location \/msteamsbot\/ {/,/}/d' /etc/nginx/conf.d/cyops-api.confnginx -s reload/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.sudo vi /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0/listener/config.py file and then save the file.<connector_version_numner> folder:cd /opt/cyops/configs/integrations/connectors/microsoft-teams_3_0_0 vi run_listener_prerequisite.sh sh run_listener_prerequisite.sh sudo systemctl restart uwsgi