Skip to main content

#Sales Cloud162 personnes en discutent

I'm looking for advice from teams that have designed a Salesforce renewal process in Sales Cloud, particularly when customer renewal/continuation decisions don't always align with the legal contract term.

Here's the scenario I'm trying to solve:

A customer signs a 3-year contract for a product/service. The contract is stored in Salesforce and remains valid for the full 3 years.

However, the customer makes an annual usage/continuation decision. For example:

  •  Year 1: Customer uses the service 
  •  Year 2: We need to determine whether they will continue using it 
  •  Year 3: Same 
  •  At the end of Year 3, a new contract may need to be created if they continue 

The annual renewal is therefore not necessarily a contractual renewal. It's primarily a way for the Customer Success team to:

  •  See upcoming renewal/continuation cycles 
  •  Forecast likelihood of renewal 
  •  Manage the renewal process 
  •  Record whether the customer continued or churned 
  •  Report on historical and upcoming renewals 

At the same time, we need to maintain a clean relationship with the actual Contract records

, which are managed by a separate contracting/legal/operations team. 

I’m especially interested in hearing from teams that have dealt with

multi-year contracts but annual renewal/continuation management with no change in revenue info.

What has worked well for you, and what would you do differently if you were designing it again? 

 

#Sales Cloud

0/9000

We are using a Territory Model in our Salesforce org. As part of this setup, we have made Country and State mandatory on Account.

Since Address is a compound field, we cannot directly make Country and State individually required using standard field-level required settings. Therefore, we implemented validation rules on the Account object to enforce these requirements.

🔹 Current Implementation

We have separate validation rules on Account such as:

  •  Billing Country required 
  •  Billing State required (based on selected countries) 

These rules ensure data quality for the territory assignment logic.

🔹 Issue During Lead Conversion

During Lead Conversion, these Account validation rules are firing and blocking the conversion.

However, the problem is:

  •  Each validation rule fires separately 
  •  Users receive multiple step-by-step errors (Country first, then State, etc.) 
  •  This creates a poor user experience during conversion 

🔹 Our Attempted Solution

To improve the user experience, we implemented a before-save Lead Record-Triggered Flow to:

  •  Detect missing required fields 
  •  Group all missing field errors 
  •  Show a single consolidated custom error message using Flow error handling 

🔹 Problem We Are Facing

Even after implementing the Flow-based custom error handling:

  •  Account validation rules are still firing first during Lead conversion 
  •  The validation rule error appears before the Flow custom error message
  •  As a result, users do not see the consolidated error message we intended 

🔹 Expected Behavior

We want the system to:

  1.  Validate missing Country/State in a grouped way (preferred UX) 
  2.  Show a single consolidated error message (via Flow or custom logic) 
  3.  Avoid multiple validation rule errors during Lead conversion 
  4.  Ensure smooth Lead → Account conversion experience 

🔹 Question / Help Needed

Is there a better approach to:

  •  Enforce required Country and State on Account without relying heavily on validation rules? 
  •  OR control the execution order so Flow-based validation is shown before Account validation rules during Lead conversion? 
  •  OR design a best practice pattern for handling required Address fields in Territory-based implementations?

@* Sales Cloud - Best Practices * 

3 réponses
  1. 8 sept., 17:59

     One option might be to handle the checks in a single Account validation rule, so users get one message listing both missing fields. I’d also be careful about relying on Flow for this since the Account validations can still run during conversion. A single rule with clear conditions may keep the conversion process much simpler. 

0/9000

商談オブジェクトに紐づく活動が何件あるのかレポートで抽出したい。どの様にしたらいいか。 

 

#Salesforce Admin  #Salesforce Developer  #Sales Cloud

3 réponses
  1. 8 sept., 16:34

    Maiko様 

     

    商談(Opportunity)に紐づく活動(Task/Event)の件数をレポートで抽出する方法は以下の通りです。 

     

    1. レポート作成画面で「新規レポート」をクリックし、レポートタイプの検索窓に「活動」と入力します。 

       標準レポートタイプの中に「商談との活動(Activities with Opportunities)」というタイプがあるので、それを選択します。 

       公式リファレンス:

    https://help.salesforce.com/s/articleView?id=sf.reports_activity.htm&type=5

     

     

    2. レポート形式は「サマリー」を選択します。 

     

    3. グループ化の設定で「商談名」を選択し、商談ごとに活動をグループ化します。 

     

    4. レコード数(件数)を表示するには、レポートビルダーの列一覧から任意の項目(例:件名)を選び、集計欄で「レコード数」にチェックを入れます。 

       これにより商談ごとの活動件数がサマリー行に自動集計されます。 

     

    5. 件数が多すぎてエラーになる場合、Salesforceの公式サイトでも案内がある通り、日付やステータスなどのフィルタを追加するか、レポートタイプを「商談との活動」に絞ることで解決できます。 

       公式リファレンス:

    https://help.salesforce.com/s/articleView?language=en_US&id=activities_shared_understanding_reports.htm&type=5

     

     

    補足: 

    - 「共有活動(Shared Activities)」が有効な組織では、複数のコンタクトに紐づく活動の集計結果が管理者権限の有無によって異なる場合があります(管理者は主要連絡先分+招待者ごとに別カウント、非管理者は主要連絡先分のみ1件としてカウント)。件数の見え方に差異がある場合はこの仕様が原因の可能性があります。 

    - アーカイブ済みの活動(Activity History)はレポートに含まれない点にもご注意ください。 

     

    これで商談ごとの活動件数が一覧化できるはずです。

0/9000

Hello! Does anyone have any suggestions on call tracking features in salesforce? We are leaning towards Aircall CTI, but if anyone has any suggestions on something similar and/or better let me know!

 

We want it to be as seamless as possible - our reps make a call in salesforce and it's automatically tracked/notes, states how long the call was etc. and we can report on it.

 

#Sales Cloud  #Salesforce  #Integration  #Marketing Cloud  #Salesforce Developer  #TrailblazerCommunity  #Reports & Dashboards  #Salesforce Admin  #Automation

1 réponse
0/9000

Opportunity → Quotes  Scenario:  When a Quote is approved, automatically mark it as the Primary Quote and uncheck all other Quotes.  Questions:  • How do you update multiple child records?   • How do you avoid recursive updates? 

 

@* Sales Cloud - Best Practices * @* Sales Cloud - Getting Started * 

2 réponses
  1. Hier, à 17:58

    Hi @Rohit .

     

     

    I would use a Record-Triggered Flow with a Scheduled Path on the Contract.

    •  Set the Time Source = Contract End Date and Offset = 30 Days Before. 
    •  At the scheduled time, check whether a Renewal Opportunity already exists. 
    •  If not, use Create Records to create the Renewal Opportunity and notify the Account Owner. 
    •  To prevent duplicates, use a Renewal Opportunity lookup or Renewal Created checkbox on the Contract. 

    Flow: 

     Contract → Scheduled Path (30 Days Before End Date) → Duplicate Check → Create Renewal Opportunity → Notify Owner 

     

    This is cleaner than calculating the 30-day window manually. Salesforce supports Scheduled Paths based on a date field with a positive or negative offset. 

     

    Hope This Helps!!

0/9000

Unable to fatch sales service and other options in the app launcher

Unable to fatch sales service and other options in the app launcher

 

 

 

#Sales Cloud

3 réponses
  1. Hier, à 17:52

    Hi @Rohit .

     

     

    Since the App Launcher is working but Sales/Service apps are not appearing, I would check the app assignment and visibility settings rather than cloning the profile again. 

     

    1. Check the Profile's Assigned Apps

    Go to: 

     Setup → Profiles → [User's Profile] → Assigned Apps

    Make sure Sales and Service are assigned/visible for that profile. Salesforce users only see apps they're authorized to access through their profile or permission sets.  

     

    2. Check App Manager

    Go to: 

     Setup → App Manager

    Find the Sales and Service Lightning Apps and verify that they are enabled/visible and that the required profile is included in the app's user-profile assignment.  

     

    3. Check App Menu

    Go to: 

     Setup → App Menu

    Find the Sales and Service apps and make sure they say:

    Visible in App Launcher

    and not:

    Hidden in App Launcher.  

     

    4. Check the cloned profile

    Since you mentioned that you cloned the profile, compare the cloned profile with the original profile and verify its Assigned Apps and relevant object/tab permissions.

    Also remember that app visibility and object/tab access are two different things. A user may be able to see an app but still not see particular tabs such as Accounts, Contacts, Opportunities, or Cases if their object or tab permissions don't allow access. 

     

    So troubleshoot in this order:

    Profile/Permission Set → Assigned Apps → App Manager → App Menu → Object & Tab Permissions 

     

    Hope This Helps!!

0/9000

Hi All,

 

we implemented the Outreach Plugin in Salesforce, does anyone know if it is possible and how to update the Campaign Members Status of a specific Campaign and Contact in SFDC from the Outreach Sequence?

 

Regards and thanks

 

Sergio

3 réponses
  1. 1 déc. 2022, 01:43

    Yes, It is possible to update the Campaign Members Status of a specific Campaign and Contact in SFDC from the Outreach Sequence.

    You can use the Salesforce Update Object step to update a Campaign Member's status to whatever you want. To do this,

    •  you will need to first create a Salesforce connection in Outreach,
    •  then create a Salesforce Update Object step in your Sequence.
    •  Select Campaign Member from the Object dropdown.
    •  then set the appropriate filter conditions to identify the Campaign Member you want to update.

     Finally, select the Status field and set the value to the status you want to update. 

0/9000

Anyone else running into recalculation headaches with Spiff/ICM when a deal gets reassigned to a different rep mid-period? Mine ends up double-counting or dropping the payout entirely, curious how others are handling ownership changes without breaking the calc.  

 

#Sales Cloud  #Revenue Cloud

1 réponse
  1. Hier, à 13:10

    We stopped using the current opportunity owner for the calc because that’s what caused most of the mess. Better to snapshot the credited rep when the deal closes and calculate from that. Then a later ownership change doesn’t move or duplicate an already earned payout.

0/9000

拡張メモを共有する際に、共有相手にメールが通知されるようになっています。  

このメールについて、

メールを飛ばさないようにすること

、は可能でしょうか?  

公式には、「

メモを共有する場合、他のユーザーが共有または共有解除できるかどうかを制御します。受信者には、共有メモへのリンクとあなたからのメッセージを記載したメールが送信されます。

」とだけ記載されており、メール通知に関して制御可能かが分かりませんでした。  

 

また、いただいた回答を参考に、設定→ Chatter→メール設定→メールを許可のチェックを外したのですが、メールが通知されるままでした。 

 

#Sales Cloud  #Salesforce  #Salesforce Developer

1 réponse
  1. Hier, à 08:45

    同様の議論に基づくと、拡張ノート共有通知はChatterメール通知と連動しているようです。そのケースでは、受信者がChatterメール通知設定で「メール受信」を有効にしている場合にのみ、ノート共有メールが送信されることが確認されました。 

     

    テストとして、受信者のユーザーが「個人設定」→「Chatter」→「メール通知」→「メール受信」を有効にしているかどうかをご確認ください。このオプションを一時的に無効にしてから再度ノートを共有することで、通知がChatterメール設定によって制御されているかどうかを判断できる可能性があります。

0/9000

The payout happened in the March commission run (that's when it was calculated and paid).

The deal's close date now shows February (because it was edited/backdated after the fact).

So there's a disconnect between when the money was actually paid (March) and what period the deal currently says it belongs to (February). 

 

#Sales Cloud  #Revenue Management System  #Revenue Cloud  #Salesforce Revenue Cloud

2 réponses
  1. 4 sept., 13:30

    Hi @Swati Malkar

     

    This is a known pain point in Spiff/ICM the tool is calculating off a live field (

    Close Date) instead of a locked, point-in-time snapshot. The fix isn't really "how do I stop deals from being backdated" it's "stop letting a mutable CRM field drive an immutable financial record." 

    Root cause: Spiff's plan logic is likely referencing Opportunity.CloseDate (or a similarly live-synced field) to bucket the deal into a payout period. When that field changes after calculation/payout, any report or re-run that re-evaluates the deal picks up the new value, creating a mismatch between "period paid" and "period the deal now says it belongs to." 

    How to actually fix it a few layered options, roughly in order of how I'd sequence them: 

    1. Snapshot the period at calculation time, don't derive it live. Add a dedicated field something like Commission_Period__c on the commission/statement record (or in Spiff's own statement object) that's set once when the statement runs and never recalculated from CloseDate again. Spiff does support adding effective dates on plans/logic and locking historical statements, so this should be a config change in Spiff's plan design rather than custom Apex — check that "lock historical statements" setting is actually turned on for closed periods.
    2. Separate "Close Date" (sales-facing, editable) from "Commission Effective Date" (finance-facing, locked once a statement is generated). Reps and deal desk need to edit Close Date for pipeline/forecast reasons that's normal. The commission engine should never read that same field for historical periods once paid.
    3. Treat post-payout edits as a reconciliation event, not a silent recalculation. If a close date changes after a statement already paid against it, that should trigger a clawback/adjustment workflow (a new adjustment line in the next period), not a retroactive rewrite of March's numbers. This is standard ASC 606-adjacent practice Spiff's audit-ready expense reporting is built around exactly this kind of compliant, locked-period model.
    4. On the Salesforce side, if Opportunity edits are what's causing this, consider a validation rule or Flow that blocks/flags Close Date changes on Opportunities that already have a Commission_Statement__c (or equivalent) linked and Closed/Locked at minimum, notify Finance/RevOps rather than letting it happen silently.

    I hope you find the above information helpful. If it does, please mark it as Best Answer to help others too.

0/9000