Copilot Studioで作成したチャットボットをTeamsに公開する

## 今回の記事の内容
Copilot Studioで作成したチャットボットのよくある公開先の1つがTeamsだと思います。
その際の手順について、簡単ですがご紹介します。

## チャットボットを公開する
チャットボットを作成、編集した際にまず必要なのが[公開]です。
作成、編集しているCopilotの[公開]タブより最新のコンテンツを公開する必要があります。
すでにチャネルに公開しているCopilotを編集した際にも都度公開が必要になるので、ご注意ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/ef5bdb1f-02f2-ce4a-4ae9-d6799e3ef2ba.png)

## チャネルに公開する
公開されたCopilotのチャットボットをチャネルに接続し公開します。公開先のチャネルによって接続手順は異なるので、詳細は公式Docsの手順をご確認ください。
本記事はTeamsに公開する手順を紹介します。

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams

左手のタブより[設定]-[チャネル]を選択します。Copilotの認証方法によって公開できるチャネルは変わってくるのでご注意ください。今回はTeamsに公開するため、認証は[Microsoftで認証する]を選択しています。
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/e8073047-4c81-4ab3-6c16-620cbf01e1ac.png)


Teamsを選択し、[Teamsを有効にする]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/d704b7e4-4dce-847e-378e-92e5ab708823.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/b3cb324b-4860-fdf0-8ba5-342920d3ad22.png)

この手順で自分だけが利用するCopilotの準備ができました。試しに[コパイロットを開く]をクリックし、Teamsに遷移すると、作成されたCopilotのチャットボットが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/e4be15c8-2678-1c93-26f2-ab84aa541c6e.png)

※後ほど説明しますが、Teamsの管理者設定で個人が作成したアプリの公開を制限している場合、作成したCopilotのチャットボットはTeamsの公開してもアプリが見つからないというエラーがでます。


ただ、この手順のみでは作成されたCopilotのチャットボットは自分だけにしか表示されないため、会社のセキュリティグループや組織全体に共有する設定をする必要があります。


### 他のユーザーとコパイロットを共有する
Copilotのチャットボットを他のユーザーと共有します。その際の共有の種類は2種類あります。
1. Copilotのチャットボットを利用するための共有
1. Copilotのチャットボットを編集するための共有（共同作業用）

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/admin-share-bots?tabs=web#prerequisites

今回の記事は、Copilotのチャットボットを利用するためのユーザーとしての共有についての説明になりますが、編集のための共有についてもここで簡単にお話します。

まず、Copilotを共同作業・編集するユーザーはユーザー単位でしか指定することができません。そのため、セキュリティグループ単位では共有できない点ご注意ください。
また、共同編集するユーザーはその環境に属している必要があり、環境作成者 のセキュリティロールを持っている必要があります。
（現在のふるまいですと、環境に属していないユーザーを指定して共同所有者として共有した場合、環境に環境作成者のセキュリティロールを有してユーザーとして追加されるようでした）

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/admin-share-bots?tabs=web#share-a-copilot-for-collaborative-authoring


それでは、本題のCopilotのチャットボットを利用するため、ユーザーに共有する手順についてお話します。
Copilotの[概要]タブより[共有]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/1b7e5567-e840-f31e-4a8f-79b93282dd5f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/1005e170-54c8-db67-ff1a-f196c61a2f8c.png)

Copilotを利用するセキュリティグループを指定します。ここでは逆にユーザー単位ではなく、「セキュリティグループ」もしくは「組織全体」でしか指定できない点をご留意ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/f65a5ccc-5263-91ef-fe9a-8f063fda0380.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/57cbb4e9-5e86-5050-f9ff-cd601d711859.png)
共有が完了したら、別のユーザー（今回の例だとsg-人事本部に所属しているユーザー）が利用可能になりますが、チャットボットをアプリストアに表示するためには、もう1つ作業を実施する必要があります。

### アプリストアに表示する or リンクを共有する
これまでの手順で
・Copilotの公開
・CopilotのTeamsへの接続
・Copilotのユーザー共有
が済みました。

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams#prerequisites

ユーザーがTeamsのチャットボットを利用するために、アプリストアに表示して登録してもらう or リンクを共有するなど作業が必要となります。
[設定]-[チャネル]-[Teams]-[可用性オプション]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/529c0e38-4ff8-c6d2-3c0f-60754abca07a.png)

エンドユーザーがチャットボットにアクセスする手段としては下記のいずれかです。
・ボットのインストール リンクを他のユーザーと共有する
・Microsoft Teams アプリ ストアで、ボットを表示する
Microsoft Teams アプリ ストアの同僚による構築セクションにボットを追加して、共有ユーザーに表示します。
Microsoft Teamsアプリ ストアの組織による構築セクションで紹介するために、管理者の承認のためボットを送信して、組織にボットを共有します。

今回は[チームメイトと共有ユーザーに表示する]を選択します。すると、先ほど選択したセキュリティグループが追加されていることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/1599b54f-405a-8f1d-dd74-e344dba03621.png)



### TeamsにCopilotアプリが表示されるか確認してみる

これまでの手順でユーザーがTeams上でCopilotのチャットボットを利用することができます。
Teamsのアプリタブをクリックし、[組織向けに開発]-[同僚による構築]もしくは[Power Platformで構築]をクリックします。すると、先ほど共有されたチャットボットが追加可能となっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/29c63bf8-eac6-04b4-40e7-626c4a64e625.png)

一方で別のユーザー（共有されていないユーザー）がアクセスした場合、該当のチャットボットが表示されないことがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/99656ac5-28c2-5533-163f-ba19253be442.png)

同じく、リンクを共有するケースについても確認してみたいと思います。
[リンクのコピー]をクリックし、共有されたユーザーからアクセスしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/bb39ea46-d0f4-842a-b499-123035f33d8a.png)

共有ユーザーには表示されることがわかりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/3c808944-2f6a-14ed-36f5-bf62df2d8dc1.png)

一方で共有されていないユーザーには、リンクからアクセスしても表示されません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/3a91cd8e-6189-0126-7aa2-ab08413e0a14.png)


### 組織の全員に表示する

組織の全員がアクセスできるようにするため、[組織内の全員に表示する]のオプションについても試してみたいと思います。
こちらはTeamsの管理者の承認が必要となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/8fa697da-d119-6fe0-0db8-c9aa133a185f.png)

Teams管理センターに管理者権限がある状態でアクセスすると、下記のように承認待ちステータスとして表示されるため、承認します。すると、組織による構築のセクションにチャットボットが追加され、組織のメンバーが広くアクセスすることが可能となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/d4ac331e-cfd0-da17-150e-0834f97d5518.png)

## 注意点
組織のポリシーによっては、今回紹介した方法でTeamsに接続することができない場合があります。例えば、個人のアプリ登録をブロックするポリシーなどがそれに該当します。
こちらが[off]になっている場合、共有ユーザーを指定し、共有する方法でTeamsで利用することはできません。（組織内の全員の場合は、管理者が承認するため可能）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/308d92a2-c5fb-f085-6280-7380c2732567.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/ca0676f6-05d1-861e-c2c9-49abb4f623b5.png)

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams#prerequisites


例えば、リンクをコピーし、URLを共有する場合であっても、アプリが見つかりませんと表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/6a9954c5-f43a-ac9a-f4cd-040db337987f.png)

ユーザーを指定し、共有する場合であっても、[同僚による構築]のセクションに表示されなくなります。


## まとめ
以上でCopilot Studioで作成したチャットボットをTeamsに公開する手順についてご案内しました。
共有と公開方法それぞれにいくつかの手段があるので、理解するのにすこし時間がかかるかもしれませんが、こちら参考になれば幸いです。