Microsoft Teams

tap-ms-teams (singer-io variant)🥈

Business Communication Platform

The tap-ms-teams extractor pulls data from Microsoft Teams that can then be sent to a destination using a loader.

Alternate Implementations

Getting Started

Prerequisites

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration

  1. Add the tap-ms-teams extractor to your project using
    meltano add
    :
  2. meltano add extractor tap-ms-teams
  3. Configure the tap-ms-teams settings using
    meltano config
    :
  4. meltano config tap-ms-teams set --interactive
  5. Test that extractor settings are valid using
    meltano config
    :
  6. meltano config tap-ms-teams test

Next steps

If you run into any issues, learn how to get help.

Capabilities

The current capabilities for tap-ms-teams may have been automatically set when originally added to the Hub. Please review the capabilities when using this extractor. If you find they are out of date, please consider updating them by making a pull request to the YAML file that defines the capabilities for this extractor.

This plugin has the following capabilities:

  • catalog
  • discover
  • state

You can override these capabilities or specify additional ones in your meltano.yml by adding the capabilities key.

Settings

The tap-ms-teams settings that are known to Meltano are documented below. To quickly find the setting you're looking for, click on any setting name from the list:

You can also list these settings using

meltano config
with the list subcommand:

meltano config tap-ms-teams list

You can override these settings or specify additional ones in your meltano.yml by adding the settings key.

Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.

Client ID (client_id)

  • Environment variable: TAP_MS_TEAMS_CLIENT_ID

The Client ID of your Microsoft Teams developer application.


Configure this setting directly using the following Meltano command:

meltano config tap-ms-teams set client_id [value]

Client Secret (client_secret)

  • Environment variable: TAP_MS_TEAMS_CLIENT_SECRET

The Client Secret of your Microsoft Teams developer application.


Configure this setting directly using the following Meltano command:

meltano config tap-ms-teams set client_secret [value]

Start Date (start_date)

  • Environment variable: TAP_MS_TEAMS_START_DATE

Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.


Configure this setting directly using the following Meltano command:

meltano config tap-ms-teams set start_date [value]

Tenant ID (tenant_id)

  • Environment variable: TAP_MS_TEAMS_TENANT_ID

A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain - open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL.


Configure this setting directly using the following Meltano command:

meltano config tap-ms-teams set tenant_id [value]

User Agent (user_agent)

  • Environment variable: TAP_MS_TEAMS_USER_AGENT

The user agent to send with requests.


Configure this setting directly using the following Meltano command:

meltano config tap-ms-teams set user_agent [value]

Authentication Details

The Microsoft Graph API uses OAuth for authentication. Follow these instructions for creating an app in the Azure portal. This process will produce the client_id, client_secret, and tenant_id needed for the tap configuration file.

Register a new application with the Azure portal

  1. Login to Azure Portal
  2. Click upper-left menu icon and select Azure Active Directory
  3. Select App Registrations
  4. Click New registration
  5. Register an application
  • Name: tap-microsoft-teams
  • Supported account types: Accounts in this organizational directory only
  • Redirect URL: Web - https://YOURDOMAIN/callback
  • Register (button)
  1. Record the client_id, tenant_id, and application_id (Object ID) which will be used by the tap for authentication and API integration.
  2. Select Branding
  1. Select Authentication
  1. Select Certificates & secrets
  2. Provide Description and Expires
  • Description: tap-microsoft-teams client secret
  • Expires: Never
  • Add
  1. Copy the client secret Value, this will be the client_secret
  2. Select API permissions
  • Click Add a permission
  1. Select Microsoft Graph
  2. Select Application permissions
  3. Select the following permissions:
  • Application > Application.Read.All
  • Calendars > Calendars.Read?
  • Chat > Chat.Read.All
  • Files > Files.Read.All
  • Group > Group.Read.All
  • Notes > Notes.Read.All
  • OnlineMeetings > OnlineMeetings.Read.All
  • Reports > Reports.Read.All
  • Schedule > Schedule.Read.All
  • Team > Team.ReadBasic.All
  • User > User.Read.All
  1. Click Add permissions

Something missing?

This page is generated from a YAML file that you can contribute changes to.

Edit it on GitHub!

Looking for help?

If you're having trouble getting the tap-ms-teams extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the
#plugins-general
channel.

Install

meltano add extractor tap-ms-teams

Maintenance Status

  • Maintenance Status

Repo

https://github.com/singer-io/tap-ms-teams
  • Stars
  • Forks
  • Last Commit Date
  • Open Issues
  • Open PRs
  • Contributors
  • License

Maintainer

  • Stitch Data

Meltano Stats

  • Projects (Last 3 Months)

PyPI Stats

  • PyPI Downloads
  • PyPI Package Version

Keywords

  • api