SAP SuccessFactors MCP Server
Create a powerful Model Context Protocol (MCP) server for SAP SuccessFactors in minutes with our AI Gateway. This guide walks you through setting up seamless HR integration with comprehensive talent management and instant OAuth authentication.
About SAP SuccessFactors API
SAP SuccessFactors is a cloud-based human capital management (HCM) suite that provides comprehensive solutions for core HR, talent management, employee experience, and analytics. The API enables deep integration with all aspects of the employee lifecycle and organizational management.
Key Capabilities
- Core HR: Employee central and organizational management
- Talent Management: Performance, goals, and succession planning
- Recruiting: Applicant tracking and onboarding
- Learning: Training and development management
- Compensation: Salary planning and benefits
- Employee Experience: Self-service and engagement
- Analytics: Workforce planning and insights
- Time & Attendance: Time tracking and absence management
API Features
- OData v2/v4 Protocol: RESTful services
- OAuth 2.0: Secure authentication
- SOAP Web Services: Legacy integration
- Batch Operations: Bulk data processing
- Delta Queries: Incremental data sync
- Integration Center: Pre-built connectors
- Metadata API: Dynamic schema discovery
- Real-time Events: Webhook notifications
What You Can Do with SAP SuccessFactors MCP Server
The MCP server transforms SAP SuccessFactors API into a natural language interface, enabling AI agents to:
Employee Central Management
-
Employee Data
- "Create new employee profile"
- "Update personal information"
- "View employment history"
- "Manage job information"
-
Organizational Structure
- "Show org chart for department"
- "Update reporting relationships"
- "Create new position"
- "Manage cost centers"
-
Global Assignment
- "Process international transfer"
- "Manage expatriate data"
- "Track assignment history"
- "Handle repatriation"
Performance & Goals
-
Performance Management
- "Start performance review cycle"
- "Submit manager evaluation"
- "Track review completion"
- "Generate calibration reports"
-
Goal Management
- "Create team goals"
- "Cascade objectives"
- "Update goal progress"
- "Align with company strategy"
-
Continuous Performance
- "Request feedback"
- "Log achievements"
- "Schedule check-ins"
- "Track development"
Learning Management
-
Course Administration
- "Create training program"
- "Assign mandatory training"
- "Track completion rates"
- "Manage certifications"
-
Learning Paths
- "Build career paths"
- "Recommend courses"
- "Track skill development"
- "Measure effectiveness"
-
Virtual Classrooms
- "Schedule sessions"
- "Manage enrollments"
- "Track attendance"
- "Collect feedback"
Compensation Planning
-
Merit Planning
- "Calculate merit increases"
- "Distribute budget pools"
- "Apply guidelines"
- "Generate statements"
-
Bonus Management
- "Calculate bonus payouts"
- "Apply performance modifiers"
- "Track targets"
- "Process approvals"
-
Total Compensation
- "View total rewards"
- "Compare market data"
- "Analyze pay equity"
- "Model scenarios"
Recruiting & Onboarding
-
Job Requisitions
- "Create job posting"
- "Manage approvals"
- "Post to job boards"
- "Track applications"
-
Candidate Management
- "Screen applicants"
- "Schedule interviews"
- "Collect feedback"
- "Make offers"
-
Onboarding Process
- "Trigger onboarding"
- "Assign tasks"
- "Track progress"
- "Manage equipment"
Analytics & Reporting
-
Workforce Analytics
- "Generate headcount reports"
- "Analyze turnover trends"
- "Track diversity metrics"
- "Forecast workforce needs"
-
Custom Reports
- "Build ad-hoc queries"
- "Create dashboards"
- "Schedule delivery"
- "Export data"
-
Predictive Analytics
- "Identify flight risks"
- "Predict performance"
- "Analyze engagement"
- "Model scenarios"
Workflow & Integration
-
Business Rules
- "Configure approvals"
- "Set up notifications"
- "Define workflows"
- "Manage permissions"
-
Integration Scenarios
- "Sync with payroll"
- "Update benefits systems"
- "Feed analytics platforms"
- "Connect third-party apps"
Prerequisites
- Access to Cequence AI Gateway
- SAP SuccessFactors instance
- API user with appropriate permissions
- OAuth 2.0 client credentials
Step 1: Configure SAP SuccessFactors API Access
1.1 Create API User
- Log in to SAP SuccessFactors as Administrator
- Navigate to Admin Center Manage Permission Roles
- Create new permission role with API access
- Assign required permissions for your use case
1.2 Register OAuth Application
- Go to Admin Center Manage OAuth2 Client Applications
- Click Register Client Application
- Configure:
- Application Name: "AI Gateway Integration"
- Application URL: Your callback URL
- X.509 Certificate: Upload if using certificate auth
1.3 Configure API Permissions
Essential permissions:
- Employee Central API
- Performance Management API
- Learning API
- Recruiting API
- Analytics API
1.4 Get API Endpoints
Note your instance URLs:
- API Server:
https://api.successfactors.com
- Data Center: Your specific DC (e.g., DC2, DC4)
- Company ID: Your instance identifier
Step 2-4: Standard Setup
Follow standard steps to access AI Gateway, find SAP SuccessFactors API, and create MCP server.
Step 5: Configure API Endpoints
- Base URL:
https://api{dc}.successfactors.com/odata/v2
- Company ID: Your instance ID
- API Version: v2 or v4
- Click Next
Step 6: MCP Server Configuration
- Name: "SAP SuccessFactors HCM"
- Description: "Human capital management"
- Request Timeout: 60 seconds
- Click Next
Step 7: Configure Authentication
- Authentication Type: OAuth 2.0
- Grant Type: Client Credentials
- Token URL:
https://api{dc}.successfactors.com/oauth/token
- Enter Client ID and Secret
- Configure scopes
Available SAP SuccessFactors API Scopes
Core HR
-
Employee Central
- User management
- Employment details
- Personal information
- Job information
-
Organization
- Company structure
- Departments
- Positions
- Cost centers
Talent Management
-
Performance
- Performance forms
- Ratings
- Calibration
- 360 feedback
-
Goals
- Goal plans
- Objectives
- Achievements
- Alignment
Learning
- Learning Management
- Courses
- Curricula
- Enrollments
- Completions
Recruiting
- Recruiting Management
- Job requisitions
- Applications
- Candidates
- Offers
Recommended Scope Combinations
For HR Managers:
user_management
employee_central_read_write
performance_read
goals_read
compensation_read
For Recruiters:
recruiting_read_write
onboarding_write
employee_central_read
background_check
Step 8-10: Complete Setup
Configure security, choose deployment, and deploy.
Using Your SAP SuccessFactors MCP Server
With Claude Desktop
{
"servers": {
"sap-successfactors": {
"url": "your-mcp-server-url",
"auth": {
"type": "oauth2",
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"company_id": "your-company-id"
}
}
}
}
Natural Language Commands
- "Show me all employees in Sales department"
- "Start annual performance review cycle"
- "What training courses are available for Python?"
- "Update John Smith's job title to Senior Manager"
- "Generate diversity report for Q4"
API Integration Example
// Initialize MCP client
const mcpClient = new MCPClient({
serverUrl: 'your-mcp-server-url',
auth: {
type: 'oauth2',
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
companyId: 'your-company-id'
}
});
// Employee management
const employee = await mcpClient.successfactors.createEmployee({
personalInfo: {
firstName: 'Sarah',
lastName: 'Johnson',
middleName: 'Marie',
preferredName: 'Sarah',
gender: 'F',
dateOfBirth: '1990-05-15',
maritalStatus: 'Single',
nationality: 'US'
},
contactInfo: {
email: 'sarah.johnson@company.com',
businessPhone: '+1-555-123-4567',
cellPhone: '+1-555-987-6543',
addressLine1: '123 Main Street',
city: 'San Francisco',
state: 'CA',
zipCode: '94105',
country: 'USA'
},
jobInfo: {
startDate: '2025-02-15',
jobTitle: 'Senior Software Engineer',
department: 'Engineering',
division: 'Product Development',
location: 'San Francisco HQ',
managerId: 'E00456',
jobCode: 'ENG-SR-001',
payGrade: 'E5',
employmentType: 'Full-Time',
fte: 1.0
}
});
console.log(`Created employee: ${employee.userId}`);
// Start performance review
const performanceReview = await mcpClient.successfactors.createPerformanceReview({
formTemplateId: 'PM_ANNUAL_2025',
formSubjectId: employee.userId,
formDataId: null, // Auto-generate
formContent: {
competencies: [
{
competencyId: 'TECH_SKILLS',
rating: null, // To be filled
comments: ''
},
{
competencyId: 'LEADERSHIP',
rating: null,
comments: ''
}
],
goals: [
{
goalId: 'PROJ_DELIVERY',
achievement: null,
rating: null
}
],
overallSection: {
overallRating: null,
overallComments: ''
}
},
currentStep: 'SELF_EVALUATION',
dueDate: '2025-03-15'
});
// Assign learning
const learningAssignment = await mcpClient.successfactors.assignLearning({
userId: employee.userId,
itemId: 'COURSE_LEADERSHIP_101',
itemType: 'COURSE',
assignmentType: 'Required',
dueDate: '2025-06-30',
comments: 'Required for senior role development'
});
// Goal management
const goal = await mcpClient.successfactors.createGoal({
userId: employee.userId,
goalPlanId: 'GP_2025',
name: 'Complete Cloud Architecture Certification',
description: 'Obtain AWS Solutions Architect certification',
category: 'Development',
start: '2025-01-01',
due: '2025-12-31',
weight: 20,
metric: 'Pass certification exam',
metricLookupCode: 'CERT_COMPLETE',
state: 'Active'
});
// Compensation planning
const compensationPlan = await mcpClient.successfactors.getCompensationPlan({
userId: employee.userId,
effectiveDate: '2025-04-01'
});
const meritIncrease = await mcpClient.successfactors.proposeMeritIncrease({
userId: employee.userId,
currentSalary: compensationPlan.baseSalary,
performanceRating: 'Exceeds Expectations',
meritPercentage: 5.5,
newSalary: compensationPlan.baseSalary * 1.055,
effectiveDate: '2025-04-01',
reason: 'Annual merit increase',
approver: 'E00456'
});
// Recruiting
const jobRequisition = await mcpClient.successfactors.createJobRequisition({
jobReqTemplateId: 'JRT_SOFTWARE_ENG',
department: 'Engineering',
jobTitle: 'Senior Backend Engineer',
numberOfOpenings: 2,
jobDescription: 'We are looking for experienced backend engineers...',
requirements: [
'5+ years of backend development',
'Experience with microservices',
'Strong Python or Java skills'
],
targetStartDate: '2025-04-01',
recruiter: 'E00789',
hiringManager: 'E00456',
location: 'San Francisco, CA',
employmentType: 'Full-Time',
salaryRange: {
min: 140000,
max: 180000,
currency: 'USD'
}
});
// Process application
const application = await mcpClient.successfactors.createApplication({
jobReqId: jobRequisition.jobReqId,
candidateInfo: {
firstName: 'Alex',
lastName: 'Chen',
email: 'alex.chen@email.com',
phone: '+1-555-111-2222',
resumeText: 'Experienced backend engineer...'
},
source: 'LinkedIn',
status: 'New'
});
// Schedule interview
const interview = await mcpClient.successfactors.scheduleInterview({
applicationId: application.applicationId,
interviewers: ['E00456', 'E00123'],
date: '2025-02-20',
time: '14:00',
duration: 60,
type: 'Technical Interview',
location: 'Video Call',
interviewGuideId: 'IG_TECHNICAL_SR'
});
// Workforce analytics
const headcountReport = await mcpClient.successfactors.runReport({
reportId: 'HEADCOUNT_BY_DEPT',
parameters: {
effectiveDate: '2025-01-31',
includeFTE: true,
groupBy: ['department', 'location']
}
});
console.log('Headcount Summary:');
headcountReport.data.forEach(row => {
console.log(`${row.department} - ${row.location}: ${row.headcount} (${row.fte} FTE)`);
});
// Time off request
const timeOffRequest = await mcpClient.successfactors.createTimeOffRequest({
userId: employee.userId,
timeType: 'VACATION',
startDate: '2025-03-15',
endDate: '2025-03-22',
startTime: '00:00',
endTime: '23:59',
comment: 'Family vacation',
workflowRequestId: null // Auto-generate
});
// Employee self-service update
const addressUpdate = await mcpClient.successfactors.updateEmployeeAddress({
userId: employee.userId,
effectiveDate: '2025-02-01',
addressInfo: {
addressLine1: '456 Oak Avenue',
addressLine2: 'Apt 301',
city: 'San Francisco',
state: 'CA',
zipCode: '94110',
country: 'USA'
}
});
// Succession planning
const successionPlan = await mcpClient.successfactors.updateSuccessionPlan({
positionCode: 'VP_ENGINEERING',
incumbentId: 'E00456',
successors: [
{
userId: employee.userId,
readiness: 'Ready in 1-2 Years',
ranking: 1,
developmentNeeded: 'Executive leadership training',
comments: 'High potential, needs leadership experience'
}
],
emergencyBackup: 'E00789',
lastReviewDate: '2025-01-15'
});
// Real-time event subscription
const eventSubscription = await mcpClient.successfactors.subscribeToEvents({
eventTypes: [
'employee.hired',
'employee.terminated',
'employee.promoted',
'performance.review.completed'
],
webhookUrl: 'https://your-app.com/webhooks/successfactors'
});
// Handle webhook events
app.post('/webhooks/successfactors', async (req, res) => {
const { eventType, data } = req.body;
if (eventType === 'employee.hired') {
await startOnboardingProcess(data.userId);
} else if (eventType === 'performance.review.completed') {
await processPerformanceResults(data.formDataId);
}
res.status(200).send('OK');
});
Common Use Cases
HR Operations
- Employee lifecycle management
- Organizational planning
- Position management
- Global assignments
Talent Management
- Performance reviews
- Goal alignment
- Succession planning
- Career development
Learning & Development
- Training assignments
- Skill gap analysis
- Certification tracking
- Learning paths
Compensation & Benefits
- Merit planning
- Bonus calculations
- Total rewards
- Pay equity analysis
Security Best Practices
-
Data Protection:
- Encrypt sensitive data
- Implement field-level security
- Audit all access
- GDPR compliance
-
Access Control:
- Role-based permissions
- IP whitelisting
- Session management
- MFA enforcement
-
Integration Security:
- Use OAuth 2.0 only
- Rotate credentials
- Monitor API usage
- Validate webhooks
Troubleshooting
Common Issues
-
Authentication Errors
- Verify OAuth credentials
- Check API user permissions
- Validate company ID
- Review IP restrictions
-
Data Sync Issues
- Check effective dating
- Verify field mappings
- Handle custom fields
- Review validation rules
-
Performance Issues
- Use OData query options
- Implement pagination
- Cache reference data
- Optimize batch operations
Getting Help
- Documentation: AI Gateway Docs
- Support: support@cequence.ai
- SAP Community: community.sap.com