sf-permset-viewer
v1.0.2
Published
View Salesforce Permission Set details in a beautiful HTML interface
Maintainers
Readme
🔐 Salesforce Permission Set Viewer
A powerful command-line tool to visualize and analyze Salesforce Permission Sets with beautiful, interactive HTML reports.
📸 Screenshots


✨ Features
📋 List Permission Sets
- Interactive HTML Dashboard with real-time filtering and sorting
- Summary Statistics showing custom vs standard, assignments, and more
- Advanced Filtering by type (custom/standard) and assignment status
- Multi-column Sorting with visual indicators
- Smart Search across name, label, description, and more
- Export to CSV with filtered data
- Pagination with configurable page sizes
- Alternative formats: Table, JSON, CSV
🔍 View Permission Set Details
- Comprehensive Overview with all metadata
- Organized Sections:
- Permission Set Groups
- User Permissions (enabled only)
- Object Permissions (CRUD + View/Modify All)
- Field Permissions (FLS)
- Custom Permissions
- Tab Settings
- Resizable Sidebar for easy navigation
- Column Sorting on all data tables
- Search Functionality within each section
- Export to CSV for any section
- Pagination for large datasets
📦 Installation
Prerequisites
- Node.js (v14 or higher)
- Salesforce CLI (
sforsfdx) - Authenticated Salesforce org
Install
npm install -g sf-permset-viewer
🚀 Usage
List All Permission Sets
# HTML format (default) - opens in browser
sf-permset-viewer list -o myorg
# HTML without auto-opening
sf-permset-viewer list -o myorg --no-open
# Console table format
sf-permset-viewer list -o myorg -f table
# JSON format
sf-permset-viewer list -o myorg -f json
# CSV format
sf-permset-viewer list -o myorg -f csvView Permission Set Details
# View with auto-open in browser
sf-permset-viewer view -o myorg -p MyPermissionSet
# View without auto-opening
sf-permset-viewer view -o myorg -p MyPermissionSet --no-open📖 Command Reference
Global Options
-h, --help- Display help information-V, --version- Display version number
list Command
Lists all Permission Sets in the org.
Options:
-o, --org <username>- Required. Salesforce org username or alias-f, --format <type>- Output format:html,table,json,csv(default:html)--no-open- Don't automatically open HTML in browser
Examples:
# Basic list with HTML output
sf-permset-viewer list -o myorg
# List as JSON
sf-permset-viewer list -o myorg -f json
# List as CSV for Excel
sf-permset-viewer list -o myorg -f csv > permsets.csvview Command
View detailed information about a specific Permission Set.
Options:
-o, --org <username>- Required. Salesforce org username or alias-p, --permissionset <name>- Required. Permission Set API name--no-open- Don't automatically open HTML in browser
Examples:
# View permission set
sf-permset-viewer view -o myorg -p Custom_Access
# View without opening browser
sf-permset-viewer view -o myorg -p Custom_Access --no-open🎨 Features in Detail
List View Features
📊 Summary Statistics
- Total Permission Sets count
- Custom vs Standard breakdown
- Total user assignments
- Unassigned permission sets count
🔍 Advanced Filtering
- Search: Real-time search across multiple fields
- Type Filter: Show all, custom only, or standard only
- Assignment Filter: Show all, assigned only, or unassigned only
📑 Interactive Table
- Sortable Columns: Click any header to sort
- Visual Indicators: Up/down arrows show sort direction
- Hover Effects: Interactive row highlighting
- Responsive Design: Works on different screen sizes
💾 Export Options
- Export filtered and sorted data to CSV
- Maintains current filters and sort order
Detail View Features
📂 Organized Sections
Navigate between different permission types:
- Permission Set Groups: Groups this permission set belongs to
- User Permissions: System-level permissions (enabled only)
- Object Permissions: CRUD and View/Modify All for each object
- Field Permissions: Field-level security (FLS)
- Custom Permissions: Custom permission assignments
- Tab Settings: Tab visibility configuration
🎯 Key Information Panel
Quick access to:
- API Name and Label
- License type
- Creator and modifier information
- Creation and modification dates
- Namespace prefix
- Session activation requirements
- Related groups count
- Assigned users count
- Description
⚡ Performance Features
- Resizable Sidebar: Drag to adjust width
- Pagination: Handle large datasets efficiently
- In-section Search: Find specific items quickly
- Column Sorting: Sort any column ascending/descending
📁 Output Files
All HTML reports are saved to the output/ directory:
output/
├── permission-sets-list-1234567890.html
├── permset-Custom_Access-1234567891.html
└── permset-Sales_User-1234567892.htmlData Fetching
The tool queries multiple Salesforce objects:
PermissionSet- Main permission set metadataPermissionSetAssignment- User assignmentsPermissionSetGroupComponent- Group membershipsObjectPermissions- Object-level permissionsFieldPermissions- Field-level securitySetupEntityAccess- Custom permissionsPermissionSetTabSetting- Tab configurations
Performance
- Chunked queries for large permission sets
- Efficient pagination for large datasets
- Client-side filtering and sorting
- Minimal API calls
Areas for Contribution
- Additional export formats (PDF, Excel)
- Permission comparison between multiple permission sets
- Permission set assignment management
- Profile to permission set converter
- Performance optimizations
- UI/UX improvements
📝 License
This project is licensed under the MIT License (c) Mohan Chinnappan
🗺️ Roadmap
- [ ] Permission set comparison tool
- [ ] Bulk assignment management
- [ ] Permission set cloning
- [ ] Profile analysis and conversion
- [ ] Effective permissions calculator
- [ ] Permission set dependency graph
- [ ] Export to metadata format
- [ ] Dark/Light theme toggle
Made with ❤️ for the Salesforce Community
