sf-agent-framework
Version:
AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction
794 lines (646 loc) • 18.9 kB
Markdown
# Salesforce Training Best Practices
## Overview
Effective training is critical for Salesforce adoption and success. This
document provides comprehensive best practices for designing, delivering, and
measuring Salesforce training programs that drive user engagement and
proficiency.
## Training Strategy Framework
### Adult Learning Principles
1. **Relevance**: Connect training to real job tasks
2. **Experience**: Build on existing knowledge
3. **Problem-Solving**: Focus on practical solutions
4. **Immediate Application**: Enable quick wins
5. **Self-Direction**: Provide learning paths
### Learning Objectives Hierarchy
```yaml
taxonomy:
remember:
- Identify Salesforce objects
- Recognize UI elements
- Recall navigation paths
understand:
- Explain data relationships
- Describe process flows
- Interpret reports
apply:
- Create records
- Run reports
- Update data
analyze:
- Troubleshoot issues
- Compare solutions
- Evaluate data quality
evaluate:
- Assess process efficiency
- Judge data accuracy
- Recommend improvements
create:
- Design workflows
- Build dashboards
- Develop solutions
```
## Role-Based Training Programs
### Sales User Training Path
```javascript
const salesTrainingPath = {
foundation: {
duration: '2 days',
format: 'instructor-led',
topics: [
'Salesforce navigation',
'Lead and contact management',
'Opportunity tracking',
'Activity logging',
'Basic reporting',
],
hands_on: ['Create and convert a lead', 'Update opportunity stages', 'Log calls and emails', 'Run pipeline report'],
},
intermediate: {
duration: '1 day',
format: 'virtual workshop',
topics: [
'Advanced opportunity management',
'Forecasting',
'Collaboration tools',
'Mobile app usage',
'Custom reports',
],
prerequisites: ['foundation'],
},
advanced: {
duration: '4 hours',
format: 'self-paced + mentoring',
topics: ['Sales analytics', 'Process automation', 'Integration features', 'Best practices'],
certification: 'Sales Cloud Consultant',
},
};
```
### Service User Training Path
```yaml
service_training:
week_1:
day_1:
- Case creation and management
- Customer communication
- Knowledge base usage
day_2:
- Case escalation
- SLA management
- Service console navigation
week_2:
self_study:
- Omnichannel routing
- Macros and quick text
- Service analytics
practice:
- Handle 10 practice cases
- Create 3 knowledge articles
- Build personal dashboard
```
### Administrator Training Path
```markdown
# Salesforce Administrator Training Curriculum
## Phase 1: Foundation (2 weeks)
- **Week 1**: Platform basics, security model, user management
- **Week 2**: Data management, automation basics
- **Certification**: Admin Basics Trailhead Badge
## Phase 2: Configuration (2 weeks)
- **Week 3**: Objects, fields, relationships
- **Week 4**: Page layouts, record types, apps
- **Project**: Configure sample business app
## Phase 3: Automation (1 week)
- **Topics**: Workflow, Process Builder, Flow
- **Lab**: Build 5 automation scenarios
## Phase 4: Reporting (1 week)
- **Topics**: Reports, dashboards, analytics
- **Deliverable**: Executive dashboard
## Phase 5: Maintenance (1 week)
- **Topics**: Deployment, monitoring, optimization
- **Certification Prep**: ADM-201 exam preparation
```
## Training Delivery Methods
### Instructor-Led Training (ILT)
**Best For**: Foundation concepts, complex topics, hands-on practice
```javascript
// ILT session structure
const iltSessionPlan = {
opening: {
duration: '15 min',
activities: ['Welcome and introductions', 'Learning objectives', 'Agenda overview', 'Pre-assessment'],
},
content_blocks: [
{
topic: 'Core Concept',
duration: '45 min',
method: 'Demo + guided practice',
materials: ['slides', 'workbook', 'sandbox'],
},
{
topic: 'Hands-on Exercise',
duration: '60 min',
method: 'Individual practice',
support: 'Instructor circulates',
},
],
closing: {
duration: '15 min',
activities: ['Q&A', 'Key takeaways', 'Next steps', 'Feedback survey'],
},
};
```
### Virtual Training
**Best For**: Remote teams, follow-up sessions, specific topics
```yaml
virtual_training_best_practices:
technical_setup:
- Test technology 24 hours before
- Provide backup connection options
- Record sessions for replay
- Use dual monitors
engagement_techniques:
- Polls every 10 minutes
- Breakout rooms for exercises
- Chat for questions
- Annotation tools for interaction
- Maximum 2-hour sessions
materials:
- Digital workbooks
- Sandbox access
- Quick reference cards
- Recording links
```
### Self-Paced Learning
**Best For**: Reinforcement, just-in-time learning, diverse schedules
```html
<!-- Self-paced module structure -->
<module id="lead-management">
<overview>
<duration>30 minutes</duration>
<objectives>
<objective>Create and qualify leads</objective>
<objective>Convert leads to opportunities</objective>
<objective>Track lead sources</objective>
</objectives>
</overview>
<content>
<video duration="5min">Lead Overview</video>
<interactive>Lead Creation Simulator</interactive>
<reading>Best Practices Guide</reading>
<quiz questions="10">Knowledge Check</quiz>
</content>
<practice>
<scenario>Create 5 different lead types</scenario>
<validation>Automated checking</validation>
<feedback>Immediate corrections</feedback>
</practice>
</module>
```
### Microlearning
**Best For**: Busy users, reinforcement, specific features
```javascript
// Microlearning content examples
const microlearningLibrary = [
{
title: 'Quick Tip: Keyboard Shortcuts',
duration: '2 min',
format: 'video',
outcome: 'Save 10 min/day with shortcuts',
},
{
title: 'Feature Focus: List Views',
duration: '3 min',
format: 'interactive demo',
outcome: 'Create custom list view',
},
{
title: 'Best Practice: Data Entry',
duration: '5 min',
format: 'infographic + quiz',
outcome: 'Improve data quality',
},
];
```
## Training Content Development
### Content Creation Framework
```yaml
content_development:
analyze:
- Audience needs assessment
- Current skill gaps
- Business objectives
- Success metrics
design:
- Learning objectives
- Content outline
- Assessment strategy
- Delivery method
develop:
- Create materials
- Build exercises
- Design assessments
- Prepare job aids
implement:
- Pilot testing
- Trainer preparation
- Logistics planning
- Communication
evaluate:
- Learner feedback
- Knowledge assessment
- Behavior change
- Business impact
```
### Training Materials Checklist
- [ ] Participant workbook
- [ ] Instructor guide
- [ ] Presentation slides
- [ ] Hands-on exercises
- [ ] Quick reference cards
- [ ] Video tutorials
- [ ] Practice scenarios
- [ ] Knowledge assessments
- [ ] Feedback surveys
- [ ] Certificate templates
## Hands-On Exercises
### Exercise Design Principles
1. **Real-World Scenarios**: Use actual business situations
2. **Progressive Difficulty**: Start simple, increase complexity
3. **Clear Instructions**: Step-by-step guidance
4. **Expected Outcomes**: Define success criteria
5. **Error Handling**: Anticipate common mistakes
### Sample Exercise: Opportunity Management
```markdown
# Exercise: Complete Sales Cycle
## Scenario
You are a sales rep who just had a great meeting with Acme Corp. They're
interested in your Premium Package ($50,000 value).
## Tasks
1. **Create Lead** (5 min)
- Company: Acme Corp
- Contact: Jane Smith, VP Sales
- Lead Source: Tradeshow
2. **Qualify Lead** (5 min)
- Update status to "Qualified"
- Add qualification notes
- Schedule follow-up task
3. **Convert Lead** (10 min)
- Create new opportunity
- Set close date 45 days out
- Add products
4. **Progress Opportunity** (15 min)
- Move through stages
- Update probability
- Log activities
- Create quote
5. **Close Deal** (5 min)
- Mark as Closed Won
- Add implementation notes
- Create follow-up tasks
## Success Criteria
- All required fields completed
- Activities logged properly
- Products added correctly
- Follow-up tasks created
```
## Training Environments
### Sandbox Strategy
```apex
// Training org setup script
public class TrainingOrgSetup {
public static void setupTrainingData() {
// Create sample accounts
List<Account> accounts = TestDataFactory.createAccounts(50);
insert accounts;
// Create sample contacts
List<Contact> contacts = TestDataFactory.createContacts(accounts, 200);
insert contacts;
// Create opportunities at various stages
List<Opportunity> opps = new List<Opportunity>();
String[] stages = new String[]{
'Prospecting', 'Qualification', 'Needs Analysis',
'Value Proposition', 'Decision Makers', 'Closed Won'
};
for (Account acc : accounts) {
for (Integer i = 0; i < 3; i++) {
opps.add(new Opportunity(
Name = acc.Name + ' - Opportunity ' + i,
AccountId = acc.Id,
StageName = stages[Math.mod(i, stages.size())],
CloseDate = Date.today().addDays(30 + i*15),
Amount = Math.round(Math.random() * 100000)
));
}
}
insert opps;
System.debug('Training data created successfully');
}
}
```
### Training vs Production
| Aspect | Training Environment | Production |
| ------------ | -------------------- | ---------- |
| Data | Sample/dummy data | Real data |
| Integrations | Disabled/mocked | Active |
| Automations | Limited | Full |
| Permissions | Relaxed | Strict |
| Refresh | Weekly/monthly | Never |
## Assessment and Certification
### Knowledge Assessment Types
```javascript
// Assessment framework
const assessmentTypes = {
preAssessment: {
purpose: 'Baseline knowledge',
questions: 10,
passing: 'N/A',
timing: 'Before training',
},
knowledgeCheck: {
purpose: 'Comprehension',
questions: 5,
passing: 80,
timing: 'During modules',
},
practicalExam: {
purpose: 'Skill demonstration',
tasks: 5,
passing: 100,
timing: 'End of training',
},
certification: {
purpose: 'Proficiency validation',
questions: 60,
passing: 65,
timing: 'Post-training',
},
};
```
### Practical Assessment Rubric
| Task | Points | Criteria |
| ------------------ | ------ | ---------------------------------- |
| Create Account | 10 | All required fields, proper naming |
| Add Contacts | 15 | Minimum 2, proper relationships |
| Create Opportunity | 20 | Correct stage, products added |
| Run Report | 15 | Correct filters, proper grouping |
| Build Dashboard | 20 | 3+ components, meaningful data |
| Complete Workflow | 20 | Follow process, all steps done |
## Training Effectiveness Measurement
### Kirkpatrick Model Implementation
```yaml
Level_1_Reaction:
method: Post-training survey
metrics:
- Satisfaction score (4.5/5 target)
- Relevance rating
- Instructor effectiveness
- Material quality
sample_questions:
- 'How satisfied were you with the training?'
- 'Will you apply what you learned?'
- 'Would you recommend this training?'
Level_2_Learning:
method: Pre/post assessments
metrics:
- Knowledge gain (>30% improvement)
- Skill demonstration
- Confidence increase
measurement:
- Pre-training: 45% average
- Post-training: 85% average
- Gain: 40%
Level_3_Behavior:
method: 30/60/90 day follow-up
metrics:
- Feature adoption rates
- Process compliance
- Data quality scores
tracking:
- Login frequency
- Feature usage
- Error rates
Level_4_Results:
method: Business metric analysis
metrics:
- Productivity increase
- Sales cycle reduction
- Customer satisfaction
roi_calculation:
- Training cost: $50,000
- Productivity gain: $200,000
- ROI: 300%
```
### Adoption Tracking Dashboard
```apex
// Track user adoption post-training
public class AdoptionTracker {
@AuraEnabled
public static Map<String, Object> getAdoptionMetrics(Id userId) {
Map<String, Object> metrics = new Map<String, Object>();
// Login frequency
Integer loginCount = [
SELECT COUNT() FROM LoginHistory
WHERE UserId = :userId
AND LoginTime >= LAST_N_DAYS:30
];
// Feature usage
Integer recordsCreated = [
SELECT COUNT() FROM Opportunity
WHERE CreatedById = :userId
AND CreatedDate >= LAST_N_DAYS:30
];
// Calculate adoption score
Decimal adoptionScore = calculateScore(loginCount, recordsCreated);
metrics.put('loginFrequency', loginCount);
metrics.put('recordsCreated', recordsCreated);
metrics.put('adoptionScore', adoptionScore);
metrics.put('target', 80);
return metrics;
}
}
```
## Change Management Integration
### ADKAR Model for Training
```markdown
# ADKAR Training Integration
## Awareness
- Pre-training communications
- Benefits messaging
- Success stories
- Executive sponsorship
## Desire
- WIIFM (What's In It For Me)
- Peer champions
- Incentives
- Recognition
## Knowledge
- Formal training sessions
- Documentation
- Job aids
- Mentoring
## Ability
- Hands-on practice
- Sandbox access
- Coaching
- Support resources
## Reinforcement
- Follow-up sessions
- Refresher training
- Continuous learning
- Performance support
```
### Communication Plan
```javascript
const trainingCommunication = {
preTraining: [
{
timing: '4 weeks before',
audience: 'All users',
message: 'Training announcement',
channel: 'Email + Town Hall',
},
{
timing: '2 weeks before',
audience: 'Participants',
message: 'Schedule and prep work',
channel: 'Email + Calendar',
},
{
timing: '1 week before',
audience: 'Managers',
message: 'Support expectations',
channel: 'Manager briefing',
},
],
duringTraining: [
{
daily: 'Progress updates',
channel: 'Slack',
content: 'Tips and highlights',
},
],
postTraining: [
{
timing: '1 week after',
message: 'Resources and support',
channel: 'Email + Chatter',
},
{
timing: '1 month after',
message: 'Success stories',
channel: 'Newsletter',
},
],
};
```
## Support Resources
### Post-Training Support Model
```yaml
support_tiers:
tier_1_self_service:
- Quick reference guides
- Video library
- FAQ database
- Chatter groups
- Trailhead modules
tier_2_peer_support:
- Super user network
- Office hours
- Buddy system
- User groups
- Slack channels
tier_3_expert_support:
- Help desk tickets
- Admin support
- Consultant hours
- Custom training
- Feature requests
```
### Job Aids and Quick References
```html
<!-- Quick Reference Card Template -->
<div class="quick-ref-card">
<h3>Creating an Opportunity</h3>
<ol>
<li><kbd>Click</kbd> Opportunities tab</li>
<li><kbd>Click</kbd> New</li>
<li><kbd>Enter</kbd> Opportunity Name</li>
<li><kbd>Select</kbd> Account</li>
<li><kbd>Choose</kbd> Stage</li>
<li><kbd>Set</kbd> Close Date</li>
<li><kbd>Enter</kbd> Amount</li>
<li><kbd>Save</kbd></li>
</ol>
<div class="tips">
<strong>Pro Tips:</strong>
<ul>
<li>Use naming convention: Account - Product - Year</li>
<li>Always add Next Steps</li>
<li>Link to Campaign if applicable</li>
</ul>
</div>
</div>
```
## Continuous Learning Culture
### Learning Path Maintenance
```apex
// Track continuous learning
@RestResource(urlMapping='/learning/progress/*')
global class LearningProgressTracker {
@HttpGet
global static UserProgress getProgress() {
Id userId = RestContext.request.params.get('userId');
UserProgress progress = new UserProgress();
progress.completedModules = getCompletedModules(userId);
progress.currentPath = getCurrentPath(userId);
progress.nextRecommendation = getNextRecommendation(userId);
progress.certifications = getCertifications(userId);
return progress;
}
}
```
### Monthly Learning Challenges
```javascript
const monthlyChallenge = {
january: {
theme: 'Report Master',
tasks: ['Create 3 custom report types', 'Build cross-object report', 'Share dashboard with team'],
reward: 'Report Builder Badge',
},
february: {
theme: 'Automation April',
tasks: ['Build first Flow', 'Create email alert', 'Automate one manual process'],
reward: 'Automation Hero Badge',
},
};
```
## Training Budget Optimization
### Cost-Benefit Analysis
| Training Method | Cost per User | Effectiveness | Scalability | ROI |
| --------------- | ------------- | ------------- | ----------- | ---- |
| ILT | $500 | High | Low | 200% |
| Virtual | $200 | Medium-High | High | 350% |
| Self-Paced | $50 | Medium | Very High | 500% |
| Microlearning | $25 | Medium | Very High | 600% |
| Peer Learning | $10 | Medium | High | 800% |
### Resource Allocation
```yaml
training_budget_allocation:
total_budget: $100,000
breakdown:
content_development: 30% # $30,000
delivery: 40% # $40,000
technology: 15% # $15,000
assessment: 10% # $10,000
continuous_learning: 5% # $5,000
optimization_strategies:
- Reuse content across roles
- Leverage peer trainers
- Use free Salesforce resources
- Create train-the-trainer programs
- Implement self-service options
```
## Additional Resources
- [Trailhead: Salesforce Training Strategies](https://trailhead.salesforce.com/en/content/learn/modules/training-strategies)
- [Adult Learning Best Practices](https://help.salesforce.com/s/articleView?id=sf.admin_training_best_practices.htm)
- [Salesforce Adoption Dashboards](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3000000B5XHsEAN)
- [Training ROI Calculator](https://www.salesforce.com/resources/roi-calculator/)