Salesforce Service Consoleでマクロを使用すると、定型業務の効率化が期待できます。しかし、マクロの実行結果が想定と異なるケースは少なくありません。特に、レポート条件や項目設定が原因で、マクロが正しく動作しないことが多く見られます。本記事では、Service Consoleのマクロが想定通りに動かない場合の原因特定手順と、レポート条件や項目設定の修正方法を具体的に解説します。これにより、トラブルシューティングの時間を大幅に短縮できるでしょう。
【要点】この記事で確認すること
- 最初に見る場所: マクロ詳細画面の「条件」タブと「実行項目」タブで、レポート条件と更新項目の設定値を確認します。
- 切り分けの軸: 端末側の問題(ブラウザキャッシュ、Salesforce設定)か、アカウント側の問題(権限、プロファイル)か、管理設定側の問題(マクロ定義、項目アクセス)かを分けます。
- 注意点: 会社PCのブラウザ拡張機能やプロキシ設定が原因の場合があります。また、マクロの編集権限が必要なため、一般ユーザーが勝手に変更できない設定もあります。管理者に確認すべきポイントを明示します。
ADVERTISEMENT
目次
マクロが想定と違う原因を切り分ける3つの視点
マクロが想定通りに動作しない場合、まずは原因を大きく3つに分類して考えます。一つ目はマクロ定義自体の問題、二つ目は実行環境や権限の問題、三つ目はデータやレコードの状態の問題です。この切り分けを素早く行うことで、修正箇所を特定しやすくなります。
マクロ定義の問題
マクロの「条件」タブで設定したレポート条件が、実際のレポートと合致していないケースです。例えば、「ステータスが進行中」という条件を設定したのに、対象レコードのステータス項目名が異なる(「状態」など)場合、マクロはレコードを正しく検出できません。また、「実行項目」タブで更新対象とする項目の値が、想定と異なるデータ型や選択リスト値になっていることも原因になります。
実行環境・権限の問題
ユーザーのプロファイルや権限セットが、マクロで使用する項目への編集権限を持っていない場合、マクロは処理をスキップしたりエラーになったりします。また、Service Consoleの設定で「マクロの自動実行」が無効になっていると、手動でトリガーしない限り動作しません。ブラウザのキャッシュが古い場合も、最新のマクロ定義が反映されないことがあります。
データやレコードの状態の問題
マクロの条件に合致するレコードが存在しない、または条件が厳しすぎて1件もヒットしない場合、マクロは何も実行しません。また、レコードの共有設定やチームメンバーの制限により、マクロ実行ユーザーがレコードを参照できない場合も同様です。特にキューや割り当てルールの影響で、レコードが予期せず別の所有者になっていることもあります。
| 原因カテゴリ | 症状例 | 確認ポイント |
|---|---|---|
| マクロ定義 | マクロ実行後にレコードが更新されない | 条件タブのフィルタ条件、実行項目タブの更新値 |
| 権限・環境 | マクロボタンがグレーアウト、エラーメッセージ | プロファイルのオブジェクト権限、項目アクセス、ブラウザ設定 |
| データ条件 | マクロが成功するが結果が0件 | レポート実行して条件に合うレコードが存在するか |
レポート条件の確認と修正手順
マクロのレポート条件は、マクロ詳細画面の「条件」タブで設定します。この条件が正しいかどうかを確認するには、まずその条件でレポートを実際に実行してみるのが確実です。以下に手順を示します。
- Service Consoleの設定歯車アイコンから「設定」を開き、「マクロ」を検索してマクロ一覧を表示します。
- 問題のマクロ名をクリックし、詳細画面を開きます。「条件」タブを選択します。
- 表示された条件一式をメモします。例えば「ステータス 次のいずれか 進行中, 保留中」「作成日 次の範囲内 今月」などです。
- レポートタブで新規レポートを作成し、マクロと同じオブジェクト(例:ケース)を選択します。
- フィルタ条件に、マクロの条件をそのまま追加します。手順3でメモした条件をすべて設定します。
- レポートを実行し、結果の件数とレコードを確認します。期待したレコードが表示されない場合、条件の書き方や値が間違っています。
- 正しい条件が分かったら、マクロ詳細画面に戻り「条件」タブで修正します。「保存」をクリックして変更を反映します。
特に注意すべき点は、日付範囲や選択リストの値がマクロのUI上では正しく表示されていても、実際のデータと合致しないケースです。例えば、「今日」という相対日付を使う場合、システム日付が想定と異なるタイムゾーンで計算される可能性があります。また、項目名が翻訳されている場合、API参照名で指定する必要があることもあります。
項目設定の確認と修正手順
マクロの「実行項目」タブでは、レコードをどのように更新するかを定義します。ここで指定する項目と値が間違っていると、マクロは想定外の更新を実行します。特に以下の点を確認しましょう。
更新対象項目の指定ミス
「項目名」に指定する値は、API参照名である必要があります。例えば「ケース理由」という表示ラベルではなく、「Reason__c」といった内部名です。設定画面ではドロップダウンから選択できますが、誤った項目を選んでいないか確認します。また、項目のデータ型に合った値を設定する必要があります。例えば、数値項目に文字列を指定するとエラーになります。
値の形式と選択リスト
選択リストの項目には、有効な選択肢の値(API参照名)を正確に入力しなければなりません。選択リスト値に日本語表示名を使うとエラーになる場合があります。また、チェックボックス項目には「True/False」、日付項目には「YYYY-MM-DD」形式など、適切な書式を守る必要があります。マクロエディタ上で「値の検証」機能を使うと、入力エラーを事前に検出できます。
数式項目や参照項目への更新制限
数式項目や自動計算項目は直接更新できません。マクロでそれらの項目を更新しようとすると、実行時にエラーとなります。また、参照関係項目(ルックアップ)に値を設定する場合は、参照先レコードのIDが必要です。IDをハードコードするのではなく、条件を工夫して動的に取得する方法を検討します。
失敗パターンとその対処法
実際によくある失敗パターンをいくつか紹介します。これらを把握しておくことで、トラブルシューティングが迅速になります。
- パターン1:マクロ実行後に「成功」と表示されるがレコードが更新されない。 原因は条件が広すぎて複数レコードにマッチし、マクロの更新上限(デフォルト200件)を超えているか、条件が厳しすぎて0件の場合です。レポートで該当件数を確認してください。
- パターン2:マクロボタンを押しても何も起こらない。 ブラウザのポップアップブロックが原因の場合が多いです。Service ConsoleのURLを許可するか、ポップアップを一時的に許可してください。また、マクロが「自動実行」設定になっていないか確認します。
- パターン3:エラーメッセージ「権限が不足しています」が表示される。 マクロ内で更新しようとしている項目に対する編集権限がユーザーにありません。プロファイルまたは権限セットで、該当オブジェクトの「編集」権限と項目レベルのセキュリティを確認し、必要な権限を追加します。
- パターン4:マクロで選択リストの値が正しく設定されない。 選択リスト値のAPI参照名が間違っているか、依存選択リストで他の項目の値に依存している場合があります。選択リストの依存関係を確認し、マクロの条件で適切な値が設定されるようにします。
- パターン5:マクロの条件に「レコードID」を使っているが、現在のレコードが正しく渡されない。 Service Consoleのマクロは、コンソール上で選択中のレコードを暗黙的に参照できますが、マクロのトリガー方法によってはIDが渡らないことがあります。マクロのプロパティで「選択レコードを使用」がオンになっているか確認します。
管理者に確認すべきポイント
マクロの修正には「マクロを編集」権限が必要です。一般ユーザーでは設定変更ができないため、管理者に依頼する際は以下の情報を伝えるとスムーズです。
- どのマクロか: マクロの名前と実行時の動作(期待する動作と実際の動作)を具体的に伝えます。
- レポート条件の確認結果: 先述の手順でレポートを実行した結果、何件ヒットしたか、また期待したレコードが含まれていたかを報告します。
- エラーメッセージのスクリーンショット: エラーが出る場合は、そのスクリーンショットを添付すると原因特定が早まります。
- 実行環境: ブラウザの種類とバージョン、Salesforceのリリースバージョンも伝えると、既知の不具合かどうかの判断に役立ちます。
よくある質問
- Q1. マクロの条件で「ケースのステータスが新規」と設定したのに、なぜか「進行中」のケースも更新されてしまいます。
- 条件が「次のいずれかに一致する」で複数値が設定されていないか確認してください。また、条件に否定形(等しくない)を使うと意図しない範囲を含むことがあります。レポートで条件を再現して検証することをお勧めします。
- Q2. マクロを実行したら「最大実行時間を超えました」というエラーが出ます。
- 一度に処理するレコード数が多すぎる可能性があります。マクロのプロパティで「バッチサイズ」を小さく設定するか、条件を絞って実行してみてください。それでも解決しない場合は、管理者にガバナ制限の緩和を相談しましょう。
- Q3. マクロで更新した値が、画面上と実際のレコードで異なります。
- マクロの実行後、トリガやプロセスビルダー、フローなどが追加で更新を行っている可能性があります。レコードの監査証跡(フィールド履歴)を確認し、どのプロセスが値を変更したか追跡してください。
まとめ
Service Consoleのマクロが想定と異なる動作をする場合、レポート条件と項目設定が原因であることが大半です。まずは条件をレポートで再現し、期待通りのレコードが抽出されるか確認します。次に実行項目の値の形式や権限をチェックします。それでも問題が解決しない場合は、ブラウザやSalesforceの設定、あるいは他の自動化プロセスとの競合を疑いましょう。本記事の手順を一つずつ実行することで、大半のトラブルは解決できるはずです。もしどうしても直らない場合は、Salesforceのサポートに問い合わせる前に、管理者と共にこの記事の内容を確認してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
