Skip to main content
Grupo

Ladies Be Architects

Run by women, for anyone who wants to work together on the #JourneytoCTA or the designer exams. Can you REALLY get CTA without code? YES YOU CAN: http://www.gemmablezard.com/salesforce/dont-need-code-become-certified-technical-architect Not sure what order to take your exams in? Read this: http://www.gemmablezard.com/salesforce/order-i-take-salesforce-architect-exams What about maintaining my architect status? http://certification.force.com/pkb/articles/Public_KB/Maintaining-Your-Salesforce-Credential Studying? Use these curated Trailmixes, accessible here: https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F930000000blKv Studying? Use this Quizlet collection! https://quizlet.com/gemma_emmett/folders/favourite-salesforce-quizlets/sets

Hi everyone,

I’m looking for some architectural input on a record visibility design for a multi-subsidiary arquitecture. 

 

Context:

  • Account and Quote OWDs are set to Private.
  • An ERP integration creates Quote records linked directly to QuoteAccountId (field when you activate the feature "Create Quotes without Opportunities"
  • All sales users share the same Profile and Role and public groups BUT
  • Field Sales users should only see Quotes linked to Accounts they own, provided the Quote and Account regions (e.g. Spain, France, etc.) match.

Current Solution:

To distinguish Field Sales users from back-office users, I created dedicated Public Groups per region (e.g. Group_FieldSales_RegionA, Group_FieldSales_RegionB).

A Record-Triggered Flow checks whether the Account Owner belongs to the corresponding Field Sales group. If so, the Flow creates a QuoteShare record for that user.

Importantly, these Public Groups created for the Field Sales users are not used in Sharing Rules

. They are only used by the Flow as an internal validation mechanism to identify whether the Account Owner is a Field Sales user. This is also important for managers with hybrid responsibilities, who may belong to both Field Sales and back-office groups (they are everywhere in every public group with execption of my newly created Field Sales public groups) 

 

Architectural Question:

There is a concern of non-developer members about using Public Groups and believes visibility should be based purely on Account Ownership.

  1. Would you consider using Public Groups as an internal identity/validation mechanism in Flow a sound architectural approach in this scenario?
  2. If Public Groups cannot be used, what would be a robust alternative for a Flow to identify Field Sales users, given that Profiles, Roles and public groups are shared and some users have hybrid responsibilities (Sales Managers are inside and outside at the same time)?

I’d appreciate your thoughts on the best practice for this design.

Thanks in advance! 

 

@Salesforce Administrators & Developers, @Salesforce Administrators and Developers, @APAC Architects, @Data Quality & Management, @Ladies Be Architects

 

 

#Trailhead Challenges  #Trailhead  #Salesforce Developer  #Salesforce Admin  #Solution Architects  #Architects  #Enterprise Architecture  #Flow  #Security

4 respuestas
  1. 6 oct, 16:13

    @Lena Wong

    You're right the business rule doesn't care who owns the Quote. The risk comes from how the platform stores the share, not from the rule. 

     

    Where the Quote owner matters (platform mechanics, not business logic) 

    A Flow created QuoteShare is a manual share (row cause "Manual"). Salesforce deletes manual shares on a record when that record's OwnerId changes. Your Flow most likely triggers on events like Quote created or Account owner changed. A Quote owner change isn't one of those events, so: 

    1. The ERP (or a user or mass transfer) changes the Quote's owner.
    2. The platform silently deletes the share the Flow created.
    3. Nothing re-runs the Flow, so the Account Owner loses access even though the business rule says they should have it.

    Fixes, in order of preference: 

     

    • Add a trigger path on Quote update when OwnerId changes, so the Flow recreates the share.
    • Add a scheduled reconciliation that compares expected and actual shares. This also catches other drift.

    A related edge case:

    if the Account Owner is also the Quote owner, they already have access. The Flow should skip creating the share in that case, because inserting a share for the owner is rejected or ignored. 

     

    If the ERP never changes Quote ownership

    (it creates Quotes under a fixed integration user and never updates them), this risk mostly goes away, and the Account owner, region, and bulk-load gotchas are what remain. I can't confirm that from here, so it's worth asking the ERP team. 

     

    On the permission set groups

     

    If every sales user is in the same Permission Set Group, that group can't tell Field Sales from back-office, so it doesn't help as the identifier. Option 2 only works with a separate, standalone permission set (for example

    Field_Sales_Spain) assigned directly to Field Sales users and not included in the shared group. Hybrid managers just get that one assigned too.

0/9000

Hi everyone,

I need to perform a bulk security update to grant visibility over thousands of existing historical Quote records in our system.

The Setup:

  • OWD: Account and Quote objects are both set to Private.
  • We use the "Create Quotes Without Opportunity" feature, so thousands of existing integrated Quotes are linked to Accounts via the standard QuoteAccountId field.
  • Field agents are assigned to Regional Public Groups (e.g., OutsideSalesSpain, OutsideSalesFrance, etc.) matching their specific company/region field value (Spain, France, etc.).

The Requirement:

 

I need to run a one-time bulk update to grant

Read access over all existing historical Quotes to the Account Owner of the Account associated with those quotes, but ONLY if that Account Owner belongs to the corresponding Regional Public Group, and ONLY

if the Quote's region matches the Account's region. 

 

I already created a flow to handle this when quotes are being created, but the flow does not handle this visibility when there already exist Quote records in Salesforce. 

 

If I use Data Loader to solve this for historical Quote records, the solution would take long and would be cumbersome (probably manual efforts). Is this possible to solve with Apex?. We are talking about more than 20000 existing Quote records!.

Thanks for your advice! 

 

@Salesforce Administrators & Developers, @Salesforce Administrators and Developers, @APAC Architects, @Data Quality & Management, @Ladies Be Architects

 

 

 

 

#Trailhead Challenges  #Salesforce Developer  #Salesforce Admin  #Data Management

3 respuestas
  1. 5 oct, 17:07

    Hi @Lena Wong

     

    Yes, this is possible with Batch Apex and would be more suitable than Data Loader for 20,000+ existing Quotes.

    • Query Quotes in batches and get the related Account Owner and Region.
    • Verify the Account Owner is a member of the corresponding Regional Public Group.
    • Check that Quote Region = Account Region.
    • For matching records, create QuoteShare records with Read access.
    • Handle existing share records/duplicates and test the batch in a sandbox first.

    Batch Apex + programmatic sharing would be my recommended approach for this one-time historical data update.  

      

    If this helps resolve your issue, please consider marking it as the Accepted Answer so it can help other Trailblazers as well. Thanks! 

0/9000

I'm prepping for my Salesforce Certified Development Lifecycle and Deployment Architect. While I am about done with the trailhead attached to the cert, I was wondering what other resources people have used for this exam. Are there any practice exams? I checked out Focus on Force, and unless I missed something, I didn't see anything for this.

 

Any pointers on studying/the exam itself, are greatly appreciated.

 

Thanks!

#Certifications#

5 respuestas
  1. 4 abr, 09:17

    I passed my exam after studying with 𝗣𝗮𝘀𝘀4𝘀𝘂𝗿𝗲𝘅𝗮𝗺𝘀

0/9000

Hi everyone! I’m gearing up for the CTA journey and would love to connect with others on the same path. Looking for a study group to brainstorm scenarios, share resources, and practice mock interviews. Open to flexible schedules, let’s support each other and make this journey fun and effective! If you know any existing group, kindly share..  I’d love to join.

2 respuestas
  1. 1 abr, 16:57

    How can we join that slack group?  I'm getting a message that my email does not have an account on that workspace

0/9000

Hi everyone 👋 

 I’m preparing Development Lifecycle and Deployment Architect for it and would really appreciate insights from recent test-takers.

 

Please share your experience on the following points:

4 respuestas
  1. 31 mar, 18:04

     Thanks to this ItExamCerts, I passed my Development Lifecycle and Deployment Architect exam with flying colors. Their Exam mastery and Exam readiness tips were instrumental in achieving my certification success. 

0/9000

OWD for Account is Private. If I share an account with another user  will the record be visible to user's manager and above? 

 

  • Manual Sharing
  • Apex Sharing 
  • Sharing Rule ( using share with Roles & subordinates)
  • Account teams

Grant using hierarchies for Account can't be unchecked in OWD due to standard object restriction.

4 respuestas
  1. 22 jun 2025, 09:14

    @Deepti Mendiratta

    yes users in roles above the role of the user the record is shared with will get access too, even with manual and apex sharing. 

     

    Behind the scenes this uses system-defined groups created for each role which contain all users with the role as well as all users with a parent role in the hierarchy. You can't query these directly, but there's more info on how they work in the Group Maintainence section from Record Access Under the Hood:

    https://developer.salesforce.com/docs/atlas.en-us.salesforce_record_access_under_the_hood.meta/salesforce_record_access_under_the_hood/uth_groups.htm

0/9000

Just took my first step to CTA - after five years of working with SFDC as a Project Manager and Business Analyst, took and passed the admin exam today and have proudly added Salesforce Certified Administrator to my LinkedIn profile! Can't wait to get my next certification.

3 comentarios
0/9000

Hi Everyone,

 

Thank you for adding me to the group! I'm starting my CTA journey and it was recommended by a CTA to find a cohort to study with over the next two years. I have Salesforce trainings scheduled and exams starting on the Application Architect side. She mentioned that trying to study for the CTA after getting the certifications can be more difficult than studying with the CTA intention from the beginning. If anyone knows of a group like this I would love to join them! I did see a few things on the website that I'm still looking through as well. 

2 comentarios
0/9000

Hello, 

 

Need some advice from this wonderful group. I am preparing for the Sharing & Visibility Certification, however, some of the questions puzzle me. For example -  

 

Customer complaints for bad interactions with a customer support agent are logged as Cases and assigned to the HR. The agent of the complaint should not see the case, but their manager should. 

  

 How is this accomplished? 

  

 A. Trigger on Case to lookup and share to the manager of an Assigned Agent custom field (the subject of the complaint) using Apex Managed Sharing. 

B. Criteria-based Sharing Rule on Case that shares to the Role Manager and above when a custom field Assigned Agent (subject of the complaint) is not blank. 

C. Case is owned by the subject of the complaint, so their manager in the role hierarchy can access the record. CRED permission are removed on Case so the agent cannot read the case record. 

  

 My doubt - Are there 2 separate cases or just the same case, where read access is revoked from the Agent and given to the manager? 

 

There are other such ambiguous and flawed questions. How am I supposed to decipher such questions in the exam?

6 comentarios
0/9000

Thank you, @Ladies Be Architects! I just passed my Development Lifecycle and Deployment Architect certification exam using the scholarship you provided!

0/9000