---
sourceDocument: オーストラリアのカスタマーサービス管理 (CSM)
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/customer-service-management

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリアのカスタマーサービス管理 (CSM)

ft:clusterId :

    - csm

bundleId :

    - csm

workflow :

    - Customer and Industry


---

# プレイブック取り込みコンポーネントインスタンスの構成

# プレイブック取り込みコンポーネントインスタンスの構成 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：13分

プレイブック取り込みコンポーネントインスタンスを構成して、ユーザーが Web サイトに埋め込み、Web サイトからプレイブックガイド付きエクスペリエンスを使用してケースを直接送信できるようにします。

## 始める前に

プレイブック取り込みコンポーネントインスタンスを構成するには、次のセットアップが必要です。

* インスタンスで Web 埋め込み可能 を有効にします。詳細については、「[Web 埋め込み可能 のアクティブ化](https://servicenow-prod.fluidtopics.net/3DKvoXXZsHZc4u08RQRTQQ "カスタマーサービス (sn_cx_components) の ServiceNow コンポーネント、ゲストの Web コンポーネント (sn_guest_component)、および Web 埋め込み可能コア (sn_embeddable_core) を有効にして、インスタンスで Web 埋め込み可能 を有効にすることができます。このアプリケーションは、まだインストールされていない関連プラグインを確立します。")」を参照してください。
* [カスタム URL をインスタンス URL として設定](https://servicenow-prod.fluidtopics.net/wS0HjuvEaanOh7TGO_kH7Q "使用するインスタンス構成に、ServiceNow URL の代わりにカスタム URL を追加します。このカスタム URL により、サードパーティの Cookie がオフになっている場合でも、ブラウザで埋め込みコンポーネントに引き続きアクセスできるようになります。")。
* OpenID Connect (OIDC) 認証または非 OIDC 認証を使用して、 ServiceNow コンポーネントを認証します。詳細については、「[OIDC を使用した ServiceNow コンポーネントの認証](https://servicenow-prod.fluidtopics.net/ddfwYpuYBuQ8FHVjg_URrA "OpenID Connect (OIDC) 認証を使用して自動ログインとログアウトを設定し、Web サイトや埋め込みコンポーネントで単一のログイン/ログアウトや同時ログイン/ログアウトを行えるようにします。")」と「[ServiceNow コンポーネントの非 OIDC 認証](https://servicenow-prod.fluidtopics.net/oUu5w6cTytujPpcjcjZshg "Web サイトで OpenID Connect (OIDC) 認証を使用しない場合は、JSON Web トークン (JWT) トークンを生成して ServiceNow コンポーネントを認証します。")」を参照してください。
{#config-playbook-intake-comp__ul_brf_cqf_ccc}

必要なロール:sn_embeddable_core.emb_admin

## 手順

1. 移動先 すべてWeb 埋め込み可能ホームページ.
2. ホームページで、\[モジュールの作成\] を選択するか、既存のモジュールを使用します。  
   新しいモジュールの作成の詳細については、「 [モジュールを作成](https://servicenow-prod.fluidtopics.net/dDeTk~6YSf1NJjA_4gpmpQ "Web サイトで使用されるコンポーネントインスタンスを管理するためのモジュールを作成します。モジュールを作成するか、構築済みのモジュールを使用して要件に応じて編集することができます。")」を参照してください。
3. モジュールページの \[コンポーネント\] タブで、プレイブック取り込みコンポーネントインスタンスを既存または新規のグループに追加します。  
   グループを作成してからコンポーネントインスタンスを追加する方法の詳細については、「 [グループの作成とコンポーネントインスタンスの追加](https://servicenow-prod.fluidtopics.net/TmdEAY0orFj5nCaIhB5y2A "ページやセクションなどのサードパーティの Web サイト構造をモデル化するグループを作成します。デフォルトのグループを使用するか、新しいグループを作成して、そのページまたはセクションのコンポーネントインスタンスを管理します。")」を参照してください。
4. **オプション:** \[ 静的プレビューを表示 \] オプションを切り替えて、ライブプレビューが利用できないときにコンポーネントの視覚的表現を表示します。  
   注:  
   有効にすると、グローバルプロパティまたはコンポーネントプロパティへの変更は \[プレビュー\] タブにリアルタイムで表示されません。
5. プレイブック取り込みコンポーネントインスタンスのプロパティを構成します。  
   * \[プレビュー\] タブには、コンポーネントプロパティで設定された選択肢に従ってリアルタイムデータが表示されます。
   * プレイブック取り込みコンポーネントインスタンスに関連するコンポーネントプロパティの説明については、「 [プレイブック取り込みのコンポーネントプロパティ](https://servicenow-prod.fluidtopics.net/96M_TFUCEQ6aqZEZm8raoA "コンポーネントのプロパティを使用すると、サードパーティの Web サイトでのプレイブック取り込みコンポーネントインスタンスの動作を構成できます。")」を参照してください。
   {#config-playbook-intake-comp__ul_jlw_yjw_cfc}
6. \[ CORS ルール \] タブを選択して、CORS ルールを構成します。  
   CORS ルールの構成の詳細については、「 [ServiceNowコンポーネントを埋め込む前に CORS (クロスオリジンリソース共有) ルールを構成する](https://servicenow-prod.fluidtopics.net/myQcJ8PC1kM9u7dlhnsbCw "ServiceNow コンポーネントと Web コンポーネントを埋め込む Web サイト間のクロスドメイン要求を有効にするように CORS ルールを設定します。")」を参照してください。
7. \[ コンポーネント \] タブを選択します。  
   アプリケーションスコープに関するメッセージが表示された場合は、スコープを \[カスタマーサービスの Web コンポーネント \] に変更して、レコードを編集できるようにします。
8. \[ 埋め込みコードの取得\] を選択します。  
   グローバルコードとコンポーネントコードの両方を表示するポップアップウィンドウが表示されます。
9. \[グローバル コード\] タブで、生成されたコードを確認し、\[ グローバル コードのコピー\] を選択します。  
   グローバル コードは、サードパーティの Web ページに一度だけ追加する必要があります。

       import { init, login, logout, startGuestSession } from 'https://demo.servicenow.com/uxasset/externals/sn_embeddable_core/index.jsdbx';

       await init({
           theme: 'fad87d2ca304121029a4d1aed31e610f',  /* sys_id of the theme to use for the embeddable components in your website */
           baseURL: 'https://demo.servicenow.com', /* Base URL of the instance to be used for the embeddable components in your website */
           authCallback: getTokenCallBack, /* Function which returns the auth token for the current user, required for auth setup */
           module: '591800ffc1243610f87714367ed47c6a', /* Demo module */
           pageName: document.title, /* Uses the browser's document title as the page name in User analytics experience */
           guestTokenCallback: getGuestJWTTokenCallBack, /* Function which returns the guest token for the current user, required for guest validation setup */
           cacheComponents: [] /* Pre-caches resources for improved performance. Update component list as per your usage */
       });

       function getTokenCallBack() {
           var idToken; /* Get the id token for the current user */
           return Promise.resolve(idToken);
       }

       function getGuestJWTTokenCallBack() {
           var guestToken; /* Get the guest token for the current user */
           return Promise.resolve(guestToken);
       }

       /* Uncomment below function to handle guest session */
       // await startGuestSession();

       /* Uncomment below functions to handle login and logout once the user logs into your website */
       // await login();
       // await logout();

10. **オプション:** \[コンポーネントコード\] タブで、\[ イベントハンドラーを有効にする \] 切り替えスイッチをスライドさせて、Web サイトでのユーザーインタラクションによってトリガーされたイベントを処理します。  
    注:  
    イベントハンドラーを有効にすると、コンポーネントコードも変更されます。Web 埋め込み可能 におけるイベントハンドラーの詳細については、「[プレイブック取り込みコンポーネントのイベントハンドラー](https://servicenow-prod.fluidtopics.net/NJ4EYs8FeMs9DICckguYAQ "コンポーネントは、特定の条件が満たされたとき、またはユーザーのインタラクション時にイベントをトリガーします。このイベントを使用して、サードパーティ Web ページのコードを介してアクションを実行できます。")」を参照してください。
11. \[コンポーネントコード\] タブで、生成されたコードを確認し、\[コンポーネントコードをコピー (Copy component code)\] を選択します。  
    生成されたコンポーネントコードには、イベントハンドラーの構成も含まれています。

        <!--  
            Module: Demo module
            Group: Group 1
            Instance: Playbook intake 1
        -->
        <sn-embedx-playbook-intake
        	table="sn_onboarding_case"
        	sys-id="-1"
        	playbook-title="Create case with playbook"
        	stage-orientation="horizontal"
        	max-visible-stages="5"
        	activity-view-mode="focused"
        	playbook-experience="0d71033773f220109edbc1f52ff6a741"
        	record-generator="494435eb53a231103466ddeeff7b12e0"
        	confirmation-text="Case submitted successfully!"
        	confirmation-sub-text="Estimated resolution in 24 hours"
        	reference-number-label="Reference Number :"
        	primary-button-label="View details"
        	secondary-button-label="Browse services">
        </sn-embedx-playbook-intake>
        <!--
         The component also includes the following additional properties:
         hide-stages
         hide-errors
         hide-reference-number
         hide-primary-button
         hide-secondary-button
         hide-record-created-confirmation
         prefill-fields
        -->

        <script type="module">
        	import { getEmbeddables, setEvents, setProperties } from 'https://demo.servicenow.com/uxasset/externals/sn_embeddable_core/index.jsdbx';
        	
        	const snEmbedxPlaybookIntake = document.querySelector('sn-embedx-playbook-intake');

        	/* Uncomment this code for the default behaviour of the Playbook intake component.

        	// Get the table, playbook title, record generator and pre-fill fields from the current URL
        	const currentURL = new URL(window.location.href);
        	const urlParams = new URLSearchParams(currentURL.search);
        	const tableName = urlParams.get('emb_table');
        	const playbookTitle = urlParams.get('emb_playbook_title');
        	const recordGenerator = urlParams.get('emb_record_generator');
        	const prefillFields = urlParams.get('emb_prefill_fields');

        	// Update the properties of the componentProperties object
        	setProperties(snEmbedxPlaybookIntake,{table: tableName,recordGenerator:recordGenerator,playbookTitle:playbookTitle,prefillFields:prefillFields});
        	*/

        	getEmbeddables(["sn-embedx-playbook-intake"]);

        	const eventHandlers = {
        		'SN_EMBEDX_PLAYBOOK_INTAKE#COMPONENT_READY' : (e) => {
        			// This event is dispatched when a component is ready and usable.
        		},
        		'SN_EMBEDX_PLAYBOOK_INTAKE#COMPONENT_ERROR' : (e) => {
        			// This event is dispatched when a property validation or internal error occurs.
        			var {errorType, errorMessage} = e.detail.payload;
        			console.log(errorType, errorMessage);
        		},
        		'SN_EMBEDX_PLAYBOOK_INTAKE#RECORD_CREATION_SUCCEEDED' : (e) => {
        			// Dispatched when a record is created by a Record Generator Playbook.
        			var {table, sysId, number, playbook_experience_id, hide_record_creation} = e.detail.payload;
        			if(hide_record_creation){
        				var primaryURL =  '/caseview'; // Replace with the URL of the case view page

        				// Construct the URL for the Case View component with URL parameters
        				const caseViewURL = primaryURL + '?emb_table=' + table + '&emb_recordid=' + sysId + (playbook_experience_id === '98e09a560f2200102920c912d4767e1a' ? '' : '&emb_playbook_experience=' + playbook_experience_id);
        				open(caseViewURL,'_self'); // Open case record when record created confirmation is hidden
        			}
        		},
        		'SN_EMBEDX_PLAYBOOK_INTAKE#PRIMARY_BUTTON_CLICKED' : (e) => {
        			// This event is dispatched when primary button is clicked on the record created confirmation page.
        			var {table, record_sys_id, playbook_experience_id} = e.detail.payload;
        			var primaryURL =  '/caseview'; // Replace with the URL of the case view page

        			// Construct the URL for the Case View component with URL parameters
        			const caseViewURL = primaryURL + '?emb_table=' + table + '&emb_recordid=' + record_sys_id + (playbook_experience_id === '98e09a560f2200102920c912d4767e1a' ? '' : '&emb_playbook_experience=' + playbook_experience_id);
        			open(caseViewURL,'_self'); // Open case record when primary button is clicked
        			
        		},
        		'SN_EMBEDX_PLAYBOOK_INTAKE#SECONDARY_BUTTON_CLICKED' : (e) => {
        			// This event is dispatched when secondary button is clicked on the record created confirmation page.
        			var {table, record_sys_id} = e.detail.payload;
        			var secondaryURL =  '/browse'; // Replace with the URL of the secondary page

        			// Open the Case View component in the same tab
        			open(secondaryURL,'_self');
        			
        		}
        	};

        	setEvents(snEmbedxPlaybookIntake, eventHandlers);
        </script>

## タスクの結果

グローバルコードとコンポーネントコードをサードパーティアドミニストレーターと共有して、プレイブック取り込みコンポーネントインスタンスをサードパーティ Web サイトに埋め込む準備ができました。

## 次のタスク

[サードパーティ Web サイトにプレイブック取り込みコンポーネントインスタンスを埋め込む](https://servicenow-prod.fluidtopics.net/pDIYdrLDX8auPc50q4HogA "顧客がサードパーティの Web サイトでプレイブックガイド付きエクスペリエンスを使用してケースの作成を開始できるように構成したプレイブック取り込みコンポーネントインスタンスのグローバルコードとコンポーネントコードを埋め込みます。")
**関連資料**   

* [プレイブック取り込みのコンポーネントプロパティ](https://servicenow-prod.fluidtopics.net/96M_TFUCEQ6aqZEZm8raoA "コンポーネントのプロパティを使用すると、サードパーティの Web サイトでのプレイブック取り込みコンポーネントインスタンスの動作を構成できます。")
* [プレイブック取り込みコンポーネントのイベントハンドラー](https://servicenow-prod.fluidtopics.net/NJ4EYs8FeMs9DICckguYAQ "コンポーネントは、特定の条件が満たされたとき、またはユーザーのインタラクション時にイベントをトリガーします。このイベントを使用して、サードパーティ Web ページのコードを介してアクションを実行できます。")
* [プレイブック取り込みコンポーネントのサンプルコード](https://servicenow-prod.fluidtopics.net/WVLlkxrPpECe7zLvrg9nNA "イベントがトリガーされたときのアクションを定義するためのサンプルコードが用意されています。コンポーネントを Web ページに埋め込む前に、ユースケースのサンプルコードを更新します。")

