Microsoft Teams connector for Amazon AppFlow
Microsoft Teams is a platform developed by Microsoft that helps teams collaborate through chat, online meetings, and more. If you're a Microsoft Teams user, your account contains data about your resources, including teams, groups, and channels. You can use Amazon AppFlow to transfer data from Microsoft Teams to certain AWS services or other supported applications.
Amazon AppFlow support for Microsoft Teams
Amazon AppFlow supports Microsoft Teams as follows.
- Supported as a data source?
Yes. You can use Amazon AppFlow to transfer data from Microsoft Teams.
- Supported as a data destination?
No. You can't use Amazon AppFlow to transfer data to Microsoft Teams.
Before you begin
To use Amazon AppFlow to transfer data from Microsoft Teams to supported destinations, you must meet these requirements:
-
You have a Microsoft account with which you've signed up for the following services:
-
Microsoft Teams. For more information about the Microsoft Teams data objects that Amazon AppFlow supports, see Supported objects.
-
Microsoft 365.
-
The Microsoft 365 Developer Program.
-
-
In the Microsoft Azure portal, you've created an app registration for Amazon AppFlow. The registered app provides the client credentials that Amazon AppFlow uses to access your data securely when it makes authenticated calls to your account. For the steps to register an app, see Register an application with the Microsoft identity platform
in the Microsoft Graph documentation. -
You've configured your registered app with the following settings:
-
You've added one or more redirect URLs for Amazon AppFlow.
Redirect URLs have the following format:
https://
region
.console.aws.amazon.com/appflow/oauthIn this URL, region is the code for the AWS Region where you use Amazon AppFlow to transfer data from Microsoft Teams. For example, the code for the US East (N. Virginia) Region is
us-east-1
. For that Region, the URL is the following:https://us-east-1.console.aws.amazon.com/appflow/oauth
For the AWS Regions that Amazon AppFlow supports, and their codes, see Amazon AppFlow endpoints and quotas in the AWS General Reference.
-
You've added the recommended permissions below.
-
You've created a client secret.
-
Note the following values from your registered app because you provide them to Amazon AppFlow when you connect to your Microsoft Teams account:
-
Application (client) ID
-
Directory (tenant) ID
-
Client secret
Recommended permissions
Before Amazon AppFlow can securely access your data in Microsoft Teams, your registered app must allow the necessary permissions for the Microsoft Graph API. We recommend that you enable the permissions below so that Amazon AppFlow can access all supported data objects.
If you want to grant fewer permissions, you can omit any permissions that apply to objects that you don't want to transfer.
You can add permissions to your registered app by using the API permissions page in the Microsoft Azure portal. Configure your permissions as follows:
-
Under Microsoft APIs, choose Microsoft Graph.
-
For the permissions type, choose delegated. For information about delegated permissions, see Permission types
in the Microsoft identity platform documentation. -
Add the following recommended permissions:
-
User.Read
-
Offline_access
-
User.Read.All
-
User.ReadWrite.All
-
TeamsTab.ReadWriteForTeam
-
TeamsTab.ReadWriteForChat
-
TeamsTab.ReadWrite.All
-
TeamsTab.Read.All
-
TeamSettings.ReadWrite.All
-
TeamSettings.Read.All
-
TeamMember.ReadWrite.All
-
TeamMember.Read.All
-
Team.ReadBasic.All
-
GroupMember.ReadWrite.All
-
GroupMember.Read.All
-
Group.ReadWrite.All
-
Group.Read.All
-
Directory.ReadWrite.All
-
Directory.Read.All
-
Directory.AccessAsUser.All
-
Chat.ReadWrite
-
Chat.ReadBasic
-
Chat.Read
-
ChannelSettings.ReadWrite.All
-
ChannelSettings.Read.All
-
ChannelMessage.Read.All
-
Channel.ReadBasic.All
For information about these permissions, see the Microsoft Graph permissions reference
in the Microsoft Graph documentation. -
-
Enable the option to grant admin consent to your app. For more information, see Admin consent
in the Microsoft identity platform documentation.
Connecting Amazon AppFlow to your Microsoft Teams account
To connect Amazon AppFlow to Microsoft Teams, provide details from your registered app in Microsoft Azure so that Amazon AppFlow can access your data. If you haven't yet configured your Microsoft account for Amazon AppFlow integration, see Before you begin.
To connect to Microsoft Teams
Sign in to the AWS Management Console and open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/
. -
In the navigation pane on the left, choose Connections.
-
On the Manage connections page, for Connectors, choose Microsoft Teams.
-
Choose Create connection.
-
In the Connect to Microsoft Teams window, enter the following information about your registered app:
-
Custom authorization tokens URL – The directory (tenant) ID.
-
Custom authorization code URL – The directory (tenant) ID
-
The Client ID and Client secret.
-
-
Optionally, under Data encryption, choose Customize encryption settings (advanced) if you want to encrypt your data with a customer managed key in the AWS Key Management Service (AWS KMS).
By default, Amazon AppFlow encrypts your data with a KMS key that AWS creates, uses, and manages for you. Choose this option if you want to encrypt your data with your own KMS key instead.
Amazon AppFlow always encrypts your data during transit and at rest. For more information, see Data protection in Amazon AppFlow.
If you want to use a KMS key from the current AWS account, select this key under Choose an AWS KMS key. If you want to use a KMS key from a different AWS account, enter the Amazon Resource Name (ARN) for that key.
-
For Connection name, enter a name for your connection.
-
Choose Continue. A Sign in window opens.
-
Enter your user name and password to sign in to your Microsoft account.
-
On the Permissions requested page, choose Accept.
On the Manage connections page, your new connection appears in the Connections table. When you create a flow that uses Microsoft Teams as the data source, you can select this connection.
Transferring data from Microsoft Teams with a flow
To transfer data from Microsoft Teams, create an Amazon AppFlow flow, and choose Microsoft Teams as the data source. For the steps to create a flow, see Creating flows in Amazon AppFlow.
When you configure the flow, choose the data object that you want to transfer. For the objects that Amazon AppFlow supports for Microsoft Teams, see Supported objects.
Also, choose the destination where you want to transfer the data object that you selected. For more information about how to configure your destination, see Supported destinations.
Supported destinations
When you create a flow that uses Microsoft Teams as the data source, you can set the destination to any of the following connectors:
Supported objects
When you create a flow that uses Microsoft Teams as the data source, you can transfer any of the following data objects to supported destinations:
Object |
Field |
Data type |
Supported filters |
---|---|---|---|
Calendar Event |
Allow New Time Proposals |
Boolean |
|
Attendees |
List |
||
Body |
Struct |
||
Body Preview |
String |
||
Categories |
List |
||
Change Key |
String |
||
Created DateTime |
DateTime |
||
End |
Struct |
||
Has Attachments |
Boolean |
||
Hide Attendees |
Boolean |
||
ICalUId |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
Id |
String |
||
Importance |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
Is AllDay |
Boolean |
||
Is Cancelled |
Boolean |
||
Is Draft |
Boolean |
||
Is Online Meeting |
Boolean |
||
Is Organizer |
Boolean |
||
Is Reminder On |
Boolean |
||
Last Modified DateTime |
DateTime |
||
Location |
Struct |
||
Locations |
List |
||
Occurrence Id |
String |
||
Online Meeting |
Struct |
||
Online Meeting Provider |
String |
||
Online Meeting Url |
String |
||
Organizer |
Struct |
||
Original End Time Zone |
String |
||
Original Start Time Zone |
String |
||
Recurrence |
Struct |
||
Reminder Minutes Before Start |
Integer |
||
Response Requested |
Boolean |
||
Response Status |
Struct |
||
Sensitivity |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
Series Master Id |
String |
||
Show As |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
Start |
Struct |
||
Subject |
String |
NOT_EQUAL_TO, EQUAL_TO, CONTAINS |
|
Transaction Id |
String |
||
Type |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
WebLink |
String |
||
Channel |
Created DateTime |
DateTime |
|
Description |
String |
NOT_EQUAL_TO, EQUAL_TO, CONTAINS |
|
Display Name |
String |
NOT_EQUAL_TO, EQUAL_TO, CONTAINS |
|
String |
|||
Id |
String |
NOT_EQUAL_TO, EQUAL_TO, CONTAINS |
|
Is Favorite By Default |
Boolean |
||
Membership Type |
String |
||
WebUrl |
String |
||
Channel Message |
Attachments |
List |
|
Body |
Struct |
||
Channel Identity |
Struct |
||
Chat Id |
String |
||
Created DateTime |
DateTime |
||
Deleted DateTime |
DateTime |
||
Etag |
String |
||
Event Detail |
Struct |
||
From |
Struct |
||
Id |
String |
||
Importance |
String |
||
Last Edited DateTime |
DateTime |
||
Last Modified DateTime |
DateTime |
||
Locale |
String |
||
Mentions |
List |
||
Message Type |
String |
||
Policy Violation |
Struct |
||
Reactions |
List |
||
Reply To Id |
String |
||
Subject |
String |
||
Summary |
String |
||
WebUrl |
String |
||
Channel Message Reply |
Attachments |
List |
|
Body |
Struct |
||
Channel Identity |
Struct |
||
Chat Id |
String |
||
Created DateTime |
DateTime |
||
Etag |
String |
||
Event Detail |
Struct |
||
From |
Struct |
||
Id |
String |
||
Importance |
String |
||
Last Edited DateTime |
DateTime |
||
Last Modified DateTime |
DateTime |
||
Locale |
String |
||
Mentions |
List |
||
Message Type |
String |
||
Policy Violation |
Struct |
||
Reactions |
List |
||
Reply To Id |
String |
||
Subject |
String |
||
Summary |
String |
||
WebUrl |
String |
||
dDeleted DateTime |
DateTime |
||
Channel Tab |
Configuration |
Struct |
|
Display Name |
String |
NOT_EQUAL_TO, EQUAL_TO, CONTAINS |
|
Id |
String |
NOT_EQUAL_TO, EQUAL_TO, CONTAINS |
|
WebUrl |
String |
||
Chat |
Chat Type |
String |
NOT_EQUAL_TO, EQUAL_TO |
Created DateTime |
DateTime |
||
Id |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
Last Updated DateTime |
DateTime |
||
Online Meeting Info |
Struct |
||
Tenant Id |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
Topic |
String |
NOT_EQUAL_TO, EQUAL_TO |
|
WebUrl |
String |
||
Group |
Classification |
String |
|
Created DateTime |
DateTime |
||
Creation Options |
List |
||
Deleted DateTime |
DateTime |
||
Description |
String |
||
Display Name |
String |
EQUAL_TO |
|
Expiration DateTime |
DateTime |
||
Group Types |
List |
||
Id |
String |
EQUAL_TO |
|
Is Assignable To Role |
Boolean |
||
String |
EQUAL_TO |
||
Mail Enabled |
Boolean |
EQUAL_TO |
|
Mail Nickname |
String |
EQUAL_TO |
|
Membership Rule |
String |
EQUAL_TO |
|
Membership Rule Processing State |
String |
EQUAL_TO |
|
On Premises Domain Name |
String |
||
On Premises Last Sync DateTime |
DateTime |
||
On Premises Net Bios Name |
String |
||
On Premises Provisioning Errors |
List |
||
On Premises Sam Account Name |
String |
||
On Premises Sync Enabled |
Boolean |
||
OnPremises Security Identifier |
String |
||
Preferred Data Location |
String |
||
Preferred Language |
String |
||
Proxy Addresses |
List |
||
Renewed DateTime |
DateTime |
EQUAL_TO, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO |
|
Resource Behavior Options |
List |
||
Resource Provisioning Options |
List |
||
Security Enabled |
Boolean |
EQUAL_TO |
|
Security Identifier |
String |
||
Theme |
String |
||
Visibility |
String |
||
Group Member |
Business Phones |
List |
|
Display Name |
String |
||
Given Name |
String |
||
Id |
String |
EQUAL_TO |
|
Job Title |
String |
||
String |
|||
Mobile Phone |
String |
||
Office Location |
String |
||
Preferred Language |
String |
||
Surname |
String |
||
User Principal Name |
String |
||
Team |
Classification |
String |
|
Created DateTime |
DateTime |
||
Description |
String |
||
Discovery Settings |
Struct |
||
Display Name |
String |
||
Fun Settings |
Struct |
||
Guest Settings |
Struct |
||
Id |
String |
||
Internal Id |
String |
||
Is Archived |
Boolean |
||
Is Membership Limited To Owners |
Boolean |
||
Member Settings |
Struct |
||
Messaging Settings |
Struct |
||
Specialization |
String |
||
Summary |
String |
||
Visibility |
Struct |
||
WebUrl |
String |
||
Team Member |
Display Name |
String |
NOT_EQUAL_TO, EQUAL_TO |
String |
|||
Id |
String |
||
Roles |
List |
||
Tenant Id |
String |
||
User Id |
String |
||
Visible History Start DateTime |
DateTime |