【UiPath】Integration Serviceで、Teamsコネクタを使う方法

# はじめに
本記事は、UiPath Integration Service内の、Microsoft Teamsコネクタを利用し、Teamsへメッセージを送信するまでをまとめたものになります。
UiPath Advent Calendar 7日目の記事です。

https://qiita.com/advent-calendar/2022/uipath

# UiPath Integration Serviceとは
UiPath Integration Serviceとは、一言で言うと、APIを利用しての自動化を行うための機能になります。
提供されているコネクタを利用することでAPIごとに複雑な認証処理等を簡素化でき、一元管理も可能になります。
また、2022/12/4現在、プレビュー機能ではありますが、用意されている既存のコネクタの他にも、新たにコネクタを作成出来る機能「コネクタビルダー」も存在します。
![WS000000.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/1b62ee64-7ac7-3e7c-9666-a9c410b99b5f.jpeg)

# Microsoft Teamsコネクタとは
UiPath Integration Serviceで提供されている、コネクタの1つです。
Microsoft Teamsコネクタを利用することによって、簡単にTeams関連の操作を自動化に組み込むことが出来ます。

https://docs.uipath.com/integrations/docs/uipath-microsoft-teams

:::note warn
注意
2022/12/4現在、Microsoft Teamsコネクタはプレビュー版になります。
:::

# Microsoft Teamsコネクタの利用方法（事前準備）
1. AutomationCloud＞Integration Service＞コネクタ タブ＞検索ボックスに「Microsoft」と入力し検索。
1. 「Microsoft Teams」を押下。
![WS000001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/415ae99a-7e58-01cb-f2aa-2421ca20f969.jpeg)

1. 「Microsoft Teams」のコネクタ設定画面が表示されるので、「コネクションを追加」を押下。
![WS000002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/31b825aa-1597-542d-2fc6-84f9aff43812.jpeg)
1. 認証画面上で、「接続」を押下。
![WS000003.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/743dd1fa-9d0f-8b3c-d93c-183e66cd096e.jpeg)
1. Microsoft365の認証画面が表示されるので、アカウント情報を入力。
![WS000004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/45d77a26-f36e-94cd-8f6c-66a03c2a6bf0.jpeg)
1. Microsoft365上で一通り認証が終わると、先程の設定画面にコネクションが追加されます。
Integration Service上での設定は以上です。
![WS000005.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/e5a6e039-6c01-4dad-8d8d-00c093650630.jpeg)
1. Studioを起動し、プロセスを作成します。
パッケージを管理＞すべてのパッケージ＞検索ボックスに「Teams」と入力し検索。
「Microsoft Teams」が表示されるので、「インストール」＞「保存」を押下。
![WS000006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/70cbc155-a079-33b7-c373-5ed49a09832d.jpeg)
1. アクティビティにIntegration Service＞Microsoft＞Microsoft Teamsが追加されます。
事前準備の作業は以上となります。
![WS000007.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/0bf21783-75a6-b1f9-8a03-618c7da56d92.jpeg)

# Microsoft Teamsコネクタの利用方法（チャット送信）
Microsoft Teamsアクティビティには、色々なTeams操作のアクティビティがありますが、
今回は個別チャットへのチャット送信と、チャンネルへのチャット送信を実際に試してみます。
## 個別チャットへのチャット送信
個別チャットへのチャット送信は、「send chat message」アクティビティを使用します。
![WS000018.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/37a4ba67-f6df-6dec-a58c-83d4527469a6.jpeg)

1\. 「Microsoft Teams Scope」を配置して、その中に「send chat message」を配置し、
Microsoft Teams Scopeの「Configure」を押下
![WS000009.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/6ce7f269-a17e-4852-dd80-8c4ef4898699.jpeg)
2\. Integration Serviceで作成したコネクタが表示されるので、選択して「Save」を押下
「Test Connection」で接続テストも可能です。
![WS000010.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/7cee8db2-5adb-1f0f-cc99-b814427d9e5e.jpeg)
3\. 「send chat message」アクティビティ内の「Chat ID」「Content」を入力します。
「ConnectionId」は、先程指定したコネクタが選択されていなければ、プルダウンにて選択して下さい。

:::note info
「Chat ID」の参照方法
1. アクティビティ内のプルダウンで、IDが表示出来ますが、どのチャットかわからない為、
ブラウザでTeamsを開き、メッセージを送りたい個人チャットを開きます。
2. URL部分の以下の箇所が、Chat IDになります。
![WS000012.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/01a08186-3e6a-eb99-69ba-e895acbabec9.jpeg)
https\://teams.microsoft.com/_#/conversations/（この部分がチャットIDです）?XXX=XXXX
:::

4\. Chat IDをプルダウンで選択します。
2022/12/4現在の、バージョンだとプルダウンで選んだ値ではエラーとなってしまう為、
プルダウンで選択後、値を一度コピーし、エディター上にテキストとして貼り付け、
-（ハイフン）以降の文字を消すことによって正常に認識されます。
![WS000013.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/1c581bb9-c6cd-58de-c317-2b95569f58fd.jpeg)
![WS000014.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/1e3d3f26-6e30-85c3-95b5-248fafc2d308.jpeg)
![WS000015.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/73c8bc5a-0f4d-1264-e5b6-fb0af0acb380.jpeg)

5\. 最後に、「Content」に自分の送りたいメッセージを入力します。
![WS000016.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/89a043a9-2084-baf4-822e-0561105e20cf.jpeg)

6\. 実行するとチャットが無事に送信されました。
![WS000017.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/b9f4e9c4-b450-19ca-6302-98bc0f1b60da.jpeg)

## チャネルへのチャット送信
チャネルへのチャット送信は、「send channel message」アクティビティを使用します。
![WS000008.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/f57fa280-1f5c-cd49-0a83-971af8fd3288.jpeg)

1\. 個別チャットへのチャット送信と同様に、「Microsoft Teams Scope」を配置して、その中に「send channel message」を配置し、
Microsoft Teams Scopeの「Configure」を押下
![WS000019.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/573b42ef-06c4-4b98-2c8a-4f72d86bf417.jpeg)
2\. 「send channel message」アクティビティ内の「Chanel ID」「Team ID」「Content」を入力します。
「ConnectionId」は、先程指定したコネクタが選択されていなければ、プルダウンにて選択して下さい。

:::note info
「Chanel ID」「Team ID」の参照方法
* Chanel ID
1\. デスクトップアプリの、チーム＞チャネル＞チームを右クリックし、「チャネルへのリンクを取得」を押下
![WS000021.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/45848c93-2c97-44fd-0ff5-99e6b641d771.jpeg)
2\.表示されたリンク内、channel/以降の部分が、Chanel IDです。
https\://XXXXX/X/channel/（ここがchannel IDです。）/XXXXXXX?groupId=XXXXXXX&tenantId=XXXXXXX

* Team ID
1\. デスクトップアプリの、チーム＞チャネルを右クリックし、「チームへのリンクを取得」を押下
![WS000022.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/d0a246dc-800a-a6d3-b4a4-19b8ae28a9eb.jpeg)
2\.表示されたリンク内、groupId=の部分が、Team IDです。
https\://XXXXX/X/team/XXXXX/XXXXXXX?groupId=（ここがTeam IDです。）&tenantId=XXXXXXX

※Chanel IDとTeam IDは混同しやすいですが、以下のような感じです。
チームの中にチャネルが入っているイメージです。
![WS000023.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/7de0868b-ab32-d0c6-317d-952489192f70.jpeg)
:::
3\. 「Chanel ID」を入力。
![WS000024.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/febc7a0c-0c3d-d049-76a3-83a8a14ecfe2.jpeg)
4\. 「Team ID」を入力。
※2022/12/4現在、プルダウンで選択した場合エラーとなる為、直接テキストで入力する。
![WS000025.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/e74833ff-c119-b117-b893-48c0b92456a7.jpeg)
5\. 最後に、「Content」に自分の送りたいメッセージを入力します。
![WS000026.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/f4359b08-87ab-46bb-7ab2-8ea4bbd42b11.jpeg)
6\. 実行するとチームのチャネルへチャットが無事に送信されました。
![WS000027.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2638718/5c032e9c-c1d8-d25e-52d1-1b77f1e1abd3.jpeg)

# まとめ
今回は、Integration Serviceで、Teamsコネクタを使用してみました。
まだプレビュー版なので、ところどころ不具合（プルダウンで選択した値がエラーになるなど）があるなといった感じでした。
また、プルダウンで選択する値は、Teamsコネクタの場合、Guidではなく日本語のチーム名やチャネル名とかになると結構使いやすいのではと思いました。
Integration Serviceについては、簡単にAPIを利用したロボットを開発出来るので便利なのですが、
連携先のAPI仕様も学習しないといけないので、学習がある程度必要だと思います。
（TeamIDとChanelIDの取得方法で結構迷いました…）
今後は、別のコネクタ等も使ってみたいです。

# 参考サイト
* Teams、TeamID／ChanelID取得方法

https://www.sharepointeurope.com/how-to-fetch-the-teams-id-and-channel-id-for-microsoft-teams/