背景と応用シーン
Salesforce 諮問コンサルタントとして、私は多くのお客様がカスタマーサービス部門の効率化という課題に直面しているのを見てきました。サポートエージェントは日々、複数の問い合わせを同時に処理し、顧客情報、過去のケース、関連するナレッジベースを瞬時に切り替えながら対応する必要があります。従来のUIでは、ブラウザのタブが乱立し、コンテキストの喪失や操作ミスが発生しやすく、結果として平均処理時間 (AHT - Average Handle Time) が増大し、顧客満足度 (CSAT - Customer Satisfaction) が低下する一因となっていました。
ここで登場するのが Service Console (サービスコンソール) です。Service Consoleは、Service Cloudの中核をなす機能であり、サポートエージェントが必要とするすべての情報を単一の画面に集約するために設計された、タブベースのワークスペースです。これにより、エージェントは画面遷移を最小限に抑え、顧客との対話に集中できるようになります。
主な応用シーン:
- マルチチャネル対応:電話、メール、チャット、Webフォームなど、異なるチャネルからの問い合わせを同じインターフェースで一元管理します。
- 複雑なケースの処理:一つのワークスペースで顧客の取引先責任者情報を開き、そのサブタブで関連する複数のケースや注文履歴を同時に参照しながら対応を進めることができます。
- 迅速な情報アクセス:画面のハイライトパネルで重要情報を一目で把握し、ユーティリティバーからナレッジやマクロに素早くアクセスして、初回解決率 (FCR - First Contact Resolution) を向上させます。
Service Consoleを導入・最適化することは、単なるUIの変更ではなく、サービス部門全体の生産性を飛躍的に向上させ、優れた顧客体験を提供する戦略的投資であると言えます。
原理説明
Service Consoleの強力な生産性は、いくつかの主要なコンポーネントと概念によって支えられています。これらを理解することが、効果的なコンソールを設計するための第一歩です。
ワークスペースタブとサブタブ
コンソールの最も基本的な構成要素です。Workspace Tab (ワークスペースタブ) は、通常、取引先やケースのような主要なレコードを表します。エージェントがリストビューからレコードを開くと、それが新しいワークスペースタブとして表示されます。そして、その主要レコードに関連するレコード(例えば、取引先のケースや取引先責任者)は、Subtab (サブタブ) としてワークスペースタブ内に開かれます。この階層構造により、関連情報が論理的にグループ化され、エージェントはコンテキストを失うことなく作業できます。
スプリットビュー
Split View (スプリットビュー) は、画面を2つのペインに分割し、左側にリストビュー、右側に選択したレコードの詳細ビューを表示する機能です。これにより、エージェントはリストをスクロールしながら、各レコードの詳細を素早く確認できます。「かんばん」ビューと組み合わせることで、ケースのステータス管理を視覚的かつ効率的に行うことも可能です。
ユーティリティバー
Utility Bar (ユーティリティバー) は、コンソール画面のフッターに常時表示される固定領域です。ここには、エージェントが頻繁に使用するツールを配置できます。標準では「履歴」や「メモ」などが含まれますが、マクロ、フロー、ソフトフォン、カスタムLightningコンポーネントなどを追加することで、あらゆる作業をコンソールから離れることなく実行可能にします。
Lightningアプリケーションビルダーによるカスタマイズ
Service Consoleのレイアウトは、Lightning App Builder (Lightningアプリケーションビルダー) を使用して宣言的にカスタマイズされます。これにより、コーディングなしでページのコンポーネント配置、関連リストの表示形式、ハイライトパネルの内容などをドラッグ&ドロップで柔軟に変更できます。コンサルタントとしては、お客様の業務プロセスを深くヒアリングし、エージェントが最も必要とする情報を最もアクセスしやすい場所に配置するよう、このビルダーを駆使してページを設計します。
生産性向上ツール
コンソールには、Macros (マクロ) や Quick Text (クイックテキスト) といった生産性向上ツールが組み込まれています。マクロは一連の反復的な操作(例:メールテンプレートの適用、項目の更新、ケースのクローズ)をワンクリックで実行する機能です。クイックテキストは、挨拶や定型文などを素早く挿入するのに役立ちます。これらのツールを使いこなすことで、手作業によるミスを減らし、対応時間を大幅に短縮できます。
サンプルコード
Service Consoleは主に宣言的な設定で構築しますが、Lightning Web Components (LWC) と Workspace API を使用することで、より動的で高度なカスタマイズが可能です。Workspace APIは、LWCからコンソールのタブを制御するためのJavaScript APIです。
以下は、ユーティリティバーに配置することを想定したシンプルなLWCの例です。このコンポーネントには、新しいタブを開いたり、現在のタブ情報を取得したり、タブを閉じたりするボタンが含まれています。
HTML: `consoleApiExample.html`
<!-- LWCのUIを定義するテンプレート --> <template> <lightning-card title="Workspace API コンソールコントローラー" icon-name="custom:custom19"> <div class="slds-p-around_medium"> <p class="slds-m-bottom_small"> このコンポーネントはユーティリティバーからコンソールのタブを制御します。 </p> <lightning-button label="新しいケースのタブを開く" onclick={openCaseTab} class="slds-m-left_x-small"> </lightning-button> <hr/> <lightning-button label="現在のタブ情報を取得" onclick={getFocusedTabInfo} class="slds-m-left_x-small"> </lightning-button> <div if:true={focusedTabInfo}> <p class="slds-m-top_small"><b>現在のタブID:</b> {focusedTabInfo.tabId}</p> <p><b>ページ:</b> {focusedTabInfo.pageReference.type}</p> </div> <hr/> <lightning-button label="このサブタブを閉じる" onclick={closeTab} variant="destructive" class="slds-m-left_x-small"> </lightning-button> </div> </lightning-card> </template>
JavaScript: `consoleApiExample.js`
// LWCのロジックを記述するJavaScriptファイル import { LightningElement, wire } from 'lwc'; // Workspace APIをインポート import { EnclosingTabId, openTab, getFocusedTabInfo, closeTab } from 'lightning/platformWorkspaceApi'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; export default class ConsoleApiExample extends LightningElement { // このコンポーネントが含まれているタブのIDを取得 @wire(EnclosingTabId) enclosingTabId; focusedTabInfo; // 新しいケースを作成するページをサブタブとして開く関数 // 出典: https://developer.salesforce.com/docs/component-library/bundle/lightning-platform-workspace-api/documentation openCaseTab() { openTab({ pageReference: { type: 'standard__objectPage', attributes: { objectApiName: 'Case', actionName: 'new' } }, label: 'New Case', focus: true }).catch(error => { this.showToast('Error opening tab', error.body.message, 'error'); }); } // 現在フォーカスされているタブの情報を取得する関数 // 出典: https://developer.salesforce.com/docs/component-library/bundle/lightning-platform-workspace-api/documentation getFocusedTabInfo() { getFocusedTabInfo().then(tabInfo => { this.focusedTabInfo = tabInfo; }).catch(error => { this.showToast('Error getting tab info', error.body.message, 'error'); }); } // このコンポーネントが配置されているタブを閉じる関数 // サブタブでない場合は閉じられないことがある // 出典: https://developer.salesforce.com/docs/component-library/bundle/lightning-platform-workspace-api/documentation closeTab() { // enclosingTabId はワイヤーサービス経由で取得した、このコンポーネント自身のタブID if (this.enclosingTabId) { closeTab(this.enclosingTabId).catch(error => { this.showToast('Error closing tab', error.body.message, 'error'); }); } else { this.showToast('Error', 'This component is not in a closable tab.', 'warning'); } } // エラーや成功メッセージを表示するためのヘルパー関数 showToast(title, message, variant) { const event = new ShowToastEvent({ title: title, message: message, variant: variant }); this.dispatchEvent(event); } }
XML: `consoleApiExample.js-meta.xml`
<?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>58.0</apiVersion> <isExposed>true</isExposed> <!-- このコンポーネントをユーティリティバーで使用可能にするための定義 --> <targets> <target>lightning__UtilityBar</target> </targets> </LightningComponentBundle>
このLWCをデプロイした後、アプリケーションマネージャーから対象のService Consoleアプリを編集し、ユーティリティ項目として追加することで、エージェントはコーディングで拡張された機能を活用できるようになります。
注意事項
Service Consoleを導入・運用する際には、いくつかの点に注意が必要です。
権限
ユーザーがService Consoleを利用するには、まず「Service Cloud ユーザー」の機能ライセンスが必要です。その上で、プロファイルまたは権限セットで「Salesforce コンソールユーザー」権限を有効にする必要があります。この権限がないユーザーはコンソールアプリケーションにアクセスできません。
パフォーマンス
コンソールは多くの情報を集約するため、パフォーマンスに影響を与える可能性があります。特に以下の点に注意してください:
- ユーティリティバーの過負荷:ユーティリティバーに多くのコンポーネントを追加すると、コンソールの読み込み時間が長くなる可能性があります。本当に必要な機能に絞り込みましょう。
- 複雑なページレイアウト:Lightningページのコンポーネント、関連リスト、項目が多すぎると、レコードの表示速度が低下します。エージェントが本当に必要とする情報のみを表示するようにレイアウトを最適化することが重要です。
- ブラウザのメモリ:多くのタブとサブタブを開いたままにすると、ブラウザが消費するメモリが増加します。定期的に不要なタブを閉じるようエージェントに指導することも大切です。
APIの制限
前述のWorkspace APIは、Service ConsoleやSales Consoleといったコンソールアプリケーション内でのみ機能します。標準のナビゲーションを持つアプリケーションで実行しようとしても、APIはエラーを返します。開発時には、コンポーネントがコンソール環境で実行されることを前提に設計・テストする必要があります。
ユーザーの導入とトレーニング
コンサルタントの視点から最も重要なのは、Change Management (変更管理) です。どんなに優れたコンソールを設計しても、エージェントがその使い方を理解し、価値を実感できなければ意味がありません。導入前には十分なトレーニングを実施し、新しいワークフローに慣れるためのサポート期間を設けることが、プロジェクトの成功に不可欠です。
まとめとベストプラクティス
Salesforce Service Consoleは、正しく設定・活用すれば、カスタマーサービス部門の生産性を劇的に向上させる強力なツールです。最後に、コンサルタントとして推奨するベストプラクティスをいくつか紹介します。
- ユーザー中心のアプローチを取る:設計の初期段階から実際のエージェントを巻き込み、彼らの日々の業務フローやペインポイントをヒアリングしましょう。彼らのフィードバックが、最も効果的なコンソール設計への近道です。
- シンプルに始め、段階的に拡張する:最初からすべての機能を盛り込もうとせず、まずは標準機能と基本的なカスタマイズで運用を開始します。そして、エージェントからのフィードバックを元に、マクロ、フロー、カスタムコンポーネントなどを段階的に追加していく「Crawl-Walk-Run」アプローチが成功の鍵です。
- 反復作業を自動化する:エージェントが毎日行っているコピー&ペーストや定型的な更新作業を特定し、それらをマクロやクイックテキスト、画面フローで自動化しましょう。これにより、エージェントはより付加価値の高い、顧客との対話に集中できます。
- ユーティリティバーを戦略的に活用する:ユーティリティバーは「何でも屋」ではありません。ソフトフォン連携、Omni-Channel、重要な通知機能など、常にアクセスする必要があるグローバルなツールを配置するための場所として戦略的に使いましょう。
- 継続的な改善を怠らない:ビジネスは変化し、顧客の期待も変わります。定期的にコンソールの利用状況をレポートで分析し、エージェントへのヒアリングを行い、コンソールのレイアウトや機能を継続的に見直し、改善していく文化を醸成することが重要です。
Service Consoleは、技術的な設定とビジネスプロセスの理解が融合したときに真価を発揮します。このガイドが、皆様の組織におけるサービス品質と生産性の向上に繋がる一助となれば幸いです。
コメント
コメントを投稿