Skip to main content

#Security72 discussing

Hello All, 

We are currently facing an issue with the Salesforce Connector for Google Sheets. We have been unable to export Salesforce reports to Google Sheets using the connector. 

We are receiving the following error message: 

"In order to get all of the report data, disconnect and re-authorize the Add-on from Salesforce using Help > Connection Information > Disconnect Add-on. Once disconnected, log in to Salesforce again using the Add-on." 

Based on our initial findings, we suspect that this issue may have been caused by the recent MFA enforcement in the Production environment.  

Each time a user tries to export a report, a new verification window opens and asks for an MFA verification code.

We are using the Salesforce Connector and have followed the instructions provided in the error message. After reconnecting, the export works only up to 2,000 records, and then the connection fails again.

Is there any workaround or recommended solution to prevent repeated MFA prompts and allow users to export reports successfully?

 

 

 

#Salesforce Admin  #Security  #MFA  #Salesforce_connector

20 comments
  1. Today, 8:30 AM

    Same issue on our side. In the footer we only see the total number of records, with no disclaimer. If the report has summed number fields, the totals also appear at the bottom. 

     

    This is clearly linked to how the connector retrieves data for reports with more than 2000 rows. Switching to SOQL queries would fix it, but it means rebuilding many of our Google Sheets dashboards. 

     

    I think the only way to get Google to look at this is to leave as many reviews as possible on the Google Workspace Marketplace page of the add-on. 

     

    Alternatives identified so far:

    • SOQL queries in the connector instead of reports. These are not limited to 2000 rows, but the format of the results can differ.
    • Paid extensions such as Coefficient or G-Connector for Salesforce (Xappex), which can import reports beyond the limit.
    • Apps Script in Google Sheets calling the Salesforce REST API with SOQL and pagination. This is free but needs development and maintenance, and the Reports API would hit the same limit.

    If anyone has found another workaround, please share.

0/9000

#Salesforce #Salesforce Admin #Permissionset #Security How would you troubleshoot a user who cannot access a specific object or field, using Profiles, Permission Sets, Permission Set Groups, Field-Level Security, and Object Permissions?

2 answers
  1. Oct 18, 1:05 PM

    Hi @M Anjil Reddy Good question! Profiles provide baseline user access, Permission Sets grant additional permissions, and Permission Set Groups combine multiple permission sets for easier access management.

    If a user cannot access an object or field, I would check:

    1. Profile: Verify the user's assigned profile.
    2. Object Permissions: Check Read, Create, Edit, and Delete access.
    3. Permission Sets: Verify assigned permissions.
    4. Permission Set Groups: Check group assignments and muting permissions.
    5. Field-Level Security: Confirm field Read/Edit access.
    6. Record Access: Check OWD, sharing rules, and role hierarchy if the object is accessible but records are not.

    My suggestion: Use the User Access Summary to identify effective permissions before making changes.

    📘 Salesforce Security Guide – Trailhead

    Hope this helps!

0/9000

Most of my users fall in the privileged user category.   How do we get them logged into the mobile app?   

 

I am trying to get myself logged in to the app, and after entering my username and password, I get the Verify Your Identity button.  Which, when clicked, does nothing.   The Having Trouble link just brings me to the Built-In Authenticators help document. 

 

I have cleared my cache and cookies, uninstalled and reinstalled the app, and I've done the Login for Admin, which worked, but didn't get me into the standalone app. 

   I have checked and all users have API Enabled   

How do we get users who almost strictly work in the mobile app logged in?

2 answers
  1. Oct 14, 8:40 PM

    Hi Samantha! Did you ever get this sorted out? We're having the same issue with our org.

0/9000

Hey there,  

 

I was reading the 

KB article 

on asynchronous sharing recalculation after group membership or role changes (the one about high ownership skew). It only talks about users who own hundreds of thousands of records, and it never mentions queues. 

 

My thinking is that queues probably aren't affected. A queue has no role or profile and isn't a user. But queue membership changes do update the same group tables, and a queue can own a huge number of records, so I can't rule it out. 

 

Has anyone tested this or heard it confirmed? If you've changed membership on a big queue, did you see the async recalculation show up in the Setup Audit Trail or under Background Jobs? 

 

I'm trying to figure out if our Apex tests and flows that touch queue membership need a look. 

 

Thanks! 

Mit 

 cc@Chad Good

#Release Updates Announcements  #Security  #Sharing Setting

1 answer
  1. Oct 14, 6:58 PM

    @Mit Chandola The KB article you read focuses on User Ownership Skew. When a User owns more than 10,000 records, their position in the sharing architecture is heavily embedded in the platform's security model. If that User changes Roles or is moved in/out of a Public Group, Salesforce must re-evaluate the sharing access for every single record they own. Because the Role Hierarchy or Owner-Based Sharing Rules might now dictate that entirely different branches of the company should (or shouldn't) see those 10,000+ records, Salesforce pushes this massive row-level update to an asynchronous background job to prevent system lockups.  

    Queues operate completely differently under the hood:

    • No Roles: Queues do not sit in the Role Hierarchy.
    • No Public Group Memberships: Queues cannot be placed inside Public Groups for the sake of Owner-Based Sharing Rules.
    • Pointer-Based Access: When a Queue owns 500,000 records, the internal [Object]Share tables do not write individual rows for every user in the queue. They simply write one pointer per record where the UserOrGroupId equals the Queue's ID.

    When your Flow or Apex adds a user to a queue, Salesforce only inserts a single row into the GroupMember table. The sharing engine dynamically looks at this table at runtime to determine who has access to the queue's contents.

    Because the underlying [Object]Share rows for the records are never actually modified or re-evaluated, there is no massive recalculation required. The group maintenance is handled synchronously and nearly instantly. You will not see an async job pop up in the Background Jobs or Setup Audit Trail for this action.

    While you don't have to worry about asynchronous sharing recalculation, you should still keep an eye out for Group Membership Skew. If your Apex or Flow is trying to add or remove members from a queue that contains tens of thousands of nested users or public groups, you could hit synchronous CPU time limits or UNABLE_TO_LOCK_ROW errors on the Group or GroupMember tables.

    As long as your queue memberships are relatively normal in size, your current automation does not need to be refactored to account for async delays. 

0/9000

A user has the required Profile and Permission Sets but still cannot view certain Account records. How would you troubleshoot this issue? Which sharing and security settings would you check first? 

 

#Trailhead Challenges #Security

1 answer
  1. Oct 14, 4:10 PM

    Hi @Durga Prasad Karnaty Even if a user has object access, record-level security may still prevent them from viewing certain Account records.

    I would check a few things:

    1. OWD: Check whether Account sharing is set to Private.
    2. Role Hierarchy: Verify if the user's role provides access.
    3. Sharing Rules: Check whether any rules grant access to those records.
    4. Manual Sharing: Check if the records are shared with the user.
    5. Account Teams: Verify if the user is part of the Account Team.
    6. Permissions: Check for View All or View All Data permissions.

    Start with Sharing Hierarchy to understand who has access and why, then check the missing sharing permissions.

    Hope this helps!

0/9000
MS Outlook uses PST (Personal Storage Table) file format to store your mails and other mailbox items. There is a limited size of PST file and if it exceeds that size limit, then the file becomes corrupted.Microsoft outlook does not provide any facility to directly split large pst file into small pst file.  

MS Outlook uses two types of PST files, one is ANSI PST and the other is Unicode PST.

1. The ANSI PST file format has a size limit of 2 GB and was used with MS Outlook 2002 and earlier versions.

2. Unicode PST file provides up to 20 GB size limit, which is used with MS Outlook 2003 and its later versions.

Heavy and Oversized PST contributes equally in making PST management challenging. As size of PST increases more than its limitation then users have to face lots of problems.Outlook users need to manage their PST file size properly time to time. Reduction of PST files size necessary for better file management. But as you reduce PST file size, there would be possibility of data loss.

Don't Worry Reduce PST file Size without any loss!!

Splitting a pst file can be done wtih Archive feature in Outlook. But split through archives prcoess can take yearly (or any other amount such as quarterly, or every 2 years.

I've had the same problem with oversized PST some time ago, so I found best Split PST Tool – Split Large PST Files into Small Ones divides PST file into manageable and smaller PST files as per the specific criterion like size, date, folder and email id, and protects them from any corruption issues because of file size limits.Performs risk-free operation of PST file splitting without making any change on the content or structure of original PST file and the original formatting or RTF and HTML messages.

 

Split PST File into smaller Parts

{ Also available in Corporate License and Home User’s License }

Download now : http://www.mannatsoftware.com/stellar-phoenix-split-pst.html

 
27 answers
  1. Oct 13, 9:03 AM

    If you're looking for a reliable PST splitter tool to manage large Outlook data files, Kernel for PST Split

    is a good option to consider. It helps you divide large PST files into smaller files based on size, date range, or sender's email address. 

     

    The tool also lets you select specific folders for splitting, preserves the original folder hierarchy, and supports both ANSI and Unicode PST formats. Its simple interface makes it convenient for users who want to organize their Outlook data without manually moving emails between files.

0/9000

#Trailhead #Salesforce #Security #Permissionset For interviews, how deeply should a fresher understand Salesforce security concepts such as OWD, Role Hierarchy, Sharing Rules, Profiles, and Permission Sets? 

2 answers
  1. Oct 9, 2:33 PM

    Hi @ROHIT PIPPERA

     

    As a fresher, you don't need advanced knowledge of Salesforce security, but you should be strong in the basics. 

     

    Focus on these key concepts:

    1. OWD: Understand Private, Public Read Only, and Public Read/Write.
    2. Role Hierarchy: Know how managers can access their team's records.
    3. Sharing Rules: Understand how to provide additional record access.
    4. Profiles: Learn about baseline user permissions.
    5. Permission Sets: Know how to provide extra permissions without changing profiles.
    6. Field-Level Security: Understand how to control field visibility and edit access.

    My suggestion:

     Don't just learn definitions. Create a few users in a practice org and test different security scenarios. 

     

    Interviewers may ask why two users with the same profile can see different records or why a user can view a record but cannot edit it.

    If you can explain these scenarios confidently, you're well-prepared for fresher-level interviews. 

     

    All the best! 

     

    Thank you, 

    Venkat Yadav.

0/9000

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 answers
  1. Oct 6, 4:13 PM

    @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

Today I have facing an issue, In my project we have some developer sandboxes. After sandbox refresh action completed, Currently we are unable to verify the email for the non admin users (users whom are not mentioned in the public group which can mentioned during sandbox refresh process). Means, Once sandbox refresh done, We unfreeze the active user and update his original email and that user have received the verification email with verification link. But during clicking the verification link, it's required login to confirm the email address. 

 

But you know, That user doesn't able to login into salesforce because the sandbox just refreshed and user doesn't have the access for the org, We actually ask the user to confirm the email for perform the "password reset" action for that user to enable the access for the org. 

 

So how to by pass this "Login required" behaviour and verify the email link as like previous from the email directly? 

 

Even I have disabled the Permission "

Require identity verification for email address changes" from Identity Verification settings as per Salesforce docs.

 

But still the behaviour is same, So anyone know how to fix/bypass this? 

 

Any help appriciated. 

 

#Salesforce Admin #Sandboxes #Security #Identity and Access Management #Salesforce

 

Thanks, 

Mohanraj S 

 

 

3 answers
  1. Oct 6, 4:12 PM

    @Mohanraj S

    we recently also had an issue in a Sandbox for a user we wanted to update email. The email update went into a loop that did not work.  

     

    After working with Salesforce support, what unblocked us was to clear cache in that case.  

    Previous checks: 

    1. Verify that user was not frozen.
    2. Confirmed through screen share they were following the steps required to update email.

    Once pasting the email ina private window web page, they were able to complete the process. 

0/9000

Our Tableau server's SSL certificate (from GoDaddy) expired today so we installed a new one. Users who browse to our Tableau site with Chrome or with Edge have no problems and the browsers indicate that the cert is trusted and good until March. However, three of our users are using Tableau Desktop 26.2.2783. One of them tried to use 'activate by logging into a server' and chose our Tableau server, but received the error 'cannot connect to Tableau Server, server's certificate is not trusted'. 

 

I have confirmed that this user has no problems accessing our Tableau site via browser. it's just the app that gets the certificate error. 

 

#Tableau Desktop & Web Authoring  #Security

2 answers
  1. Oct 1, 4:24 PM

    Thank you for the suggestion. I followed the steps in the link about clearing them manually, but for some reason, the error persisted. In the end what solved the problem was this: the certificate files we were using were IIS files, and came in the form of a .crt file, a PEM file, and an IIS intermediates .p7b file. I installed the CRT file to the user's certificate stores without a problem, but when I attempted to install the p7b file, Windows said it could not verify that the file was actually from GoDaddy (despite my having downloaded the file directly from the site). I had the machine install the file to the certificate store anyway, and afterwards Tableau Desktop was willing to start and activate properly. 

     

0/9000