自動通知
Bright PatternのキャンペーンをServiceNowのビジネスルールと組み合わせて使用することで、影響を受けるユーザーに音声およびテキストによる通知を送信できます。インシデントに対する自動通知を作成するには、以下の手順に従ってください。
- 通知リストを作成します。
- 通知キャンペーン(音声/SMS)を作成します。
- ServiceNowインスタンス上でビジネスルールを作成します。
手順
1. 通知リストを作成する
「Contact Center Administrator」アプリケーションのリストセクションで、自動通知に使用するリストを作成します。リストの内容はお客様のニーズに応じて決定されますが、少なくとも以下のフィールドを含めることをお勧めします:
- 名(ファーストネーム)
- 姓(ラストネーム)
- 電話番号
- チケット番号
- メッセージ
チケット番号とメッセージの組み合わせをキーとして使用することで、同じユーザーと同じチケットの組み合わせに対しては新規のメッセージが送信され、メッセージ内容が同じであっても、同じユーザーの異なるチケットに対しては新規のメッセージが送信されます。

2. 通知キャンペーンを作成する
通知用のアウトバウンド・キャンペーンを作成し、リストと関連付けてください。音声とSMSの両方を使用する場合は、アウトバウンド音声キャンペーンとアウトバウンド・メッセージング・キャンペーンの両方を作成する必要があります。

3. ビジネスルールの作成
ServiceNowインスタンス上で、通知に必要なトリガーと情報を含むビジネスルールを作成してください。以下は、インシデントが作成または更新された場合の例です:
(function executeRule(current, previous /*非同期の場合はnull*/) {
var number = current.number;
var caller_id = current.caller_id;
var grUser = new GlideRecord('sys_user');
grUser.get(caller_id);
var first_name = grUser.getValue('first_name');
var last_name = grUser.getValue('last_name');
var phone = grUser.getValue('phone');
var message = "インシデントが作成または更新されました";
var record_string = number + "," + first_name + "," + last_name + "," + phone + "," + message;
var tok_str = "client_id=ユーザーid&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&scope=xyz.brightpattern.com&grant_type=client_credentials";
var sm = new sn_ws.RESTMessageV2();
sm.setHttpMethod('post');
sm.setEndpoint('https://xyz.brightpattern.com/configapi/v2/oauth/token');
sm.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
sm.setRequestBody(tok_str);
var res = sm.execute();
var access_tok = JSON.parse(res.getBody()).access_token;
sm.setEndpoint("https://xyz.brightpattern.com/configapi/v2/callinglist/add/snl");
sm.setHttpMethod('post');
sm.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
sm.setRequestHeader('Authorization', 'Bearer' + access_tok);
var rec_str = "number=" + number + "&first_name=" + first_name + "&last_name=" + last_name + "&phone=1" + phone + "&message=この更新はsn2からです";
sm.setRequestBody(rec_str);
res = sm.execute();
})(current, 前);
このスクリプトは、事前に設定されたリストを更新するために必要な情報を取得します。その後、Bright Pattern リスト管理APIを使用するための認証を取得し、リストに新規のレコードを追加するリクエストを送信します。実行中のキャンペーンに新規のレコードが追加されると、Bright Pattern Contact Center(BPCC)ソフトウェアによってそのレコードが取得され、送信されます。

以下のスクリプトは、change_request テーブル上で実行されるもう 1 つのビジネスルールです。更新のたびに発動するのではなく、状態が「authorize 」状態に変更された場合にのみトリガーされます。これは、その目的が CAB への投票通知を送信することにあるためです。
(function executeRule(current, previous /*非同期の場合はnull*/) {
var tok_str = "client_id=ユーザー&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&scope=xyz.brightpattern.com&grant_type=client_credentials";
var sm = new sn_ws.RESTMessageV2();
sm.setHttpMethod('post');
sm.setEndpoint('https://ch.brightpattern.com/configapi/v2/oauth/token');
sm.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
sm.setRequestBody(tok_str);
var res = sm.execute();
var access_tok = JSON.parse(res.getBody()).access_token;
var chg_id = current.sys_id;
var grApp = new GlideRecord('sysapproval_approver');
var bRet = grApp.get('sysapproval', chg_id);
while(bRet){
var grUser = new GlideRecord('sys_user');
var userId = grApp.getValue('approver');
grUser.get(userId);
if(grUser.getValue('phone')){
var first_name = grUser.getValue('first_name');
var last_name = grUser.getValue('last_name');
var phone = grUser.getValue('電話');
phone = phone.replace('(','');
phone = phone.replace(')','');
phone = phone.replace('-','');
phone = phone.replace(' ','');
var message = current.number + " 様、承認または却下をお願いいたします。" + first_name + " " + last_name + ", " + " 。手続きを進めるには、このメッセージに返信し、" + current.number + ":はい/いいえ と入力して自動投票を行ってください";
var record_string = current.number + "," + first_name + "," + last_name + "," + 電話 + "," + メッセージ;
sm.setEndpoint("https://xyz.brightpattern.com/configapi/v2/callinglist/add/snl");
sm.setHttpMethod('post');
sm.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
sm.setRequestHeader('Authorization', 'Bearer' + access_tok);
var rec_str = "number=" + current.number + "&first_name=" + first_name + "&last_name=" + last_name + "&phone=1" + phone + "&message=" + message;
sm.setRequestBody(rec_str);
res = sm.execute();
}
bRet = grApp.next();
}
})(current, previous);
他のスクリプトと同様に、このスクリプトは、通知キャンペーンで実行されるように設定されたBPCCの通知リストにレコードを送信します。送信されるメッセージにより、ユーザーはチケット番号と「はい」または「NO」を返信することで、自身の担当するプロセスを完了することができます。
