「標準の承認プロセスでは現場の細かい要望に応えきれない」と悩んでいませんか。本記事では、標準機能にApex開発や便利なツールを掛け合わせ、柔軟なワークフローを実現する方法を解説します。開発者の視点を取り入れることで、運用の自動化やメンテナンス性の向上が可能です。
この記事を読めば、標準機能の制約に縛られず、ビジネスの変化に強い承認基盤を構築できるようになります。
標準機能の「壁」がDX推進のブレーキになっていませんか?
Salesforceの承認プロセスはGUIで設定でき、非常に強力な機能です。しかし、組織が成長し業務が複雑化すると、標準設定だけでは対応できない場面が増えてきます。
例えば「条件によって承認者を動的に変えたい」「申請漏れを防ぐために自動化したい」といった要望です。これらは情シス担当者が現場から頻繁に受ける、切実な課題ではないでしょうか。
標準機能の限界を無理に設定だけで解決しようとすると、設定が複雑化し保守性が低下します。無理な運用はユーザーの利便性を損ない、結果としてDXの推進を妨げる要因にもなりかねません。
Apexで実現する「一歩先」の承認フロー
こうした課題は、Apexによるカスタマイズと効率的な開発ツールの活用で鮮やかに解決できます。まずは、プログラムによって承認プロセスを制御する具体的なアプローチを見ていきましょう。
① 申請の「押し忘れ」をゼロにする自動申請Apex
特定の条件を満たした際に、裏側で自動的に承認申請を行うロジックを実装します。これにより、ユーザーの操作ミスを物理的に排除し、業務スピードを劇的に向上させることが可能です。
// 商談フェーズ変更時に自動で承認申請を行うサンプル
public class OpportunityApprovalService {
public static void submitForApproval(Id oppId) {
Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
req.setComments('システムによる自動申請');
req.setObjectId(oppId);
// 承認申請の実行
Approval.ProcessResult ret = Approval.process(req);
if (ret.isSuccess()) {
// 成功した場合の処理
} else {
// 失敗した場合の処理
}
}
② 二度手間を解消!「自分自身が承認者」の場合の自動承認処理
Salesforceの標準承認プロセスでは、「申請者 = 承認者」という状況でも、手動で承認ボタンを押し直す必要があります。しかし、役職者が自分自身の経費精算を申請する場合など、「自分が承認者なら、申請直後に自動で承認済みにしてほしい」という要望は非常に多いものです。
※標準機能のスキップではなく、あえて「承認ログ」を残しつつ自動化したいケースに有効です。
public class ApprovalAutomationHandler {
/**
* 指定されたレコードIDに対して、現在割り当てられている承認作業を自動承認する
*/
public static void autoApprove(Id recordId) {
// 1. 対象レコードに関連する「保留中」のワークアイテムを取得
List<ProcessInstanceWorkitem> workItems = [
SELECT Id
FROM ProcessInstanceWorkitem
WHERE ProcessInstance.TargetObjectId = :recordId
AND ProcessInstance.Status = 'Pending'
LIMIT 1
];
if (!workItems.isEmpty()) {
// 2. 承認リクエストの作成
Approval.ProcessWorkitemRequest req = new Approval.ProcessWorkitemRequest();
req.setComments('システムによる自動的に承認(申請者と承認者が同一)');
req.setAction('Approve'); // 承認アクションを指定
req.setWorkitemId(workItems[0].Id);
// 3. 承認の実行
Approval.ProcessResult ret = Approval.process(req);
if (ret.isSuccess()) {
// 成功した場合の処理
} else {
// 失敗した場合の処理
}
}
}
}
③ Salesforce DevTools による現状分析の高速化
こうしたApex開発を支えるのが、正確なオブジェクト構造の把握です。Salesforce DevToolsを活用すれば、オブジェクト構造を可視化します。ER図の自動生成や項目定義の書き出しにより、複雑なリレーションも一瞬で把握できます。
技術を味方につけて、現場の「やりたい」を形にする
「標準機能でできない」と諦める前に、開発という選択肢を検討してみてください。適切なカスタマイズは、単に機能を拡張するだけでなく、運用コストの削減にも大きく貢献します。
技術的な裏付けがある解決策を知ることで、現場からの要望に対してより前向きな提案が可能になります。エンジニアと協力体制を築くことが、理想のシステム構築への最短ルートです。
プロの知見とツールを使いこなせば、複雑な承認業務もシンプルでミスのない形に進化させられます。この記事を通じて、技術がビジネスの可能性を広げる一助となれば幸いです。
まとめ
承認プロセスは、標準機能のメンテナンス性とApexの柔軟性を組み合わせるのがベストです。
Salesforce DevToolsなどのツールを活用すれば、現状把握や設計の精度も飛躍的に向上します。
開発者の視点を取り入れることで、情シス担当者の設定負荷は下がり、現場の利便性は高まります。
「できない」を「できる」に変える技術力こそが、企業のDXを加速させる強力な武器になります。 複雑な要件に直面した際は、ぜひ開発のプロフェッショナルである私たちにご相談ください。
それ、サンブリッジなら実現できます!
Salesforceで解決するビジネス課題
【ダウンロード資料】Salesforce導入・開発を検討されているお客様必見
数あるSalesforceベンダー企業のなかから、サンブリッジが選ばれる理由はなぜか。課題別にどんなソリューションがあるのかといった観点で、実際にサンブリッジが対応した事例やご利用企業様からの評価などをご紹介します。(全16ページ)