Microsoft Teamsという最後発のチャットアプリ、無償で公開もされているので誰でも利用することが可能なのですが、一体どれだけシェアあるのか・・・

さて、このTeamsですがMicrosoft Graph APIからも投稿が可能ですし、Incoming WebhookPower Automate、外部サービスからの通知や他のアプリケーションからの通知、サーバーからの通知などをチャンネルや個人宛に飛ばす事が可能です。しかし、肝心のこの機能を殺してるアレな大企業があったりするわけで。

これらAPIやWebhookが使えないとなると最後に残るのが「メールで飛ばす」方法があります。他にもアプリで使う場合のURI Handler(URL Scheme)やPower Automateを使っての、メッセージを飛ばす方法もまとめてみました。

メールでTeamsに投稿する

チャンネルのメールアドレスを取得する

メールを送ることでTeamsの参加者に自動的に通知を一斉配信が可能です。チーム毎のメアドの取得方法は以下の通り。

  1. メールアドレスを取得したいチームを開く
  2. 各チャンネルの右にある「」をクリック
  3. メールアドレスを取得をクリック(xxxx.xxxx.onmicrosoft.com@apac.teams.ms)といったようなアドレスが取得できる
  4. コピーをすればOK。このメアド宛にメールを送るだけ。

※添付ファイルをつけてメールを送ると、Teamsのファイルタブ内にファイルが格納されます。

図:メールアドレスの取得はとても簡単

制限を掛ける

デフォルトの状態ですと、メールアドレスを知っていれば誰でも投稿が出来てしまいます。そこで、以下の制限を掛けてあげると良いでしょう。

  1. ​メールアドレスを取得の画面の詳細設定をクリックする
  2. このチームのメンバーのみならば、チームメンバー以外は投稿出来ません。
  3. 外部の人も許可するならば、次のドメインのメールアドレスのみ(例:foobar.co.jp)を設定すると良い。カンマ区切りで複数登録可能。

図:誰でも投稿できるのはちょっとよろしくない

使い所

本来、SlackやTeamsは、チャットでだけ使うようなアプリケーションではありません。しかし、アレな大企業ではそこを制限してしまっており、利用価値がSkypeと変わらない(むしろ、一般的なアプリじゃないので、外部とやり取りする上で、相手にTeamsインストールを要求するという・・・)ので、大変残念な事になっています。
しかし、今回の機能を使う事によって、以下のような使い方が可能になります。
  1. 集約先をメールボックスではなく、目的別のteamsのチャンネルにすることが可能になる。
  2. メールのCCに加えることで、重要と思う内容を、メールではなくTeamsに残すことが可能になる。
  3. VBAやNode.jsといったプログラムから利用することで、Outlookを介してメールをおくって、チャンネルに通知が可能になる。
  4. 4.に伴い、複数のチャンネルに対して、自動的に大量に通知を連続して送ることも可能(他のウェブサービスからのメール通知をメールではなくTeamsにすることができる)

図:実際にメールで投稿してみた

Power Automateとの連携技

脱メールの為の仕組みとしてTeamsを入れているのに、一向にメールが減らない。メールボックスに何でもかんでも来る結果、メールフィルタで対応しきれなくなり、ついには仕事を取りこぼす、忘れる、そして誤ってそのままスルーする。結果、小さなミスが大きなクレームとなって帰ってくるわけです。これを少し解消する為に、特定のメールの条件に合致したものは、Teamsにそのまま自動で投げてしまいましょう。

Office365のOutlookで自動応答でも紹介したテクニックです。

  1. Power Automateを起動する
  2. マイフローをクリックする
  3. 上にある「+新規」をクリックする
  4. 自動から作成を今回はクリックします。
  5. フローに名前をつけて、フローのトリガーではメールと検索し、「新しいメールが届いた時(V3)」を選びます。
  6. 作成ボタンをクリックする
  7. ここで条件判定をさせる為に、「制御(条件)」というものを追加します。
  8. 条件では、「差出人」はなく「開始」というものになります。また、「件名」や「本文」というものを使って、「特定の文字が含まれているか?」といった判定も非常に効果的です。
  9. 「はい」の場合だけを作ります。
  10. アクションの追加をクリックして、Teamsと検索。メッセージを投稿する(V3)を選択します。
  11. チームを選びます。
  12. チャネルを選びます。
  13. メッセージ本文を記述します。本文を書かずにメールの内容の本文をそのまんま追加することも可能です。

図:メールの内容をそのままTeamsに転送可能

URL Scheme

ある特殊なURIをクリックすると、ブラウザが立ち上がって該当のページが表示され、ついでにテンプレートのメッセージまで表示する。または、ローカルのアプリが立ち上がり、同様の事ができる。これがURL Scheme(またはURI Handler)と呼びます。もっとも知られているものは、https://であったり、mailto:ですね。msteams:といったこれらはディープリンクと呼ばれたりもします。

Microsoft TeamsにもこのURL Schemeは存在し、以下のような形でURLを組み上げて、クリックすると作動するようになっています。以下のは個人宛のTeamsに送る場合の仕組みです。

  1. ​https://teams.microsoft.com/_#/l/chat/0/0?users=ここに相手のメアド&message=ここにメッセージ
  2. msteams:/l/chat/0/0?users=ここに相手のメアド&message=ここにメッセージ

チャンネルにも投げられないか?という事であれば、以下の手順を踏んでURIを構築する事が可能です。

  1. 特定のチームのチャンネルを開く
  2. チャンネルへのリンクを取得
  3. このリンクをクリックすると、直接ウェブもしくはローカルのTeamsアプリが起動して開きます。
  4. この時、msteams://の以下に構築すれば同様の事が可能です。

参考例として

msteams:/l/channel/チャンネルのID@thread.skype/ここに該当のチームのコード?groupId=グループのID&tenantId=テナントのID

関連リンク

共有してみる: