ADVERTISEMENT

【Salesforce】キューの割り当てが想定と違う時の管理者が見るべき原因

【Salesforce】キューの割り当てが想定と違う時の管理者が見るべき原因
🛡️ 超解決

Salesforceのキュー(Queue)は、案件やリードをチームに均等に割り当てるための便利な機能ですが、「想定したユーザーに割り当てられない」「特定のユーザーだけに偏る」「割り当てルールが動かない」といったトラブルが発生することがあります。特に管理者にとって、原因を特定するまでに複数の設定を確認しなければならず、時間がかかりがちです。本記事では、キュー割り当てが意図通りに動作しない際に、管理者が最初にチェックすべきポイントを体系的に整理します。設定の見落としやユーザー権限の影響、割り当てルールの評価順序など、実際の運用でよくある原因を具体例とともに解説します。

【要点】この記事で確認すること

  • 最初に見る場所: キュー設定のメンバーリストと割り当てルールの条件を確認する。
  • 切り分けの軸: キュー自体の問題(メンバー不足)か、割り当てルールの問題(条件・優先度)か、権限の問題(キューへのアクセス権)かを分ける。
  • 注意点: キュー割り当てログやデバッグログの確認は管理者権限が必要。設定変更前に既存ルールとキュー構成のバックアップを取ることを推奨する。

ADVERTISEMENT

1. キュー割り当ての基本構造と想定外が起きる仕組み

Salesforceのキューは、レコード(例えばケースやリード)を特定のグループに一時的に保管し、その後、キューに属するユーザーや割り当てルールによって所有者が決まります。割り当ての流れは「レコード作成または更新」→「割り当てルールの評価」→「キューへの割り当て」→「キュー内部での自動割り当て(ケース割り当てルールなど)」という順序です。よくある誤解として、「キューに入れたらすぐに誰かに割り当てられる」と思われがちですが、実際にはキュー内で更なるルール(ケースチームの自動割り当てやRound-Robin)が適用される場合があります。想定と違う結果になる原因は、この複数のルールが積み重なる点にあります。

また、キュー自体に「種類」があり、ケースキュー、リードキュー、カスタムオブジェクトキューなどオブジェクトごとに独立しています。設定画面で混同すると、まったく別のキューを参照している可能性もあります。

2. まず確認すべき4つのポイント

問題が発生したときに、管理者が手順を追って確認するべき項目を順に説明します。

2-1. キューに適切なユーザーがメンバーとして追加されているか

キューにレコードを割り当てる目的は、そのキューに属するユーザーがレコードを取得できるようにすることです。しかし、キュー設定でメンバー(キューに属するユーザーやグループ)が空だと、誰もレコードを引き受けられず、所有者がキュー名のままになります。設定画面で「キュー」→該当キュー→「キューアクセス」セクションで、メンバーリストに期待するユーザーが含まれているか確認してください。グループを追加している場合、そのグループが正しくユーザーを含んでいるかも確認が必要です。

2-2. 割り当てルールの条件と優先順位

キューへの割り当ては、主に「割り当てルール」によって行われます。設定>ケース設定(またはリード設定)>割り当てルールで、アクティブなルールを確認してください。ルールは上から順に評価され、最初に条件に一致したルールで割り当てられます。もし下位のルールにキューが設定されていて、上位のルールが別のユーザー(個人)に割り当てる条件になっていると、キューには届きません。また、ルールの条件が狭すぎるとレコードがどのルールにも一致せず、「デフォルトの所有者」に割り当てられることがあります。デフォルトはユーザーかキューのいずれかです。

2-3. キューのアクセス権とオブジェクト設定

ユーザーがキューにアクセスできるためには、ユーザーのプロファイルや権限セットで「キュー」オブジェクトへの読み取り権限が必要です。ただし、ほとんどの場合標準でアクセス可能ですが、カスタムオブジェクトのキューでは権限設定が影響することがあります。また、レコードタイプやビジネスプロセスによってキューがフィルタリングされる場合もあります。特に、割り当てルールで「レコードタイプがX」という条件があり、そのレコードタイプがキューに関連付けられていないと、割り当てされません。

2-4. ケース割り当てルールの中の「キュー割り当ての有効化」

ケースオブジェクトでは、キューに割り当てられた後の自動再割り当て(ケース割り当てルール)が設定されている場合があります。キューにレコードが入った後、さらに別のルールが動作して別のユーザーやキューに再割り当てされる可能性があります。設定>ケース設定>ケース割り当てルールで、キューに入った後のルールが有効になっていないか確認してください。また、エスカレーションルールも影響することがあります。

3. 状況別:割り当てが想定と違う7つのパターンとその原因

症状 主な原因 確認すべき設定
特定のユーザーにだけ割り当たる 割り当てルールの上位条件が個人ユーザーを指定している、またはキュー内で自動割り当てが有効で特定ユーザーに偏っている 割り当てルールの順序、キュー内のケース割り当てルール(Round-Robin)
レコードがキューに割り当てられず誰も所有者にならない 割り当てルールが非アクティブ、または条件に合うルールがない(デフォルト所有者なし) 割り当てルールのアクティブ状態、デフォルト所有者設定
キューにレコードは割り当てられたがすぐに他のユーザーに再割り当てされる ケース割り当てルールやエスカレーションルールが適用されている ケース割り当てルール(キュー上書き)、エスカレーションルール
キューが選択できない(レコード編集画面) キューがオブジェクトに関連付けられていない、またはユーザーにキューへのアクセス権がない キュー設定の「サポートされているオブジェクト」、プロファイルのキューの読み取り権限
キューにメンバーがいるのにログインユーザーがレコードを取得できない ユーザーがキューに属していない、またはレコードの共有ルールでアクセスが制限されている キューアクセスのメンバーリスト、共有ルール、レコードタイプのアクセス
特定のレコードタイプだけキューに割り当たらない 割り当てルールの条件にレコードタイプが指定されていない、またはキューがそのレコードタイプをサポートしていない 割り当てルールの条件、キューのレコードタイプ関連付け
割り当てルールを変更したのに反映されない 割り当てルールが「アクティブ」になっていない、または既存レコードにはルールが再適用されない ルールのアクティブ化、バッチ再割り当てが必要かどうか

4. 失敗しやすい設定パターンとその対策

4-1. キューにユーザーを直接追加する代わりにグループを入れているが、グループが空

管理者がキューに「公開グループ」を追加した場合、そのグループに有効なユーザーが含まれていないと、誰もキューにアクセスできません。グループのメンテナンスが別チームで行われていると気づかないことがあります。定期的にグループのメンバーを確認し、可能であればグループではなく個別ユーザーで管理するか、グループの同期を確認する仕組みを導入しましょう。

4-2. 複数の割り当てルールが競合してキューが無視される

例:ルール1で「優先度=高ならユーザーAに割り当て」、ルール2で「地域=東京ならキュー東京に割り当て」とします。レコードが優先度高かつ地域東京の場合、ルール1が先に評価されユーザーAに割り当てられます。キューに割り当てたいなら、ルールの順序を入れ替えるか、条件を排他的にする必要があります。不要なルールを非アクティブにするのも対策です。

4-3. キュー内の自動割り当て(Round-Robin)が正しく設定されていない

キューにケース割り当てルール(キュー内部の自動割り当て)を設定している場合、そのルールが無効だったり、条件が厳しすぎると、キュー内に留まったままになります。特に、キュー内の割り当てルールは「キューにレコードがある場合」にのみ実行されるため、キューが空だと思われている場合もあります。ルールの評価順と条件をデバッグログで確認することをお勧めします。

5. デバッグログとレポートを使った原因切り分け手順

具体的な原因を特定するために、管理者が実行できる手順を以下に示します。

  1. 問題のレコード(ケースやリード)を特定し、そのレコードの「監査証跡」や「フィールド履歴」を確認する。所有者の変更履歴から、いつどのキューに割り当てられたかが分かる。
  2. 「設定」>「監査」>「キュー割り当てログ」を開く。該当レコードの割り当てイベントが記録されていれば、どのルールが適用されたか、どのキューに割り当てられたかが確認できる。
  3. 「設定」>「割り当てルール」で該当オブジェクトのルールを確認する。各ルールの条件をメモし、問題レコードがどのルールに合致するかをシミュレートする。
  4. 開発者コンソールでデバッグログを有効にし、レコードの保存イベントを取得する。ログ中の「QueueAssignment」などのキーワードを検索して、割り当ての流れを追う。
  5. テスト用のレコードを作成し、割り当てルールの条件を1つずつ変えて動作を確認する。想定と異なる場合は、その条件を一時的に単純化してテストする。

6. よくある質問(FAQ)

Q1. キューに割り当てられているはずなのに、レコードの所有者がキュー名でなく個人名になっている

考えられる原因として、キュー内のケース割り当てルールが自動的に特定のユーザーに再割り当てした可能性があります。また、ユーザーが自らレコードをキューから引き取った(取得した)場合も所有者が変わります。キュー割り当てログで「Assigned to」を確認してください。

Q2. 割り当てルールを新しく作ったのに既存のレコードに反映されない

割り当てルールは新規作成・更新時のみ評価されます。既存レコードにルールを再適用するには、データローダ等でレコードを更新するか、「一括割り当て」機能を使用する必要があります。ただし標準機能では一括再割り当ては限定的なので、ApexバッチやData Loaderでの更新を検討してください。

Q3. キューにユーザーを追加したが、そのユーザーがキューからレコードを取得できない

ユーザーがキューに追加されていても、そのユーザーのプロファイルで「キュー」オブジェクトへのアクセス権がない場合があります。また、レコードの共有ルールでキューへのアクセスが制限されているか、レコードタイプがユーザーの参照範囲外である可能性も考えられます。権限と共有ルールを見直してください。

Q4. キュー割り当てログが出力されない

キュー割り当てログは自動的に記録されますが、保持期間が短い(デフォルトで90日)ため、古いレコードは表示されません。また、割り当てがキューに直接行われた場合(ユーザー選択など)はログに記録されないことがあります。その場合は監査証跡やデバッグログを確認してください。

7. まとめ

キューの割り当てが想定と違う原因は、キュー設定のメンバー不足、割り当てルールの条件や優先順位、アクセス権限、そしてキュー内部の自動割り当てルールなど多岐にわたります。管理者は、まず「キュー割り当てログ」で事実を確認し、次に「割り当てルールのアクティブ状態と順序」をチェックし、その後「キュー設定のメンバー」と「ユーザー権限」を見直すという手順が効果的です。

問題の再発を防ぐためには、割り当てルールの変更履歴を管理し、テスト環境で十分に動作を確認してから本番反映を行うことをお勧めします。また、キューに関するドキュメントを整備し、チーム内で共有することで、設定ミスを減らすことができます。

本記事で紹介したチェックポイントを基に、スムーズなトラブルシューティングを行ってください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT