1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Salesforce Einstein(生成AI)でフローを自動生成!「失注時の振り返りタスク作成」を爆速で実装してみた

1
Last updated at Posted at 2026-03-08

Salesforce の Einstein(生成AI)でフローを自動生成できるようになったので、「商談が失注したときに自動で振り返りタスクを作る」仕組みをつくってみました。

結論

AI にプロンプトを投げただけで、ほぼフローが完成した。あとは小さな調整だけ。めっっちゃ便利。営業現場でありがちな “失注後の振り返り忘れ” をゼロにできます。


💡 背景と課題

営業管理の中心である 商談(Opportunity) は、自社でも主要オブジェクトとして定義されています(業務定義書より)。しかし、失注(Closed Lost)になったときにこんな課題がありました:

  • 失注理由を書き忘れる
  • 振り返り(敗因分析)を後回しにして忘れる
  • 活動(ToDo)が登録されず、レポートにデータが残らない

実際、商談画面から ToDo を登録する導線は定義書にもありますが(※ 商談詳細 → 活動/ToDo)、手動だと漏れやすいのが実情です。さらに、活動データはレポートでも分析対象になっているため、失注案件で ToDo が登録されないと分析が穴だらけになります。

🎯 この記事で実現すること

商談フェーズが Closed Lost に変わったとき、以下のプロセスを“完全自動化”します。

  1. 失注理由が空ならエラー(=入力規則)
  2. 失注理由が入力されていれば「振り返りタスク」を自動作成(=AI生成フロー)

これは Phase3 の目的である「AI × Salesforce を使って業務課題を解決する」にも非常に合致した取り組みです。


🔧 Step1:失注理由を必須にする Validation Rule を作る

まず「失注にしたのに理由が空」の状態での保存を禁止します。

  • 場所: 設定 → オブジェクトマネージャ → 商談 → 入力規則 → 新規
  • ルール名: ValidateLostReasonWhenClosedLost
  • エラー条件式:
    AND(
        TEXT(StageName) = "Closed Lost",
        ISBLANK(LostReason__c)
    )
    
  • エラーメッセージ: 失注理由を入力してください。
  • 表示場所: 失注理由

[!NOTE]
LostReason__c は商談オブジェクトにある標準的なカスタム項目です。このルールにより、失注理由なしで Closed Lost に変更しようとするとガードがかかります。


🤖 Step2:Einstein にフローを作らせる(プロンプト全文)

Flow Builder の「Einstein にフロー生成」をクリックし、次のプロンプトをコピペします。

入力プロンプト:

Create a record-triggered flow for the Opportunity object.

Trigger:

  • When an Opportunity is created or updated
  • Use "after save"

Criteria:
Run this flow only when StageName changes to "Closed Lost".

Logic:

  1. If LostReason__c is blank, do nothing (it will be blocked by validation rules).

  2. If LostReason__c has a value, create a Task:

    • Subject: "失注案件の振り返り"
    • Description: "失注理由: {!$Record.LostReason__c}"
    • OwnerId: {!$Record.OwnerId}
    • WhatId: {!$Record.Id}
    • ActivityDate: TODAY() + 2
    • Priority: Normal
    • Status: "Not Started"

すると、フローの骨格が AI によって自動生成されます!
「This flow was created by generative AI」という表示が出るので、AIが作成した証拠もしっかり残ります。


🔧 Step3:AIが生成したフローを微調整する

AI が生成してくれたフローに対し、以下を調整すれば実用レベルになります。

  • 条件:StageName = "Closed Lost"
    • プロンプト通りなら自動でセットされています。
  • 実行タイミング
    • 「条件に一致するように更新されたときのみ」に設定し、タスクの無限生成を防止します。
  • タスクの期限
    • AI は “今日” を設定しがちなので、数式リソースで TODAY() + 2 を作成して差し替えます。
  • WhatId(関連先)
    • Opportunity.Id を必ず入れます。これにより商談詳細画面の「活動(ToDo)」に正しく表示されます。

🧪 Step4:テスト

🔥 テスト1:失注理由なし

  1. 商談を編集 → フェーズを Closed Lost に変更
  2. 保存
  3. 結果: Validation Rule が動いてエラー(正常)

🔥 テスト2:失注理由あり

  1. Closed Lost + 「失注理由」を入力
  2. 保存
  3. 結果: フロー発動!商談の「活動(ToDo)」にタスクが自動生成される。

📌 できたタスクの例

  • 件名: 失注案件の振り返り
  • 説明: 失注理由:◯◯
  • 優先度: Normal
  • 期限: Today + 2
  • 関連先: 商談名
  • 担当者: 商談Owner

完全に意図通りです!


📊 この仕組みで得られるメリット

  • 失注理由の未入力がゼロに: 入力規則で必須化しているため、データ品質が劇的に向上します。
  • 振り返りタスクを自動作成: 営業側の「振り返り忘れ」を物理的に排除できます。
  • レポート分析が正確に: ToDo が自動作成されるので、「失注→振り返り実施率」などの KPI が容易に取得可能です。
  • AI × Salesforce を実務活用: Phase3 の目的に合致した、地に足の着いた AI 活用事例となります。

🎉 まとめ

  1. Validation Rule で失注理由を必須化
  2. AI(Einstein) にフローを作らせて振り返りタスクを自動化
  3. 商談 → 活動 の業務導線と完全に一致

生成AIを「実務の穴埋め」用途に使うとここまで便利になるのか……という、非常に実戦的な体験ができました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?