Salesforce admins and Sales Ops analysts can build dynamic user-specific Salesforce reports without formula fields or complex sharing rules by using Coefficient’s Salesforce connector with dynamic cell-based filters that reference a User ID directly in Google Sheets or Excel. Filtering Salesforce reports by the current running user natively requires either creating formula fields on the relevant object, configuring sharing rules to scope visibility or both, each of which adds maintenance overhead every time a user changes role, moves team or leaves the organisation.
A common challenge for Salesforce admins managing multi-rep reporting: every sales rep needs a personal view of their own pipeline, tasks and activities, but maintaining separate reports or formula fields for each user creates a configuration burden that scales poorly as headcount grows.
How to build dynamic user-specific Salesforce reports
Step 1. Set up a Custom SOQL Query filtered by User ID
Open Coefficient in Google Sheets or Excel and select Import from Salesforce. Choose Custom SOQL Query. Write your query filtering by OwnerId equal to the specific user’s Salesforce User ID. This directly scopes the result set to that user’s records without requiring a formula field on the Opportunity, Task, Lead or any other object. The query works across any object that has an OwnerId field.
Step 2. Make the User ID dynamic using a cell reference
Add a designated cell in your sheet labelled User ID and enter the Salesforce User ID of the person whose records you want to view. In Coefficient’s filter settings, set the OwnerId filter to Dynamic and point it at that cell. When you update the cell value to a different User ID, the next refresh automatically returns that user’s records instead. One import configuration covers every rep on your team, no duplicate reports, no per-user formula fields.
Step 3. Build a multi-object assigned records view
For teams that need “all my records” across objects, open opportunities, open tasks, active leads and open cases for a single user, set up separate imports for each object type, all pointing their OwnerId dynamic filter at the same User ID cell. Changing the cell value once updates all imports simultaneously. This is the cross-object “my records” view that Salesforce’s native report filter requires separate configuration to replicate for each user.
Step 4. Schedule refresh and share with reps directly
Set a daily refresh on each import so records stay current without anyone re-running the query. Share the Google Sheet or Excel workbook with the relevant rep using standard permissions. The rep sees their own current pipeline, tasks and activities every morning without Salesforce access to the underlying report or admin involvement to update their view.
What you get
Each rep gets a live personal view of their assigned records across any object combination without a separate Salesforce report for each person. Admins stop maintaining per-user formula fields. Changing whose records appear in the view takes one cell update. The assigned records view stays current on a daily schedule without manual intervention.
Start building dynamic user-filtered Salesforce reports today at coefficient.io/get-started.