$30 off During Our Annual Pro Sale. View Details »

Teamsコネクタについて

MiyakeMito
March 25, 2023

 Teamsコネクタについて

MiyakeMito

March 25, 2023
Tweet

More Decks by MiyakeMito

Other Decks in Technology

Transcript

  1. Teamsと
    Teamsコネクタ
    について
    気ままに勉強会
    #50,65,67,71
    1

    View Slide

  2. 今日の目標
    Teams のキホンと
    Teams コネクタの
    仕様を知ろう
    2

    View Slide

  3. アジェンダ
    Teamsコネクタ とは
    Teamsコネクタ の Action たち
    Teamsコネクタ の Trigger たち
    3

    View Slide

  4. Miyake
    @MiTo60448639
    https://qiita.com/MiyakeMito
    株式会社アイシーソフト
    Technical Manager
    www.icsoft.jp
    https://speakerdeck.com/miya
    kemito
    4

    View Slide

  5. connpass (独立発行者) コネクタ
    が認定されました
    5
    https://learn.microsoft.com/ja-jp/connectors/connpassip/
    イベント情報のキャッチ
    や管理などに便利です
    是非ご活用ください!

    View Slide

  6. 本日の参考サイト
    6
    ◼ Microsoft Teamsコネクタ のドキュメント(Microsoft Learn)
    https://learn.microsoft.com/ja-jp/connectors/teams/
    ◼ MoreBeerMorePower(Hiroさん)
    https://mofumofupower.hatenablog.com/
    ◼ ルドルフもわたるふもいろいろあってな(わたるふさん)
    https://wataruf.hatenablog.com/

    View Slide

  7. 免責事項
    当スライドは、
    2023年 10月現在のバージョンでの情報です
    今後のアップデート等により、
    仕様変更する可能性があります
    また、私の見解による内容が含まれます
    間違いなどありましたらご指摘ください
    7

    View Slide

  8. Teamsコネクタ
    とは

    View Slide

  9. Teamsコネクタのトリガー
    9
    10 トリガー!
    日本語には反応しない
    日本語にも反応するようになった!

    View Slide

  10. Teamsコネクタのアクション 2023年3月時点
    10
    チャットやチャネルにアダプティブカードを投稿する
    28 アクション!

    View Slide

  11. 11
    メンバーリストを作成
    New!!
    Teamsコネクタのアクション 2023年8月時点
    29 アクション!

    View Slide

  12. 12
    Teamsコネクタのアクション 2023年10月時点
    29 アクション!

    View Slide

  13. Teamsコネクタのアクション ①
    13
    5 チームにメンバーを追加する この操作はメンバーをチームに追加します。
    6 チームの作成 この操作は新しいチームを作成します。
    23 チームの一覧を表示する この操作では、メンバーになっているすべての Teams (Office 365 Groups) のリストを取得します。
    24 チームを取得する この操作を実行すると、チームの一意の ID を使用してチームの詳細が返されます。
    チーム 関連
    26 チャネルの一覧表示 この操作は、特定のチームのすべてのチャネルの一覧を取得します。
    27 チャネルを作成する この操作は特定のチームの新しいチャネルを作成するために使用されます。
    チャネル 関連
    7 チャットの作成 この操作により、1対1またはグループ チャットが作成されます
    25 チャット一覧を作成 この操作により最近のチャットの一覧が取得されます。
    チャット 関連
    15 メンバー リストを作成 この操作により、1対1またはグループ チャットが作成されます
    メンバー 関連

    View Slide

  14. Teamsコネクタのアクション ②
    14
    16 タグからメンバーを削除する この操作はタグからメンバーを削除します。
    17 タグにメンバーを追加する この操作によってユーザーがタグに追加されます。
    19 タグのメンバーを一覧表示する この操作はタグのメンバーを一覧表示します。
    20 タグを削除する この操作はタグを削除します。
    21 チームのタグをすべて一覧表示する この操作によりタグの一覧を取得します。
    22 チームのタグを作成する この操作はタグを作成します。
    タグ 関連
    18 タグの @mention トークンを取得する
    この操作は、トークンを作成してメッセージやアダプティブ カードに挿入し、チャネルが含むユーザーとし
    て @mention にタグを送信します。
    29 ユーザーの @mention トークンを取得する この操作は @mention 対象のユーザーに、メッセージやアダプティブカードに挿入できるトークンを作成します。
    メンション 関連
    2 Teams 会議の作成 招待状の下部にあるリンクから会議を作成して Teams のオンライン会議に参加する
    Teams 会議関連

    View Slide

  15. Teamsコネクタのアクション ③
    15
    8 チャットまたはチャネルでメッセージを投稿する この操作を実行すると、チャットまたはチャネルにメッセージが投稿されます。
    12 チャネル内のメッセージで応答します この操作はチャネルのメッセージで応答します。
    13 メッセージを取得する この操作は、特定のチームのチャネルからメッセージを取得するために使用されます。
    14 メッセージ詳細を取得する この操作により、チャットまたはチャネル内のメッセージ詳細が取得されます。
    メッセージ 関連
    3 アダプティブ カードを投稿して応答を待機する この操作により、アダプティブ カードをチャットやチャネルに投稿し、応答を待機します。
    4 オプションの選択をフローボットとしてユーザーに投稿する
    Teams ユーザーにメッセージを送信するプロセスを簡単に自動化するもので、このメッセージには、
    応答する前に選択する必要のある一連のオプションが含まれています。
    9 チャットやチャネルにカードを投稿する この操作により、カードがチャットやチャネルに投稿されます。
    10 チャットやチャネルのアダプティブ カードを更新する この操作を実行すると、既存のアダプティブ カードが更新されます。
    11 チャネル内でアダプティブ カードを使用して返信する この操作により、チャネルへの返信がアダプティブ カードを使用して行われます。
    1 Teams のタスク モジュールで応答
    この操作を実行すると、Microsoft Teams の既存のタスク モジュールにあるアダプティブ カードで
    応答することができます。
    アダプティブカード 関連
    28 フィード通知を投稿する この操作によりフィード通知が投稿されます。
    フィード通知 関連
    次ページ 参照

    View Slide

  16. Teamsコネクタのわかりにくいアクション
    16
    ➢ 個人のチャットに対し、選択肢とコメントを求めるアダプティブカードを送信し、ユー
    ザーの応答を待ち合わせる
    ➢ 「アダプティブ カードを投稿して応答を待機する」に比べ手軽
    (個人チャットかつ簡易なデザイン限定で)
    ➢ 下記 Teamsコネクタのトリガーで実行されるフローで、アダプティブカードで応答する
    場合に使用する
    ✓ 「選択されたメッセージに対して」
    ✓ 「作成ボックスから」

    View Slide

  17. チームIDとチャネルIDの取得方法
    17
    Microsoft Teams のチームID、チャネルIDの確認方法(山田さん)
    https://qiita.com/yamad365/items/e480f77e9102b132d258
    ◼ チームID(M365グループID)
    Teams管理センターでも可能
    (こちらの方がカンタンかも)
    ◼ チャネルID(conversationId、会話ID)
    チームへのリンクを取得
    https://teams.microsoft.com/l/team/~/conversations
    ?groupId=<チームID>&tenantId= ~
    該当のチャネルを選び、
    URLを確認
    https://teams.microsoft.com/_#/conversations/<チャネル名>
    ?threadId=<チャネルID>&ctx=channel
    19:f8c4deeda62a49a6ae13c00e
    [email protected]
    のような値
    00794145-462d-4a3c-9505-8e4eexxxxxxc
    のような値

    View Slide

  18. チャットIDの取得方法
    18
    ◼ チャットID(conversationId、会話ID)
    該当のチャットを選び、
    URLを確認
    hthttps://teams.microsoft.com/_#/conversations/ <チャットID>?ctx=chat
    19:bef8991a-5f76-462d-a8d8-1[email protected](1対1チャット)

    19:[email protected](グループチャット)
    のような値

    View Slide

  19. メッセージID の取得方法
    Teams へメッセージ送信するアクションや、応答を受信するトリガーなどでメッセー
    ジIDが取得できます(動的コンテンツ)
    Teams コネクタのトリガーやアクションなど
    「動的なコンテンツ」でメッセージID を取得可能
    また、投稿したメッセージで「リンクをコピー」すると、URL内からも取得可能です
    19
    https://teams.microsoft.com/l/message/ [チャネルID]/ [メッセージID]? ~ 中略 ~ &parentMessageId= [親メッ
    セージID] &teamName= ~ 略

    View Slide

  20. 20
    ◼ チャネルチャットのメッセージID
    ◼ 1対1チャット や グループチャットのメッセージID
    チームID
    チャネルID
    チャットID
    子(応答)メッセージの
    [replyToId] が親(スレッドの先頭
    のメッセージIDを保持する
    テナント:テナントIDで一意
    メッセージID
    replyToId
    メッセージID
    メッセージID
    テナント:テナントIDで一意
    チャットIDの代わりにチャネルIDを
    指定可能なアクションがいくつかある

    View Slide

  21. Teamsコネクタ

    Actionたち

    View Slide

  22. チームを操作する

    View Slide

  23. チームの種類
    23
    ■ パブリック
    ➢ 組織に所属するユーザーなら誰でも自由に参加可能
    ■ プライベート
    ➢ メンバー追加に制限がある
    (チーム所有者が追加する)
    ■ 組織全体
    ➢ 組織内の全ユーザーが自動的に参加する
    ➢ 組織全体で5つまで作成可能
    ➢ ライセンス未付与のユーザーもチームに追加される。
    ライセンスのないユーザーが初めて Teams にサインインすると、
    Microsoft Teams Exploratoryライセンスが割り当てられる

    View Slide

  24. 24
    チーム チーム所有者 参加方法
    参加していないメンバーか
    らの見え方
    ゲスト参加 SharePoint Onlineサイト
    パブリック
    チーム作成者
    チーム所有者が任命
    チーム所有者が追加
    組織内のユーザーなら自由
    に参加可能
    表示
    (「チームに参加」から)
    可能 専用サイトが作成される
    プライベート
    チーム作成者
    チーム所有者が任命
    チーム所有者が追加
    メンバーからの申請を所有
    者が承認する(※1)
    所有者がチームコードを生
    成し伝える
    非表示 可能 専用サイトが作成される
    組織全体
    以下ロールを割り当てられた
    ユーザーが自動的に
    ・グローバル管理者
    ・Teams管理者
    チーム所有者が任命
    組織内のアクティブなユー
    ザー
    以下は除く
    ・ゲスト
    ・リソース
    ・共有メールボックス
    - 可能 専用サイトが作成される
    チームの比較
    (※1 参加したいユーザーが、チームのリンクからアクセスすることで申請する方法もある)

    View Slide

  25. 25
    チームを作成する
    チームの操作

    View Slide

  26. チームの作成
    26
    ◼ 新規にチームを作成する
    ◼ プライベートチーム、またはパブリックチームを作成可能
    ◼ Microsoft 365グループ、SharePoint サイトも作成される
    ◼ チームには「一般」チャネルが作成される
    組織全体のチームは
    作成できません
    Private
    Public

    View Slide

  27. 出力仕様 ①
    27
    ◼ チーム
    ➢ フローの実行者は、チームの所有者になる
    ◼ SharePoint Online
    ➢ フローの実行者は、
    サイト管理者および、Members(SPOgroup)に所属

    View Slide

  28. 出力仕様 ②
    28
    ◼ Microsoft 365グループ
    ➢ フローの実行者がグループの所有者およびメンバーになる
    ➢ メールアドレスのアカウント
    ✓ チーム名に半角英数が含まれない:msteams_xxxxx@~
    ✓ チーム名に半角英数が含まれる :チーム名の半角英数部分@~
    ➢ GALに表示しないがONとなる

    View Slide

  29. 作成したチームの設定
    29
    メンバーにチャネルの作成と更新を許可する オン
    メンバーにプライベート チャネルの作成を許可する オン
    メンバーにチャネルの削除と復元を許可する オン
    メンバーにアプリの追加と削除を許可する オン
    メンバーにカスタム アプリのアップロードを許可する オン
    メンバーにタブの作成、更新、および削除を許可する オン
    メンバーにコネクタの作成、更新、および削除を許可する オン
    メンバーに自分のメッセージを削除するオプションを与える オン
    メンバーに自分のメッセージを編集するオプションを与える オン
    メッセージで Teams をメンションする オン
    メッセージでチャネルをメンションする オン
    ゲストはチャンネルを追加および編集できる オフ
    ゲストはチャンネルを削除できる オフ
    Giphy オン
    Giphy コンテンツの評価 中レベル
    ステッカーとミーム オン
    カスタム ミーム オン
    メッセージのアクセス許可
    メンション
    ゲストのアクセス許可
    楽しい設定
    これらを設定しながらチームを作成
    する場合はGraph APIを利用します
    https://learn.microsoft.com/ja-
    jp/graph/api/team-post?view=graph-
    rest-1.0&tabs=http
    タグ
    タグを管理できるユーザー チームの所有者
    他のアプリのタグを自動的に適用する オン
    標準チャネルのみ可能

    View Slide

  30. Microsoft 365グループ作成制限
    30
    ◼ チームの作成が可能なユーザーを制限することが可能
    ➢ Microsoft 365 グループを作成できるユーザーを管理する
    https://learn.microsoft.com/ja-jp/microsoft-365/solutions/manage-
    creation-of-groups?view=o365-worldwide&WT.mc_id=M365-MVP-
    5000493
    ◼ 当然、制限されているユーザーではPower Automateからも作成不可
    • チームの作成は情シスに依頼
    • 情シスにてチーム作成後、依頼者
    を所有者に設定
    という運用のお供に・・・

    View Slide

  31. 所有者権限を削除する
    31
    ◼ フローの実行者は自動的に作成されたチームの所有者(M365グループ所有者)
    の権限が付与される
    ◼ 所有者権限をはく奪する際はGraph APIを使用し、メンバーに降格させる
    ◼ さらにグループから除外する場合は、
    ◼ https://learn.microsoft.com/ja-jp/graph/api/group-delete-owners?view=graph-rest-1.0&tabs=http
    https://graph.microsoft.com/v1.0/groups/{id}/
    owners/{id}/$ref
    DELETE
    application/json
    チームID
    (M365グループID)
    userId
    Office 365 Users コネクタ
    (M365管理センター等からも取得可能)
    Office 365
    Groups
    コネクタ

    View Slide

  32. 32
    チームを一覧表示する
    チームの操作

    View Slide

  33. チームの一覧表示
    33
    ◼ フロー実行者が所有者またはメンバーになっているすべての Teams
    (Office 365 Groups) のリストを取得する
    ◼ チームごとに取得できる項目は、チームID(M365グループID)、表示名、
    詳細、アーカイブ状態、テナントID

    View Slide

  34. 34
    "body": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams",
    "@odata.count": 2,
    "value": [
    {
    "id": "00794145-462d-4a3c-9505-8e4ee100935c",
    "displayName": "PVAfT",
    "description": "Power Virtual Agent サンドボックス",
    "isArchived": false,
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    },
    {
    "id": "fc2ec21d-5c5e-4603-8acf-faace4d4dfbf",
    "displayName": "Sample Engineering Team",
    "description": "This is a sample engineering team",
    "isArchived": false,
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    }
    ]
    }
    出力
    チームID
    チームの表示名
    チームの詳細
    アーカイブ済みか
    テナントID
    開始位置の座標 とサイズ
    様々なTeamsコネクタのアクショ
    ンで利用する
    アーカイブの有無に関わらずfalse
    が出力される模様

    View Slide

  35. 35
    チームの詳細を取得する
    チームの操作

    View Slide

  36. チームの取得
    36
    ◼ チームの一意の ID を使用し、チームの詳細を取得する
    ◼ 取得できる詳細項目は次ページ参照

    View Slide

  37. 37
    1階層 2階層 説明
    id - チームID
    createdDateTime - チーム作成日時
    displayName - 表示名
    description - チームの説明
    internalId - 内部ID
    specialization - ???
    visibility - public(組織全体も) / private
    webUrl - チームの Web URL
    isArchived - アーカイブ済みか
    isMembershipLimitedToOwners - メンバーの追加を禁止
    discoverySettings showInTeamsSearchAndSuggestions Teams の検索とサジェストに表示する
    memberSettings allowCreateUpdateChannels チャネルを追加および編集する
    allowCreatePrivateChannels プライベート チャネルの追加と編集
    allowDeleteChannels チャネルの削除
    allowAddRemoveApps アプリを追加、編集、または削除する
    allowCreateUpdateRemoveTabs タブを追加、編集、または削除する
    allowCreateUpdateRemoveConnectors コネクタを追加、編集、または削除する
    guestSettings allowCreateUpdateChannels ゲストはチャンネルを追加および編集できる
    allowDeleteChannels ゲストはチャンネルを削除できる
    messagingSettings allowUserEditMessages 送信済みメッセージを編集する
    allowUserDeleteMessages 送信済みメッセージを削除する
    allowOwnerDeleteMessages チーム所有者が送信したメッセージを削除する
    allowTeamMentions メッセージで Teams をメンションする
    allowChannelMentions メッセージでチャネルをメンションする
    funSettings allowGiphy Giphy
    giphyContentRating Giphy コンテンツの評価
    allowStickersAndMemes ステッカーとミーム
    allowCustomMemes カスタム ミーム
    summary ownersCount チーム所有者の数
    membersCount チームメンバーの数
    guestsCount チームのゲストユーザーの数

    View Slide

  38. 38
    チームを削除する
    チームの操作

    View Slide

  39. チームを削除する
    39
    ◼ Microsoft 365グループを削除することで、チームも削除可能
    ◼ グループの削除は、[Office 365 Groups]コネクタの[HTTP 要求 V2 を送信する]ア
    クションを利用し、Graph API による削除を行う
    ◼ SPOサイトも削除される
    ◼ https://learn.microsoft.com/ja-jp/graph/api/group-delete?view=graph-rest-1.0&tabs=http
    Teamsコネクタに、チームを削除
    するアクションは存在しません
    https://graph.microsoft.com/v1.0/groups/{id}
    DELETE
    application/json
    チームID
    (M365グループID)
    Office 365
    Groups
    コネクタ

    View Slide

  40. 40
    チームにメンバーを
    追加する
    チームの操作

    View Slide

  41. チームにメンバーを追加する ①
    41
    ◼ チームにメンバーを追加する
    ◼ 所有者またはメンバーとして追加可能
    (当然だが、ゲストユーザーは所有者にできない)
    はい
    いいえ
    ゲストユーザーを指定する場合は
    AAD ID で指定
    (UPN で指定は不可)

    View Slide

  42. チームにメンバーを追加する ②
    42
    ◼ Microsoft 365グループにメンバーを追加することで、チームにメンバー
    を追加可能
    ◼ チーム所有者として登録することは不可
    ゲストユーザーを
    UPNで追加可能
    [email address]#EXT#@[テナント名].onmicrosoft.com
    Office 365
    Groups
    コネクタ

    View Slide

  43. 43
    チームメンバーを
    一覧表示する
    チームの操作

    View Slide

  44. チームメンバーを一覧表示する
    44
    ◼ Microsoft 365グループのメンバーを取得することで、チームメンバー一
    覧を取得できる
    Office 365
    Groups
    コネクタ

    View Slide

  45. 45
    チームからメンバーを
    削除する
    チームの操作

    View Slide

  46. チームからメンバーを削除する
    46
    チーム名
    ◼ Microsoft 365グループからメンバーを削除することで、チームからも削
    除可能
    ◼ メンバーの削除は、[Office 365 Groups]コネクタの[グループからメン
    バーを削除]アクションを利用する
    Office 365
    Groups
    コネクタ

    View Slide

  47. チャネルを操作する

    View Slide

  48. チャネルの種類
    48
    ■ 標準
    ➢ 全チームメンバーに共有され、自動的に所属する
    ■ プライベート
    ➢ チームメンバーを限定し共有可能
    ➢ 参加するには招待される必要がある
    ■ 共有
    ➢ チームメンバーまたは組織内外のユーザーと共有
    ➢ 組織外:B2B 直接接続が必要
    (B2Bコラボレーション不可)

    View Slide

  49. テナントA
    チーム1
    チーム2
    テナントD
    チャネルメンバーの範囲
    49
    テナントC
    AAD B2B 直接接続
    AAD B2B
    コラボレーション
    標準 プライベート 共有
    B2B 直接接続
    ユーザー
    テナントB
    ゲストユーザー
    外部チャット
    外部ユーザー
    チームの
    所有者
    メンバー

    View Slide

  50. 50
    チャネル チャネルの編集権 参加方法 参加可能
    参加していないテナント内
    メンバーからの見え方
    SharePoint Onlineサイト
    標準 チーム所有者
    チーム内のメンバー全員が
    自動的に参加
    チームメンバーが自動的に
    参加
    ゲストユーザー
    見えない
    (該当チームに参加してい
    ない共有チャネルメンバー
    から)
    他の標準チャネルと共有
    (チームに対応したサイ
    ト)
    プライベート チャネル所有者 チャネル所有者が招待
    チームメンバー
    ゲストユーザー
    見えない
    個別のチャネル用サイトが
    作成される
    共有 チャネル所有者 チャネル所有者が招待
    テナント内ユーザー
    B2B 直接接続ユーザー
    見えない
    個別のチャネル用サイトが
    作成される
    チャネルの比較
    https://learn.microsoft.com/ja-jp/microsoftteams/teams-channels-overview#channel-feature-comparison

    View Slide

  51. 共有チャネル
    51
    ■ Azure AD B2B コラボレーションによるゲストアクセスユーザー
    は参加不可
    ➢ Azure AD B2B 直接接続による外部ユーザーで参加させる
    (要Azure AD Premium P1 ライセンス)
    ■ チーム外から招待されたメンバーは、チーム内の他のチャネル
    は見えない、がチーム名は見える
    共有元 チームメンバーから 共有されたユーザーから

    View Slide

  52. プライベート/共有チャネルを制限
    52
    ■ Microsoft Teams 管理 センター - チーム – Teamsのポリシー

    View Slide

  53. 53
    ユーザー種類
    招待可能となる
    ユーザ
    (招待されるユー
    ザーの状態)
    招待の手順 チーム参加 チャット利用 ファイル共有 ビデオ通話
    ゲストユーザー
    • Microsoft 365アカウ
    ント
    • Microsoftアカウント
    • ソーシャル ID プロバ
    イダー
    • ワンタイムパスコー
    ド認証による上記以
    外のメールアカウン
    ト(*1)
    AADやM365管理画面
    より登録
    チームに招待される
    事で参加可能
    1対1チャット
    グループチャット
    チャネルチャット
    が可能
    チーム内で共有可能
    • プライベート通話
    • IPビデオ通話
    • 今すぐ会議
    会議に招待される
    外部ユーザー
    • Microsoft 365アカウ
    ント
    • Microsoftアカウント
    (Teamsが利用でき
    ること)
    各ユーザーがTeams
    アプリの検索
    (Microsoft
    Search)より
    参加不可
    招待したユーザーと

    1対1チャット
    グループチャット
    が可能
    不可
    • プライベート通話
    • IPビデオ
    会議に招待される
    B2B直接接続ユーザー
    • Microsoft 365アカウ
    ント
    • (Teamsが利用でき
    ること)
    AAD管理センター
    External Identities
    テナント間アクセス
    設定
    (互いのテナントで
    設定する必要があ
    る)
    共有チャネルに招待
    されることで参加可

    (ただしチーム内の
    他のチャネルは不
    可)
    チャネルチャットが
    可能
    招待されたチャネル
    内で可能
    • プライベート通話
    会議に招待される
    外部アクセス ユーザーの比較
    (*1)https://learn.microsoft.com/ja-jp/azure/active-directory/external-identities/one-time-passcode

    View Slide

  54. ゲストの制限
    54
    ■ Teams管理センター - チーム-チームを管理 - [チーム] - 設定 - ゲストのアクセス許可
    – ゲストはチャンネルを追加および編集できる:ON/OFF
    – ゲストはチャンネルを削除できる:ON/OFF
    ■ Teams管理センター - ゲストアクセス
    – Teams へのゲスト アクセスを許可する:ON/OFF
    – 通話 - プライベート通話を行う:ON/OFF
    – 会議
    ➢ ビデオ:ON/OFF
    ➢ 画面共有:画面全体/単一アプリケーション/禁止
    ➢ 今すぐ会議 :ON/OFF
    – メッセージング
    ➢ 送信済メッセージを編集,送信済メッセージを削除,チャットの削除,チャット,会話での Giphy,
    Giphy コンテンツの評価,会議でのミーム,会話でのステッカー,メッセージ用のイマーシブ リー
    ダー
    ■ SharePoint管理センター – ポリシー – 共有 – 外部共有(SPO、ODfB)
    – コンテンツを共有できる相手
    ➢ 自分の組織内のユーザーのみにすると、組織内のファイルをゲストに共有できない

    View Slide

  55. 外部アクセスの制限
    55
    ■ Teams管理センター – 外部アクセス
    – ユーザーがアクセスできる外部ドメインを選択します
    ➢ 外部ドメインをすべて許可する
    ➢ 特定の外部ドメインのみを許可する
    ➢ 特定の外部ドメインのみをブロックする
    ➢ 外部ドメインをすべてブロックする
    – 外部ドメインをすべて許可する
    ➢ :ON/OFF
    – 組織内のユーザーは、アカウントが組織によって管理されていない Teams ユーザーと通信できます
    ➢ :ON/OFF
    – 組織内のユーザーが Skype ユーザーと通信できるようにします。
    ➢ :ON/OFF

    View Slide

  56. 56
    チャネルを作成する
    チャネルの操作

    View Slide

  57. チャネルの作成
    57
    ◼ 指定したチームに、新規のチャネルを作成する
    ◼ 標準チャネルのみ作成可能
    (プライベートチャネル、共有チャネルは作成不可)
    ◼ チャネルを作成すると、チャネルIDが返る
    プライベートチャネルや共有チャネルを
    作成する場合はGraph API を利用します
    https://learn.microsoft.com/ja-
    jp/graph/api/channel-post?view=graph-
    rest-1.0&tabs=http

    View Slide

  58. 作成したチャネルの設定
    58
    チャネルのモデレーション オフ
    誰でも新規の投稿を開始できます オン
    ゲスト以外のだれでも新規の投稿を開始できます オン
    チャネルのモデレートを設定します
    新しい投稿を開始できるのは誰ですか?
    チャネルのモデレートを設定すると、モ
    デレーターのみが投稿可能なチャネル
    等の設定が可能です

    View Slide

  59. 59
    チャネルを一覧表示する
    チャネルの操作

    View Slide

  60. チャネルの一覧表示
    60
    ◼ 特定のチームのすべてのチャネルの一覧を取得する
    ◼ プライベートチャネル、共有チャネルの情報も出力される
    (チャネルの所有者、またはメンバーの場合のみ)

    View Slide

  61. 61
    "body": {
    "@odata.context": "https://graph.microsoft.com/v1.0/・・・,
    "@odata.count": 7,
    "value": [
    {
    "id": "19:[email protected]",
    "createdDateTime": "2023-02-07T12:40:49.456Z",
    "displayName": "Private Channel",
    "description": "for testing",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "webUrl": "https://teams.microsoft.com/l/channel/19%3Acc47005ff12d40f18c1d4f1e00d75c08%40t ・・・",
    "membershipType": "private"
    },
    {
    "id": "19:[email protected]",
    "createdDateTime": "2022-05-28T12:30:40.415Z",
    "displayName": "Announcements 📢",
    "description": "This is a sample announcements channel that is favorited by default.",
    "isFavoriteByDefault": true,
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "webUrl": "https://teams.microsoft.com/l/channel/19%3Ab0568b463e0a40a8876123d2271・・・",
    "membershipType": "standard"
    },
    出力
    チャネルID
    チャネルの表示名
    チャネルの詳細
    チャネルのURL
    標準:standard
    プライベート:private
    共有:unknownFutureValue
    様々なTeamsコネクタのアクション
    で利用する
    既定でチャネルを表示するか
    (trueの場合のみ項目が出力されるため注意)

    View Slide

  62. 62
    チャネルを削除する
    チャネルの操作

    View Slide

  63. チャネルを削除する
    63
    ◼ Teamsコネクタに、チャネルを削除するアクションは存在しない
    ◼ よって、[Office 365 Groups]コネクタの[HTTP 要求 を送信する]アクショ
    ンを利用し、Graph API による削除を行う
    ◼ https://learn.microsoft.com/ja-jp/graph/api/channel-delete?view=graph-rest-1.0&tabs=http
    https://graph.microsoft.com/v1.0/teams/{id}/
    channels/{id}
    DELETE
    application/json
    チームID
    (M365グループID)
    Office 365
    Groups
    コネクタ
    HTTP 要求 V2 を送信
    する (Preview)
    ではサポートされない
    メソッドのため注意
    チャネルID
    2023/08 現在
    [HTTP 要求 を送信する]アクションは
    Power Automateで新規利用不可となりました

    View Slide

  64. チャネルを削除する
    64
    ◼ Teamsコネクタに、チャネルを削除するアクションは存在しない
    ◼ よって、[HTTP with Azure AD コネクタ]コネクタの[HTTP要求を呼び出し
    ます]アクションを利用し、Graph API による削除を行う
    ◼ https://learn.microsoft.com/ja-jp/graph/api/channel-delete?view=graph-rest-1.0&tabs=http
    https://graph.microsoft.com/v1.0/teams/{id}/
    channels/{id}
    DELETE
    Content-type: application/json
    チームID
    (M365グループID)
    HTTP with Azure AD
    コネクタ
    > HTTP要求を呼び
    出します
    チャネルID
    プレミアムコネクタです
    コネクタの使い方は下記参照
    Graph API について

    View Slide

  65. チャットを操作する

    View Slide

  66. チャットの種類
    66
    ■ 1対1チャット
    ➢ 特定のユーザーと個別にチャット
    ■ グループチャット
    ➢ 複数の特定ユーザーとチャット
    ■ 会議チャット
    ➢ Teams 会議の参加者で共有できるチャット
    ■ チャネルチャット
    ➢ チャネル上で、チームに所属するメンバーとチャット

    View Slide

  67. 67
    チャットを作成する
    チャットの操作

    View Slide

  68. チャットの作成
    68
    ◼ 1対1またはグループ チャットを作成する
    ◼ チャットごとに最大 20 人のユーザーを処理可能
    ◼ チャットが作成されると、会話IDが返る
    ◼ 1対1チャットの場合、Teams上にチャットは表示されない
    このアクションで、
    ゲストユーザーをチャットのメン
    バーに追加することはできません
    複数人を設定する場合は、
    " ; "(セミコロン)で区切る
    末尾に " ; " を付与するとエラーとなる

    View Slide

  69. 69
    チャットを一覧表示する
    チャットの操作

    View Slide

  70. チャットの一覧表示
    70
    ◼ 最近のチャットの一覧を取得する
    ◼ 1対1チャット、グループチャット、会議チャットが取得できる
    ◼ 取得するチャットの種類を条件を絞ることができる
    ➢ すべてのチャット
    ➢ 定義済み
    ➢ 未定義
    ➢ すべてのチャットの種類
    ➢ グループ
    ➢ 会議
    ➢ 1対1
    2023/08/14
    未定義を選択してもフィルターされない模様

    View Slide

  71. 71
    "body": {
    "value": [
    {
    "id "19:[email protected]",
    "cre":atedDateTime": "2023-02-09T13:28:00.823Z",
    "lastUpdatedDateTime": "2023-02-09T13:28:00.823Z"
    },
    {
    "id": "19:meet[email protected]",
    "topic": "気ままに勉強会 #22",
    "createdDateTime": "2022-07-01T21:22:21.536Z",
    "lastUpdatedDateTime": "2022-09-25T21:13:18.474Z"
    }
    ],
    "@odata.count": 2,
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#chats"
    }
    出力
    会話ID
    チャットの表示名
    チャットの作成日時
    様々な Teamsコネクタのアクション
    で利用する
    チャットの最終更新日時

    View Slide

  72. 72
    チャットメンバーを
    一覧表示する
    チャットの操作

    View Slide

  73. チャットメンバーの一覧表示
    73
    ◼ チャットのメンバーリストを作成する
    ➢ グループチャットを選択
    ➢ Group chat
    カスタム値でチャットIDを入力すれば、
    1対1チャットのメンバーも取得できる(一応)

    View Slide

  74. 74
    "body": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3A35784152e39848ed8f7e55077ee31b99%40thread.v2')/members",
    "@odata.count": 3,
    "value": [
    {
    "@odata.type": "#microsoft.graph.aadUserConversationMember",
    "id": "MCMjMCMjNTUyNDQwZWUtODkxZC00ZjVhLWI3OGUtMTNkMGEzZmExZGQ0IyMxOTozNTc4NDE1MmUzOTg0OGVkOGY3ZTU1MDc3ZWUzMWI5OUB0aHJlYWQud",
    "roles": [
    "owner"
    ],
    "displayName": "二宮 次郎",
    "visibleHistoryStartDateTime": "0001-01-01T00:00:00Z",
    "userId": "6480daab-d9b5-4285-a9da-e2905e6aa2fc",
    "email": "[email protected]",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    },
    {
    "@odata.type": "#microsoft.graph.aadUserConversationMember",
    "id":”GEzZmExZGQ0IyMxOTozNTc4NDE1MmUzOTg0OGVkOGY3ZTU1MDc3ZWUzMWI5OUB0aHJlYWQudjIjI2U4NjM1ZDhmLTVmNzAtNGQ1ZC1iOTBiLW==",
    "roles": [
    "guest"
    ],
    "displayName": "user01",
    "visibleHistoryStartDateTime": "0001-01-01T00:00:00Z",
    "userId": "e8635d8f-5f70-4d5d-b90b-a9d85e11f183",
    "email": "[email protected]",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    }
    出力
    表示名
    メールアドレス
    テナントID
    ロール 会話のメンバーとの会話履歴を、
    過去のどの時点からメンバーと共
    有するかを示すタイムスタンプ
    ユーザーID

    View Slide

  75. タグを操作する

    View Slide

  76. チームのタグについて
    76
    ◼ チーム内の一部属性ユーザーに対しメンションする際に利用する
    ◼ タグ付けの管理は
    ➢ Teams管理センター - Teamsの設定 ー タグ付け
    ✓ タグを管理できるユーザー:チームの所有者/チームの所有者とメンバー/タグ付けを無効
    ✓ チームの所有者は、タグを管理できるユーザーを変更できます:ON/OFF
    ✓ 推奨タグ(候補として表示されるタグ)
    ✓ カスタム タグ:ON/OFF(推奨タグ以外を追加できるか)
    ✓ Shifts アプリでタグを適用できます:ON/OFF
    チームで最大200個
    最大200人に割り当て可能
    同一チームで一人に25個まで
    Microsoftの規定値??

    View Slide

  77. Teams Shifts について
    77
    ◼ チームに所属しているメンバーを管理するスケジューラー(シフト管理)
    ✓ スケジュールはチーム管理者のみが管理可能
    ✓ 任意のタイミングでシフトを公開可能
    ✓ 出勤 と 休憩時間で合計勤務時間を表示
    ✓ 空き時間(不足している時間)を設定し、メンバーからの出勤希望を受け付け可能
    ✓ タイムカード機能あり、休暇申請、交代申請、シフト変更申請が可能
    ✓ 出退勤レポートを出力可能
    ✓ シフトのグループをチャットやチャネルでタグとして利用可能
    Shifts for Microsoft Teamsコネクタもあります
    https://learn.microsoft.com/ja-
    jp/connectors/Shifts/#approve-a-time-off-
    request

    View Slide

  78. 78
    タグを作成する
    タグの操作

    View Slide

  79. チームのタグの作成
    79
    ◼ チームにタグを作成する
    ◼ ユーザーIDには、オブジェクトIDをセットする
    (UPNやメールアドレスはNG)
    ◼ チームのメンバーによるタグの作成可否は
    チームの設定に準ずる
    チームを管理 > 設定 > タグ

    View Slide

  80. 動的な値:ID
    メンバーの指定
    80
    ◼ ユーザーIDに指定するオブジェクトIDは、
    「Office 365 Users」 コネクタで取得可能
    「ユーザー プロフィールの取得」 や
    「マイ プロフィールの取得」
    複数指定する場合は";"(セミコロン)で区切る

    View Slide

  81. 81
    タグを一覧表示する
    タグの操作

    View Slide

  82. チームのタグを一覧表示
    82
    ◼ チームに設定されたタグをすべて表示する
    ◼ タグごとに取得できる項目は、タグID、チームID(M365グループID)、
    表示名、メンバー数

    View Slide

  83. 83
    "body": {
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('fc2ec21d-5c5e-4603-8acf-faace4d4dfbf')/tags",
    "@odata.count": 2,
    "value": [
    {
    "id": "NTUyNDQwZWUtODkxZC00ZjVhLWI3OGUtMTNkMGEzZmExZGQ0IyNmYzJlYzIxZC01YzVlLTQ2MDMtOGFjZi1mYWFjZ",
    "teamId": "fc2ec21d-5c5e-4603-8acf-faace4d4dfbf",
    "displayName": "tag2",
    "memberCount": 1,
    "tagType": "standard"
    },
    {
    "id": "NTUyNDQwZWUtODkxZC00ZjVhLWI3OGUtMTNkMGEzZmExZGQ0IyNmYzJlYzIxZC01YzVlLTQ2MDMtOGFjZi1mYWFjZT",
    "teamId": "fc2ec21d-5c5e-4603-8acf-faace4d4dfbf",
    "displayName": "tag3",
    "memberCount": 4,
    "tagType": "standard"
    }
    ]
    }
    出力
    タグID
    チームID
    表示名
    メンバー数
    Standard :カスタムタグ
    Scheduled:シフトでのタグ

    View Slide

  84. 84
    タグを削除する
    タグの操作

    View Slide

  85. タグを削除する
    85
    ◼ タグを削除する
    ◼ タグを削除済み(復元できるゴミ箱)には入らず、ダイレクトに削除さ
    れる

    View Slide

  86. 86
    タグにメンバーを
    追加する
    タグの操作

    View Slide

  87. タグにメンバーを追加する
    87
    ◼ タグにメンバーを追加する
    ◼ チームに所属しない所有者やメンバーは追加できない
    ◼ ゲストユーザーも追加可能
    ◼ ユーザーIDには、オブジェクトIDをセットする(UPNやメールアドレスはNG)

    View Slide

  88. 88
    タグのメンバーを
    一覧表示する
    タグの操作

    View Slide

  89. タグのメンバーを一覧表示
    89
    ◼ タグのメンバーを一覧表示する
    ◼ タグごとに取得できる項目は、タグメンバーID、テナントID、メンバー
    の表示名、ユーザーID

    View Slide

  90. 90
    "body": {
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('fc2ec21d-5c5e-4603-8acf-
    faace4d4dfbf')/tags('NTUyNDQwZWUtODkxZC00ZjVhLWI3OGUtMTNkMGEzZmExZGQ0IyNmYzJlYzIxZC01YzVlLTQ2MDMtOGFjZi1mYWFjZTRkNG')/members",
    "@odata.count": 2,
    "value": [
    {
    "id":
    "MCMjMSMjNTUyNDQwZWUtODkxZC00ZjVhLWI3OGUtMTNkMGEzZmExZGQ0IyNmYzJlYzIxZC01YzVlLTQ2MDMtOGFjZizYtNDYyZC1hOGQ4LTE1ZDUwNWQ3NTJhZA==",
    "displayName": "一ノ瀬 一夫",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "userId": "bef8991a-5f76-462d-a8d8-15d505d752ad"
    },
    {
    "id":
    "MCMjMSMjNTUyNDQwZWUtODkxZC00ZjVhLWI3OGUtMTNkMGEzZmExZGQ0IyNmYzJlYzIxZC01YzVlLTQ2MDMFiLWQ5YjUtNDI4NS1hOWRhLWUyOTA1ZTZhYTJmYw==",
    "displayName": "二宮 次郎",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "userId": "6480daab-d9b5-4285-a9da-e2905e6aa2fc"
    }
    ]
    }
    出力
    タグ メンバーID
    テナントID
    ユーザーの表示名
    ユーザーID

    View Slide

  91. 91
    タグからメンバーを
    削除する
    タグの操作

    View Slide

  92. チームからメンバーを削除する
    92
    ◼ タグからメンバーを削除する
    ◼ タグメンバーIDは、「タグのメンバーを一覧表示する」アクションなど
    で取得する(ユーザーIDやUPNによる指定は不可)

    View Slide

  93. メンションを
    操作する

    View Slide

  94. 94
    ユーザーのメンションを
    取得する
    メンションの操作

    View Slide

  95. ユーザーのメンションを取得
    95
    ◼ メッセージやアダプティブカードに挿入可能な、ユーザーの @mention
    トークンを取得する
    ◼ メンションは、UPN でも可能
    (コードビュー、アダプティブカード)

    View Slide

  96. @メンション する
    ◼ 方法1
    ユーザーの @mention トーク
    ンを取得する
    ◼ 方法2
    UPN
    96

    View Slide

  97. 97
    タグのメンションを
    取得する
    メンションの操作

    View Slide

  98. タグのメンションを取得
    98
    ◼ メッセージやアダプティブカードに挿入可能な、タグの @mention トー
    クンを取得する
    ◼ メッセージやアダプティブカードにトークンを使用する際、ユーザーに
    よる投稿であること
    ◼ トークンを取得したチームと異なるチームに、トークンを利用しメン
    ションすることは可能(エラーは発生しないがタグのメンバーは0)

    View Slide

  99. Teams 会議を
    操作する

    View Slide

  100. Teams 会議について
    100
    ◼ 種類
    ✓ Teams 会議
    ✓ Teams ウェビナー
    (参加登録フォーム、招待通知、参加者のオーディオとビデオは規定でOFF など)
    ✓ Teams ライブイベント
    (開催者,プロデューサー,発表者のロール、Public/Privateイベント)
    ◼ 会議の制限
    ➢ チャット、オーディオ、ビデオを使用して対話できる招待者数は
    ➢ Microsoft 365 Business Basic、Business Standard、Business Premium、A1 :300人
    ➢ Microsoft 365 E3/E5、A3/A5:1,000人
    ➢ 会議の容量に達した場合、表示のみの参加者となる(本年度末まで最大20,000人)

    View Slide

  101. 101
    Teams 会議を作成する
    会議の操作

    View Slide

  102. Teams 会議の作成
    102
    ◼ Teams 会議を作成する
    ◼ Teams ウェビナーやTeams ライブイベントは作成できない
    ➢ Tokyo Standard Time など
    “ ; ”(セミコロン)で区切りではない

    View Slide

  103. Teams 会議の作成
    103
    ➢ Tokyo Standard Time など
    ➢ 低
    ➢ 中
    ➢ 高
    ➢ 第1
    ➢ 第2
    ➢ 第3
    ➢ 第4
    ➢ 最後
    英語で指定する
    例:Monday,Wednesday,Saturday
    ➢ free
    ➢ tentative
    ➢ busy
    ➢ oof
    ➢ workingElsewhere
    ➢ unknown

    View Slide

  104. メッセージを
    操作する

    View Slide

  105. 105
    チャットまたはチャネルで
    メッセージを投稿する
    メッセージの操作

    View Slide

  106. チャットまたはチャネルでメッ
    セージを投稿する
    投稿者:ユーザー
    投稿者:フローボット
    投稿者:Power Virtual Agents

    View Slide

  107. 107
    投稿者 投稿先 ユニークなパラメータ
    ユーザー
    user
    Channel
    Team
    ChannelSubject
    Hosted Contents(*1)
    Group chat
    Group chat
    Hosted Contents(*1)
    フローボット
    flow bot
    Channel
    Team
    Channel
    Chat with Flow bot
    Recipient
    Channel
    IsAlert
    Group chat Group chat
    Power Virtual Agents Chat with bot
    Bot
    Recipient
    Label as notification
    If chat is active
    IF bot not installed
    投稿者と投稿先の組み合わせ
    複数人指定不可

    View Slide

  108. 108
    Hosted Contents について
    Hiroさん
    [Tips] Power Automate から Teams に投稿するメッセージに画像を埋め込む – Qiita
    Power Automate から投稿する Adaptive Card に画像を表示する方法 (2023年版) - MoreBeerMorePower (hatenablog.com)
    ◼ Hosted Contents を指定することで、メッセージに画像を挿入できる
    コードビューに変更する

    [
    {
    "@microsoft.graph.temporaryId": "[temporaryId]",
    “contentBytes”: “/9j/4AAQSkZJRgABAQ....”“,
    "contentType": "image/jpg“
    }
    ]
    同一の値(数字)で設定する
    一つのメッセージに複数のイメージを挿入する場合、
    それぞれの[temporaryId]はユニークな値とする
    Base64化したイメージファイルの拡張子
    (image/jpg,image/png )
    Base64化した画像ファイル

    View Slide

  109. 109
    Power Virtual Agents for Teams で
    プロアクティブなメッセージを受信
    Power Virtual Agents for Teams でプロアクティブなメッセージを受信する – Qiita
    プロアクティブなメッセージで Teams のボットユーザーに通知する - Power Virtual Agents | Microsoft Learn
    ◼ プロアクティブなメッセージで質問し、入力された回答をトリガーフレーズとしてト
    ピックを実行するなど可能
    チャットボットを選択
    ボットとフローは同一チーム内かつ、
    同じソリューションに配置
    クラシックボットであること
    受信者を指定
    「経由の通知」の表示有無
    複数人指定不可

    View Slide

  110. 110
    メッセージを取得する
    メッセージの操作

    View Slide

  111. 111
    メッセージを取得
    ◼ 指定したチャネルの親メッセージを取得する
    ◼ 返信(ひとつのスレッドにおける2つ目以降のメッセージ)は取得されない
    ◼ 一度に取得できるのは、最大20件の模様
    ◼ Teams チーム上のスレッドの表示順で出力される(上⇒下の順)
    親メッセージ
    返信
    返信
    取得するチームとチャネルを指定

    View Slide

  112. 112
    "body": {
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('084ff44a-92db-4844-9063-8aeed0aec5d5')/channels('19%3AiEEyWC-
    gxk8GciL45EVkDE1K_WBaUf3XkjmqI4H9WVg1%40thread.tacv2')/messages",
    "@odata.count": 20,
    "@odata.nextLink": "https://japan-001.azure-apim.net/apim/teams/shared-teams-bc70055c-7080-4d37-88b1-00d483c6e8f3/beta/teams/084ff44a-92db-4844-
    9063-8aeed0aec5d5/channels/19:iEEyWC-
    [email protected]/messages?$skiptoken=%5b%7B%22token%22%3a%22%2bRID%3a~vpsQAJ9uAC3m4i0AAOCTDA%3d%3d%23RT%3a1%23TRC%3a20%2
    3RTD%3aAyAER1ygxSHVHGAn2S99BTI6O2pGRnpYRC5oeWw5SGRqTTU2RldsRUYyTGBYQ2JWZzRZbGtucko1STpYV2gyQXVpc2ZiZS91YmR3MzwyNzo2ODM2OTEyNzUzAA%3d%3d%23ISV%3a2%23IEO%3a
    65551%23QCF%3a8%23FPC%3aAgjSAQAAmCsAALkAAIBPMgAA0gEAAJgrAAAEABq7EoB6AACATzIAAAYAYooWgBiAhQAAgE8yAAACAOShhgAAgE8yAAAIALKYMgsAYAMAtwAAgE8yAAAcAH2gKIB7gIaAFo
    EGgAHACCCDjjqBB4BNgIiAVYC5AACATzIAABYAo5nqh8CAAoABwAQgDIERAEAIEoBfgA%3d%3d%22%2c%22range%22%3a%7B%22min%22%3a%2205C1E577438128%22%2c%22max%22%3a%2205C1E57
    94B15B6%22%7D%7D%5d",
    "value": [
    {
    "id": "1695821263344",
    "etag": "1695821633441",
    "messageType": "message",
    "createdDateTime": "2023-09-27T13:27:43.344Z",
    "lastModifiedDateTime": "2023-09-27T13:33:53.441Z",
    "lastEditedDateTime": "2023-09-27T13:28:35.278Z",
    "subject": "親メッセージ",
    "importance": "high",
    "locale": "en-us",
    "webUrl": "https://teams.microsoft.com/l/message/19%3AiEEyWC-
    gxk8GciL45EVkDE1K_WBaUf3XkjmqI4H9WVg1%40thread.tacv2/1695821263344?groupId=084ff44a-92db-4844-9063-8aeed0aec5d5&tenantId=552440ee-891d-4f5a-b78e-
    13d0a3fa1dd4&createdTime=1695821263344&parentMessageId=1695821263344",
    出力メッセージ
    親メッセージ の配列
    取得件数(最大20)
    親メッセージの詳細

    View Slide

  113. 113
    {
    "id": "1695821263344",
    "etag": "1695821633441",
    "messageType": "message",
    "createdDateTime": "2023-09-27T13:27:43.344Z",
    "lastModifiedDateTime": "2023-09-27T13:33:53.441Z",
    "lastEditedDateTime": "2023-09-27T13:28:35.278Z",
    "subject": "親メッセージ",
    "importance": "high",
    "locale": "en-us",
    "webUrl": "https://teams.microsoft.com/l/message/19%3AiEEyWC-
    gxk8GciL45EVkDE1K_WBaUf3XkjmqI4H9WVg1%40thread.tacv2/1695821263344?groupId=084ff44a-92db-4844-9063-8aeed0aec5d5&tenantId=552440ee-891d-4f5a-b78e-
    13d0a3fa1dd4&createdTime=1695821263344&parentMessageId=1695821263344",
    "from": {
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "displayName": "管理者 1",
    "userIdentityType": "aadUser",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    }
    },
    出力メッセージ つづき
    タイトル
    メッセージID
    重要度
    投稿者情報

    View Slide

  114. 114
    "body": {
    "contentType": "html",
    "content": "過去のガンダムLTのスライド¥n一ノ瀬 一夫 二宮
     次郎¥n 4daa-be50-0d8a0217b833¥">"
    },
    "channelIdentity": {
    "teamId": "084ff44a-92db-4844-9063-8aeed0aec5d5",
    "channelId": "19:[email protected]"
    },
    "attachments": [
    {
    "id": "bff73dda-3b28-41e1-aa1e-b9b33f29b600",
    "contentType": "reference",
    "contentUrl": "https://20210401developer.sharepoint.com/teams/FromPowerAutomate/Shared Documents/General/ガンダムBotを1分で作
    る.pptx",
    "name": "ガンダムBotを1分で作る.pptx"
    },
    {
    "id": "4072d7c8-3ac4-4daa-be50-0d8a0217b833",
    "contentType": "reference",
    "contentUrl": "https://20210401developer.sharepoint.com/teams/FromPowerAutomate/Shared Documents/General/セリフを感情分析.pptx",
    "name": "セリフを感情分析.pptx"
    }
    ],
    出力メッセージ つづき
    チームとチャネルのID
    本文
    添付ファイル

    View Slide

  115. 115
    "mentions": [
    {
    "id": 0,
    "mentionText": "一ノ瀬",
    "mentioned": {
    "application": null,
    "device": null,
    "conversation": null,
    "tag": null,
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "bef8991a-5f76-462d-a8d8-15d505d752ad",
    "displayName": "一ノ瀬",
    "userIdentityType": "aadUser"
    }
    }
    },
    {
    "id": 1,
    "mentionText": "一夫",
    }
    ],
    出力メッセージ つづき
    メンション情報
    ユーザー名に空白があると、別の要素となる

    View Slide

  116. 116
    "reactions": [
    {
    "reactionType": "like",
    "createdDateTime": "2023-09-27T13:33:43.469Z",
    "user": {
    "application": null,
    "device": null,
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "displayName": null,
    "userIdentityType": "aadUser"
    }
    }
    },
    {
    "reactionType": "heart",
    "createdDateTime": "2023-09-27T13:33:53.458Z",
    "user": {
    }
    }
    }
    ]
    }
    出力メッセージ つづき
    リアクション情報

    View Slide

  117. 117
    メッセージ詳細を取得する
    メッセージの操作

    View Slide

  118. 118
    メッセージの詳細を取得
    ◼ メッセージの詳細情報を取得
    ◼ 取得するメッセージの種類(グループチャット/チャネル)でパラメータが変化
    ◼ チャネルから取得できる項目は前項「メッセージを取得する」とほぼ同じ
    グループチャットの場合
    チャネルの場合
    取得対象が返信の場合、親メッセージIDを指定す
    る必要がある
    メッセージの存在するチャットと
    チャネルを指定
    こちらでもチャネルのメッセージ詳細を取得可能
    メッセージの種類:グループチャット
    Group chat:チャネルID を指定する

    View Slide

  119. 119
    メッセージの詳細を取得
    ◼ チャネルの返信を取得する方法
    ➢ チャネルIDを指定する
    ➢ 親メッセージIDを指定する
    チャネルID
    親メッセージID
    チーム
    チャネル
    こっちの方が取得できる項目が少し多いです
    ・teamID
    ・webUrl など

    View Slide

  120. 120
    "body": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3Ab359d43fe2e949cfbe0fd654734b00aa%40thread.v2')/messages/$entity",
    "id": "1695725913004",
    "replyToId": "1695725913004",
    "etag": "1695725913004",
    "messageType": "message",
    "createdDateTime": "2023-09-26T10:58:33.004Z",
    "lastModifiedDateTime": "2023-09-26T10:58:33.004Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:[email protected]",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "policyViolation": null,
    "eventDetail": null,
    出力チャット
    親メッセージID
    メッセージID
    チャットID

    View Slide

  121. 121
    "from": {
    "device": null,
    "user": null,
    "application": {
    "@odata.type": "#microsoft.graph.teamworkApplicationIdentity",
    "id": "358f0194-6b0e-4dd3-af35-c24fe8a9ec87",
    "displayName": "Flow",
    "applicationIdentityType": "bot"
    }
    },
    "body": {
    "contentType": "html",
    "content": "今夜、行きましょう",
    "plainTextContent": "今夜、行きましょう"
    },
    "attachments": [],
    "mentions": [],
    "reactions": [],
    "messageLink":
    "https://teams.microsoft.com/l/message/19:[email protected]/1695725913004?context=%7B%22contextType%22:%22chat%22%7D",
    "threadType": "chat",
    "conversationId": "19:[email protected]"
    }
    出力チャット つづき
    メッセージ本文

    View Slide

  122. 122
    "body": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('084ff44a-92db-4844-9063-8aeed0aec5d5')/channels('19%3AiEEyWC-
    gxk8GciL45EVkDE1K_WBaUf3XkjmqI4H9WVg1%40thread.tacv2')/messages/$entity",
    "id": "1695737588595",
    "replyToId": "1695737588595",
    "etag": "1695737588595",
    "messageType": "message",
    "createdDateTime": "2023-09-26T14:13:08.595Z",
    "lastModifiedDateTime": "2023-09-26T14:13:08.595Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": "",
    "summary": null,
    "chatId": null,
    "importance": "normal",
    "locale": "en-us",
    "webUrl": "https://teams.microsoft.com/l/message/19%3AiEEyWC-
    gxk8GciL45EVkDE1K_WBaUf3XkjmqI4H9WVg1%40thread.tacv2/1695737588595?groupId=084ff44a-92db-4844-9063-8aeed0aec5d5&tenantId=552440ee-891d-4f5a-b78e-
    13d0a3fa1dd4&createdTime=1695737588595&parentMessageId=1695737588595",
    "policyViolation": null,
    "eventDetail": null,
    出力チャネル
    「メッセージを取得する」アクションとほぼ同じ項目

    View Slide

  123. 123
    "from": {
    "application": null,
    "device": null,
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "displayName": "管理者 1",
    "userIdentityType": "aadUser",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    }
    },
    "body": {
    "contentType": "html",
    "content": "[email protected]/messages/1695737588595/hostedContents/aWQ9eF8wLWVqcC1kMS00ODY5M2NhOWFlZWJjMDY0NDQ1MDdkZmNiMWI5ZTEyYix0e
    XBlPTEsdXJsPWh0dHBzOi8vanAtcHJvZC5hc3luY2d3LnRlYW1zLm1pY3Jvc29mdC5jb20vdjEvb2JqZWN0cy8wLWVqcC1kMS00ODY5M2NhOWFlZWJjMDY0NDQ1MDdkZmNiMWI5ZTEyYi92aWV3cy9pbWd
    v/$value¥">",
    "plainTextContent": ""
    },
    出力チャネル つづき

    View Slide

  124. 124
    "channelIdentity": {
    "teamId": "084ff44a-92db-4844-9063-8aeed0aec5d5",
    "channelId": "19:[email protected]"
    },
    "attachments": [],
    "mentions": [],
    "reactions": [],
    "messageLink": "https://teams.microsoft.com/l/message/19%3AiEEyWC-gxk8GciL45EVkDE1K_WBaUf3XkjmqI4H9WVg1%40thread.tacv2/1695737588595?groupId=084ff44a-
    92db-4844-9063-8aeed0aec5d5&tenantId=552440ee-891d-4f5a-b78e-13d0a3fa1dd4&createdTime=1695737588595&parentMessageId=1695737588595",
    "threadType": "channel",
    "teamId": "084ff44a-92db-4844-9063-8aeed0aec5d5",
    "channelId": "19:[email protected]"
    }
    出力チャネル つづき

    View Slide

  125. 125
    チャネル内のメッセージで
    応答します
    メッセージの操作

    View Slide

  126. 126
    メッセージに応答
    ◼ 指定したチャネルのスレッドにメッセージを送信する機能
    ◼ 応答できるのはチャネルのみ(チャットは不可)
    ◼ 「チャネルに新しいメッセージが追加されたとき」トリガー等と組み合わせるのが主な
    利用方法
    Flow bot
    または
    User
    Channel のみ
    チャネル内スレッドの 親メッセージ ID
    応答するスレッドが存在する
    チームとチャネルを指定
    スレッドの親メッセージのIDであること
    ルート メッセージにのみ、返信できます
    (スレッドの返信に返信は不可)

    View Slide

  127. アダプティブカードを
    操作する

    View Slide

  128. Adaptive Cards の基本はこちら
    https://speakerdeck.com/miyakemito/power-automatedefalseadaptive-cards-ji-ben-bian
    128
    アダプティブカードの基本
    Adaptive Cards について

    View Slide

  129. 129
    Power Apps Cards
    を送信する
    アダプティブカードを操作する

    View Slide

  130. Power Apps Cards の手順
    ②カードを作成する
    1. Power Apps ポータルでCardsを作成
    ①カード
    2. フローでCardsを送信
    ③カードのインスタンス
    を作成する
    Power Apps(Preview)
    カードのインスタンスを作成する の
    Cards(動的なコンテンツ)
    https://learn.microsoft.com/ja-jp/power-apps/cards/send-a-card/send-card-with-flow 130

    View Slide

  131. 131
    オプションの選択を
    フローボットとして
    ユーザーに投稿する
    メッセージの操作

    View Slide

  132. 132
    オプションの選択をフローボットと
    してユーザーに投稿する ①
    ◼ 1対1チャットに選択肢を含むアダプティブカードを投稿し、待機する
    ◼ 応答までアクションは待ち受ける
    ヘッドライン
    概要
    メッセージ
    受信者を複数設定するとエラー
    Workflowsからのメッセージとなるため、
    送信者がわかりづらい

    View Slide

  133. 133
    オプションの選択をフローボットと
    してユーザーに投稿する ②
    ◼ 返信時はコメントの入力が可能
    "body": {
    "responseTime": "2023-09-29T12:32:25.7810368Z",
    "responder": {
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "objectId": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "userId": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "userType": "ActiveDirectory"
    },
    "selectedOption": "いきます。",
    "comments": "おごりですね?!ゴチになります!"
    }

    View Slide

  134. フィード通知を
    操作する

    View Slide

  135. 135
    フィード通知を投稿する
    フィード通知を操作する

    View Slide

  136. 通知テキスト
    Flow bot のみ
    Power Virtual Agentsはどこに?
    136
    フィード通知を投稿する
    ◼ 指定したユーザーに向けて、特定のチーム、チャネル、メッセージ、およびチャットに
    対し通知を送る
    ◼ 既存のチーム、チャネル、メッセージ、チャットへ、通知による誘導が主な使い道
    メッセージIDを指定する場合は、
    そのメッセージが存在するチャネルや
    チャットを指定する
    複数人への通知は不可能
    通知の種類:チャット
    通知の種類:チャネル

    View Slide

  137. Teamsコネクタの
    Triggerたち

    View Slide

  138. 138
    チャネル
    タイミング
    (recurrence)
    Input Output
    チャネルに新しいメッセージが追加されたとき
    ポーリング
    1分ごと
    チーム、チャネル メッセージの詳細情報
    チャットに新しいメッセージが追加されたとき Webhook なし 会話ID、メッセージIDのみ
    作成ボックスから(V2)
    プッシュトリガー
    (ApiConnection)
    アダプティブカード
    (設定すれば)
    アダプティブカードに入力情報値(設定すれば)
    会話ID
    選択されたメッセージに対して(V2)
    プッシュトリガー
    (ApiConnection)
    アダプティブカード
    (設定すれば)
    アダプティブカードに入力情報値(設定すれば)
    チームID、会話ID、メッセージID
    キーワードが言及された場合 Webhook
    キーワード
    チャネル または
    チャット
    チームID、会話ID、メッセージID
    チャネルのメッセージで自分がメンションされてい
    るとき
    ポーリング
    1分ごと
    チーム、チャネル メッセージの詳細情報
    自分が@mentionedである場合 Webhook
    チャネル または
    チャット
    チームID、会話ID、メッセージID
    新しいチーム メンバーが追加されたとき
    ポーリング
    15分ごと
    チーム 追加されたユーザーのID
    新しいチーム メンバーを削除したとき
    ポーリング
    15分ごと
    チーム 削除されたユーザーのID
    誰かがアダプティブカードに応答した場合
    プッシュトリガー
    (ApiConnection)
    Adaprivecards
    カードの種類 ID
    アダプティブカードの入力情報値
    応答者の情報、チームID、会話ID、メッセージID
    トリガーの比較 ポーリング間隔はライセンスにより変化します

    View Slide

  139. 139
    チャネルに
    新しいメッセージが
    追加されたとき
    Teams トリガー

    View Slide

  140. 140
    チャネルに新しいメッセージが追加
    されたとき
    ◼ 新しいメッセージがチャネルに投稿されたときにトリガーする
    ◼ チャネルに追加されたルート メッセージに対してのみ発生(既存のチャネルメッセージ
    への返信では起動しない)

    View Slide

  141. 141
    "body": {
    "@odata.type": "#microsoft.graph.chatMessage",
    "etag": "1697547461681",
    "messageType": "message",
    "createdDateTime": "2023-10-17T12:57:41.681Z",
    "lastModifiedDateTime": "2023-10-17T12:57:41.681Z",
    "subject": "タイトル",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": "https://teams.microsoft.com/l/message/19%3AYnd2BOXO3BpzTWVhVCdq4iGsbDTrabhk0h9UJK9Do6g1%40thread.tacv2/1697547461681?groupId=70f14566-5085-4e97-abb5-
    179ceeb94947&tenantId=552440ee-891d-4f5a-b78e-13d0a3fa1dd4&createdTime=1697547461681&parentMessageId=1697547461681",
    "id": "1697547461681",
    "from": {
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "displayName": "管理者 1",
    "userIdentityType": "aadUser",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    }
    },
    "body": {
    "contentType": "html",
    "content": "メッセージ"
    },
    "channelIdentity": {
    "teamId": "70f14566-5085-4e97-abb5-179ceeb94947",
    "channelId": "19:[email protected]"
    },
    "attachments": [],
    "mentions": [],
    "reactions": []
    }
    出力
    タイトル
    本文
    投稿者情報
    添付ファイル
    メンション情報
    リアクション情報
    チームとチャネルのID
    メッセージID
    取得可能な項目は
    「メッセージを取得します」や
    「メッセージの詳細を取得します」と同等

    View Slide

  142. 142
    チャットに
    新しいメッセージが
    追加されたとき
    Teams トリガー

    View Slide

  143. 143
    チャットに新しいメッセージが追加
    されたとき
    ◼ フロー所有者が参加する1対1チャットやグループチャットで、メッセージを追加され
    たときにトリガーする
    ◼ 出力項目は少ない

    View Slide

  144. 144
    "body": {
    "value": [
    {
    "subscriptionId": "357bc305-6e3e-4b2c-8327-3dcbdd899ad3",
    "changeType": "created",
    "clientState": "secretClientValue",
    "subscriptionExpirationDateTime": "2023-10-19T13:59:24.955246+00:00",
    "resource": "chats('19:2eadbdc2[email protected]')/messages('1697720390327')",
    "resourceData": {
    "id": "1697720390327",
    "@odata.type": "#Microsoft.Graph.chatMessage",
    "@odata.id": "chats('19:2eadbdc[email protected]')/messages('1697720390327')"
    },
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "conversationId": "19:[email protected]",
    "messageId": "1697720390327",
    "linkToMessage": "https://teams.microsoft.com/l/message/19:2eadbdc2769[email protected]/1697720390327?tenantId=552440ee-
    891d-4f5a-b78e-13d0a3fa1dd4&context=%7B%22contextType%22:%22chat%22%7D"
    }
    ]
    }
    出力

    View Slide

  145. 145
    追加されたメッセージの詳細を取得
    ◼ 「メッセージの詳細を取得する」アクションでメッセージの詳細情報を取得可能
    triggerBody()?['value']?[0]?['messageId']
    グループチャット
    triggerBody()?['value']?[0]?['conversationId']

    View Slide

  146. 146
    作成ボックスから
    Teams トリガー

    View Slide

  147. アダプティブカード編集画面が開くが、
    Adaptive Cards Designer と比べ使いにくい
    ※Target versionは 1.3
    147
    作成ボックスから(V2)
    ◼ Teams の作成メッセージ ボックスからフローを開始できる
    ◼ アダプティブカードを設定することで、実行ユーザーからの入力を受け付け可能
    ◼ Default 環境でのみ機能する(ソリューション内外は影響しない)
    ◼ 作成したフローは他のメンバーからも実行可能だが、権限については注意
    Action.Submit パーツを配置しなくても、
    実行時に自動的に配置される

    View Slide

  148. Workflows は
    アプリから
    追加します
    148
    実行方法
    ◼ メッセージ入力ボックスの「+」や「…」から Workflows を選択し、
    実行するフローを選択する。

    View Slide

  149. 応答処理を追加する
    ■ 「Teams のタスクモジュールで応答」ア
    クションを後続につなげ、Adaptive
    Cards による応答も可能
    ■ 後述の「選択したメッセージに
    対して」トリガーでも利用可能
    ■ Submitから10秒程度以内に応答しないと、
    タイムアウトエラーとなる
    149

    View Slide

  150. 150
    "body": {
    "teamsFlowRunContext": {
    "Id": "f:f88fe935-1cf8-a347-fa51-80331b2fd722",
    "ChannelData": {
    "EventType": null,
    "InvalidateInvokeCache": null,
    "Team": null,
    "Tenant": {
    "Id": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    },
    "Channel": null,
    "Notification": null,
    "OnBehalfOf": null
    },
    "From": {
    "Id": "8:orgid:da46df74-8329-4857-9caf-b5f9bcb15f69",
    "Name": "管理者 1",
    "Role": null,
    "AadObjectId": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "Properties": null
    },
    "Conversation": {
    "Id": "19:da46df74-8329-4857-9caf-b5[email protected]",
    "Name": null,
    "IsGroup": null
    },
    "Locale": "ja-JP",
    "CommandContext": "compose",
    "LocalTimezone": "Tokyo Standard Time"
    },
    "cardOutputs": {
    "UserVal": “input1”,
    “PassVal”: “input2"
    }
    出力
    Adaprive Cards で入力された値
    チャネル/チャットID

    View Slide

  151. 151
    選択したメッセージに
    対して
    Teams トリガー

    View Slide

  152. 152
    選択したメッセージに対して
    アダプティブカード編集画面が開くが、
    Adaptive Cards Designer と比べ使いにくい
    ※Target versionは 1.3
    Action.Submit パーツを配置しなく
    ても、実行時に自動的に配置される
    ◼ Teams の投稿済みメッセージからフローを開始できる
    ◼ アダプティブカードを設定することで、実行ユーザーからの入力を受け付け可能
    ◼ Default 環境でのみ機能する(ソリューション内外は影響しない)
    ◼ 作成したフローは他のメンバーからも実行可能だが、権限については注意

    View Slide

  153. 作成したフローが、いつまでたっても表示されない場合は、
    ① 該当フローを「名前を付けて保存」
    ②(コピーしたフローを)「削除」
    でTeamsに表示されます
    【TIPS】「選択したメッセージの場合」トリガーのフローをイン
    ポートしたときに「その他の操作」メニューに即時反映する - ルド
    ルフもわたるふもいろいろあってな (hatenablog.com)
    153
    実行方法
    ◼ 投稿済みメッセージの「…」(その他の操作)から実行するフローを選択する。

    View Slide


  154. "ChannelData": {
    "EventType": null,
    "InvalidateInvokeCache": null,
    "Team": null,
    "Tenant": {
    "Id": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    },
    "Channel": null,
    "Notification": null,
    "OnBehalfOf": null
    },
    "From": {
    "Id": "8:orgid:da46df74-8329-4857-9caf-b5f9bcb15f69",
    "Name": "管理者 1",
    "Role": null,
    "AadObjectId": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "Properties": null
    },
    "Conversation": {
    "Id": "19:[email protected]",
    "Name": null,
    "IsGroup": null
    },
    "Locale": "ja-JP",
    "CommandContext": "message",
    "LocalTimezone": "Tokyo Standard Time"
    },
    "cardOutputs": {
    "UserVal": "ああ",
    "PassVal": "bbb"
    }
    }
    154
    "body": {
    "teamsFlowRunContext": {
    "MessagePayload": {
    "Id": "1697902720639",
    "From": {
    "Application": {
    "DisplayName": "Workflows",
    "Id": "358f0194-6b0e-4dd3-af35-c24fe8a9ec87"
    },
    "Conversation": null,
    "Device": null,
    "User": null
    },
    "Body": {
    "ContentType": "html",
    "Content": "id=¥"c4508ad7bb1b4646be3e8fa6949a7634¥">",
    "PlainText": null
    },
    "Subject": null,
    "LinkToMessage": "https://teams.microsoft.com/l/message/19:da46df74-
    8329-4857-9caf-b5f9bcb15f69_358f0194-6b0e-4dd3-af35-
    [email protected]/1697902720639?context=%7B%22contextType%22:%22chat%22%
    7D",
    "ReplyToId": null
    },
    "Id": "f:abf8bbcc-fe12-50b0-4283-f55a6422a5e7",
    出力
    Adaprive Cards で入力された値
    会話ID
    メッセージID
    テナントID

    View Slide

  155. 取得情報など
    155
    ■ チームID
    ■ チャネルID(チャットID)
    ■ メッセージID
    ■ アダプティブカードの応答
    triggerBody()?['teamsFlowRunContext']?['messagePayload']?['id']
    triggerBody()?['teamsFlowRunContext']?['Conversation']?['id']
    triggerBody()?['teamsFlowRunContext']?['ChannelData']?['Team']?['AadGroupId']
    triggerBody()?[‘cardOutputs’]?[<アダプティブカードのinputsのId>']

    View Slide

  156. 156
    キーワードが言及された
    場合
    Teams トリガー

    View Slide

  157. 157
    キーワードが言及された場合
    ◼ キーワードを含むメッセージがチャネルやチャットに投稿されるとトリガーする
    ◼ 親メッセージに対する返信でも動作する
    ◼ 日本語のキーワードにも動作し、複数のキーワードを指定可能
    チャットを指定しないと
    トリガーされない
    チャネルの指定は必須
    メッセージの種類:チャット
    メッセージの種類:チャネル
    1対1チャットを指定する場合は、
    カスタム値でチャットIDを入力する

    View Slide

  158. "body": {
    "value": [
    {
    "subscriptionId": "d4294436-5669-4ae6-9638-9bc86aa1b05c",
    "changeType": "created",
    "clientState": "secretClientValue",
    "subscriptionExpirationDateTime": "2023-10-22T14:56:05.8142596+00:00",
    "resource":
    "chats('19:b359d43f[email protected]')/messages('1697983012950')",
    "resourceData": {
    "id": "1697983012950",
    "@odata.type": "#Microsoft.Graph.chatMessage",
    "@odata.id":
    "chats('19:b359d43[email protected]')/messages('1697983012950')"
    },
    "encryptedContent": null,
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "conversationId": "19:[email protected]",
    "messageId": "1697983012950",
    "linkToMessage":
    "https://teams.microsoft.com/l/message/19:[email protected]/169798301
    2950?tenantId=552440ee-891d-4f5a-b78e-13d0a3fa1dd4&context=%7B%22contextType%22:%22chat%22%7D"
    }
    ]
    }
    158
    "body": {
    "value": [
    {
    "subscriptionId": "15181e6c-fb77-4002-9152-9e0ca226f6c1",
    "changeType": "created",
    "clientState": "secretClientValue",
    "subscriptionExpirationDateTime": "2023-10-22T14:20:07.0789412+00:00",
    "resource": "teams('b3c351fc-52b9-44e2-b555-
    24e1d15949d0')/channels('19:5D[email protected]')/messag
    es('1696067592735')/replies('1697981145340')",
    "resourceData": {
    "id": "1697981145340",
    "@odata.type": "#Microsoft.Graph.chatMessage",
    "@odata.id": "teams('b3c351fc-52b9-44e2-b555-
    24e1d15949d0')/channels('19:5D[email protected]')/messag
    es('1696067592735')/replies('1697981145340')"
    },
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "teamId": "b3c351fc-52b9-44e2-b555-24e1d15949d0",
    "channelId": "19:[email protected]",
    "messageId": "1697981145340",
    "replyToMessageId": "1696067592735",
    "linkToMessage":
    "https://teams.microsoft.com/l/message/19:5DVQkR1txbtUWemEPXQWysYWxPAKZYOG1ydkFkdC3Lk1@thread.
    tacv2/1697981145340?tenantId=552440ee-891d-4f5a-b78e-13d0a3fa1dd4&groupId=b3c351fc-52b9-44e2-
    b555-24e1d15949d0&parentMessageId=1696067592735"
    }
    ]
    }
    出力
    メッセージID
    親メッセージID
    メッセージの種類:チャット
    メッセージの種類:チャネル
    メッセージID
    チャットID
    チームID
    チャネルID メッセージID

    View Slide

  159. 159
    チャネルのメッセージで
    自分がメンション
    されているとき
    Teams トリガー

    View Slide

  160. 160
    チャネルのメッセージで自分がメン
    ションされているとき
    ◼ チャネルに、自分へのメンションを含む新しいスレッドが投稿されるとトリガーする
    ◼ 親メッセージにしてのみ動作する

    View Slide

  161. "channelIdentity": {
    "teamId": "fc2ec21d-5c5e-4603-8acf-faace4d4dfbf",
    "channelId": "19:[email protected]"
    },
    "attachments": [],
    "mentions": [
    {
    "id": 0,
    "mentionText": "管理者 1",
    "mentioned": {
    "application": null,
    "device": null,
    "conversation": null,
    "tag": null,
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "da46df74-8329-4857-9caf-b5f9bcb15f69",
    "displayName": "管理者 1",
    "userIdentityType": "aadUser"
    }
    }
    }
    ],
    "reactions": []
    }
    161
    "body": {
    "@odata.type": "#microsoft.graph.chatMessage",
    "etag": "1698066929117",
    "messageType": "message",
    "createdDateTime": "2023-10-23T13:15:29.117Z",
    "lastModifiedDateTime": "2023-10-23T13:15:29.117Z",
    "subject": "タイトル",
    "importance": "normal",
    "locale": "en-us",
    "webUrl":
    "https://teams.microsoft.com/l/message/19%3Ac51e6cee3c9e4f8193fd00fe1d9409ba%40thread.tacv2/16
    98066929117?groupId=fc2ec21d-5c5e-4603-8acf-faace4d4dfbf&tenantId=552440ee-891d-4f5a-b78e-
    13d0a3fa1dd4&createdTime=1698066929117&parentMessageId=1698066929117",
    "id": "1698066929117",
    "from": {
    "user": {
    "@odata.type": "#microsoft.graph.teamworkUserIdentity",
    "id": "bef8991a-5f76-462d-a8d8-15d505d752ad",
    "displayName": "一ノ瀬 一夫",
    "userIdentityType": "aadUser",
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4"
    }
    },
    "body": {
    "contentType": "html",
    "content": "メッセージ本文¥n¥n管理者 1
    ¥n"
    },
    出力 取得可能な項目は
    「メッセージを取得します」や
    「メッセージの詳細を取得します」と同等

    View Slide

  162. 162
    自分が @mentioned
    である場合
    Teams トリガー

    View Slide

  163. 163
    自分が @mentioned である場合
    ◼ チャットやチャネルで @mentions に対して Webhook を作成する
    ◼ 親メッセージに対する返信でも動作する
    チャットを指定しないと
    トリガーされない
    チャネルの指定は必須
    メッセージの種類:チャット
    メッセージの種類:チャネル
    1対1チャットを指定する場合は、
    カスタム値でチャットIDを入力する

    View Slide

  164. "body": {
    "value": [
    {
    "subscriptionId": "61aec79e-4f59-4eee-b2cd-9c07bc6638f4",
    "changeType": "created",
    "clientState": "secretClientValue",
    "subscriptionExpirationDateTime": "2023-10-23T14:33:43.5559081+00:00",
    "resource": "chats('19:bef8991a-5f76-462d-a8d8-15d505d752ad_da46df74-8329-4857-
    [email protected]')/messages('1698068032719')",
    "resourceData": {
    "id": "1698068032719",
    "@odata.type": "#Microsoft.Graph.chatMessage",
    "@odata.id": "chats('19:bef8991a-5f76-462d-a8d8-15d505d752ad_da46df74-8329-
    48[email protected]')/messages('1698068032719')"
    },
    "encryptedContent": null,
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "conversationId": "19:bef8991a-5f76-462d-a8d8-15d505d752ad_da46df74-8329-4857-
    [email protected]",
    "messageId": "1698068032719",
    "linkToMessage": "https://teams.microsoft.com/l/message/19:bef8991a-5f76-462d-
    a8d8-15d505d752ad_da46df74-8329-4857-9caf-
    b5f9bcb15f6[email protected]/1698068032719?tenantId=552440ee-891d-4f5a-b78e-
    13d0a3fa1dd4&context=%7B%22contextType%22:%22chat%22%7D"
    }
    ]
    }
    164
    "body": {
    "value": [
    {
    "subscriptionId": "bc937355-e4ce-4804-ba17-bc1ec3067b98",
    "changeType": "created",
    "clientState": "secretClientValue",
    "subscriptionExpirationDateTime": "2023-10-23T14:23:45.2856687+00:00",
    "resource": "teams('fc2ec21d-5c5e-4603-8acf-
    faace4d4dfbf')/channels('19:c7[email protected]')/messages('16980674
    59210')/replies('1698067628392')",
    "resourceData": {
    "id": "1698067628392",
    "@odata.type": "#Microsoft.Graph.chatMessage",
    "@odata.id": "teams('fc2ec21d-5c5e-4603-8acf-
    faace4d4dfbf')/channels('19:c7[email protected]')/messages('16980674
    59210')/replies('1698067628392')"
    },
    "encryptedContent": null,
    "tenantId": "552440ee-891d-4f5a-b78e-13d0a3fa1dd4",
    "teamId": "fc2ec21d-5c5e-4603-8acf-faace4d4dfbf",
    "channelId": "19:[email protected]",
    "messageId": "1698067628392",
    "replyToMessageId": "1698067459210",
    "linkToMessage":
    "https://teams.microsoft.com/l/message/19:[email protected]/169806
    7628392?tenantId=552440ee-891d-4f5a-b78e-13d0a3fa1dd4&groupId=fc2ec21d-5c5e-4603-8acf-
    faace4d4dfbf&parentMessageId=1698067459210"
    }
    ]
    }
    出力
    メッセージID
    親メッセージID
    メッセージの種類:チャット
    メッセージの種類:チャネル
    メッセージID
    チャットID
    チームID
    チャネルID

    View Slide

  165. 165
    新しいチーム メンバーが
    追加されたとき
    Teams トリガー

    View Slide

  166. 166
    新しいチーム メンバーが追加された
    とき
    ◼ 指定したチームにメンバーが追加されたときにトリガーする
    ◼ プライベートチャネル、および共有チャネルへのメンバー追加には反応しない
    ◼ プライベートチャネル、および共有チャネルを含むチームのメンバー追加には反応する
    ◼ プライベートチームには反応する
    1分のポーリング間隔とあるが、
    実際は15分のポーリングで動作する

    View Slide

  167. 167
    "body": {
    "@odata.type": "#microsoft.graph.user",
    "id": "4ec35946-fcca-4d51-a65a-653ebe7598c0"
    }
    出力
    ユーザーID

    View Slide

  168. 168
    新しいチーム メンバーを
    削除したとき
    Teams トリガー

    View Slide

  169. 169
    新しいチーム メンバーを削除したとき
    ◼ 指定したチームからメンバーが削除されたときにトリガーする
    ◼ プライベートチャネル、および共有チャネルからのメンバー削除には反応しない
    ◼ プライベートチャネル、および共有チャネルを含むチームのメンバー削除には反応する
    ◼ プライベートチームには反応する
    1分のポーリング間隔とあるが、
    実際は15分のポーリングで動作する

    View Slide

  170. 170
    "body": {
    "@odata.type": "#microsoft.graph.user",
    "id": "6480daab-d9b5-4285-a9da-e2905e6aa2fc",
    "@removed": {
    "reason": "deleted"
    }
    }
    出力
    ユーザーID

    View Slide

  171. 171
    誰かがアダプティブカード
    に応答した場合
    Teams トリガー

    View Slide

  172. Adaptive Cards の基本はこちら
    https://speakerdeck.com/miyakemito/power-automatedefalseadaptive-cards-ji-ben-bian
    172
    アダプティブカードの基本
    Adaptive Cards について

    View Slide

  173. まとめ

    View Slide

  174. まとめ
    Teams コネクタ の利便性が少しでも
    伝わりましたか?
    是非、業務や遊びでご活用ください
    174

    View Slide

  175. ありがとうございました
    175

    View Slide