Skip to main content

#Trailhead Challenges1.287 discutindo

Hands-on challenges are the “secret sauce” of Trailhead. Before searching for solutions to superbadge challenges, review the Salesforce Certification Program Agreement and Policies. ** NOTE ** : If you were able to get a response that solved your issue, please mark it as the 'Best Answer' to help other Trailblazers. If the issue persists after 48 hours, create a Trailhead Help case at https://help.salesforce.com/s/support for further assistance.

Hello, 

I noticed

a similar question

has been posted before, but the solution did not work for me.  

In the

Build a Discount Approval Process

-> Create Initial Submission Actions. 

I had the correct field selected from the start and I am still getting the error " Step not yet complete in Control Access to Fields Challenge. The 'Discount Approval Process' did not successfully submitted an opportunity for approval when the discount percentage was set to greater than 0. " 

 

Could you please let me know what is missing? 

 

Thank you. 

 

#Trailhead Challenges

0/9000

Hello Trailblazers,

I am facing a login loop issue with a System Administrator profile when trying to access the Salesforce Mobile App on an iOS device (iPhone), and I would appreciate your insights.

 

  1. I can log in into the desktop version perfectly using Windows Hello PIN as a registered Built-In Authenticator (Passkey).
  2. When trying to log into the Salesforce Mobile App on iOS, after entering the Username and Password, the app forces a Passkey verification.
  3. The native iOS is still prompting me to use a passkey and there is no chance to choose another verification option. Since the passkey was created locally via Windows Hello, the iPhone cannot resolve it, leading to a dead-end with no option to bypass or cancel.

What I tried so far:

  • I disconnected the Built-In Authenticator from the User's Advanced Details via desktop Setup.
  • Upon trying to log in again on the mobile app, it bypasses the old key but immediately demands the creation of a new Passkey.
  • If I attempt to use a Temporary Verification Code, the login attempt is blocked beforehand by the following error message: 

    "Problem Verifying Your Identity. To log in, you need both a higher access level and an identity verification method. Contact your administrator to gain login access."

Context & Constraints:

  • This is a production environment, so I cannot modify global organization settings (such as changing Session Security Levels or altering My Domain mobile browser behaviors) without a formal change control process. I need a solution targeted either at the user level or understanding why the Mobile API triggers this specific high-assurance restriction for this profile.

 

Has anyone encountered this specific behavior where the Mobile App demands a High Assurance MFA method that blocks the login completely before allowing alternative verification? Any workarounds at the user/permission set level would be highly appreciated.

Thank you in advance! 

 

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

 

 

#Trailhead Challenges  #Salesforce Developer  #Salesforce Admin

3 respostas
0/9000

Hi everyone,

I need some architectural advice on the best way to handle report and data access for a global team without turning role management into a maintenance nightmare.

 

  • We have report folders separated by countries: Country A Reports, Country B Reports, and Country C Reports.
  • In our Role Hierarchy, we have local roles at the bottom (e.g., Sales Rep Country A, Sales Rep Country B) and a high-level corporate role at the top called Global Management.

The Business Requirement:

 

Product manager users in their Country or Regional Level role complained not being able to access reports with data related to other countries, so we moved them to the

Global Management team for them to be able to see everything

. They require full visibility to access records (Accounts, Opportunities) globally, but they also need to open and view the reports inside the local folders of Country A, Country B, and Country C. 

 

The challenge:

 

We noticed that when we move a user from a local country role up to the

Global Management

role to give them global record visibility, they immediately lose access to some of the regional reports they could see before, or the reports show up completely empty for them. 

 

My Questions:

  1. How can we avoid constantly shifting users from one role to another just so they can see cross-country reports while maintaining access to their respective records? What is the cleanest architecture to decouple record visibility from report folder visibility?
  2. What is the Best Practice in Salesforce to solve this? Should we keep these global users in a specific role and grant them report folder access via a Public Group or a specific Permission Set?
  3. Why do some reports return empty or give errors to a user right after they are moved to a higher role in the hierarchy? Is it because of dynamic filters in the reports (like "My Team's Records" or "My Role" filters) that break when their branch changes?

Thank you so much for your help! 

 

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

 

 

#Trailhead Challenges  #Salesforce Developer  #Reports & Dashboards  #Solution Architects  #Sales Cloud

2 respostas
  1. Hoje, 19:07

    The behaviour you describe is almost always caused by how the country folders are shared, plus a couple of report settings, and the clean fix is to stop using the role hierarchy for folder access altogether. 

     

    Why access disappears after the role move 

    Report folder sharing does not roll up the hierarchy the way record sharing does. If the Country A folder is shared with the role "Sales Rep Country A" (or "Roles and Subordinates" of a Country A/Regional role), the grant only applies to users in that role (or below it). A user you move up to Global Management is no longer in that branch, so they silently lose Viewer access to the folder even though they now see more records. 

     

    Why reports come back empty or error 

    1. Scope filters that depend on the user's position: "My Team's Opportunities/Accounts", "My Territory's...", or "My Records" only return records owned by the user and their subordinates. From Global Management the subordinates are different, so the result set changes. 

    2. Filters on role fields, for example "Owner Role equals Sales Rep Country A", or relative filters like "Owner Role = my role", stop matching. 

    3. Sharing recalculation: after a role change Salesforce recalculates group membership and sharing, which can take a while in large orgs (or be delayed if deferred sharing maintenance is on), so reports can look incomplete for a short time. 

    4. Errors usually mean the report now lives in a folder the user cannot access, or it references a report type/field the user no longer has permission to see. 

     

    Recommended architecture: decouple the three concerns 

    1. Role = reporting line and record ownership. Keep product managers in the role that reflects their real position (country or regional) and stop moving them. 

    2. Record visibility = sharing rules or permissions. Give global viewers read access to all Accounts/Opportunities with a permission set that grants "View All" on those objects (or criteria/ownership-based sharing rules to a public group, if you want to limit it by country or record type). This works independently of their role. 

    3. Folder access = public groups. Create groups such as "Reports - Country A Viewers" and "Reports - Global Viewers", share each country folder with the relevant groups (Viewer access), and put the product managers in the global group. Groups can also contain roles or roles and subordinates, so local teams keep their access automatically. 

    4. Build cross-country reports with scope "All Accounts/Opportunities" and explicit country filters instead of "My Team's" scopes, so the same report works for everyone and simply returns what the running user can see. 

     

    References: 

    Share a Lightning Report or Dashboard Folder:

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

     

    Create and Edit Public Groups:

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

     

    Sharing Rules overview:

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

     

    Trailhead, Data Security (Control Access to Records):

    https://trailhead.salesforce.com/content/learn/modules/data_security

     

     

    Assumption: I am assuming your folders are currently shared with roles (or roles and subordinates) and that the empty reports use "My Team's"-type scopes or role-based filters; if the folders are shared with groups already, please check the report scope and filters of one affected report and share them here.

0/9000
2 respostas
  1. Hoje, 19:19

    Il peut s'agir d'un problème temporaire ; fermer et rouvrir le navigateur pourrait donc le résoudre. Essayez également de vider le cache du navigateur, ainsi que de vous déconnecter puis de vous reconnecter.

0/9000
1 resposta
  1. Hoje, 19:17

    This sounds like the "Create Prompts" unit of the User Engagement module, where you build the targeted prompt "Get Help Anywhere in the Console App" in the Sales Console. In that unit the custom theme color is optional ("If you want to select a custom theme color..."), so if the challenge check complains about the theme being set to Dark, the simplest fix is to edit the prompt and remove the custom color (or switch it to Light), then check the challenge again. 

     

    How to edit a prompt that is already active: 

    1. In your Trailhead Playground, go to Setup, type "in-app" in Quick Find and open In-App Guidance. 

    2. Find "Get Help Anywhere in the Console App" and from the row-level action menu choose Edit. The In-App Guidance Builder opens in a new tab. (If the builder opens on another app, use the App Launcher to open Sales Console.) 

    3. In the builder bar, open the "On This Page" list and select the prompt, then click Edit. 

    4. On the position/appearance step, uncheck "Use a custom color for in-app guidance" (or keep it and choose Light), click Next, and Save. 

    5. Click Settings in the builder header if you also need to verify the action button URL, schedule (End Date about 3 months out, Show when the page loads, Times to Show 2, Days In Between 5), profile/permission options and the API Name GetHelpAnywhereintheConsoleApp. 

    6. Click Done and run the challenge check again. 

     

    If the Edit option is greyed out or the builder won't save, an alternative is to delete the prompt from the In-App Guidance page and recreate it following the unit steps without choosing a custom color. Also make sure the Trusted URL for

    help.salesforce.com

    (API name help_salesforce_com, img-src enabled) exists, since the same challenge checks it. 

     

    Unit:

    https://trailhead.salesforce.com/content/learn/modules/user-engagement/create-in-app-prompts

     

    Considerations for Creating In-App Guidance:

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

     

     

    Assumption: your post doesn't include the exact error text or unit name, so I am assuming it is this unit and that the checker message refers to the prompt's custom theme. If it is a different unit, please paste the full error message and the unit link.

0/9000

Hi everyone,

I need an architectural sanity check on a security requirement. I want to avoid hitting platform limits down the road and would appreciate some feedback on whether this can be safely achieved using Schedule-Triggered Flows or whether Scheduled Batch Apex would be required.

Context

  • We are changing the Organization-Wide Defaults (OWD) of the standard Quote object from Controlled by Parent to Private.
  • We receive an integration feed from an external system that creates or updates up to approximately 80 Quotes per Account per day. Quotes can also be created manually in Salesforce.
  • Quotes contain two custom Account lookups: Sold-To and Bill-To.
  • We have both Quotes with and without Opportunities.

Requirement

  • The Account Owner of the Sold-To Account and the Account Owner of the Bill-To Account must have Read-Only access to the related Quote.
  • When the Account Owner changes, access to the related Quotes must be updated accordingly, including removing the previous owner's access and granting access to the new owner.
  • The required access is managed through QuoteShare records with RowCause = Manual.

Architectural Question

Given the expected Quote volume and the need to automate the insertion and cleanup of QuoteShare records following Account ownership changes:

  • Is this approach feasible using a standard Schedule-Triggered Flow, or would Scheduled Batch Apex be required to ensure scalability and avoid governor limits?
  • What would be the cleanest architectural pattern for handling the cleanup and creation of Manual QuoteShare records when Account ownership changes?

Thanks for your guidance!

 

 

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

 

 

#Trailhead Challenges  #Salesforce Developer  #Salesforce Admin  #Salesforce  #Flow  #Apex

2 respostas
  1. Hoje, 18:14

    Thank you for the explanation, @sakshi nagpal. I reviewed with my colleagues and the current information I got is that the sales reps won't impossibly generate to 80 quotes a day per account even as an approx. . So, then do you still see a risk by using a scheduled flow than APEX?. I would appreciate your guidance.

0/9000

Hi everyone,

I have a question regarding the “Create Quotes without Opportunities” feature and a potential future requirement involving Orders.

 

After enabling the “Create Quotes without Opportunities” feature, Salesforce automatically provides the QuoteAccountId field on the Quote object. For Quotes created without an Opportunity, the Account relationship is stored in QuoteAccountId, while the standard AccountId is not populated.

 

Would it be technically possible to populate the standard AccountId field with the value from QuoteAccountId

for Quotes created without an Opportunity?. 

 

The reason for considering this is that Orders will be used in the future, and the standard Account relationship may be required for the Order process.

Would populating AccountId = QuoteAccountId be a supported and recommended approach, or are there any Salesforce limitations or implications we should consider when working with Quotes without Opportunities? or any workaround?.

Thanks for your guidance! 

 

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

 

 

#Trailhead Challenges  #Trailhead  #Salesforce Developer  #Salesforce Admin  #Salesforce  #Flow  #Data Management  #Apex  #Sales Cloud

2 respostas
  1. Hoje, 15:17

     

    Short answer: you generally cannot (and do not need to) write QuoteAccountId into the standard Quote.AccountId field. On the Quote object, AccountId is a system-derived, read-only reference that Salesforce fills from the related Opportunity's Account. It is not createable/updateable through the UI, Flow, Apex or the API, so an update like AccountId = QuoteAccountId will be rejected or ignored. For quotes created without an Opportunity, QuoteAccountId (label "Account for Quote") is the field Salesforce intends you to use as the account relationship. 

     

    For your future Order process this is already covered: Salesforce's documentation for quotes without opportunities says associating the quote to an account is optional but recommended, because an account is required to convert the quote to an order. When you create an Order from such a quote, the account comes from the quote's account (QuoteAccountId), so you don't need Quote.AccountId populated. 

     

    Practical recommendations: 

    1. Make QuoteAccountId required (validation rule, e.g. ISBLANK(OpportunityId) && ISBLANK(QuoteAccountId)) so every quote can be turned into an Order. 

    2. After enabling the feature, open Object Manager > Quote > Fields > Account for Quote and grant field-level security to your profiles/permission sets. It is hidden by default, which is why it often looks unavailable in Flow, reports and Apex. 

    3. In reports, flows, sharing logic and Apex, use one source of truth, for example a formula field BLANKVALUE(QuoteAccountId, Opportunity.AccountId), so logic works for quotes with and without an Opportunity. 

    4. If you create Orders yourself via Flow/Apex (rather than the standard Create Order action), set Order.AccountId = Quote.QuoteAccountId and Order.QuoteId = Quote.Id. 

     

    References: 

    Enable Quote Creation Without a Related Opportunity:

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

     

    Release note, Create Quotes Without a Related Opportunity:

    https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_quotes_without_opportunities.htm&release=244&type=5

     

    Quote object reference:

    https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_quote.htm

     

     

    Assumption: the statement that Quote.AccountId is read-only is based on the Quote object reference field properties and commonly reported org behaviour; please confirm in a sandbox (e.g. attempt the update in a Flow or Developer Console) before designing around it.

0/9000
1 resposta
  1. Ajaypreet Singh Saini (Grantbook) Forum Ambassador
    Hoje, 15:31

    Hey @ASHISH RAI, can you try with a new org? 

    If it still shows in the new org as well, feel free to share the error sreenshot

0/9000

I am working on Agentblazer Legend 2026.  In particular:

Become an Agentblazer Legend 2026 > Agent Customization with Flows > Add a Flow as an Agent Action

 

The account “Coral Cloud Booking Agent” is not showing.  This appears to be a common issue according to the Ask the Community forum.  I have tried several Playgrounds and Developer Editions, but I cannot find one with “Coral Cloud Booking Agent”.  I have created a new agent, but I error out as I need Flows  I have even tried to copy the “Coral Cloud Experience Agent” as suggested, but no dice.

 

Can someone provide some insight or a Playground/Developer Edition that may work.  Or, other steps that have been taken. 

 

#Trailhead Challenges

3 respostas
  1. Hoje, 14:20

    Same issue: I've created the org twice in the trail exactly the way that was requested, turned off/on Einstein, but still Booking agent not available for me. I wonder if I continue with another agent - or can I find the confg details of the booking agent so I can create one myself?  

    Thank you for help!

0/9000

Trailhead challenge-- Bring External Data into the Contact Page Layout 

In contact page layout I have added data cloud related list but giving below error, while data model object has correctly mapped  

UNKNOWN_EXCEPTION: An unexpected error occurred. Please include this ErrorId if you contact support: 1364961951-436606 (-1719234624) 

 

Error in data cloud related list

 

  

 

#Trailhead Challenges

1 resposta
  1. Hoje, 14:12

    Hi @Smita Arora

     

    This error can occur if the ExternalReservation → Contact relationship is not active/configured correctly. 

    Please try the following: 

    1.  Go to Data Cloud → Data Model → ExternalReservation. 
    2.  Open Relationships → Edit. 
    3.  Enable Show inactive relationships. 
    4.  Check that the Contact ID relationship to Contact/Individual is active. 
    5.  Save the relationship and refresh the page. 
    6.  Then go back to Setup → Object Manager → Contact → Data Cloud Related List and verify the ExternalReservation related list again. 

     

    Also make sure the Data Streams show Success and contain records before testing the related list. The Trailhead module notes that data-stream processing can take some time.  

     

    If the issue still occurs, I would recommend creating a fresh Trailhead Data 360 playground and repeating the setup, as similar UNKNOWN_EXCEPTION issues have been reported in this challenge.  

     

    If you find this response helpful, please mark it as the Accepted Answer, as it may also help other Trailblazers. 

0/9000