OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 1
始める前に
特別な OmniStudio Developer Edition 組織にはもうサインアップしましたか? このガイドの手順を
実行するには必要です。OmniStudio に関するモジュールを実行するのが初めての場合、
OmniStudio Developer Edition 組織を要求する手順は次のとおりです。
1. OmniStudio を搭載した無料の Developer Edition 組織にサインアップします。
2. フォームに記入します。
a. [メール] には、有効なメールアドレスを入力します。
b. [Username (ユーザ名)] に、メールアドレス形式の一意のユーザ名 (例:
[email protected]) を入力しますが、有効なメールアカウントであ る必要はありません。
c. フォームに入力したら [サインアップ] をクリックします。確認メッセージが表 示されます。
3. アクティベーションメールを受信したら (10 分程度かかる場合があります)、そのメール を開いて [Verify Account (アカウントを確認)] をクリックします。
4. パスワードとセキュリティ確認用の質問を設定して、登録を完了します。
ヒント: 後でアクセスしやすいように、自分のユーザ名、パスワード、ログイン URL を メモしてください。
Developer Edition にログインした状態になり、演習を開始できます。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 2
シンプルな OmniScript を作成する
要件
「サービスエージェントとして希望する機能は、サービスコンソールから基本的な取引先情報 を更新できるシンプルなガイド付きワークフローです。」
ユーザの要件を踏まえ、ユーザが取引先情報を編集できるようにする OmniScript を作成しま す。
前提条件
● なし
タスク
1. Edit Account OmniScript を作成する
2. データを取得するための Integration Procedure Action を Edit Account OmniScript に追加す る
3. データを保存するための Integration Procedure Action を Edit Account OmniScript に追加す る
4. Navigate Action を Edit Account OmniScript に追加する
Time
● 40 分
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 3
タスク 1: Edit Account OmniScript を作成する
1. [OmniScripts] タブに移動し、team/editAccount OmniScript を見つけます。
a. アプリケーションランチャーを開きます。
b. [OmniStudio] アプリケーションを選択します。
c. ドロップダウン矢印をクリックしてメニューを開き、[OmniScripts] タブを選択し ます。
組織には、使用できるスターター OmniScript が用意されています。これらの OmniScript の種別は、「team (チーム)」です。
d. [Search/Find in page (ページ内を検索)] ボックスにキーワード「team」を入力し
ます。
e. 検索結果の team/editAccount を展開します。
f. [Team Starter Edit Account (Version 1)] をクリックします。
g. OmniScript が新しいタブで開きます。ヘッダーの情報を確認します。
Omnistudio では、アクションを介して OmniScript を起動するときに、タイプ、サ ブタイプ、言語を組み合わせることによってその OmniScript が特定されます。こ の例では次のようになります。
■ 種別 = team
■ サブタイプ = editAccount
■ 言語 = English
バージョン 1 の OmniScript がアクティブです。変更せずにそのままにしておき、
編集用の新しいバージョンを作成します。
2. 編集のための、新しいバージョンの OmniScript を作成します。
a. ヘッダーで [New Version (新しいバージョン)] をクリックします。バージョンが 1 から 2 に変更され、新しいバージョンが新しいタブで開きます。
b. 混乱を避けるため、バージョン 1 のタブを閉じます。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 4
c. バージョン 2 のタブが表示されていることを確認し、ヘッダーで [Edit (編集)] を クリックします。
d. [Name (名前)] 項目で、名前から「Starter」を削除します。(「Team Edit Account」になります。)
e. [Save (保存)] をクリックします。
3. Script Configuration 内のヘルプヒントを見てみましょう。
a. [Setup (設定)] パネルをクリックします。
b. [Reusable (再利用可能)] 項目の隣にあるツールチップ情報アイコンの上にカーソ
ルを移動させると、OmniScript を別の OmniScript に組み込む方法が表示されま す。
入れ子は 1 レベルまでです。ある OmniScript を再利用する場合、再利用可能な
OmniScript をその構造の一部として持つことができないということがわかりま
す。
4. ワンステップの OmniScript を構築するときは、一連のステップ内のどの位置にいるのか をユーザに知らせるステップ図を非表示にします。
a. [Setup (設定)] パネルをスクロールダウンし、[STEP CHART OPTIONS (ステップ図オ
プション)] を展開します。
b. [Hide Step Chart (ステップ図を非表示にする)] チェックボックスを選択します。
5. OmniScript の基本的構造を作成します。
a. [Build (作成)] パネルを選択します。
b. [GROUPS (グループ)] セクションを展開します。
c. [Step] 要素をキャンバスにドラッグします。OmniScript 内のページは、各ステッ
プによって形成されています。
d. 新しい要素を選択します。
e. [Properties (プロパティ)] パネルをクリックします。(要素を選択すると、[Build (作成)] と [Setup (設定)] の間に表示されます。)
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 5
f. 要素に以下の値を指定します。
プロパティ 値 ベストプラクティス
Element Name (要素 名)
StepAccount 要素名は、一意である必要
があり、スペースや特殊記 号は使えません。要素名に は、キャメルケースによる 記述名を使用するのが最良 の方法です。これはユーザ には表示されません。
Field Label (項目ラベ ル)
Account Details 項目表示ラベルは、各ステ ップのページの一番上に表 示されます。
Chart Label (図ラベ ル)
ステップ図を表示している 場合に、各ステップの一意 のラベルを指定します。
Step Chart を非表示にしてい
る場合は、この項目を入力 する必要はありません。
Instruction (手順) エンドユーザ向けの説明や
案内を提供する場合は、こ こに入力します。これにつ いては後ほどパート 2 で詳 しく説明します。
6. 取引先の詳細を追加します。
a. [Build (作成)] パネルで [Inputs (入力)] セクションを展開します。
b. 以下の要素を [StepAccount] 要素にドラッグし、値を以下のとおり編集します。
要素 Element Name (要素名)
Field Label (項目ラベ ル)
Text (テキスト)、取引先名 Name Name (名前)
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 6
Telephone (電話)、取引先の電話 番号
Phone Phone (電話)
URL、取引先の Web サイト Website Website (Web サ イト)
c. [Name] 要素をクリックし、[Read Only (読み取り専用)] を選択します。
ここには Salesforce 取引先名 (Account.Name) 項目から取得されたデータが保持さ れるため、OmniScript ユーザがこの名前を編集できないようにする必要がありま す。
d. [Phone] 要素をクリックし、[Required (必須)] を選択します。
e. [Phone] 要素で [Mask (マスク)] を解除します。これは、マスクが有効になってい
ると、Lightning Web コンポーネントに電話番号が表示されないためです。
f. [Name (名前)] 項目が読み取り専用になり、[Phone (電話)] 項目が必須と表示され ます。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 7
項目の幅が必要以上に大きくなっています。
7. [Control Width (幅調節)] 要素プロパティを使って、項目の幅を縮めることができます。
コントロールの幅設定は、HTML Web 標準であり、対応するグリッドがあります。
a. [Name] 要素で、要素の右側の境界線をクリックしてコントロール幅グリッドを
有効にします。
b. スライダーをドラッグしてコントロール幅をグリッド 4 マス分に設定します。
c. [Phone] 要素と [Website] 要素のコントロール幅を 4 に設定します。
これでこれらの項目が 1 行で表示されました。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 8
8. OmniScript を編集し、これらの項目を別々の行に表示させます。
a. [Build (作成)] パネルをクリックします。
b. [Search For Element (要素を検索)] 項目に「line」と入力します。リストが [Line Break] に絞り込まれます。 (または、[Display (表示)] セクションを展開して見つ けます。)
c. [Line Break] 要素をキャンバスの [Name] 要素と [Phone] 要素の間にドラッグしま す。
d. [Line Break] をコピーし、[Phone] 要素と [Website] 要素の間にドラッグします。
これでこれらの項目が別々の行で表示されました。
e. ヘッダーで [PREVIEW (プレビュー)] をクリックすると、エンドユーザに項目がど のように表示されるかを確認できます。
f. [Theme (テーマ)] ドロップダウンを使用すると、Lightning テーマと Newport テー マの違いを確認できます。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 9
レビュー
理解度を確認するため、次の質問に答えてください。
1. OmniScript を一意にする項目は何ですか?
2. Step 要素の目的は何ですか?
3. 要素名の命名規則のベストプラクティスはどのようなものですか? それはなぜですか? 4. [Control Width (コントロールの幅)] 設定の目的は何ですか?
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 10
タスク 2: Edit Account OmniScript のデータを取得する Integration Procedure Action を追加する
Salesforce から取引先データを取得するには、Integration Procedure を Edit Account OmniScript に リンクします。事前作成済みの Integration Procedure を使用できます。
1. データを取得するために、ContextId を利用して team/EditAccount OmniScript でのデータ フローの最初の部分を設定します。
a. まだ [Team Edit Account] のプレビューが表示されている場合は、ヘッダーで
[Design (設計)] をクリックします。
b. [Build (作成)] パネルをクリックします。[ACTIONS (アクション)] セクションを展 開するか検索を使用して [Integration Procedure Action] を見つけます。
c. [Integration Procedure Action] 要素をキャンバスの [StepAccount] の上にドラッグ します。
d. [Element Name (要素名)] と [Field Label (項目表示ラベル)] を
「IPGetAccountDetails」に変更します。[Preview (プレビュー)] では項目ラ ベルは表示されません。ただし、Lightning Web コンポーネントを使用する場合 のベストプラクティスは、項目ラベルに名前を入力することです。これは、アク ションデバッガでは項目ラベルが表示されるためです。OmniScript に複数の
Integration Procedure を設定するとき、項目ラベルに説明的なラベルを付けてお
けば、データが正しくプルまたはプッシュされているかを確認できます。
e. [Integration Procedure] ドロップダウンリストから、「team_getAccountDetails」 を選択します。
2. [REMOTE PROPERTIES (リモートプロパティ)] を設定して Integration Procedure に送信する 変数を指定します。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 11
更新する Salesforce の取引先レコードを指定するには RecordId を送信する必要がありま す。このデータは、ContextId に保存されています。
a. [Properties (プロパティ)] パネルで [REMOTE PROPERTIES (リモートプロパティ)] を 展開します。[Extra Payload (追加ペイロード)] で次の値を設定します。
プロパティ 値 メモ
Key (キー) AccountId Key (キー) は、Integration
Procedure に送信する変数
名です。
Value (値) %ContextId% 差し込み項目を使用して
ContextId 変数の値を取得し
ます。差し込み項目の構文 は、値の前後にパーセント 記号を置いたものです。表 示のとおり正確に ContextId を入力します。
3. データ構成をテストします。
a. ヘッダーで [Preview (プレビュー)] をクリックします。
b. [Name (名前)] 項目、[Phone (電話)] 項目、[Website (Web サイト)] 項目にはデータ が表示されません。
c. [Data JSON (データ JSON)] パネルを見ると、Integration Procedure からの JSON は 表示されていますが、ステップ内にはありません。データが UI に表示されない のは、Integration Procedure で DataRaptor Turbo Extract が使用されており、
DataRaptor Turbo Extract はネストされた配列形式でオブジェクトを返すためで
す。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 12
OmniScript には受信データを要素に対応付けるパーサーがあります。UI 内の項目 を自動入力させるには、要素名が一致していて、Integration Procedure 要素がネ ストされた配列を認識するように設定されている必要があります。さらに、スク リプトのサイズを圧縮して動作を速めるため、LWC OmniScript では、表示すべき データが存在する (情報が null 値でない) 場合のみ、JSON 内のデータを表示しま す。またデータは 1 ステップごとに表示されます。データがネストされた配列で あることを認識するように Integration Procedure 要素のプロパティを更新する
と、JSON が更新され、ステップ内にデータが表示されます。
d. ヘッダーで [Design (設計)] をクリックします。
e. キャンバスで [IPGetAccountDetails] を選択します。次に、[Properties (プロパテ ィ)] パネルで [SEND/RESPONSE TRANSFORMATIONS (送信/応答変換)] を展開し、
次の値を設定します。
プロパティ 値 説明
Response JSON Path (応
答 JSON パス) Account|1
Account によってオブジェ
クトノードを指定します。
区切り記号 | と数字を追加 することによって、そのノ ードのネストされた配列の 正しいインスタンスにアク セスします。これで
OmniScripts によって要素を
事前入力できるようになり ます。
Response JSON Node (応
答 JSON ノード) VlocityNoRootNode これによりオブジェクトが
ネストされなくなります。
f. ヘッダーで [Preview (プレビュー)] をクリックします。
g. Integration Procedure のデータが UI の項目に入力されていることを確認します。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 13
レビュー
理解度を確認するため、次の質問に答えてください。
1. OmniStudio Integration Procedures をデータソースとして利用することのメリットは何で
すか?
2. Integration Procedure の [Name (名前)] と [Field Label (表示ラベル)] に同じ値を使用する理 由は何ですか?
3. OmniScript の JSON 構造は何によって決まりますか?
4. OmniScript ではどのようにして受信データを要素と照合しますか?
5. マスクを解除する理由は何ですか?
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 14
タスク 3: Edit Account OmniScript の更新されたデータを保存する Integration Procedure Action を追加する
2 つ目の Integration Procedure Action を追加して、別の Integration Procedure を Edit Account
OmniScript にリンクします。事前作成済みの Integration Procedure を使用できます。この
Integration Procedure では更新した取引先情報を Salesforce に保存します。
1. 新しい Integration Procedure Action を追加します。
a. まだプレビューが表示されている場合は、ヘッダーで [Design (設計)] をクリック します。
b. [Build (作成)] パネルをクリックします。[ACTIONS (アクション)] セクションを展 開するか検索を使用して [Integration Procedure Action] を見つけます。
c. [Integration Procedure Action] 要素をキャンバスの [StepAccount] 要素の下にドラ ッグします。
d. [Element Name (要素名)] と [Field Label (項目表示ラベル)] を
「IPSaveAccountDetails」に変更します。
e. Integration Procedure のドロップダウンリストから、[team_saveAccountDetails]
を選択します。
2. 変更をプレビューし、OmniScript との間で送受信されるデータを確認します。
a. ヘッダーで [Preview (プレビュー)] をクリックします。
b. [Action Debugger (アクションデバッガ)] をクリックします。
c. 複数のエントリがある場合は、[Clear Logs (ログをクリア)] をクリックしてデバッ グコンソールにある既存データを消去します。
d. ログをクリアした場合は、キャンバスで [Reset Data (データをリセッ ト)] ボタンをクリックします。
e. [Action Debugger (アクションデバッガ)] で以下のノードを順に展開します。
i. IPGetAccountDetails ii. Request Data (要求データ)
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 15
iii. Response (応答) (スクロールせずに全体を表示するには応答ボックスの右
下隅をつかんでサイズを変更します)
f. 要求と、取引先名、Web サイト、電話番号のデータを含む JSON 出力が予測され る応答を確認します。(ここではスタブデータを使用しているため [Request Data (要求データ)] の [AccountId] は空です。)
g. キャンバスで [Next (次へ)] ボタンをクリックします。
h. [Action Debugger (アクションデバッガ)] で、[IPGetAccountDetails] ノードを折りた たみ、以下のノードを順に展開します。
i. IPSaveAccountDetails
ii. Request Data (要求データ) (スクロールせずに全体を表示するにはボック
スのサイズを変更します) iii. Response
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 16
i. 要求の入力と、応答の想定される JSON 出力を確認します。
i. OmniScript からの JSON 全体が Integration Procedure に送信されています。
ii. 応答については値はありません。この Integration Procedure では、データ 保存のみを行いますので応答は必要ありません。
j. ヘッダーで [Design (設計)] をクリックします。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 17
タスク 4: Navigate Action を Edit Account OmniScript に追加する
Navigation Action を使用して、OmniScript の終了時にユーザを転送する場所を指定します。アク
ションを使用して、デフォルトで ContextId にコード化されている Salesforce オブジェクトのレ コードページを開く方法を指定します。
Navigation Action 要素は [Preview (プレビュー)] モードでは実行できません。コンソールから
OmniScript を実行するときに Navigation Action をテストします。
1. 要素を追加し、OmniScript の終了時にユーザを送信する場所を指定します。
a. [Build (作成)] パネルで [Navigate Action] 要素を見つけて、キャンバスの
[IPSaveAccountDetails] の下にドラッグします。
b. Navigate Action の [PROPERTIES (プロパティ)] パネルで、以下の値を設定または確 定します。
項目名 値
Page Reference Type (ページ
参照種別) Record (レコード)
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 18
Replace (置き換え) ✓
Object API Name (オブジェク
ト API 参照名) Account
c. ヘッダーで [Activate Version (バージョンを有効化)] をクリックします。
d. V 字がすべて網掛けになり、完了確認アイコンが表示されたら [Done (完了)] をク リックします。
e. [OmniScripts] タブに戻ります。
f. [LAST MODIFIED (最終更新)] 列をクリックして、その値でリストを並び替えま
す。
g. [team/edit Account] を展開し、[Active (有効)] のチェックが V2 の隣に表示され、
V1 は有効ではなくなっていることを確認します。
メモ:
OmniScript は、どこからでも利用できるよう、終了した後に有効化する必要があ
ります。念のために繰り返しますが、アクティブにできる OmniScript のバージョ ンは 1 つだけです。
レビュー
理解度を確認するため、次の質問に答えてください。
1. OmniScript の差し込み項目の構文はどのようなものですか?
2. OmniScript Action Debugger にはどのような用途がありますか? 3. Navigate Action では何を行いますか?
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 19
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 20
Edit Contact OmniScript を作成する
team/editContact OmniScript を作成して、Edit Account OmniScript の作成で学んだ内容をさらに定 着させます。要件をまとめました。うまくいかなかった場合には、上記のステップごとの手順 を参照してください。
1. OmniScript Designer で、説明的なラベルを使って OmniScript の基本的構造を構築しま
す。次の要素、要素名、設定を使用します。
要素 要素名 設定
[Setup (設定)] パネル Hide Step Chart = Yes (Step
Chart を非表示にする = は い)
Step (ステップ) StepContact
Text (テキスト) Name Read-only
Email (メール) Email Required (必須)
Telephone (電話) Phone
● 必要に応じて改行を用い、コントロールの幅を設定します。
*値が表示されていない場合は、独自の値を選択します (各要素の表示ラベルなど)。
2. Salesforce から取引先責任者データを取得できるようにするため、Edit Contact OmniScript
を Integration Procedure にリンクします。次の設定を使用して、自分のバージョンの
team/editContact OmniScript に Integration Procedure Action を追加します。
設定 値
Name (名前) IPGetContactDetails
Label (表示ラベル) IPGetContactDetails
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 21
Integration Procedure team_getContactDetails
Remote Properties (リモートプロパテ ィ) > Extra Payload (追加ペイロード)
ContactId = %ContextId%
Response JSON Path (応答 JSON パス) Contact|1 Response JSON Node (応答 JSON ノー
ド)
VlocityNoRootNode
3. OmniScript にスタブデータが入力されていることを確認します。
ヒント: 要素名がデータ項目名と一致することをチェックします。また、電話番号が表 示されるようにするには [Phone] 要素で何かを解除する必要がありましたね。
4. 更新された取引先責任者情報を保存する 2 つ目の Integration Procedure Action を追加しま す。次の設定を使用します。
設定 値
Name (名前) IPSaveContactDetails
Integration Procedure team_saveContactDetails
5. アクションデバッガを使用して、正しいデータが Integration Procedure に送信されるこ とを確認します。
6. OmniScript を終了する Navigate アクションを追加します。忘れずに Navigate Action を取 引先責任者オブジェクトに合わせて正確に設定します。
7. バージョン 2 の OmniScript を有効にします。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 22
Edit Case OmniScript を作成する
team/editCase OmniScript を作成して、Edit Account OmniScript の作成で学んだ内容をさらに定着 させます。要件をまとめました。うまくいかなかった場合には、上記のステップごとの手順を 参照してください。
1. OmniScript Designer で、説明的なラベルを使って OmniScript の基本的構造を構築しま
す。次の要素、要素名、設定を使用します。
要素 Name (名前) 設定
[Setup (設定)] パネル
Hide Step Chart = Yes (Step Chart を非表示にする = は い)
Step (ステップ) StepCase
Text (テキスト) CaseNumber Read Only (参照のみ)
Text (テキスト) Subject Required (必須)
Date (日付) CreatedDate Read-Only (参照のみ)
Select (選択) Status Required (必須)
*値が表示されていない場合は、独自の値を選択します (各要素の表示ラベルなど)。
● 必要に応じて改行を行い、コントロールの幅を設定します。ただし、これらの項 目を 2 行に配置し、各行に 2 つの項目を配置します。
2. ドロップダウンリスト値を事前入力するには、Select 要素を Salesforce sObject に関連付 けます。これを行うには、[Option Source (オプションソース)] 項目内で [SObject] を選択 し、[Source (ソース)] 項目に「Case.Status」と入力します。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 23
3. Salesforce からケースデータを取得できるようにするため、Edit Case OmniScript を
Integration Procedure にリンクします。次の設定を使用して、自分のバージョンの
team/editCase OmniScript に Integration Procedure Action を追加します。
設定 値
Name (名前) IPGetCaseDetails
Label (表示ラベル) IPGetCaseDetails
Integration Procedure team_getCaseDetails
Remote Properties (リモートプロパテ ィ) > Extra Payload (追加ペイロード)
CaseId = %ContextId%
Response JSON Path (応答 JSON パス) Case|1 Response JSON Node (応答 JSON ノー
ド)
VlocityNoRootNode
4. OmniScript にスタブデータが入力されていることを確認します。
5. Salesforce からケースデータを取得できるようにするため、Edit Case OmniScript を
Integration Procedure にリンクします。次の設定を使用して、自分のバージョンの
team/editCase OmniScript に Integration Procedure Action を追加します。
設定 値
Name (名前) IPSaveCaseDetails
Integration Procedure team_saveCaseDetails
6. アクションデバッガを使用して、正しいデータが Integration Procedure に送信されるこ とを確認します。
7. OmniScript を終了する Navigate アクションを追加します。忘れずに Navigate Action をケ
ースオブジェクトに合わせて正確に設定します。
8. バージョン 2 の OmniScript を有効にします。
OmniScript 演習ガイド
© Copyright 2021 Salesforce.com, inc. All rights reserved. 24