カスタムコントロールの統合

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • 統合で、カスタムコントロールフレームワークを使用してビルドされたカスタムコントロールを実装して利用します。

    始める前に

    必要なロール:virtual_agent_admin または admin

    このタスクについて

    カスタムコントロールをプロバイダーチャネルにマップします。
    ワークフロースタジオ で作成されたカスタムコントロールの実装
    ワークフロースタジオ で作成されたカスタムコントロールを実装するには、次のスクリプト例を使用します。
    例:カスタムコントロールのサポート
    {
        uiType: "CustomControl",
        group: "DefaultCustomControl",
        name: "The name of the Custom Control (sys_cs_custom_control.name)",
        required: true/false,
        uxComponentDefinitionSysId: "seismicComponentId" // or null if not
        isInput: true/false, // whether to wait for a response value or if just output
        serializedControlData: "User defined JSON from generateControlData function";    
    }
    例:カスタムコントロールスクリプト
    (function execute(inputs, outputs) {
        var rich_controls = inputs.rich_control;
        //this is the data returned from the 'serialized control data function' defind in designer
        var serializedControlData = rich_control['serializedControlData'];
        // if this rich control will require a response to move forward in topic flow
        var isInput = rich_control['isInput'];
        // if the component is suggesting using a Seismic control (web) that handles this
        var uxComponentDefinitionId = rich_control['uxComponentDefinitionSysId'];
        // the name of the custom control
        var name - rich_control['name'];
    
        // 1) now perform some logic to transform this data into a custom ui (slack/facebook/sms ascii art/html/etc)
        // 2) attach to outputs, i.e. outputs.text_message='foo :)'; for sms twillio
    
        // basic flow is to take the serializedControlData/Name/compId(optional) and create a custom UI component here
        // that your client understands (i.e. a slack rich form payload)
    })(inputs, outputs);
    カスタムコントロールのプロバイダー固有の変換の実装
    カスタムアダプター構成 [sys_cs_custom_adapter_config] テーブルの [サブタイプ] フィールドを使用して、各カスタムコントロールのプロバイダー固有の変換を実装できます。必要に応じて、新しいバージョンのカスタムコントロールを公開するか、またはビルド済みの ServiceNow カスタムコントロール (デフォルトカスタムコントロールとも呼ばれます) を公開できます。これには、適切な受信および送信 ワークフロースタジオ アクションスクリプトの公開と、カスタムアダプター構成 [sys_cs_custom_adapter_config] テーブルの構成の更新が含まれます。
    • ServiceNow カスタムコントロールの独自のバージョンを公開する場合は、カスタムアダプター構成テーブルのカスタムコントロールレコードを、独自の着信および送信アクションスクリプト名で上書きします。
    • 同じサブタイプのレコードは 1 つだけ使用できます。同じカスタムコントロールが 2 人の異なる関係者によって実装されている場合、既存のレコードを新しい着信および送信トランスフォーマーで更新できるのは 1 人だけです。
    注:
    既存のカスタムコントロールレコードを上書きすると、システムでは新しいバージョンのカスタムコントロールが使用されます。たとえば変換スクリプトは、複数のカスタムコントロール (時間ピッカーや認証など) を変換できます。着信変換と送信変換が異なる時間ピッカーコントロールを追加すると、新しい時間ピッカーコントロールが使用されます。カスタムコントロールの元のバージョンに戻すことはできません。

    手順

    1. [すべて] に移動し、フィルターで「sys_cs_custom_adapter_config.list」と入力します。
    2. [新規] を選択します。
    3. フォームのフィールドに入力します。
      表 : 1. [カスタムアダプター構成] フォーム
      フィールド 説明
      プロバイダー カスタムチャット統合のチャネル識別子の名前詳細については、「カスタムチャット統合のチャネル識別子を作成する」を参照してください。
      コントロールタイプ

      設計したカスタムコントロールを選択します。カスタムコントロールの場合、タイプは常に DefaultCustomControl です。

      カスタムコントロールの詳細については、「カスタムコントロールを使用した仮想エージェントのカスタマイズ」を参照してください。

      サブタイプ カスタムコントロールの名前。
      着信トランスフォーマーアクション このリッチコントロールの着信トランスフォーマーアクションスクリプトの名前 (sn_va_sms_twilio.va_sms_twilio_adapter_input_text_inbound_transformer など)。
      送信トランスフォーマーアクション このリッチコントロールの送信トランスフォーマーの名前アクションスクリプトの名前 (sn_va_sms_twilio.va_sms_twilio_adapter_input_text_outbound_transformer など)。
    4. [送信] を選択します。