SheetRocks for Salesforce
Overview
SheetRocks for Salesforce is a native managed package that brings powerful spreadsheet capabilities directly into your Salesforce org. This guide covers Salesforce-specific installation, configuration, and integration details.
Installation
Prerequisites
- Salesforce Enterprise or Unlimited Edition
- System Administrator profile
- Lightning Experience enabled
Install from AppExchange
- Visit the SheetRocks listing on AppExchange
- Click "Get It Now"
- Choose your org (production or sandbox)
- Approve third-party access (required for managed packages)
- Select installation for "All Users" or specific profiles
- Wait for installation to complete (typically 5-10 minutes)
Post-Installation Setup
After installation, configure SheetRocks:
Assign Permission Sets
- Navigate to Setup → Permission Sets
- Assign "SheetRocks User" permission set to users
Add to Lightning Pages
- Open Lightning App Builder
- Add "SheetRocks" component to record pages
- Save and activate the page
Configure Sharing Settings
- Review object sharing for Workbook__c
- Default: Private (only owner can access)
- Templates: Org-wide read-only sharing
Salesforce Architecture
Custom Objects
SheetRocks uses the following custom objects:
Workbook__c
- Stores workbook metadata and serialized data
- Fields: Name, Description, IsTemplate__c, OwnerId
- Sharing: Private by default, templates are shared org-wide
Lightning Web Components
sheetrocksElement
- Main spreadsheet interface component
- Embeddable on any Lightning page
- Supports record context for linked sheets
Apex Classes
All Apex classes use with sharing to enforce Salesforce security:
- WorkbookController - CRUD operations for workbooks
- LinkedSheetController - Query and sync Salesforce data
- TemplateController - Template management
Security Model
SheetRocks respects Salesforce security at multiple levels:
Object-Level Security
- CRUD permissions on Workbook__c object
- Enforced through permission sets
Field-Level Security
- All field access respects FLS settings
- Queries include
WITH SECURITY_ENFORCED
Record-Level Security
- Private sharing model for workbooks
- Templates use controlled sharing
- Owner-based access control
Key Features in Salesforce
Linked Sheets
Connect spreadsheets to Salesforce objects with bidirectional syncing:
Creating a Linked Sheet:
- Click "Linked Sheets" in the toolbar
- Select a Salesforce object (Account, Opportunity, etc.)
- Choose fields to include
- Apply filters if needed
- Click "Create"
Syncing Data:
- Pull Changes: Refresh data from Salesforce
- Push Changes: Save modifications back to Salesforce
- Auto-sync: Configure automatic refresh intervals
Supported Objects:
- Standard objects (Account, Contact, Opportunity, etc.)
- Custom objects (with appropriate permissions)
- Related records via lookup/master-detail relationships
Record Page Integration
Launch SheetRocks directly from Salesforce records:
- Add SheetRocks component to Lightning page
- Component automatically detects record context
- Create linked sheets with record filters pre-applied
- Quick access to record-specific templates
Templates
Create and share standardized workflows:
Creating Templates:
- Build a workbook with formulas and formatting
- Click "Save As Template"
- Enter template name and description
- Template becomes available org-wide
Using Templates:
- Click "New from Template"
- Browse available templates
- Select and launch
- Work with a copy (template remains unchanged)
Template Use Cases:
- Commission calculators
- Budget planning sheets
- Sales forecasting models
- Data validation workflows
Formulas with Salesforce Data
SheetRocks formulas work seamlessly with Salesforce data:
Reference Linked Sheet Data:
=FILTER(AccountSheet!A:F, COL[4] = "Active")
=SUMIF(OpportunitySheet!COL[Amount], OpportunitySheet!COL[Stage] = "Closed Won")
Dynamic Calculations:
=IF(AccountSheet!A2 = "", "No Data", AccountSheet!A2)
=VLOOKUP(B2, ContactSheet!A:C, 2, FALSE)
TAGS for Lookups:
=TAGS(PICK(ContactSheet!A:F, "Id", "Name", "Email"))
This creates interactive contact tags with Id, Name, and Email fields.
Permissions and Access
Permission Sets
SheetRocks User
- Read/Write access to Workbook__c
- Access to Apex classes
- Use Lightning components
SheetRocks Admin (optional)
- All User permissions
- Manage templates
- View all workbooks
Sharing Rules
Private Workbooks:
- Only owner can access
- Can be manually shared with specific users
Templates:
- Org-wide read-only access
- Only template creators can modify
Data Access
SheetRocks enforces Salesforce security:
- Users can only query objects they have access to
- Field-level security is respected
- Record sharing rules apply to linked sheets
Limits and Considerations
Salesforce Governor Limits
Be aware of platform limits:
- SOQL Queries: Linked sheets count toward SOQL limits
- Heap Size: Large workbooks may approach heap limits
- CPU Time: Complex formulas consume CPU time
- DML Operations: Batch updates count toward DML limits
Best Practices
Performance:
- Limit linked sheet row counts (use filters)
- Avoid deeply nested formulas
- Use ONCE() for expensive calculations
- Batch updates when possible
Data Management:
- Regular cleanup of old workbooks
- Archive completed workbooks
- Use templates instead of copying workbooks
Security:
- Review sharing rules regularly
- Audit permission set assignments
- Monitor API usage in linked sheets
Troubleshooting
Common Issues
"Insufficient Privileges" Error
- Check permission set assignments
- Verify object and field-level security
- Ensure sharing rules allow access
Linked Sheet Not Loading
- Verify object permissions
- Check SOQL query limits
- Review field-level security settings
Formula Errors
- Check syntax and function names
- Verify cell references
- Review linked sheet names
Performance Issues
- Reduce linked sheet row counts
- Simplify complex formulas
- Check governor limit usage
Getting Help
Support Resources:
Release Notes
SheetRocks for Salesforce is actively maintained with regular updates:
- Version Updates: Announced via AppExchange
- Bug Fixes: Delivered through patch releases
- New Features: Added in major releases
Check AppExchange for the latest version and release notes.
Advanced Topics
Custom Integrations
Extend SheetRocks with custom code:
Lightning Web Component Integration:
import { LightningElement } from 'lwc';
export default class CustomSheet extends LightningElement {
}
Apex Integration:
Workbook__c wb = new Workbook__c(
Name = 'Auto-generated',
Data__c = '{"sheets":[]}'
);
insert wb;
API Access
Access workbooks via Salesforce APIs:
- REST API: Standard Salesforce REST endpoints
- Bulk API: For large data operations
- Metadata API: For deployment
Compliance and Security
Security Review
SheetRocks has undergone Salesforce Security Review:
- No external API calls
- All Apex uses
with sharing
- Field-level security enforced
- CRUD and FLS checks in place
Compliance
SheetRocks complies with:
- Salesforce security best practices
- Data residency requirements (data stays in org)
- Audit and logging standards
Ready to get started? Check out the Getting Started Guide for next steps.