サイトのAPI図鑑B版
掲載情報が正確でない可能性があります。
SNS・コミュニケーションAPI

Microsoft Teams APIでワークフローを自動化する方法【Graph API活用】

Microsoft Graph APIを使ったTeamsへのメッセージ送信・Adaptive Cards・Teamsアプリ開発・会議データの取得方法を解説します。Microsoft 365環境での自動化に役立ちます。

#Microsoft Teams#Graph API#Microsoft 365#業務自動化

Microsoft Teams APIとGraph APIの関係

Microsoft Teamsの機能にAPIでアクセスするには、主にMicrosoft Graph APIを使います。Graph APIはMicrosoft 365(Teams・Outlook・SharePoint・OneDrive等)の各サービスへのアクセスを統一したAPIです。Teamsへのメッセージ送信・会議の管理・チャンネルの作成・ユーザー管理などがGraph APIで操作できます。

認証の設定(Azure AD)

  1. Azure Portal(portal.azure.com)でApp Registrationを作成
  2. 必要なAPIパーミッションを追加(ChannelMessage.Send等)
  3. クライアントシークレット(またはcertificate)を作成
  4. テナントID・クライアントID・シークレットを取得
  5. 管理者による同意(Admin Consent)を取得

サーバー間通信(アプリケーション権限)の場合はOAuth 2.0クライアントクレデンシャルフローを使います。

Teamsチャンネルへのメッセージ送信

const accessToken = await getAccessToken(); // クライアントクレデンシャルフロー

const response = await fetch(
  `https://graph.microsoft.com/v1.0/teams/${teamId}/channels/${channelId}/messages`,
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${accessToken}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      body: {
        contentType: 'text',
        content: 'デプロイが完了しました ✅'
      }
    })
  }
);

Adaptive Cards

Adaptive CardsはTeams・Outlook・Cortana等で使えるカード型UIの仕様です。テキスト・画像・ボタン・入力フォームを含むリッチなメッセージを作れます。Adaptive Cards Designerを使ってビジュアルでデザインし、JSONを生成できます。

Power Automate(旧Flow)との連携

プログラミングを使わずTeamsと他サービスを連携するには、Microsoft Power AutomateのTeamsコネクタが便利です。Webフォーム送信→Teamsに通知、受信メール→Teamsに転送などのワークフローをGUI操作で作成できます。エンジニア以外でも活用できます。

Teams Webhookによる通知

Incoming Webhookコネクタ(廃止予定)の代替として、Workflows app(Power Automateベース)への移行が推奨されています。または、Graph APIのチャットメッセージ送信APIを直接使う方法も選択肢です。

Graph APIで取得できる会議データ

  • 会議の開催・参加者情報
  • オンライン会議のURL生成
  • 会議の録画URL(OneDriveに保存された場合)
  • 出席者のリスト・参加時間

まとめ

Microsoft Teams APIはGraph APIを通じてTeamsの機能にアクセスする強力なプラットフォームです。Microsoft 365環境でビジネスを展開している企業では、Teams APIを活用した業務自動化・通知システムの構築が効果的です。Azure AD認証の設定が最初のハードルですが、一度設定すれば幅広いMicrosoft 365サービスと連携できます。

よくある質問

Q.Teams APIを使うにはどんなライセンスが必要ですか?

Microsoft Graph APIへのアクセスにはAzure Active Directory(Microsoft Entra ID)のアカウントが必要です。Teams機能はMicrosoft 365のライセンス(Business BasicやE3等)が必要です。Azure ADの無料枠で基本的なAPI利用は可能です。

Q.Incoming Webhookコネクタが廃止されると聞きましたが?

MicrosoftはTeamsのコネクタ(Incoming Webhook等)を段階的に廃止する方針を発表しています。代替として「Microsoft 365ワークフロー(Power Automate)」またはGraph API経由でのメッセージ送信への移行が推奨されています。

Q.TeamsのボットはどのフレームワークSDKで作りますか?

Microsoft Bot FrameworkとTeams JavaScript SDKが公式のSDKです。Node.js・C#・Pythonに対応しています。より新しいアプローチとしてTeams Toolkit(VS Code拡張)を使ったTeams Appの開発も推奨されています。

関連記事