# Role Hierarchy Diagram Template
Flowchart template for visualizing Salesforce role hierarchies and permission structures.
## When to Use
- Documenting org security model
- Planning role hierarchy changes
- Explaining data access patterns
- Security review presentations
## Mermaid Template - Sales Role Hierarchy
```mermaid
%%{init: {"flowchart": {"nodeSpacing": 80, "rankSpacing": 70}} }%%
flowchart TB
subgraph legend["π LEGEND"]
direction LR
L1[Role]
L2([Profile])
L3{{Permission Set}}
end
CEO[CEO]
subgraph sales["SALES ORGANIZATION"]
direction TB
VP_SALES[VP of Sales]
subgraph regions["REGIONAL DIRECTORS"]
direction LR
DIR_WEST[Director - West]
DIR_EAST[Director - East]
DIR_CENTRAL[Director - Central]
end
subgraph managers["SALES MANAGERS"]
direction LR
MGR_W1[Manager - SF]
MGR_W2[Manager - LA]
MGR_E1[Manager - NYC]
MGR_E2[Manager - Boston]
MGR_C1[Manager - Chicago]
MGR_C2[Manager - Dallas]
end
subgraph reps["SALES REPRESENTATIVES"]
direction LR
REP_W[West Reps
12 users]
REP_E[East Reps
15 users]
REP_C[Central Reps
10 users]
end
end
subgraph service["SERVICE ORGANIZATION"]
direction TB
VP_SVC[VP of Service]
SVC_MGR[Service Manager]
subgraph agents["SERVICE AGENTS"]
direction LR
AGENT_T1[Tier 1 Support
20 users]
AGENT_T2[Tier 2 Support
8 users]
end
end
%% Hierarchy connections
CEO --> VP_SALES
CEO --> VP_SVC
VP_SALES --> DIR_WEST
VP_SALES --> DIR_EAST
VP_SALES --> DIR_CENTRAL
DIR_WEST --> MGR_W1
DIR_WEST --> MGR_W2
DIR_EAST --> MGR_E1
DIR_EAST --> MGR_E2
DIR_CENTRAL --> MGR_C1
DIR_CENTRAL --> MGR_C2
MGR_W1 --> REP_W
MGR_W2 --> REP_W
MGR_E1 --> REP_E
MGR_E2 --> REP_E
MGR_C1 --> REP_C
MGR_C2 --> REP_C
VP_SVC --> SVC_MGR
SVC_MGR --> AGENT_T1
SVC_MGR --> AGENT_T2
%% Node Styling - Pastel palette (Tailwind 200-level)
style CEO fill:#fbcfe8,stroke:#be185d,color:#1f2937
style VP_SALES fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style VP_SVC fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style DIR_WEST fill:#c7d2fe,stroke:#4338ca,color:#1f2937
style DIR_EAST fill:#c7d2fe,stroke:#4338ca,color:#1f2937
style DIR_CENTRAL fill:#c7d2fe,stroke:#4338ca,color:#1f2937
style MGR_W1 fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style MGR_W2 fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style MGR_E1 fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style MGR_E2 fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style MGR_C1 fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style MGR_C2 fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style SVC_MGR fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style REP_W fill:#a7f3d0,stroke:#047857,color:#1f2937
style REP_E fill:#a7f3d0,stroke:#047857,color:#1f2937
style REP_C fill:#a7f3d0,stroke:#047857,color:#1f2937
style AGENT_T1 fill:#a7f3d0,stroke:#047857,color:#1f2937
style AGENT_T2 fill:#a7f3d0,stroke:#047857,color:#1f2937
style L1 fill:#e2e8f0,stroke:#334155,color:#1f2937
style L2 fill:#e2e8f0,stroke:#334155,color:#1f2937
style L3 fill:#e2e8f0,stroke:#334155,color:#1f2937
%% Subgraph Styling - 50-level fills with dashed borders
style legend fill:#f8fafc,stroke:#334155,stroke-dasharray:5
style sales fill:#f5f3ff,stroke:#6d28d9,stroke-dasharray:5
style regions fill:#eef2ff,stroke:#4338ca,stroke-dasharray:5
style managers fill:#ecfeff,stroke:#0e7490,stroke-dasharray:5
style reps fill:#ecfdf5,stroke:#047857,stroke-dasharray:5
style service fill:#f5f3ff,stroke:#6d28d9,stroke-dasharray:5
style agents fill:#ecfdf5,stroke:#047857,stroke-dasharray:5
```
## Mermaid Template - Profile & Permission Set Structure
```mermaid
%%{init: {"flowchart": {"nodeSpacing": 80, "rankSpacing": 70}} }%%
flowchart TB
subgraph profiles["π PROFILES - BASE ACCESS"]
direction LR
P_ADMIN([System Admin])
P_SALES([Sales User])
P_SVC([Service User])
P_MKTG([Marketing User])
P_PARTNER([Partner Community])
end
subgraph psets["π PERMISSION SETS - ADDITIVE"]
direction TB
subgraph functional["FUNCTIONAL PERMISSIONS"]
PS_API{{API Access}}
PS_REPORTS{{Advanced Reports}}
PS_FLOW{{Flow Admin}}
end
subgraph feature["FEATURE PERMISSIONS"]
PS_CPQ{{CPQ User}}
PS_EINSTEIN{{Einstein Analytics}}
PS_INBOX{{Sales Engagement}}
end
subgraph object["OBJECT PERMISSIONS"]
PS_INVOICE{{Invoice Manager}}
PS_CONTRACT{{Contract Editor}}
PS_PRODUCT{{Product Admin}}
end
end
subgraph groups["π₯ PERMISSION SET GROUPS"]
direction LR
PSG_SALES_FULL{{Sales Full Access}}
PSG_SVC_FULL{{Service Full Access}}
end
%% Profile assignments
P_SALES --> PSG_SALES_FULL
P_SVC --> PSG_SVC_FULL
%% Group composition
PS_API --> PSG_SALES_FULL
PS_CPQ --> PSG_SALES_FULL
PS_EINSTEIN --> PSG_SALES_FULL
PS_INBOX --> PSG_SALES_FULL
PS_API --> PSG_SVC_FULL
PS_REPORTS --> PSG_SVC_FULL
%% Node Styling - Profiles (violet-200)
style P_ADMIN fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style P_SALES fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style P_SVC fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style P_MKTG fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style P_PARTNER fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
%% Node Styling - Permission Sets (emerald-200)
style PS_API fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_REPORTS fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_FLOW fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_CPQ fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_EINSTEIN fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_INBOX fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_INVOICE fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_CONTRACT fill:#a7f3d0,stroke:#047857,color:#1f2937
style PS_PRODUCT fill:#a7f3d0,stroke:#047857,color:#1f2937
%% Node Styling - Groups (orange-200)
style PSG_SALES_FULL fill:#fed7aa,stroke:#c2410c,color:#1f2937
style PSG_SVC_FULL fill:#fed7aa,stroke:#c2410c,color:#1f2937
%% Subgraph Styling - 50-level fills with dashed borders
style profiles fill:#f5f3ff,stroke:#6d28d9,stroke-dasharray:5
style psets fill:#ecfdf5,stroke:#047857,stroke-dasharray:5
style functional fill:#ecfdf5,stroke:#047857,stroke-dasharray:5
style feature fill:#ecfdf5,stroke:#047857,stroke-dasharray:5
style object fill:#ecfdf5,stroke:#047857,stroke-dasharray:5
style groups fill:#fff7ed,stroke:#c2410c,stroke-dasharray:5
```
## ASCII Fallback Template
```text
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ROLE HIERARCHY β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββ
β CEO β
ββββββ¬βββββ
β
βββββββββββββββββββββ΄ββββββββββββββββββββ
β β
ββββββββΌβββββββ ββββββββΌβββββββ
β VP of Sales β β VP of Svc β
ββββββββ¬βββββββ ββββββββ¬βββββββ
β β
ββββββββββββββββΌβββββββββββββββ ββββββββββΌβββββββββ
β β β β Service Manager β
βΌ βΌ βΌ ββββββββββ¬βββββββββ
βββββββββββ βββββββββββ βββββββββββ β
βDirector β βDirector β βDirector β ββββββββββββΌβββββββββββ
β West β β East β β Central β βΌ βΌ β
ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ βββββββββββ βββββββββββ β
β β β β Tier 1 β β Tier 2 β β
βΌ βΌ βΌ β Support β β Support β β
βββββββββββ βββββββββββ βββββββββββ β (20) β β (8) β β
βManager β βManager β βManager β βββββββββββ βββββββββββ β
βSF | LA β βNYC|BOS β βCHI|DAL β β
ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ β
β β β β
βΌ βΌ βΌ β
βββββββββββ βββββββββββ βββββββββββ β
β West β β East β β Central β β
β Reps β β Reps β β Reps β β
β (12) β β (15) β β (10) β β
βββββββββββ βββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DATA ACCESS FLOW β
β βββββββββββββββββ β
β β’ Roles ABOVE can see records owned by roles BELOW β
β β’ CEO sees ALL sales and service data β
β β’ VP Sales sees all sales data, NOT service data β
β β’ Managers see only their team's records β
β β’ Reps see only their own records β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
## Security Components
| Component | Purpose | Shape |
|-----------|---------|-------|
| Role | Data visibility hierarchy | Rectangle |
| Profile | Base object/field access | Rounded |
| Permission Set | Additive permissions | Hexagon |
| Permission Set Group | Bundle of perm sets | Hexagon (orange) |
## Data Access Patterns
### OWD (Organization-Wide Defaults)
| Setting | Meaning |
|---------|---------|
| Private | Owner + hierarchy above |
| Public Read Only | All can view |
| Public Read/Write | All can edit |
| Controlled by Parent | Inherits from master |
### Sharing Rules
```mermaid
%%{init: {"flowchart": {"nodeSpacing": 80, "rankSpacing": 70}} }%%
flowchart LR
OWD[OWD: Private]
SHARE[Sharing Rule]
APEX[Apex Sharing]
OWD --> SHARE --> APEX
subgraph access["ACCESS EXPANSION"]
ROLE[Role-based]
CRITERIA[Criteria-based]
MANUAL[Manual]
end
SHARE --> access
style OWD fill:#fde68a,stroke:#b45309,color:#1f2937
style SHARE fill:#a5f3fc,stroke:#0e7490,color:#1f2937
style APEX fill:#ddd6fe,stroke:#6d28d9,color:#1f2937
style ROLE fill:#c7d2fe,stroke:#4338ca,color:#1f2937
style CRITERIA fill:#c7d2fe,stroke:#4338ca,color:#1f2937
style MANUAL fill:#c7d2fe,stroke:#4338ca,color:#1f2937
style access fill:#eef2ff,stroke:#4338ca,stroke-dasharray:5
```
## Best Practices
1. **Minimize role levels** - 3-5 levels max
2. **Use Permission Set Groups** - Easier to manage
3. **Document exceptions** - Note any sharing rules
4. **Show user counts** - Understand scale
5. **Include profiles** - Show base access
## Customization Points
- Replace example roles with actual org structure
- Add specific user counts
- Include custom permission sets
- Show sharing rule exceptions