Sign inStart for free
← Back to the blog

CRM GOVERNANCE · SHARED CONFIGURATION, SCOPED RESULTS

How CRM Dashboard Permissions Work: Shared Definitions and Workspace Data

Intelligent CRM stores one team-scoped dashboard definition, reserves configuration for administrators, and calculates CRM reports from the workspace-wide record population while keeping Task reports personal.

Teams often use the word “shared” to mean several different things. A dashboard may have one shared name, layout, and set of report definitions. A copied URL lets another authenticated teammate navigate to it, but it does not cross the workspace boundary or grant administrator configuration rights. Keeping those guarantees explicit makes shared reporting predictable.

Intelligent CRM separates those concerns. Dashboard and report documents belong to one team. Authenticated users in that team can list and open them, while administrator middleware protects creation, updates, deletion, report changes, and layout persistence. When a CRM report runs, the backend applies the authenticated team boundary and then adds the saved report filters. The author’s identity does not create a separate data scope.

This guide explains that model in practical terms: which actions are administrative, how the shared workspace population is applied, why Tasks remain personal, why OR logic cannot cross the team boundary, what a shared URL does, and how to test dashboards with representative roles. The result is a reporting workspace with shared CRM numbers, personal inbox metrics, and strict tenant isolation.

Separate dashboard capabilities into four permission layers

Each layer answers a different governance question and should be tested independently.

LayerWhat is sharedWho can actWhat it does not grant
Definition viewingDashboard name, description, cards, and saved report configurationAuthenticated teammates in the same teamAccess to records outside the workspace
ConfigurationCreate, edit, duplicate, reorder, resize, and delete operationsWorkspace administratorsA permanent bypass around report validation or data access
Data executionValidated calculation for the saved definitionAn authenticated teammate requesting the reportData from another workspace
Link sharingA route to the team-scoped dashboardA teammate who already has valid authenticationAuthentication, cross-team access, admin rights, or hidden records

Treat dashboard definitions as team-scoped configuration

A saved dashboard stores its team, name, description, creator, updater, version, and timestamps. Reports live as separately versioned documents connected to that dashboard and store source, type, metric, grouping, segmentation, filters, filter logic, date range, visualization, target, pipeline or status selections, and layout. Keeping reports separate lets configuration and layout changes use optimistic versions rather than turning a dashboard into one unstructured payload. Team identifiers keep similarly named dashboards in different workspaces isolated.

Authenticated teammates can list dashboards and retrieve a dashboard in their own team. That makes a common operational vocabulary possible: “Pipeline review” can refer to one definition rather than several privately rebuilt cards. The shared object is still configuration, not a cache of results. Report data is loaded through a separate endpoint, and previews also run as the requesting user. A definition can therefore be stable while the authorized population and current values change.

Reserve report and dashboard configuration for administrators

The backend applies administrator authorization to dashboard creation, update, and deletion, and to report creation, update, and deletion. This includes changes that appear primarily presentational, such as saved layout or width, because they modify a team-wide resource. Report duplication ultimately creates another saved report and is therefore an administrative configuration action. The rule is enforced by the API, not only by whether the interface happens to show an Edit button.

Admin-only configuration protects definition integrity; it does not imply administrators are the only valid audience. A practical governance process gives report consumers a way to request changes, names the business owner for each metric, and records important definitions outside a chart title. Administrators should test proposed filters and types, inspect calculated rows, and save as new when an experiment should not replace the established report. Version conflicts should prompt a reload and review rather than silently overwriting another administrator’s work.

Apply the workspace boundary before report filters

For Accounts, Contacts, Deals, and custom-object records, the reporting query begins with the authenticated team boundary. Archived or merged Accounts and Contacts are excluded from ordinary reporting populations, and custom-object reports also require the selected object identifier. Only after that base filter exists does the server translate saved field filters, date constraints, stage selection, and aggregation.

This order matters. A saved owner filter may select a teammate’s records inside the workspace, but it cannot select records from another team. Formula stages and other calculated values are evaluated only after the team match has been placed into the query prefix. The report configuration describes which workspace records qualify; it cannot choose a broader tenant, raw collection, hidden storage path, or arbitrary database expression.

Use one shared CRM population across the workspace

Ordinary CRM reads for Accounts, Contacts, Deals, and custom objects use the full same-team population. Roles still control administrative actions, and ownership still supports assignment and owner-specific workflows, but neither role labels nor reporting lines partition CRM report reads. A saved CRM dashboard therefore uses the same record population for every authenticated teammate in the workspace.

Owner changes can still move records between grouped categories and affect owner-filtered cards, but they do not change which teammates may include the records in reports. When a metric will be quoted outside the application, state which workspace, owner filter, source, and period it represents. Avoid screenshots without that context because filters and session period overrides can still produce different numbers.

Keep Task reports inside the current user’s inbox

Tasks are intentionally different. The Tasks product is an assignee inbox, so reporting restricts the source to the authenticated user’s assigned Tasks. A role change does not turn a personal Task report into a team workload report. This prevents an apparently harmless count or grouping from exposing coworkers’ private work queues.

Name Task cards accordingly. “My overdue tasks” or “My tasks by priority” communicates the scope; “Team tasks” would overstate it. If the organization needs a team workload capability, that should be designed as an explicit product and permission model rather than inferred through reporting. During dashboard review, test Task cards under several users and expect different totals. A zero for one user and a nonzero total for another can be correct even when every non-Task card matches in a team-wide workspace.

Keep user-authored OR logic inside mandatory access

A report can match All filters or Any filters. With Any, the server creates an OR group containing only the user-authored filter conditions. The mandatory team filter remains a separate AND condition. Conceptually, the query is “record belongs to this workspace AND (condition A OR condition B),” never “record belongs to this workspace OR condition A.” Date, pipeline, and report-type constraints are likewise added without replacing the team boundary.

This is an important negative test. Empty checks, broad text searches, and OR groups deserve the same scrutiny as exact matches because a malformed query could leak aggregate information across teams. Reporting tests should inspect both returned data and the generated base filter, including custom objects, formulas, stage-history queries, and preview requests.

Understand what Share and temporary period controls do

The dashboard Share action copies its URL. The recipient still needs a valid session and must belong to the same team. The URL does not contain a public token, impersonate the sender, transfer administrator rights, or grant access to another workspace. A dashboard link must never make another team’s data visible through a card, table, CSV, preview, or calculated-values panel.

Dashboard period chips are temporary viewing overrides. Selecting 7D, 1M, 3M, 6M, 12M, or all time can rerun cards for that viewer without changing the saved report definition. One teammate may therefore be looking at a temporary 30-day view while another sees the saved all-time period. Treat the active override as part of the displayed context and reset it before comparing screenshots. Only an authorized saved edit changes the definition for the team.

Test access with representative users and failure cases

Create a compact permission test matrix containing an administrator, an ordinary teammate, and a user from another team. Include Accounts, Contacts, Deals, Tasks, and a custom object. Open the dashboard, refresh cards, change a temporary period, inspect calculated values, and attempt CSV download. Confirm that teammates receive the same CRM population, each user receives only personally assigned Tasks, and the other-team user cannot retrieve the dashboard. The current reporting result does not provide record drill-through, so reconcile calculated rows against the matching CRM view.

Test configuration separately. Non-admin API requests to create, update, or delete dashboards and reports should fail even though the user can view and preview reporting data. Test OR filters and empty-value conditions against cross-team records, archived and merged records, formulas, stage history, and ownership transfers. Review logs and error messages for accidental titles or identifiers from another workspace. Repeat the matrix after schema and query changes; permission behavior is a product contract, not a one-time launch check.

WORKED EXAMPLE · ONE DASHBOARD, THREE AUTHORIZED VIEWS

Share a pipeline dashboard while preserving workspace boundaries

An administrator creates a dashboard with current Deal count, amount by stage, a progression funnel, time in stage, and My overdue tasks. The administrator tests it as several same-team roles and as a user from another workspace. Saved filters use Any for Enterprise segment or Partner source, but the server keeps the team boundary outside that OR group. The Task card is explicitly titled My overdue tasks because it always uses the current assignee.

Same-team users open the same URL and see the same CRM card titles, settings, period, and Deal population. Each sees only personally assigned Tasks. Ordinary teammates can inspect calculated rows but cannot save a changed definition; a requested revision goes to an administrator. The other-workspace user cannot retrieve the dashboard or contribute records to any result.

CRM dashboard permission checklist

  1. Distinguish shared dashboard configuration from access to underlying records
  2. Keep dashboards and reports scoped to the authenticated user’s team
  3. Require administrator authorization for every saved configuration mutation
  4. Apply the workspace boundary before report filters, formulas, grouping, and aggregation
  5. Confirm same-team users receive the shared CRM population
  6. Confirm another workspace cannot retrieve or influence a dashboard
  7. Label Task reports as current-user reports rather than team workload reports
  8. Keep user-authored OR conditions inside the mandatory access boundary
  9. Verify preview, calculated rows, and CSV use the same workspace boundary
  10. Treat a shared URL as navigation rather than a permission grant
  11. Show active temporary date overrides when comparing dashboard results
  12. Test archived, merged, transferred, and custom-object records
  13. Use representative administrators, ordinary teammates, and another team
  14. Repeat permission regression tests after schema and query changes

Shared reporting works when workspace boundaries stay explicit

A useful team dashboard needs one stable definition and predictable execution. Intelligent CRM keeps configuration team-scoped, protects saved changes with administrator authorization, uses a shared workspace CRM population, and keeps personal Task metrics tied to the current assignee. That separation lets teams discuss the same questions without weakening tenant isolation.

Document the intended audience and population of each dashboard, label personal Task cards honestly, and test every path that can reveal aggregate data. When two same-team users see different CRM totals, compare filters, periods, refresh timing, and query execution rather than assuming a hidden role scope. Reporting earns trust when people understand both what the metric means and which workspace population it measures.

TURN CUSTOMER CONTEXT INTO CLEAR ACTION

Build a CRM your team can act on.

Start for free