Supergood | SAP SuccessFactors API

Supergood | SAP SuccessFactors API

Programmatically access SAP SuccessFactors HR data—employees, org structure, recruiting, time off, and learning—with a stable REST API. Supergood builds and operates production-grade, unofficial SuccessFactors integrations so your team can automate HR workflows without heavy custom engineering.

Plain English: SAP SuccessFactors is cloud-based human resources software (HCM/HXM) that centralizes core HR (Employee Central), recruiting, onboarding, performance, compensation, learning, time tracking, and payroll. An unofficial API lets you programmatically pull employee profiles, job information, org charts, requisitions, candidates, time-off balances and requests, learning assignments and completions—and push updates like job changes, new candidates, or absence requests back into SuccessFactors.

For a tech company integrating with SuccessFactors, this means you can ingest real-time employee and org data to power identity provisioning and RBAC in your app, sync requisitions and candidate statuses to your ATS/CRM, automate time-off workflows and approvals from your product, or enrich your platform with training assignments and compliance completions. You can also push job changes, create candidates with attached resumes, submit absence requests, and keep stakeholder systems (payroll, analytics warehouses like Snowflake, SSO/IDP, ERP) in lockstep.

Complaints we hear: Teams struggle with effective-dated objects (e.g., CompoundEmployee), per-tenant configuration differences, role-based permission gates, and fragmented APIs across modules (Employee Central vs Recruiting vs Learning). Data exports via Integration Center are often batch-only and brittle, and plugging in automation behind SSO/MFA is non-trivial. Supergood smooths these edges with a normalized, resilient API layer.

What is SAP SuccessFactors?

SAP SuccessFactors (https://www.sap.com/products/hcm.html) is a cloud HCM/HXM suite used by enterprises to manage the full employee lifecycle: hire, onboard, develop, reward, and retain. It provides Employee Central (core HR), Recruiting and Onboarding, Performance & Goals, Compensation, Succession & Development, Learning, Time Management, and payroll integrations—all governed by robust role-based permissions (RBP) and effective-dated records.

Core product areas include:

  • Employee Central (Persons, Employments, Job Information, Positions, Org Units, Cost Centers)
  • Recruiting & Onboarding (Job Requisitions, Candidates, Applications, Offers, Preboarding Tasks)
  • Time Management (Time Off Policies, Absence Requests, Balances, Timesheets)
  • Learning (Items/Courses, Assignments, Completions, Certifications)
  • Performance & Compensation (Goals, Reviews, Pay Components, Bonus/Stock)
  • People Analytics & Reporting (Dashboards, Story Reports, Workforce Analytics)

Common data entities:

  • Companies, Users, Roles/Permissions (Employee, Manager, HR, Recruiter)
  • Employees/Persons (personal data, contacts, national IDs)
  • Employments & Job Information (effective-dated job, location, department, cost center, manager)
  • Positions & Org Units (hierarchy, headcount, vacancy status)
  • Time Off (policies, accruals, balances, absence requests)
  • Timesheets (work segments, cost allocations)
  • Recruiting (job requisitions, candidates, applications, offers)
  • Onboarding (tasks, documents, compliance checklists)
  • Learning (items, curricula, assignments, completions, certificates)

The SAP SuccessFactors Integration Challenge

Enterprises rely on SuccessFactors daily, but turning portal- and OData-based workflows into API-driven automation is complex:

  • Effective dating: Core HR data is split across person/employment segments and time slices; updates require correct effectiveDate handling
  • Role-based permissions: RBP gates fields and modules; visibility and edit rights vary by tenant, user role, and object configuration
  • API fragmentation: OData v2 covers most modules, SFAPI SOAP is still used for CompoundEmployee, Recruiting/Learning have unique schemas and attachment flows
  • Authentication complexity: SSO via SAP IAS (SAML/OAuth), MFA, CSRF tokens, and session lifecycles complicate headless automation
  • Tenant variability: MDF objects, custom fields, picklists, and workflows differ across tenants, breaking generic integrations
  • Data export pain: Integration Center jobs are batch-oriented, throttled, and not event-driven; delta syncs and pagination need careful tuning
  • ID chaos: userId vs personId/externalId vs employeeId; requisition and candidate IDs differ by module; mapping is required

How Supergood Creates SAP SuccessFactors APIs

Supergood reverse-engineers authenticated browser flows and official API interactions to deliver a resilient endpoint layer for your SuccessFactors tenant.

  • Handles username/password, SSO/OAuth (SAP IAS), and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh, CSRF token management, and change detection
  • Normalizes effective-dated responses so you can integrate once and rely on consistent objects across modules
  • Maps IDs across Candidate/Employee/Person objects and reconciles custom fields and picklists
  • Aligns with tenant configuration, entitlements, and RBP to ensure compliant access

Use Cases

HR Data Sync & Identity Provisioning

  • Mirror employees, positions, managers, and org units into your internal systems
  • Keep job info, locations, and cost centers current for RBAC, approvals, and directory
  • Normalize effective dating and detect changes via lastModified timestamps

Recruiting & Onboarding Automation

  • Create candidates from your career site or CRM, attach resumes, and apply to requisitions
  • Track application status and offers, trigger onboarding tasks, and provision accounts in your product
  • Consolidate recruiter workflows across regions and brands

Time & Absence Management

  • Submit and approve time-off requests from your app, with balance checks and policy validation
  • Export absence and timesheet data to planning, scheduling, or payroll systems (e.g., ADP)
  • Drive SLA alerts and manager notifications for pending requests

Learning & Compliance

  • Sync training assignments and completions for certifications and compliance reporting
  • Trigger reminders for overdue courses and surface completion status in your product
  • Aggregate multi-tenant learning data for analytics in Snowflake or your BI stack

Available Endpoints

Authentication

POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth (SAP IAS) when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": { "type": "totp", "code": "123456" }
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_sf_e7a210",
    "name": "HR Admin",
    "entitlements": ["employees", "recruiting", "time_off", "learning"]
  }
}

POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Employees

GET /employees: List employees with effective-dated job information and summary details.

Query parameters

  • companyId: string
  • status: active | terminated | on_leave
  • effectiveDate: ISO 8601 date to evaluate job info (default: today)
  • updatedFrom, updatedTo: ISO 8601 timestamps for delta sync
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "employeeId": "100123",
      "userId": "jdoe",
      "personId": "P-000987",
      "firstName": "Jordan",
      "lastName": "Doe",
      "email": "[email protected]",
      "status": "active",
      "companyId": "US01",
      "hireDate": "2023-06-12",
      "terminationDate": null,
      "jobInfo": {
        "effectiveDate": "2026-01-26",
        "jobCode": "ENG3",
        "businessTitle": "Software Engineer III",
        "positionId": "POS-21044",
        "department": "Engineering",
        "division": "Product Development",
        "locationCode": "NYC-HQ",
        "costCenter": "CC-ENG-001",
        "managerEmployeeId": "100045"
      },
      "lastModifiedDateTime": "2026-01-20T14:32:11Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

PATCH /employees/{employeeId}: Update effective-dated job attributes (e.g., business title, manager, location).

curl --request PATCH \
  --url https://api.supergood.ai/integrations/<integration_id>/employees/100123 \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "effectiveDate": "2026-02-01",
    "jobInfo": {
      "businessTitle": "Senior Software Engineer",
      "managerEmployeeId": "100021",
      "locationCode": "SF-01",
      "costCenter": "CC-ENG-002"
    },
    "eventReason": "promotion"
  }'

Example response

{
  "employeeId": "100123",
  "status": "active",
  "jobInfo": {
    "effectiveDate": "2026-02-01",
    "businessTitle": "Senior Software Engineer",
    "managerEmployeeId": "100021",
    "locationCode": "SF-01",
    "costCenter": "CC-ENG-002"
  },
  "updatedAt": "2026-01-22T09:18:03Z"
}

Time Off Requests

POST /time-off/requests: Create an absence request for an employee with validation against policy and balances.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/time-off/requests \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "employeeId": "100123",
    "absenceTypeCode": "VAC",
    "startDate": "2026-03-04",
    "endDate": "2026-03-08",
    "quantityHours": 32,
    "comment": "Family trip",
    "attachments": [
      {"fileName": "travel_note.pdf", "uploadToken": "upl_0a3f92"}
    ],
    "submitForApproval": true,
    "notifyApprover": true
  }'

Example response

{
  "requestId": "tor_58a101",
  "employeeId": "100123",
  "absenceTypeCode": "VAC",
  "status": "pending_approval",
  "balanceCheck": {
    "availableHours": 80,
    "requestedHours": 32,
    "policy": "US Vacation"
  },
  "createdAt": "2026-01-22T11:41:27Z"
}

Recruiting Candidates

POST /recruiting/candidates: Create a candidate with optional resume upload and apply to a requisition.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/recruiting/candidates \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "firstName": "Casey",
    "lastName": "Smith",
    "email": "[email protected]",
    "phone": "+1-402-555-0199",
    "source": "career_site",
    "resume": {"fileName": "casey_smith_resume.pdf", "uploadToken": "upl_7b92c0"},
    "applyTo": {"requisitionId": "REQ-2026-0042"},
    "consent": true
  }'

Example response

{
  "candidateId": "cand_9f0b21",
  "applicationId": "app_748c12",
  "requisitionId": "REQ-2026-0042",
  "status": "new",
  "createdAt": "2026-01-22T12:05:10Z"
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth via SAP IAS where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with normalized effective-dated schemas and consistent pagination across modules
  • Rate limits: Tuned for enterprise throughput while honoring tenant throttles and usage controls
  • Session management: Automatic reauth, CSRF token rotation, and cookie/session health checks
  • Data freshness: Near real-time retrieval of employees, recruiting, time off, and learning objects
  • Security: Encrypted transport, scoped tokens, and audit logging; respects SuccessFactors role-based permissions
  • Webhooks: Optional async delivery for long-running workflows (e.g., approvals, candidate status changes)

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume HR data sync and recruiting/time-off processing
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened SuccessFactors adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as SuccessFactors evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which SuccessFactors modules can this integration cover?

Supergood supports workflows across commonly used modules such as Employee Central (Persons, Employments, Job Info), Recruiting (Requisitions, Candidates, Applications), Time Management (Time Off, Timesheets), and Learning (Assignments, Completions), subject to your licensing and entitlements. We scope coverage during integration assessment.

Q: How are MFA and SSO handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth via SAP IAS when enabled. Sessions and CSRF tokens are refreshed automatically with secure challenge handling.

Q: Can you sync HR and time-off data to our payroll or analytics system?

Yes. We can normalize effective-dated job info, pay components, and absence data to match your payroll or analytics schema and deliver updates via webhooks or polling while complying with rate and permission constraints. We commonly integrate with ADP and enterprise data platforms.

Q: Are candidate resumes and approval artifacts supported?

Yes. We support downloading and uploading attachments via signed uploads, with checksum validation and time-limited URLs. Candidate application states, time-off approvals, and audit metadata are modeled explicitly in our normalized responses.



Ready to automate your SuccessFactors workflows?

Supergood can have your SuccessFactors integration live in days with no ongoing engineering maintenance.

Get Started →

Read more