MKIが解説するServiceNow開発blog

ServiceNow にまつわるMKIナレッジを紹介いたします。

【小技】Add to Update Set Utilityについて

はじめに

みなさんこんにちは、三井情報です。

 

リリース作業をより効率的にできないかと調べていたところ「Add to Update Set Utility」というグローバルUIアクションを見つけたので実際に動かしてみました。

 

このUIアクションを使用すると、これまでUpdate Setに格納されず個別にXML形式でエクスポートしていた更新情報もUpdate Setにまとめて格納することができます。

 

本記事では「Add to Update Set Utility」のUIアクションを使用してユーザレコードとその周辺の情報をUpdate Setに格納する様子をご紹介します。

 

 

 

Update Set(更新セット)とは

ServiceNowではインスタンスで実装または設定した内容をUpdate Setという箱に格納してXLM形式でエクスポートすることで他のインスタンスへ移送することができます。

 

Update Setに実装内容を格納する方法はとても簡単です。

使用したいUpdate Setを事前に選択するだけで自動的に作業ログがUpdate Setへ格納されていきます。

 

しかし全ての作業内容が記録されるわけではありません。

例えば以下のような情報はUpdate Setに格納されないので個別にXML形式でデータをエクスポートする必要があります。

・テーブルに作成したデータ

・ナレッジ

ダッシュボード

・外部連携情報 etc…

XML形式でなくとも移送は可能ですが、SysIDごと移送できる点からXMLを推奨します。

 

 

Add to Update Set Utilityをダウンロード

下記サイトからUIアクションが格納されたUpdate Setをダウンロードすることができます。

Add to Update Set Utility

f:id:mki-blog:20220401134637p:plain

ダウンロードファイル名:Add_to_Update_Set_Global_v7.3.xml

 

 

ダウンロードができましたら、移送元インスタンスにダウンロードファイルをインポートします。

通常の移送と同じようにRetrieved Update Sets(sys_remote_update_set)からインポート作業を行います。

f:id:mki-blog:20220401134659p:plain

動作検証

ユーザ情報をUpdate Setに追加する

以下の特徴を持ったユーザを新規作成します。

・2つのグループに所属している(グループは移送先インスタンスに存在するもの)

・adminとそれに付随するロールが付与されている

f:id:mki-blog:20220401134713p:plain

f:id:mki-blog:20220401134718p:plain

 

 

ユーザを作成した段階ではUpdate Setに何も格納されていません。

f:id:mki-blog:20220401134729p:plain

 

 

Userのフォーム画面に戻り、Related Linksにある「Add to Update Set」をクリックします。

f:id:mki-blog:20220401134741p:plain

 

 

画面上部にメッセージが表示されました。

Update Setに追加できたようです。

f:id:mki-blog:20220401134806p:plain

 

 

Update Setの中を見てみると、 メッセージ通りにUser・Group Member・User Roleの情報が追加されています。

f:id:mki-blog:20220401134827p:plain

 

 

インスタンスへ移送する

実際に別インスタンスに移送してみます。

エラーが出ることなく無事にコミットすることができました。

f:id:mki-blog:20220401134909p:plain

f:id:mki-blog:20220401134914p:plain

 

ユーザリストにも表示されています。

f:id:mki-blog:20220401134940p:plain

 

 

所属グループも設定どおりです。

ロールの数が異なりますが、これは移送前と移送後のインスタンスでadminロールが包含するロールの種類が異なることが原因です。

f:id:mki-blog:20220401134949p:plain

 

おわりに

 

今回はユーザ周りで検証してみましたが、他にも様々な機能で利用することができます。

ダインロードサイトに詳しく記載されているので気になる方は是非ご確認ください。

 

最後まで読んでいただき、ありがとうございました。

 

 

 

三井情報株式会社

ソリューション技術本部

クラウドソリューション部

第四技術室

佐久間 衣歩

www.mki.co.jp

ガイドセットアップの紹介

はじめに

みなさんこんにちは、三井情報株式会社です。

 

今回はガイドセットアップの使い方についてご紹介致します。

ガイドセットアップは特にプラグインをインストールする必要はなく、各機能の基本的な構成や使い方などを知ることができます。新規ユーザーが個人インスタンスを取得した際に各機能の使い方を1から学ぶのに適しています。

 

ガイドセットアップの紹介

  • ガイドセットアップの種類

ガイドセットアップは現在以下のような種類があり、タイトルにある機能の解説およびカスタマイズを行うことができます。

・ITSM ガイド付き設定

カスタマーサービスマネジメントのガイドセットアップへようこそ

・ナレッジ管理のガイド付き設定にようこそ

・パフォーマンス分析のガイド付き設定にようこそ

・エージェントワークスペースガイドセットアップ

・スポットライトのガイドセットアップへようこそ

・AI Search ガイド付き設定

・正規化データサービス

・Conversational Interfaces ガイド付き設定

・IT Operations Management のガイド付き設定

・構成可能ワークスペースのガイド付き設定

 

この記事では「エージェントワークスペース」のガイドセットアップを例としてご紹介致します。

 

エージェントワークスペースとはITSMをより効率的に管理できる機能です。

複数のインシデント、問題、変更などをより効率的なUIで確認することができます。

 

f:id:mki-blog:20220316120842p:plain

 

f:id:mki-blog:20220316120909p:plain

 

フィルタナビゲータからガイドセットアップを選択すると以下の「はじめに」の画面が表示されます。「続行」を押下して各テーマを選択する画面へ移ります。

f:id:mki-blog:20220316121104p:plain

 

「続行」を押下すると各テーマを選択する画面が表示されるので、編集したい項目の「続行」ボタンを押下します。

※ステータスが「未開始」の場合は「ようこそ」、「処理中」の場合は「続行」、「完了」の場合は「編集」と表示されます。

f:id:mki-blog:20220316121214p:plain

 

エージェントワークスペースのテーマには以下があります。

・自社用カスタム設定とテーマ

・タブの設定

・リスト

・フォーム

・追加フォームの構成

・検索

ワークスペースの通知

・高度な作業アサイ

ワークスペースエージェントチャット

・ランディングページ

・OpenFrame

・Playbook

 

今回は「自社用カスタム設定とテーマ」を編集します。

 

・自社用カスタム設定とテーマ

会社のロゴと2色のテーマ設定を使い自社用カスタム設定とテーマをカスタマイズできます。「構成」を押下して編集します。

※既に完了している場合でも「構成」を押下して何度でも編集できます。

f:id:mki-blog:20220316121238p:plain

 

今回は「ブランドカラー1」「ブランドカラー2」を変更してみます。

変更して「更新」後にワークスペースエージェントを開いて確認します。

※編集するためにはアプリケーションスコープが「Agent Workspace」になっている必要があります。

f:id:mki-blog:20220316121306p:plain

 

色が変更されました。「ブランドカラー1」がヘッダーに、「ブランドカラー2」がメニューに反映されています。

※元に戻す場合は先程設定した「ブランドカラー」の値を削除します。

 

f:id:mki-blog:20220316121341p:plain



 

おわりに

今回はガイドセットアップの基本的な使い方をご紹介させていただきました。

新しい機能を使い始める際はガイドセットアップから始めると理解が深まると思います。

最後まで読んでいただき、ありがとうございました。

 

 

三井情報株式会社

ソリューション技術本部

クラウドソリューション部

第四技術室

下村光輝

 

www.mki.co.jp

【小技】Chromeの拡張機能

はじめに

みなさんこんにちは、三井情報株式会社です。
今回はChrome拡張機能に用意されている開発支援ツールをご紹介します。
※ServiceNow製品ではないので使用は自己責任となります。


ご紹介する機能は下記2点です。
Authenticator
SN Utils - Tools for ServiceNow

Authenticator

お使いの環境では多要素認証設定はお済みでしょうか?
ServiceNowで多要素認証設定を行うと、ログイン時に毎回スマートフォンを用意して、アプリを起動して、コードを入力、、しますよね。
面倒だな、、と感じている方もいらっしゃるのではと思います。

そんな方はChrome拡張機能Authenticator」を使用してみてください。

Authenticatorのアイコンをクリック
 >> コードをクリック(コードがコピーされる)
 >> コードを入力
 >> ログインボタンを押下
と、認証コードの取得からログインまでが同一ブラウザ、同一タブ内で完結します。

【画面イメージ】
f:id:mki-blog:20220228100928p:plain

本記事ではAuthenticatorの追加方法とServiceNow初回ログイン時の設定方法をご紹介します。

Authenticatorの追加方法

Authenticatorの追加方法をご説明します。

Chromeウェブストアで「Authenticator」と入力し、検索をかけます。
f:id:mki-blog:20220228101014p:plain

➁「Chromeに追加」ボタンをクリックします。
f:id:mki-blog:20220228101026p:plain

以上で追加完了です!
頻繁に活用する場合はクリップ留めしておくことをお勧めします。
f:id:mki-blog:20220228101038p:plain

初回設定

初回の設定方法をご説明します。
①ServiceNowのログイン画面でユーザIDとパスワードを入力し、
 「マルチファクタ認証(MFA)を有効にする」という画面を開きます。
➁Authenticatorを起動します。

f:id:mki-blog:20220228101100p:plain

③右上の「QRコードをスキャン」をクリックします。
f:id:mki-blog:20220228101114p:plain

QRコードを囲います。
f:id:mki-blog:20220228101130p:plain

⑤カーソルを離すとメッセージが表示されるので「OK」をクリックします。
f:id:mki-blog:20220228101141p:plain

⑥再度Authenticatorを起動します。
f:id:mki-blog:20220228101151p:plain

⑦「許可」をクリックします。
f:id:mki-blog:20220228101211p:plain

以上で初回設定完了です!

補足

既にモバイルデバイスを設定している方はユーザーマルチファクター設定のリストから自身のユーザーレコードを削除することで、 Authenticator を使用できるようになります。

【操作方法】
①マルチファクタ認証(Multi-factor Authentication)
 >> ユーザーマルチファクター設定(User Multi-factor Setup) をクリックします。
➁自身のユーザーレコードを削除します。

【画面イメージ】
f:id:mki-blog:20220228101242p:plain

SN Utils - Tools for ServiceNow

続いて「SN Utils - Tools for ServiceNow」をご紹介します。
開いているレコードの情報の表示、更新セットの内容表示、Glide Recordのスクリプトテンプレートの生成等、開発の生産性を上げるための機能が盛りだくさんです。
最も便利だと感じているのが、ServiceNow内のテーブルのリストやディクショナリを別タブで開いてくれる機能です。
スクリプトを記載する際などに、ぱぱっとテーブル定義を確認できると助かりますよね。

この拡張機能は追加後に特別な設定は不要なので、ここでは使用方法例としてテーブル定義の表示方法をご紹介します。

追加方法

追加方法は「Authenticator」と変わらないため省略します。

使用方法例

①SN Utils - Tools for ServiceNowを起動します。
f:id:mki-blog:20220228101346p:plain

➁Table定義を見たい場合は「Tables」タブをクリックしキーワードを入力します。
f:id:mki-blog:20220228101403p:plain

③テーブルのリスト画面を別タブで開きたい場合は「f:id:mki-blog:20220228101435p:plain 」を
テーブルのディクショナリを別タブで開きたい場合は「 f:id:mki-blog:20220228101446p:plain」をクリックします。


これだけで作業中の画面を閉じることなく、別タブにテーブル定義を表示することができます。
テーブル以外にも便利な機能がたくさんあるので、チェックしてみてください。

おわりに

今回は便利なChrome拡張機能を2点ご紹介しました。
頻発する作業が少し楽になるだけで、精神的な負荷がかなり軽減されると思います。
是非活用してみてください。


最後まで読んでいただき、ありがとうございました。

三井情報株式会社
ソリューション技術本部
クラウドソリューション部
第四技術室
佐久間衣歩

www.mki.co.jp

DocuSignでのフローの進行状況を取得する

はじめに

みなさんこんにちは、三井情報株式会社です。

DocuSign連携シリーズ第一弾、第二弾ではServiceNowからDocuSignへの連携方法をご紹介しました。
ただ、このままではDocuSignへ渡った後の進行状況はDocuSignでしかわかりませんよね。
そこで今回はDocuSign上での進行状況もServiceNowで確認できるような、DocuSignとServiceNowの設定方法をご紹介したいと思います。

~DocuSign連携シリーズ~

カタログアイテムからDocuSignへ遷移
REST APIを使用してDocuSignの申請データを作成
③DocuSignでのフローの進行状況を取得 ←今回

連携時の動き

連携時の動作概要は以下のとおりです。
① DocuSign上で承認を行う
② DocuSignからエンベロープの更新情報をServiceNowへ送信(リアルタイム)
③ ServiceNowのレコードに取得結果を反映し、WFのノードを進める
f:id:mki-blog:20220221125107p:plain

使用する機能

今回使用する機能は以下です。
図中の番号順に設定方法を解説します。
f:id:mki-blog:20220221125142p:plain
※1. Scripted REST API
外部システムから受信したリクエストを加工する機能です。
詳しくは過去記事(ServiceNowにWebhookでデータ連携)を参照してください。

事前準備

使用する機能を紹介しましたが、その前にServiceNow/DocuSign双方で事前準備を行います。

1. リクエストアイテムとエンベロープのキーを設定

ServiceNowのリクエストアイテムレコードに紐づくDocuSignのエンベロープを特定できるよう、それぞれに共通の値を持たせます。
今回はリクエストアイテムNoをエンベロープの「shinseiNo」という項目にセットしたいと思います。
DocuSignのテンプレートに以下のように項目を追加します。
エンベロープPower Formから作成する場合はonSubmitの処理に、REST APIから作成する場合はボディに「shinseiNo」に値をセットするように指定します。
f:id:mki-blog:20220221125250p:plain

2. 受信者ごとのステータス格納先を作成(ServiceNow)

DocuSignから取得するデータ(Webhook)にはエンベロープ受信者ごとのステータスが含まれています。
そのためServiceNow側にそれら(受信者ごとのステータス)を保持する体制を作ります。
今回はリクエストアイテムに紐づく変数にステータスを保持するようにします。
作成イメージは以下です。
f:id:mki-blog:20220221125320p:plain
DocuSignからステータスを取得する都度、上記の変数の値を更新します。

3.エンベロープの更新情報を送信するよう設定(DocuSign)

DocuSignはただエンベロープを作成したり更新したりするだけでは、外部システムにリクエストを送信しません。
事前に設定をすることで特定のタイミングで特定のシステムへリクエストを送信してくれるようになります。
設定方法はエンベロープPower Formから作成するのか、REST APIから作成するのかで異なります。

Power Formからエンベロープを作成する場合

DocuSign Connectというサービスを使用します。
DocuSign Connectを設定するとアカウント(環境)に作成された全てのエンベロープの更新情報をリアルタイムで外部へ送信してくれます。
PowerFormで作成したエンベロープには「特定のPowerFormで作成したエンベロープだけの更新情報を送信する」という設定ができません。
詳しい設定方法は「➁DocuSign Connect(DocuSign)」で説明します。

REST APIからエンベロープを作成する場合

REST APIを実行する際にリクエストボディに外部システムへエンベロープの更新情報を送信するよう設定します。
リクエストボディのサンプルを以下に記載します。
DocuSign連携シリーズ第2回の「REST APIを使用してDocuSignの申請データを作成」でご紹介したものと組み合わせて使用してください。
REST APIについてはAPI Referenceを参照してください。

{
"eventNotification": {
    "includeHMAC": "true", ※1
    "envelopeEvents": [
       {
        "envelopeEventStatusCode": "Delivered" ※2
    },
      {
        "envelopeEventStatusCode": "Completed" ※2
      }
    ],
    "url": "https://~~~~", ※3
    "eventData": {
      "format": "json",
      "includeData": [ ※4
        "recipients"
      ],
      "version": "restv2.1"
    },
    "loggingEnabled": "true"
  },

※1. includeHMAC
trueにすることでリクエストヘッダーにハッシュ値が含まれます。
受信側システム(ServiceNow)はこのハッシュ値とDocuSignで発行されるキーを使用することでメッセージの信頼性を検証できます。
メッセージの検証方法については過去記事(HMAC-SHA256を利用したWebhookメッセージの検証方法)を参照してください。

※2. envelopeEventStatusCode
外部システムへ更新情報を送信するタイミングを指定します。
複数のタイミングで送信したい場合は、その数だけ{}も含めて記載します。
サンプルJSONエンベロープを送信した時と完了した時の2回送信します。

※3. url
リクエストの送信先URLを記載します。
今回はScripted REST APIsで作成したURLを指定します。
例) https://インスタンス名.service-now.com/ベースAPIパス

※4. includeData
リクエストボディに含めるデータを指定します。
今回は受信者ごとのステータスが欲しいので「recipients」を指定します。

以上で事前準備の完了です。

①Scripted REST APIs (ServiceNow)

DocuSignからのリクエストを受け取り、その内容をテーブルに反映する処理を行います。

Scripted REST APIs(親)

【操作方法】
1.システムWebサービス >> Scripted REST APIs をクリックし、新規作成画面を起動する。
2.[名前]と[API ID]に任意の文字列を入力し、[保存]をクリックする。
3.[セキュリティ:デフォルトACL]の選択を解除し、[更新]をクリックする。
4.[リソース:新規]をクリックする。

【画面イメージ】
f:id:mki-blog:20220221130107p:plain

Scripted REST APIs(子)

【操作方法】
1.入力値は以下のとおり。
f:id:mki-blog:20220221130128p:plain

【画面イメージ】
f:id:mki-blog:20220221130148p:plain

[タイプ]に入力するスクリプトのサンプルは以下です。
取得したリクエストから受信者ごとのステータスを抽出するところまでを記載します。

(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
 //HMACを使用してWebhookメッセージの検証
  //bodyの値
  var bodyAll =request.body.data;

  //Headerの値
  var headers =JSON.stringify(request.headers);

  //DocuSignで作成した秘密鍵と、取得したbodyを使用してハッシュ値を作成する
  var mac = new GlideCertificateEncryption;
  var key = 'Docusignで作成する秘密鍵';
  key = GlideStringUtil.base64Encode(key);
  var payload = JSON.stringify(bodyAll);
  var hash = mac.generateMac(key, "HmacSHA256", payload);

 //HMAC署名の確認
 if(headers.indexOf(hash) !== -1){

//エンベロープIDを変数にセット
  var envelopeId = JSON.stringify(bodyAll.envelopeId);

//署名者情報を変数にセット
  var signersStatus = bodyAll.recipients.signers;

//受信者ごとのステータスと申請番号を取得する
  var statuslist = [];
  var fieldList = [];
  for (var i=0; i< signersStatus.length; i++) {
   //署名者ごとのステータスを連想配列に格納する
   var roleStatus = {}; 
   roleStatus.name = signersStatus[i].roleName.toString();
   roleStatus.status = signersStatus[i].status.toString();
   statuslist.push(roleStatus);
   //申請番号の取得
   //DocuSignの入力フィールドに格納されている値を変数にセット
   var tabs = signersStatus[i].tabs.textTabs;

 //各入力項目の値を連想配列に格納する
   for (var a=0; a< tabs.length; a++) {
    var textTabs = {};
    textTabs.tabLabel = tabs[a].tabLabel.toString();
    textTabs.value = tabs[a].value.toString();
    fieldList.push(textTabs);
   }
  }
  //申請番号の値のみ取得する
  var getShinseiNo;
  var fieldLists = fieldList.filter(function(item, index){
   if (item.tabLabel == 'shinseiNo') {
    getShinseiNo = item.value;
   
   }
  });
  //署名者ごとのステータスをセット
  var statuslists = statuslist.filter(function(item, index){
   if (item.name == '作成者') {
    getsakuseisyaStatus = item.status;
   }else if(item.name == '確認者'){
    kakuninsyaStatus = item.status;
   }else if(item.name == '発議者'){
    hatssugisyaStatus = item.status;
   }else if(item.name == '決裁者'){
    kessaisyaStatus = item.status;
   }
  });

以降、要求アイテムテーブルにエンベロープIDと各受信者のステータスをupdateする。


サンプルスクリプトの冒頭で行っている処理については過去記事(HMAC-SHA256を利用したWebhookメッセージの検証方法)にて解説しています。

➁DocuSign Connect(DocuSign)

Power Formから作成したエンベロープの更新情報をServiceNowへ送信する設定を行います。

【操作方法】
1.DocuSign eSignatureの[設定]タブで、
[インテグレーション] >> [DocuSign Connect] をクリックします。
2.[設定の追加] > [カスタム] をクリックします。
3.各項目を以下のように入力します。
f:id:mki-blog:20220221130555p:plain

③CONNECTキー(DocuSign)

REST APIから作成したエンベロープの更新情報をServiceNowへ送信する設定は、事前準備のエンベロープ作成時点で行っています。
DocuSignからのリクエストの信頼性をServiceNow上で検証するためにCONNECTキーの発行を行います。

【操作方法】
1.DocuSign eSignatureの[設定]タブで、
[インテグレーション] >> [DocuSign Connect] をクリックします。
2.[CONNECTキー]タブをクリックします。
3.[秘密鍵の追加]をクリックします。
キーはServiceNowでの処理で使用するので控えておいてください。

【画面イメージ】
f:id:mki-blog:20220221130642p:plain

④ワークフローエディタ

ワークフローエディタには「条件待ち(Wait for condition)」というアクティビティがあります。これはレコードが特定の条件を満たすとノードを進める、という機能を持ったアクティビティです。
今回はステータスを格納している変数の値が「complete」となった時、フローを進めるというように設定します。

【操作方法】
①Workflow >> ワークフローエディタ をクリックする。
➁[新規ワークフロー]をクリックする。
③入力値は以下のとおり。
f:id:mki-blog:20220221130746p:plain
④画面右の[コア]タブから[条件待ち]アクティビティをドラッグする。
⑤入力値は以下のとおり。
f:id:mki-blog:20220221130807p:plain


おわりに

DocuSign連携シリーズは今回で以上になります。
本シリーズはServiceNowとDocuSignの良いとこどりをした連携で、企業活動のペーパーレス化に貢献できるのではと考え検証、ご紹介させていただきました。

最後まで読んでいただき、ありがとうございました。


三井情報株式会社
ソリューション技術本部
クラウドソリューション部
第四技術室
佐久間衣歩

【小技】スクリプトの入力支援機能

はじめに

みなさんこんにちは、三井情報株式会社です。

 

『【小技】スクリプトの入力支援機能』と題しまして、無くても良いけどあると作業がとても捗る便利な機能をご紹介します。

 

ご紹介する機能は下記2点です。

・Syntax Editor Macro

・コード整形

 

 

Syntax Editor Macro

まず初めにSyntax Editor Macroについてです。

Syntax Editor Macroとはよく使用する構文を自動で入力してくれる便利機能です。

 

例をお見せします。

  1. スクリプト入力欄に「vargr」と入力します。

f:id:mki-blog:20220214164708p:plain

  1. tabキーを押下します。

そうすると、なんと、GlideRecordのquery構文が自動入力されます。

f:id:mki-blog:20220214164726p:plain



とても便利ですね。

GlideRecordは良く使うAPIなので構文を記憶しているかたも多いと思いますが、この4行のスクリプトが自動入力されるとだいぶ作業効率が上がるのではないでしょうか。

 

「vargr」の他にも標準で定義済のキーワードがあるので、気になる方は製品ドキュメントを参照してみてください。

 

製品ドキュメントでなくとも、下記手順で環境からも確認したり、新たに定義したりすることができます。

【操作手順】

  1. システム定義 >> シンタックスエディタマクロ をクリック

f:id:mki-blog:20220214164746p:plain

 

 

コード整形

続いてはコード整形についてご紹介します。

 

スクリプトを作成している皆さんはインデントを付けていると思いますが、一度ずれてしまうと修正がなかなか手間ですよね。

そういった手間を省くのにぴったりなショートカットキーがあります。

「shift+tab」です。

 

実際に動かしてみます。

  1. 作成済のスクリプトのインデントを崩してみました。

f:id:mki-blog:20220214164804p:plain



  1. 直したい箇所を選択します。

f:id:mki-blog:20220214164814p:plain



  1. 「shift+tab」を押します。

f:id:mki-blog:20220214164855p:plain

 一瞬で綺麗に整形してくれました!

 

 

おわりに

今回はスクリプトを作成されているかた向けの小技を2点紹介いたしました。

日々の忙しい業務をちょこっと楽にする便利な機能です。今回初めて知ったというかたは是非活用してみてください。

 

最後まで読んでいただき、ありがとうございました。

 

 

三井情報株式会社

ソリューション技術本部

クラウドソリューション部

第四技術室

佐久間衣歩

 

www.mki.co.jp

ServiceNowとMS Teamsの連携設定

はじめに

みなさんこんにちは、三井情報株式会社です。

今回はServiceNowとMicrosoft Teams(以下MS Teams)の連携、および連携によって利用できる機能についてご紹介いたします。

ServiceNowとMS Teamsを連携することで、MS Teams側からVirtual Agentを利用可能になります。

また、連携後はServiceNow上作成したトピックについてMS Teamsでプレビューすることも可能です。

 

連携設定

ServiceNowとMS Teamsの連携においては、各ツール側での設定が必要です。

それぞれで行う設定について、順を追って説明します。

 

まず初めに、下記手順に従いMS Teams側のセットアップを行います。

手順1. Microsoft 365 Businessの管理者アカウントでMS Teamsにログインする。

手順2. MS Teamsで左パネルより「Apps」を選択し、検索欄にて「Now Virtual Agent」を入力する。

手順3. 表示された「Now Virtual Agent」アプリを選択し、「Add」ボタンを押下する。

上記手順完了後、Now Virtual Agentのチャット画面が表示されます。

f:id:mki-blog:20220207160644p:plain

 

続いて、ServiceNow側のセットアップを行います。

まず、下記記事を参考にVirtual Agentを有効化します。

Virtual Agentの初期設定および基本的な使い方

その後、下記手順に従い連携設定を行います。

手順4. ServiceNowの管理者アカウントでログインし、左メニューより「コラボレーション → 自社用カスタム設定のセットアップ → メッセージアプリの連携」を選択する。

手順5. 「Microsoft Teams」のインストールボタンを押下する。

手順6.  Microsoft 365 Businessの管理者アカウントでMS Teamsにログインし、ServiceNowからMS Teamsへの連携許可を承諾する。

手順7. 左メニューより「コラボレーション → 自社用カスタム設定のセットアップ → メッセージアプリのデータ連携」を選択し、MS Teamsがインストールされていることを確認する。

f:id:mki-blog:20220207161309p:plain

 

続いて、MS Teamsに戻り、下記手順を実施します。

手順8. 「Now Virtual Agent」チャットを開き、「Hi」(開始)コマンドを送信する。

手順9. 応答メッセージ中の「ServiceNowへのリンク」を押下後、表示される画面で「確認」ボタンを押下する。

f:id:mki-blog:20220207161346p:plain

 

以上で連携設定は完了です!

MS TeamsからVirtual Agentが使用できるようになりました。

 

※注意事項

ServiceNowとTeamsの連携は、1対1で行われます。

たとえば、ServiceNow環境AとTeams環境Aを連携した場合、A:Aで連携されます。

その後、ServiceNow環境BとTeams環境Aを連携した場合、A:Aの連携が解除され、B:Aの1対1の連携となります。

 

MS TeamsでのVirtual Agentプレビュー

ServiceNowでVirtual Agentをテストする際、トピック一覧ページおよび各トピック編集画面でテストを行うことができます。

このうち、各トピック編集画面でテストする際、MS Teamsでの表示をプレビューすることができます。

 

テストは下記ボタンを押下することで実施できます。

f:id:mki-blog:20220207161524p:plain

 

Teamsでプレビューする場合は、各トピックの編集画面より「テスト → Microsoft Teamsでプレビュー」を選択することで、MS Teamsの「Now Virtual Agent」チャット画面よりプレビューを表示できます。

f:id:mki-blog:20220207161541p:plain

 

終わりに

今回はServiceNowとMS Teamsの連携、およびMS Teamsでのプレビュー方法について紹介させていただきました。

サービスの連携によってユーザの間口も広がり、Virtual Agentの認知度・利用率向上にもつながるかと思いますので、ぜひご活用ください!

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

 

 

三井情報株式会社

ソリューション技術本部

クラウドソリューション部

第三技術室

神谷志帆

 

www.mki.co.jp

Rome検証②新規トピックブロック

はじめに

みなさんこんにちは、三井情報株式会社です。

昨年10月にリリースされたNow Platformの最新版「Rome」でリリース特集第2回目をお届けします。前回に引き続き、VirtualAgent(チャットボット)の新機能について紹介します。今回は、Rome版でリリースされた2つの新規トピックブロックを紹介します。

※前回記事は以下リンクからご確認ください。

Rome検証①リンクの展開 - MKIが解説するServiceNow開発blog

 

1.ジオロケーション(位置情報)

1つ目に紹介するのは「ジオロケーション」トピックブロックです。このトピックブロックを利用することで、チャットボットを使用中のユーザの位置情報を取得することができます。

 

1-1. 設定方法

①ユーティリティから「トピックブロック」をドラッグアンドドロップでノードに追加

f:id:mki-blog:20220128132733p:plain

 

②追加したノードをクリックし、トピックブロックに「Geolocation」を設定

f:id:mki-blog:20220128132910p:plain

 

③トピックブロックのプロパティ内の各項目を設定

f:id:mki-blog:20220128133011p:plain

 

④ボット応答のテキストを使って、各変数の表示値を確認するノードを用意

f:id:mki-blog:20220128133050p:plain

※ジオロケーションの設定としては不要ですが、今回取得する値を確認するためにこのノードを用意しました。

 

1-2. 動作確認

テスト実行してみます。位置情報が取得できると現在の緯度・経度が表示されます。

f:id:mki-blog:20220128133129p:plain

※注:ブラウザの位置情報へのアクセスを許可する必要があります。

 

1-3. ユースケース

ジオロケーションのトピックブロックを使用することで、緯度と経度の情報を取得することができます。ユースケースとしては緯度・経度を利用した様々な機能が考えられます。

 例1:ユーザの緯度、経度の情報からGoogleマップのリンクを表示する。

 例2:ユーザの緯度、経度から現在地の天気情報を取得する。

 

1-4. 注意事項

1-2で記載した通り、ブラウザの位置情報へのアクセスを許可する必要があります。各ブラウザ設定画面から位置情報へのアクセス許可を設定してください。またネットワーク環境によっては、ブラウザ側で許可しても位置情報を取得できない可能性もあります。

 

2.一時停止

2つ目に紹介するのは「一時停止」トピックブロックです。このトピックブロックを利用することで、チャットボットを一時停止して次のノードを表示するまでの時間を遅延させることができます。

 

2-1. 設定方法

①ユーティリティから「一時停止」をドラッグアンドドロップでノードに追加

f:id:mki-blog:20220128133541p:plain

 

②プロパティ内で秒数を設定

f:id:mki-blog:20220128133609p:plain

 

2-2. 動作確認

テスト実行してみます。該当ノードに到達すると指定秒数だけ時間停止します。

f:id:mki-blog:20220128133626p:plain

※動画ではないので上記はイメージとなります。

 

2-3. ユースケース

一時停止のトピックブロックを利用することで、ノード表示を遅延させることができます。該当ノードに到達した時に、ユーザに何らかの動作を促したいというようなケースで利用することが考えられます。例えば、以下のようなケースが考えられます。

 ・例1:ナレッジのリンクを表示後、記事を読む時間を確保するために一時停止する。

 ・例2:リストの一覧に表示された情報を全て読めるように一時停止する。

 

2-4. 注意事項

注意事項として、時間を31秒以降に設定すると設定値よりも遅延が起きる可能性が有ります。(下記Docsによると、最大で設定値+30秒の遅延)

Virtual Agent platform topic blocks | ServiceNow Docs

 

おわりに

いかがでしたでしょうか。今回はRome版でリリースされた2つの新規トピックブロックについて紹介しました。Rome版ではその他にも新規トピックブロックが追加されております。詳細はServiceNowの公式Docs(以下リンク)をご確認ください。

Virtual Agent platform topic blocks | ServiceNow Docs

 

今後もRomeリリース特集を投稿予定ですので楽しみにしていただけますと幸いです。

最後までお読みいただき、ありがとうございました。

 

三井情報株式会社

ソリューション技術本部

クラウドソリューション部

第四技術室

高橋 晋平