Skip to main content

#Automation49 debatiendo

Hi all! I think I can't get around this but I'm wondering if anyone has any ideas. I have two lines of business (line a and line b) and line b wants to see some information from line a. Previously this has not been needed or possible. 

 

I have managed (using a looking field on the opportunity and a sharing rule) to make that happen. The problem is that if line b runs an account report (for example) they get line a info and we don't want that to happen. If I remove the sharing rule that makes this whole thing work - what I created falls apart. 

 

I'm thinking the only way is do something thing that would require a LOT of work and probably involve bringing in a developer - one or more of the following 

- custom dl account reference object 

- screen flow search 

- custom LWC 

anyone have any other thoughts/ideas? 

Thank you in advance as always for any help!  :) 

 

#Salesforce Admin  #Salesforce  #Sales Cloud  #Automation

3 respuestas
  1. 23 oct, 11:20

    Your instinct about the screen flow is right, and it doesn't have to need a developer. 

     

    The core issue is that sharing is all-or-nothing at the record level. Once line B can see a line A Account, it shows up in every report, list view and search. You can't share a record for one screen but hide it in reports. 

     

    So flip the approach: 

     

    1. Remove the sharing rule, so line A Accounts stay private to line A. 

    2. Build the screen flow you mentioned, launched from a button on the Opportunity, and set it to run in "System Context Without Sharing". The flow can read the line A record through your lookup and display only the specific fields line B needs. 

     

    3. Show it on the Opportunity page as a screen flow component or quick action, so there are no reports and no broad visibility. 

     

    Watch out: system context also bypasses field-level security. Be deliberate about which fields the flow displays, and document it for your security or audit team (relevant at a firm like yours). 

     

    If line B also needs to report on that information, add a small custom object or a few fields on the Opportunity, filled by a record-triggered flow with a copy of just the fields they need. That gives line B something reportable without opening up the Account.

0/9000

Hi everyone,

I’m working on a Tableau dashboard where users select a Mission ID using a filter dropdown.

Some Mission IDs are milestone-based, while others are not.

I have a field [Milestone Rank], and the condition for a milestone-based Mission ID is:

COUNTD([Milestone Rank]) > 0

I have a separate dashboard section containing several milestone-related charts. What I want is:

  •  If the selected Mission ID is milestone-based → show the milestone section. 
  •  If the selected Mission ID is not milestone-based → completely hide the milestone section. 
  •  When the section is hidden, I also want the empty space to collapse, rather than leaving a blank area. 
  •  The Mission ID list comes from the database, so new Mission IDs can be added over time. 
  •  Ideally, I want to keep the Mission ID as a filter dropdown, rather than requiring the user to manually change another Show/Hide parameter. 

I tried using Dynamic Zone Visibility, but Tableau does not show my Boolean calculated field as an available value for “Control visibility using value.”

I also tried a Boolean parameter for Show/Hide, but then the user has to manually change the parameter every time they select a different Mission ID, which isn't practical.

Is there a way to make Dynamic Zone Visibility respond automatically to the selected Mission ID while keeping the Mission ID as a filter?

If not, what would be the recommended Tableau approach for achieving:

Mission ID filter → detect whether milestone exists → automatically show/hide a dashboard zone → collapse the space when hidden?

Thanks! 

 

#Tableau Desktop & Web Authoring  #Reports & Dashboards  #Tableau Cloud  #Automation  #Analytics

4 respuestas
  1. 22 oct, 09:10

    Chris's set idea is the right way, I built it on Superstore to make sure it really drives the zone (screenshots below). A few details that made it work:  

     

    Create a set on Mission ID (right-click the field > Create > Set) and use it in place of the Mission ID filter, so every sheet that was filtered by Mission ID now has the set on Filters showing IN. Then right-click the set > Show Set, and on the card's menu choose Single Value (dropdown). For your users it looks almost the same as the dropdown they have now, the only difference is there's no (All) option in single value mode.  

     

    Keep the set dropdown outside the container you hide. If it sits inside it, it disappears with the section and nobody can switch back.  

     

    The visibility field must be one value for the whole workbook, so the whole comparison goes inside the braces:  

     

    { FIXED : COUNTD(IF [Mission ID Set] THEN [Milestone Rank] END) > 0 }   

     

    Written as { ... } > 0 it won't show up in the list, that's the bit Chris mentioned. And because it's a FIXED, normal filters don't affect it. If another filter on the dashboard should count too (date, region...), right click it and Add to Context.  

     

    Put the milestone sheets in one tiled container, select the container, go to the Layout tab, tick Control visibility using value and pick the field. When it's False the container goes away and the tiled items around it take the space, so no blank area.  

     

    In my test the field is "does the selected state have any order with a 50% or bigger discount": Texas shows the section, California hides it. Same structure as yours, just swap in Mission ID and Milestone Rank.  

     

     

    Chris's set idea is the right way, I built it on Superstore to make sure it really drives the zone (screenshots below).

     

     

    dzv-set-california.png

     

     

0/9000

Hi all, I just failed my Salesforce Admin Certification for the second time and now I have to wait until the new Spring release quiz after April 23, 2026. I’m wondering if anyone has been in this situation and how did you prepare to succeed on your third attempt…especially with my next attempt coming with a brand new releases of questions. Definitely down and feeling like I will never pass this cert, any help or guidance would be greatly appreciated!

#Certifications #Salesforce Admin #Admin #Systems Administrator #SFDC Admin Certification #Saleforce Administrator #Beginner Level Adminstrator #Administrator #Cert #Automation
3 comentarios
0/9000

I’m working with a Salesforce Flow that processes a relatively large number of records, and I’m looking for ways to improve its performance and reliability. 

 

The Flow currently performs several record queries and updates during execution. As the amount of data increases

,

the Flow takes longer to complete and can sometimes approach Salesforce governor limits. 

 

What are some recommended approaches for optimizing a Flow in this situation? For example, would reducing Get Records operations, using collections more effectively, or moving some logic to Apex help? 

 

I’d appreciate any practical suggestions or best practices for designing scalable Salesforce Flows. 

 

#Salesforce Platform  #*saleforce Platform Basic* - Understand The Salesforce Architecture  #Flows  #Slack Developers  #Automation

4 respuestas
  1. 16 oct, 13:30

    The first thing to check is whether the Flow is querying or updating records inside a loop. That can quickly become a problem as record volumes grow. 

     

    A few things that usually help: 

     

    • Move Get Records and Update Records operations outside loops wherever possible.
    • Use record collections to process multiple records together instead of updating them one at a time.
    • Filter queries carefully and retrieve only the fields and records you need.
    • If the logic involves complex processing or large data volumes, consider Apex or Batch Apex. Salesforce Flow isn’t always the best fit for every workload.

    One other thing to consider: if a significant part of the Flow handles lead-to-account matching or lead assignment, you may be able to move that responsibility to a dedicated tool rather than maintaining all the logic in Flow. LeadAngel, for example, handles lead-to-account matching, deduplication, and lead routing alongside Salesforce. That won't fix inefficient Flow queries directly, but it may help simplify the routing and matching logic your team needs to maintain. 

     

    I’d start by checking the Flow’s debug details and identifying which queries or updates are consuming the most resources before deciding whether to refactor it or move part of the processing to Apex. 

0/9000

Hey Trailblazers 👋 

 

Sharing a new update to Salesforce Metadata Navigator: manage queue and group membership directly from the extension. 

 

You can now:

🔎 Search for queues and groups 

➕ Add members 

➖ Remove members

All in a few clicks, from one place. 

 

Whether you’re onboarding someone or updating membership after a team change, the goal is simple: reduce repetitive Setup navigation and make everyday admin tasks easier. 

 

Watch the demo below 👇 

Hey Trailblazers 👋 Sharing a new update to Salesforce Metadata Navigator: manage queue and group membership directly from the extension.

 

 

 

Try the extension: 

https://chromewebstore.google.com/detail/salesforce-metadata-navig/bhhjfabaooemhhmiigmcemjelhmjhmkf

 

 

If you manage queues and groups regularly, what would make this workflow more useful for you?

#Salesforce Developer #Salesforceadmins #TrailblazerCommunity

 

#Salesforce @* Release Readiness Trailblazers *@* Salesforce Administrators *@Admin Tricks #RRTreasureHunts #New Releases #Automation

0/9000

Hi everyone,

I am designing a Data Cloud flow where a CRM staging object is regularly purged due to retention rules. In Data Cloud, we need to keep the processed data in a permanent target table for audit purposes, even after the source records are deleted.

With UI-based Batch Data Transforms, platform-managed Full Refreshes periodically rebuild the target table from scratch based only on current source data. This would wipe out our historical target records once the source is purged.

I want to confirm how Python Custom Code Extensions (PySpark SDK) handle this:

  1. When using client.write_to_dmo(..., write_mode=WriteMode.APPEND), does PySpark strictly append new rows without ever wiping or truncating the target table?
  2. Is PySpark execution completely immune to automatic platform Full Refreshes, meaning Data Cloud will never automatically wipe and rebuild a target table written via Custom Code?
  3. Under WriteMode.MERGE, if a record is deleted from the source table, can we confirm it remains untouched in the target table rather than being deleted?

Has anyone implemented this pattern for keeping permanent history from short-lived staging sources in Data Cloud?

Thanks!  

 

#Data360  #Automation

2 respuestas
  1. 21 sept, 20:46

    Hi Alessandro,

    Regarding your design pattern for preserving historical audit records from short-lived staging sources in Data Cloud, here are the technical confirmations for how PySpark Custom Code Extensions handle write operations: 

     

    1.WriteMode.APPEND Execution:Append Behavior. 

    When using client.write_to_dmo(..., write_mode=WriteMode.APPEND), PySpark strictly appends new incoming rows to the target Data Model Object (DMO) or Data Lake Object (DLO) without truncating or wiping existing data. It will never automatically rebuild or clear out historical rows. 

     

    2.Immunity to Full Refreshes:Platform Independence. 

    PySpark code execution is completely separate from the platform-managed Full Refresh schedules used by standard UI Batch Data Transforms. Data Cloud will not automatically trigger a full rebuild or drop table operation on targets populated via Custom Code Extensions. 

     

    3.WriteMode.MERGE and Source Deletions:Merge Behavior on Deletions. 

    Under WriteMode.MERGE, records that are deleted or purged from the source staging table remain untouched and preserved in the target table. Merge updates or inserts matching records based on keys, but it does not propagate source deletions to remove historical records from the target.

0/9000
Nich Weidman preguntó en #Flows

We have a process we're updating that involves sending out an automated email when a new record is created on a custom object.  Everything tested out in Sandbox, but when migrated to Prod, two slightly different emails are triggering when I test.  Talking with the internal customer, they said, "Yeah, that's always been going out," but they don't know who originally set it up.   

 

  • It would have been set some time before me...but it's not triggering in Preprod, which has been refreshed recently - so I'd think it would.
  • Checking Flow triggers, the only other flow triggering off of that custom object updates a field - there are no send email elements to it.
  • I don't see any legacy email alerts or Workflow actions for it
  • I turned off my Flow, opened a debug log on the automated process user, and nothing generated when I triggered that mystery email (that still came through.)

 

I'm kind of at a loss to figure out where to check from here. 

 

#Flows  #Email  #Flow  #Automation

3 respuestas
  1. Smitha Thomas (CIBC) Forum Ambassador
    5 oct, 23:27

    Hi @Nich Weidman

     

    When Salesforce sends a system email, it includes special header fields that identify the source organization and user. To identify the source, locate the following fields in the raw email headers:

    • X-SFDC-LK — The Salesforce Organization ID (the 15- or 18-character org ID of the org that sent the email).
    • X-SFDC-User — The Salesforce User ID of the user whose automation triggered the email.
    • X-SFDC-EntityId — The record ID of the Salesforce entity (such as a workflow rule or report) that triggered the email.
    • X-SFDC-Emailcategory — The category of the email (for example, workflow, report, or Chatter digest).
    • X-SFDC-ORGTYPE — The type of org that sent the email. Note: this field only appears in emails sent from Free or Trial orgs. It does not appear for production, sandbox, or developer org emails.

    Important:

    Use the original .msg formatted email — not a forwarded copy. Forwarding an email overwrites the original headers, making it impossible to identify the source org. 

     

    Find the User Id from

    X-SFDC-User

    then go to set up and add a Debug trace for the user and then triggert the email. This will create a debug log for you to read and find the source. 

     

    Check out these articles for more info:

    1. Find the email headers for emails
    2. How to Identify the Salesforce Organization That Sent a System Notification Email 

       

0/9000

Anyone have any flows they are created to do either of these functions? 

Any resources out there that you know of?  

Would appreciate any comments 

 

#Trailhead Challenges  #Trailhead  #Salesforce Developer  #Salesforce Admin  #Salesforce  #TrailblazerCommunity  #Flow  #Sales Cloud  #Automation

3 respuestas
  1. 5 oct, 19:01

    What are you trying to accomplish outside of the native tools?  If you can give a scenario, then the community might be better able to assist you.  As your question reads, @Vishal Verma provided the best answer - as a rule of thumb, it is always better to use out of the box functionality in Saleforce because it scales better. :)

0/9000

so currently I'm making my own chatbot app, I'm training my own AI using machine learning and NLP for that app but how am I supposed to implement that AI model into Salesforce.. basically I want to make a UI and provide a database for that app, so what kind of salesforce technologies can help me to make a UI and to provide an overall backend + any additional tips?

#Sales Cloud #Salesforce Developer #Service Cloud #Experience Cloud #Integration #CRM Configuration #Automation 

2 respuestas
  1. 2 oct, 10:54

    For a chatbot interface, I would keep the first screen very simple. Give users a few clear options and an obvious place to type their question. A visible route to human support is important too. Then test the interface with ordinary users. Their confusion will quickly reveal what needs changing.

0/9000

Ever wish you could grab Salesforce field API names without leaving the record page? 😅 

 

Yes, tools like Salesforce Inspector can help with API names too. 

 

But I wanted something more seamless with Salesforce Metada Navigator

 

👉 You're already on the Record Details page  

👉 Click Show/Copy API 

👉 See the API names right next to the fields 

👉 Ctrl + Click to select multiple API names 

👉 Copy them all at once 

👉 Paste directly into the SOQL Query Editor 

 

And here's the part that saves even more time:

The copied API names are automatically converted into SOQL format. ⚡

No opening another tab. 

No jumping between pages. 

No copying fields one by one. 

No manually formatting your query. 

 

Just:

Record Page → Select Fields → Copy → Paste → SOQL 🚀 

 

It's a small feature, but these are the kinds of small workflow improvements that can save a surprising amount of time when you're working in Salesforce every day. 

 

Ever wish you could grab Salesforce field API names without leaving the record page? 😅 Yes, tools like Salesforce Inspector can help with API names too.

 

#Salesforce @* Release Readiness Trailblazers *@* Salesforce Administrators *@Admin Tricks #RRTreasureHunts #New Releases #Automation

0/9000