10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

現場需要と課題を見るServiceNow×Teams連携Tips3選 & Messaging NotificationプラグインでTeams連携してみた

10
Last updated at Posted at 2025-12-20

本記事はServiceNow アドベントカレンダー2025の参加記事21日目です。

テーマ選定の背景

とても長いタイトルになってしまいましたが、ある日のつぶやきで需要を感じ、Teams連携のテーマにしよう!という感じです。

9いいねの皆さんの「「「「「圧」」」」」を記事ボリュームの愛で返します!
テーマごとに記事を分けても良かったのですが、アドカレスペシャルです。

まえがき:ServiceNow×Teams連携

連携するための設定の記事はいくつか他の方も書いていると思うので、機能ごとにフォーカスして案件を通してわかったことを中心に紹介できればと思います。
そのため、Tipsの部分に関しては連携設定等は実施された前提で省略いたします。

Tips的なものを3件と、日本語記事がなかった連携プラグインを使ってみたの2本立てでお送りいたします。

~前提~
◆Tips3選で利用したプラグイン
・IT Service Management for Microsoft 365[sn_now_teams_it]
・Notify Connector for Microsoft Teams[sn_notify_msteams]

◆Messaging Notificationプラグイン
・Messaging Notification plugin (com.glide.notification.messaging)
 ※のちほど解説しますが、これはNowSupportからリクエストして利用できるようになるプラグインです。

ではさっそく内容に入っていきます。

Teams連携Tips3選

Tips1)Start Microsoft Teams Chat/Microsoft Teams チャットを開始

image.png
インシデントレコードやChangeレコードからTeamsチャットを立ち上げることができるUIアクションです。

●現場需要
・関係者を巻き込んで話を進めたい、解決速度を上げたい。
→インシデントのタイトルやcallerがチャット立ち上げモーダルにも出てきて(*1)、関係者を入れてこのタイトルで会話しよう!ができる

・いわゆる"気の利く"人はこのボタンがなくてもTeamsで関係者を集めていたが、ServiceNowとの紐づきが無い。
→このボタンから立ち上げたチャットは[sn_tcm_collab_hook_ms_teams_chat]テーブル(*2)にチャット履歴が残り、立ち上げ元のレコードとも紐づく。そして、インシデントがクローズすると自動でチャットもクローズします(*3)

*1 チャット立ち上げモーダルの画面
image.png

*2 sn_tcm_collab_hook_ms_teams_chatテーブル
リスト(フィールドはキャプチャ以外にもあります)
image.png

レコード
image.png
30分~1時間に1回チャット履歴が取り込まれます。チャットに貼った画像もレコードのAttachmentになります。

*3 インシデントステータスに合わせてチャットは以下のようになります。(全員強制退出)
image.png
ステータスに合わせた退室とクローズ処理は以下のビジネスルールとスクリプトインクルードで行われていますので、興味がある物好きな方は是非見てみてください!
<BR>​
 ・Close Microsoft Teams Chat Flow​
<SI>​
 ・ImportChatConfigurationUtilsSNC​
 ・MSTeamsImportChatUtilsSNC

●使ってみて分かった課題
 一定需要に対する効果は見えたのですが、機能の標準仕様として、以下のビジネスルールがあります。
 Add User to Chat on reassignment
image.png

これはAssign toが変わった時にそのユーザーも既に存在するレコードから立ち上がったチャットに招待する というものですが、担当者への事前連絡なしに途中からチャットに入ると入れられた方は突然なにかにぶち込まれた!のような感じになってしまい、この辺の仕様理解や運用設計が必要だなと感じました。

ServiceNowの想定としては、そりゃAssign担当なんだから入るっしょ、みたいな感じなんでしょうけど、担当者はメンバーレベルなこともあるので上司も一緒に入れないとね、など組織ごとに気を付けるべきポイントはあるなぁと思いました。

●未来への展望
 チャット履歴レコード、AI機能でサマライズ、分析できないかなぁ なんてことを思ったりしています
 機能有効化してから5か月ほど経つのですが、総計5000件ほどのインシデントに対し既に1000件以上チャットが立ち上がっており、インシデント対応のノウハウやデータとして使えるはずです。チャットで多くやり取りしていることを仕組み化できるものがないかネタ探しにできそうだなと。

Tips2)カスタムメールフィールドの作成とプロパティ設定

ServiceNowとTeamsの連携なので、Teamsユーザーの情報をServiceNow側でももちろん保持しています。
先ほどのTips1のチャット立ち上げなども、ユーザー同士の紐づけが無いとTeamsを認識できません。

プラグインインストール後のデフォルトは、「sys_userテーブルのemailフィールド」が設定されています。
emailフィールドの値=Teamsアカウント名 という一致のロジックです。

これを変更する方法があります。
システムプロパティ[sn_now_azure.user_email_field]の値を任意のsys_userテーブルのフィールドに変更しましょう。
image.png

参考:
Create custom email field to initiate Microsoft Teams chat

●現場需要
 メールアドレスは持たないが、Teamsアカウントを持つユーザーがいる。そのため、emailフィールドだとTeams連携機能を使えない。

●使ってみて分かった課題
 メールアドレスを持っているユーザーもこのプロパティに設定したフィールドを参照するようになるため、途中から切り替える場合や、初期導入段階で移行(emailフィールドの値をカスタムフィールドにもコピー)作業が必要

Tips3)ゲストユーザーのチャットアクセスを有効にする

Tips2と似ていますが、組織外のユーザーのチャット参加も許可する設定です。自組織以外のゲストアカウントなどと協業するような組織で使えるのではないでしょうか。

こういう↓ユーザーたちです
image.png

All > ServiceNow for Microsoft 365 > Teams Guest User Chat Configuration
と、そのまんまの名前のメニューがあるのでそこから設定します。
image.png

●現場需要
 自組織以外のベンダーなどのゲストユーザーもServiceNowインスタンスを使うため、ServiceNowからのチャットにも参加させたい。

●使ってみて分かった課題
 いまのところなし
 (強いて言えばこの設定にたどり着くのに時間かかった…調べ方が悪かったか)

参考:
Enable chat access for guest users
Configuring multi-tenant chat access for a guest user

以上、細かいTips集でした!まだまだ続きますよー

Messaging NotificationプラグインでTeams連携してみた

さて、最後はTeams連携機能使ってみたのテーマを1つ。
こちらはできることとはシンプルで「ServiceNowのNotificationをTeams(Slack)に飛ばす」なのですが、"ServiceNowとTeamsの設定だけでほとんど実行可能"な簡易さが売りのプラグインなのかなと思います。

Power Automateをなどを経由する通知方法は経由するツールの設定も必要ですがこれはTeams側に初期設定した後は基本ServiceNowだけで通知をコントロールできます。
(後ほど解説しますが、グループチャネルへの通知ならノーコード)
また、Notificationの設定がEmail Notificationなどと同じServiceNowの設定インターフェースで設定できるところに手軽さを感じました。
※他の通知方法が悪いという意図はございません。

今回、このプラグインの日本語記事が無く設定にも少しポイントがあったので、そこを中心に紹介します。

Messaging Notification公式docs

基本は以下のdocs順にプラグインインストール~通知設定までできると思います。
・1) Request the Messaging Notification plugin
・2) Install the Now Actions messaging app
・3) Configure message content
・4) Create a messaging notification
今回はこれらをベースに、基本の動きと躓きポイントを交えて記載していきます。

事前準備

冒頭にも書いた&docs 1)にもありますが、このプラグインはApplication Managerからインストールではなく、NowSupportにリクエストして取得するプラグインとなります。

image.png
Which plugin would you like to activateには「com.glide.notification.messaging」か「Messaging Notification」と入力すれば行けるはずです。

インストール可能な時間が表示されますが、だいたい最速15~30分後くらいの時間は指定できました。

Messaging Notification 通知設定 基礎

docsの2)まで終わればあとはServiceNow側での設定になります。

前提として、この機能は、通知の種類(Type)が2種類あります。
・Simple:グループチャネルへの通知に利用。NotificationのGUIで設定可能。
・Buttons:個人向けの通知。承認アクションボタン付き通知などで利用。ボタンの機能設定はスクリプトを記載する。

共通の設定ステップ

①messaging_contentテーブルにて「Notification Content(通知コンテンツ)」を作成する。
 ここで先述のSimpleかButtonか選びます。
②sysevent_email_actionのAdvanced Viewで通知を作成する。
 Messaging Contentフィールドに1)で作成したコンテンツを設定する。

②のイメージ
image.png

Simple形式通知の設定方法

まずはチャネルに通知を飛ばす向けのSimple形式の設定方法を見ていきましょう。
おおまかな流れは上記「共通」のステップです。

まずは通知コンテンツを作成しましょう。
例として内容もシンプルに「インシデントに追加投稿されたAdditional Commentを通知」とします。

-Messaging Content
image.png
こんな感じに設定

-Messaging Notification
Advanced Viewで見ましょう。

--When to send
image.png

--Who will receive
躓きポイント!
ここでどのTeamsチャネルに通知するかをMessaging Channelsフィールドに設定するのですが、チャネルのインポート方法が不明でした。
image.png
調査したところKB1116328 How to fix Teams messaging when notifications are sent to Microsoft Exchange insteadにたどり着き、

設定したいチャネル側でNow Actionsをメンションするが解決策であることが判明しました。(上記KBのIssue1の部分です。(ちなみにIssue2も後ほど登場します))

こうすると
image.png

"Messaging Channel Sync"というscheduled jobがトリガーされるらしく

このようにチャネルが選択できるようになります。
image.png

--What will contain
こちらは共通の設定ステップの部分のキャプチャのように、Messaging Contentフィールドに作成したMessaging Contentを設定してください。

【通知を確認しよう】
ここまで出来たら、設定完了です。通知をトリガーしてみると、無事指定したチャネルに通知送信されます。
image.png

Button形式通知の設定方法

今度は個人に送る「Button」タイプの通知を設定してみましょう。
何がButtonなのか?というイメージを先に見てもらうために完成イメージを貼ります。

<完成イメージ>
image.png

このように、Buttonタイプの通知はNow Actionsとの個人のメッセージとして、そのユーザーに紐づくアクションが必要な通知を想定されているものになります。
Buttonの機能はスクリプトで設定するため、可能性は無限大です。

-Messaging Content
キャプチャのように、タイプをButtonsにすると「Buttons」「Script」フィールドが表示されます。
ボタンを押した時の機能をスクリプトで記載します。
image.png
キャプチャは、プラグインインストール時に作成されたApproval Requestという通知コンテンツです。承認レコードの承認とリジェクトボタンを備えていますね。

-Messaging Notification
ほとんどSimpleと一緒なのですが、こちらもWho will receiveに躓きポイントがありました。

--When to send
こちらもこれまでの通知同様、トリガーを設定します。

--Who will receive
躓きポイント!
Buttonsタイプの通知コンテンツの場合、必ず「Subscribable」をtrueに設定してください。
image.png

勘の良い方はお気づきかもしれませんが、docsには無い情報として、
KB1116328 How to fix Teams messaging when notifications are sent to Microsoft Exchange insteadのIssue2の部分の対応を実施する必要があります。後述します。

--What will contain
こちらはSimpleタイプと同じです。Messaging Contentフィールドに作成したMessaging Contentを設定してください。

Buttonsタイプの通知は受け取りたい人が個人で受け取る設定をする思想っぽい

KB1116328 How to fix Teams messaging when notifications are sent to Microsoft Exchange insteadのIssue2の部分を抜粋します。

Issue 2: Configure user notification preferences for actionable messages
1.Each user must subscribe to the specific notification through their Notification Preferences.
2.To work in Teams, the notification must use the Buttons or Simple message content type.
3.When using Button type messaging content, you need to enable user preferences to allow that user to subscribe to the notification.
Note: Simple messaging content cannot be subscribed to a Teams notification device.

つまり、自分の通知設定でSubscribeしないと通知は届きません。ということですね。
(docsに書いておいてほしい…

心の声が出てしまいましたが、Subscribe設定をしていきます。

Self-Service > My Notification Preferences
image.png

Subscriptionsを選択し、「Add Personal Subscription +」をクリック
image.png

Nameは任意の通知を識別できる名前、NotificationにはMessaging Notificationで作成したものを選択します。
image.png

連携するTeamsのトグルをオンにします。
image.png

これで完了です。

ここまで実施すると、<完成イメージ>で示したMessaging Notificationが「Subscribeしたユーザー」のTeamsに届くことになります。けっこう調査に時間かかったので成功した時けっこう嬉しかったです。
ServiceNowのこのButtonsタイプの機能の思想としては、自ら必要な通知を選んでアクションに活用してください。ということなんだろうな。

Messaging Notificationまとめ

ここは案件での本格利用はしていないので使ってみたトーンのノリで書きましたが、せっかくなのでTipsでも考えた要素を考えてみました。

●現場需要
 Simpleタイプの通知:チケット起票や更新のハンドリングチャンネルとして使えるかも。
 Buttonタイプの通知:対応が遅い、反応して欲しいものに対して設定したい。サーベイ回答で使えるかも?あとはあえて更新トリガーなどを個人に送りたい場面(ある?)があればButtonを作りこまない通知としても用意しておけるはずです。(Buttonスクリプトがないから通知送れない とはならないはず。要検証)

●使ってみて分かった課題
 実際の案件で使おうとすると、Buttonsタイプにおいてはせっかく通知コンテンツと通知作ったのに、Subscribeされない限り意味のないものになってしまうので、Subscribeの啓蒙が必要。

●未来への展望
 Teams関係ないけど、絶対見てほしい通知は強制Subscribeとして一括でNotification Preferencesを設定できるかな?とは思いました。sys_notif_subscriptionテーブルらしいのでやるとしたらそこをどうにかする感じになりそう。

全体のまとめ

さて、長々とTeams関連の話題を記載しました。少なくともあのつぶやきにいいねしてくださった皆さんに届いてると嬉しいです。(もちろん他の方も是非)
あとはMessaging Notificationプラグインの躓きポイントで同じ悩みを持った人がここにたどり着いてくれるととっても嬉しいです。知識は共有してなんぼ。隠すものではない。誰かの時間を節約できるように還元します!
Buttonsタイプの有効活用方法はほかにも考えられそうなので、検証が完了したらまた記事にします!

それでは!最後まで読んでいただきありがとうございました。

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?