Ellipse Gradient for Header
SAP SuccessFactors logo

SAP SuccessFactors Integration Guide

Integrate SAP SuccessFactors with enterprise applications through OData, REST, SOAP, selected event notifications, and file-based exchange.

SAP SuccessFactors integration options at a glance

SAP SuccessFactors supports OData v2 as the primary API style for many Employee Central and workforce objects, alongside selected REST APIs and SOAP services such as Compound Employee and SFAPI. Intelligent Services provides event notifications for selected business events, while batch requests, scheduled extracts, Integration Center jobs, imports, exports, and attachment mechanisms support higher-volume or file-oriented scenarios. OAuth 2.0, SAML bearer assertions, API clients, role-based permissions, and selected legacy authentication methods control access. Martini can consume these endpoints, receive supported event notifications, schedule incremental queries, transform effective-dated data, and orchestrate reliable downstream updates.

Integration pointSupported by SAP SuccessFactors?Common use casesHow Martini supports it
OData v2 APIsYesPrimary access method for User, PerPerson, PerPersonal, EmpEmployment, EmpJob, Position, recruiting, performance, and other supported entities. Supports filtering, field selection, expansion, effective-dated queries, paging, and applicable updates.Martini can consume SuccessFactors OData endpoints, paginate results, apply incremental filters, map entities, and orchestrate idempotent downstream writes.
REST APIsYesSelected SuccessFactors product areas and business capabilities expose REST APIs through the SAP API catalog. Coverage and operations vary by module.Martini can consume documented SuccessFactors REST endpoints and generate reusable workflow or API assets around the required operations.
SOAP APIsYesCompound Employee, SFAPI, and other module-specific services support selected employee-data extraction and legacy integration scenarios.Martini can consume documented SOAP services, transform hierarchical XML payloads, and apply SOAP-specific error handling and retry logic.
Webhooks and event notificationsLimitedIntelligent Services and event notifications support selected business events, but do not provide a universal notification stream for every OData entity or field change.Martini can receive or invoke supported event-notification endpoints and use scheduled OData reconciliation when an event is unavailable or incomplete.
Bulk, batch, and asynchronous processingLimitedOData batch, Compound Employee extracts, scheduled extracts, Integration Center jobs, and module-specific imports or exports support selected high-volume scenarios.Martini can orchestrate batch-oriented workflows, process pages or files incrementally, and record checkpoints and rejected items.
File and attachment APIsLimitedSelected modules expose Attachment entities or file-based import and export capabilities. Support depends on the object, MIME type, file size, and tenant configuration.Martini can transform files and metadata, call documented attachment endpoints, and route unsupported or oversized files to exception handling.
AuthenticationYesOAuth 2.0, SAML bearer assertions, API clients, role-based permissions, tenant-specific endpoints, and selected legacy Basic Authentication scenarios are available.Martini can externalize tenant URLs, company identifiers, credentials, certificates, private keys, and secrets through secure environment configuration.
Database accessNot confirmedDirect access to the SuccessFactors production database is not a standard integration method. Supported APIs, exports, reporting, or SAP analytics services should be used instead.Martini can connect to approved downstream databases, but should not depend on direct SuccessFactors database access.

How SAP SuccessFactors exposes data and business events

SAP SuccessFactors OData APIs

OData v2 is the principal API style for many SuccessFactors business objects. It supports entity reads and writes where permitted, filtering, field selection, related-entity expansion, effective-dated queries, paging, applicable batch requests, and ETag-based concurrency for supported entities.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates against the tenant, retrieves pages using validated OData filters, normalizes effective-dated objects, maps them to a canonical model, and writes idempotently to downstream systems. It stores checkpoints and handles throttling, ETags, and transient failures.

Implementation sequence

Authenticate with the tenant-specific SuccessFactors endpoint
Retrieve the required entity set with validated filters and field selections
Process each response page and update the synchronization checkpoint
Apply effective-date and business-rule evaluation
Map SuccessFactors fields to the target model
Upsert the target object using a stable correlation key

SAP SuccessFactors REST APIs

SuccessFactors exposes REST APIs for selected product areas and capabilities. Availability, object coverage, and operation support must be verified in the SAP API catalog for the required module.

Martini implementation pattern

Martini implementation pattern: an API-consuming workflow invokes the documented REST operation, validates the response against the expected contract, transforms module-specific fields, and exposes reusable Martini APIs where downstream consumers need a controlled interface.

Implementation sequence

Select the documented REST API and required operation
Configure the tenant endpoint and authentication values securely
Invoke the SuccessFactors REST resource
Validate the response and required business fields
Transform the payload for the target application
Persist the result and route failures for retry or review

SAP SuccessFactors SOAP APIs

Compound Employee, SFAPI, and other documented SOAP services remain relevant for selected employee-data extraction and legacy scenarios. Compound Employee responses can be hierarchical and large.

Martini implementation pattern

Martini implementation pattern: Martini consumes the SOAP service, parses the XML response into a normalized employee structure, processes segmented or paged extracts where applicable, and maps only approved fields to downstream systems.

Implementation sequence

Configure the documented SOAP service and authentication
Submit the required employee or module-specific request
Receive and parse the hierarchical XML response
Normalize employee and employment segments
Apply field filtering and transformation rules
Deliver accepted records and report rejected segments

Intelligent Services event notifications

Intelligent Services and related event notifications provide event-driven integration for selected SuccessFactors business events. Coverage is module-, event-, tenant-, and configuration-specific rather than universal.

Martini implementation pattern

Martini implementation pattern: Martini receives a supported notification or invokes the configured event endpoint, retrieves the current SuccessFactors representation when the event payload is incomplete, and starts a workflow for provisioning, synchronization, or exception handling. Scheduled reconciliation remains the fallback for unsupported events.

Implementation sequence

Confirm that the required business event is available
Receive the event notification at the Martini endpoint
Validate the event and correlate it to the SuccessFactors object
Retrieve the current object when the notification lacks required fields
Apply lifecycle and ownership rules
Write the downstream change and record the event outcome

Batch, extracts, and file exchange

SuccessFactors supports OData batch requests, Compound Employee extracts, scheduled extracts, Integration Center jobs, and selected module-specific imports and exports. Exact behavior varies by API and object.

Martini implementation pattern

Martini implementation pattern: a scheduled workflow retrieves or receives a batch or file, validates its structure, processes records incrementally, maps them to target models, and records accepted and rejected items separately. File and attachment support is confirmed per object and module.

Implementation sequence

Schedule or receive the approved extract or file
Validate the file, batch structure, and required metadata
Process records in bounded batches
Transform records into the target format
Deliver accepted records to the downstream endpoint or file location
Store an audit result and retry recoverable failures

Common SAP SuccessFactors integration patterns

Pattern 1: Synchronize employee and organizational master data

When to use this pattern

Use this pattern when SAP SuccessFactors is the source of employee, employment, job, and position information for downstream identity, service-management, ERP, or expense applications. It supports scheduled incremental synchronization with periodic reconciliation.

Integration direction
SAP SuccessFactors
Martini
Microsoft Entra ID
ServiceNow
Example Mapping
SAP SuccessFactors FieldCanonical FieldTarget Field
User.userIdemployeeIduserName or employeeNumber
PerPerson.personIdExternalpersonIdexternalPersonId
EmpJob.departmentdepartmentCodedepartment
EmpJob.managerIdmanagerIdmanagerReference
Martini implementation pattern

A scheduler starts a Martini workflow that queries User, PerPerson, EmpEmployment, EmpJob, and Position with supported modification and effective-date filters. Martini joins related data, masks unnecessary personal fields, applies active and terminated-worker rules, and performs idempotent target upserts. It persists a checkpoint with an overlap window and sends failed records to a retry or exception path.

Martini capabilities used
  • workflows
  • API consumption
  • scheduling
  • data mapping
  • business rules
  • checkpointing
  • error handling

Pattern 2: Automate joiner, mover, and leaver actions

When to use this pattern

Use this pattern for employee lifecycle automation such as identity provisioning, department changes, manager changes, and termination actions. Intelligent Services events can reduce latency where the required event exists; scheduled OData reconciliation covers unsupported or missed events.

Integration direction
SAP SuccessFactors
Martini
Microsoft Entra ID
ServiceNow
Example Mapping
SAP SuccessFactors FieldCanonical FieldTarget Field
EmpEmployment.startDateemploymentStartDateaccountActivationDate
EmpEmployment.endDateemploymentEndDateaccountDisableDate
EmpJob.eventReasonlifecycleReasonprovisioningAction
EmpJob.statusemploymentStatusaccountStatus
Martini implementation pattern

Martini receives a supported event or detects a change through an incremental query, retrieves the current related objects, and evaluates lifecycle rules. It provisions, modifies, or disables downstream accounts through their APIs, uses stable identifiers to prevent duplicate actions, and retries transient failures without repeating completed operations.

Martini capabilities used
  • event-driven workflows
  • API consumption
  • conditional routing
  • data mapping
  • business rules
  • idempotency
  • retry handling

Pattern 3: Synchronize recruiting and onboarding data

When to use this pattern

Use this pattern when Recruiting or Onboarding data must be exchanged with payroll, identity, IT service, or document-management applications. It is useful when source fields require validation and module-specific identifiers must be converted before delivery.

Integration direction
SAP SuccessFactors
Martini
ServiceNow
Microsoft Entra ID
Example Mapping
SAP SuccessFactors FieldCanonical FieldTarget Field
Recruiting Job Requisition.idrequisitionIdrequestReference
Candidate.idcandidateIdcandidateExternalId
Onboarding.statusonboardingStatusworkflowStatus
Candidate.emailpersonalEmailcontactEmail
Martini implementation pattern

A Martini workflow consumes the documented recruiting or onboarding API, validates required fields and privacy rules, transforms identifiers and status values, and routes incomplete candidates or new hires to an exception process. Accepted data is sent to downstream APIs with correlation keys and an audit result.

Martini capabilities used
  • workflows
  • API consumption
  • validation
  • data mapping
  • business rules
  • exception routing
  • audit logging

Pattern 4: Export employee data for reporting or compliance

When to use this pattern

Use this pattern when approved employee and employment data must be delivered on a schedule to a reporting platform, file location, or external endpoint. OData and Compound Employee are selected according to the required hierarchy and extraction shape.

Integration direction
SAP SuccessFactors
Martini
Approved file or reporting endpoint
Example Mapping
SAP SuccessFactors FieldCanonical FieldTarget Field
User.userIdemployeeIdemployee_id
PerPersonal.firstNamegivenNamefirst_name
PerPersonal.lastNamefamilyNamelast_name
EmpJob.locationworkLocationlocation_code
Martini implementation pattern

A scheduled Martini workflow extracts only approved fields, applies effective-date and population filters, masks sensitive values where required, and transforms the result into JSON, XML, or CSV. It delivers the output, records an audit entry, retries transient failures, and produces a separate rejection report.

Martini capabilities used
  • scheduling
  • API consumption
  • SOAP consumption
  • data mapping
  • JSON and XML transformation
  • file processing
  • error handling

Applications commonly integrated with SAP SuccessFactors

SAP SuccessFactors commonly acts as a human resources system of record. The following applications can be integrated with it to coordinate identity, IT service, enterprise-resource, payroll, expense, sales, work-management, and workforce-administration processes.

Application Scenario Direction Martini Pattern
Microsoft Entra ID Provision, update, and disable identities based on employee lifecycle, employment status, and organizational changes. SAP SuccessFactors → Martini → Microsoft Entra ID A scheduled or event-assisted workflow retrieves User, EmpEmployment, and EmpJob changes, maps stable employee identifiers and status values, then invokes Microsoft Entra ID APIs with idempotent create, update, and disable operations. Martini applies lifecycle rules and routes rejected records for review.
ServiceNow Synchronize users, departments, managers, locations, and employee lifecycle information for service workflows and operational processes. SAP SuccessFactors → Martini → ServiceNow Martini consumes incremental OData queries, normalizes effective-dated employee and organizational data, validates required fields, and upserts ServiceNow users or related objects. Checkpoints, retries, and duplicate detection support reliable reconciliation.
SAP S/4HANA Exchange workforce, organizational, cost-center, and employee-related data across SAP applications. SAP SuccessFactors → Martini → SAP S/4HANA A Martini workflow coordinates SuccessFactors OData or SOAP extraction with the target SAP APIs, applies field ownership and organizational mapping rules, and handles bidirectional updates only where both systems expose the required operations.
Workday Exchange selected employee, organizational, or recruiting data during coexistence, migration, or multinational HR-system scenarios. SAP SuccessFactors → Martini → Workday Martini stages extracts from both platforms, maps identifiers and effective dates into a canonical employee model, validates source ownership, and writes only approved fields. Batch processing and exception reports support migration and coexistence workloads.
SAP Concur Align employee, manager, cost-center, and organizational data for travel and expense processes. SAP SuccessFactors → Martini → SAP Concur Martini retrieves approved employee and organizational attributes, transforms identifiers and cost-center values, validates active status, and sends idempotent updates to SAP Concur through its supported integration endpoints.
Salesforce Synchronize employee, recruiting, partner, or organizational data where Salesforce supports HR-related business processes. SAP SuccessFactors → Martini → Salesforce A Martini workflow consumes SuccessFactors APIs, maps employee or recruiting objects to Salesforce models, applies field-level business rules, and exposes reusable API-led services for controlled downstream consumption.
Jira Create or update work items for onboarding, access changes, and HR service processes. SAP SuccessFactors → Martini → Jira Martini detects qualifying hires, transfers, or terminations, validates lifecycle data, and invokes Jira APIs to create or update issues. Correlation keys prevent duplicate work items and failures are retained for retry or manual resolution.
ADP Exchange employee and workforce data for payroll or workforce administration where both platforms are deployed. SAP SuccessFactors → Martini → ADP Martini supports staged API or file exchange by extracting approved SuccessFactors objects, transforming regional and payroll-specific fields, applying validation rules, and delivering accepted records while producing an auditable rejection report.

How to build a SAP SuccessFactors integration in Martini

Objective

Establish tenant-specific SuccessFactors connectivity while keeping credentials and certificates outside workflow logic.

Instructions in Martini

  • Identify the data-center-specific SuccessFactors endpoint and company identifier where required.
  • Create an appropriately scoped SuccessFactors API client and role-based permission set.
  • Configure OAuth 2.0, SAML bearer, or an approved legacy method as required by the scenario.
  • Store client secrets, certificates, private keys, and endpoint values in secure environment configuration.

Objective

Select an event-driven, scheduled, or API-led entry point based on SuccessFactors event coverage and synchronization latency requirements.

Instructions in Martini

  • Use an Intelligent Services notification only when the required event is confirmed.
  • Use a scheduler for incremental OData or SOAP extraction and periodic reconciliation.
  • Expose a controlled Martini API when another system must request a SuccessFactors operation.
  • Define a checkpoint and overlap window for scheduled synchronization.

Objective

Retrieve the required SuccessFactors objects efficiently and with explicit handling for effective dating and volume.

Instructions in Martini

  • Select the appropriate OData, REST, SOAP, batch, extract, or file mechanism.
  • Validate filters, field selections, expansions, paging behavior, and object-specific API support.
  • Process pages, segments, or files incrementally rather than repeatedly retrieving the full population.
  • Use current, historical, and future effective-date rules appropriate to the business process.

Objective

Coordinate source retrieval, enrichment, validation, target calls, and exception paths as a maintainable Martini workflow.

Instructions in Martini

  • Separate retrieval, normalization, business rules, target delivery, and audit stages.
  • Use reusable services or workflow components for common authentication and mapping behavior.
  • Define correlation identifiers and system-of-record ownership for each field.
  • Route rejected records and unrecoverable conflicts to an operational exception path.

Objective

Convert SuccessFactors-specific objects and effective-dated structures into the canonical and target data models.

Instructions in Martini

  • Map User, PerPerson, PerPersonal, EmpEmployment, EmpJob, and Position fields explicitly.
  • Normalize status, organization, manager, identifier, and date formats.
  • Transform SOAP XML, OData JSON, or file payloads into the required target representation.
  • Filter or mask personal data that the downstream process does not require.

Objective

Ensure lifecycle, ownership, effective-date, privacy, and duplicate-handling rules are applied before target updates.

Instructions in Martini

  • Determine whether a change is a joiner, mover, leaver, correction, or future-dated update.
  • Use stable SuccessFactors identifiers as idempotency keys.
  • Prevent update loops by defining ownership for shared fields.
  • Validate required fields, permissions, populations, and target prerequisites.

Common SAP SuccessFactors data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
UserSynchronize employee user accounts, user identifiers, status, and user-level employment information.Microsoft Entra ID, ServiceNow, Salesforce, JiraMartini retrieves current or incrementally changed users, validates permissions and lifecycle status, maps stable identifiers, and performs idempotent downstream upserts.
PerPersonRepresent effective-dated person records and person identifiers.SAP S/4HANA, Workday, ADP, reporting platformsMartini applies effective-date selection, pagination, checkpointing, and canonical person mapping before writing to target systems.
PerPersonalSynchronize effective-dated names and demographic or personal details.Payroll, workforce administration, identity systemsMartini filters sensitive fields, applies field-level access and transformation rules, and avoids overwriting current values with future-dated changes.
EmpEmploymentExchange employment relationships, employment status, start dates, and employment identifiers.Microsoft Entra ID, ServiceNow, SAP S/4HANA, ADPMartini uses employment identifiers as correlation keys, applies joiner-mover-leaver rules, and handles terminated or inactive employees explicitly.
EmpJobSynchronize department, division, location, job code, manager, and employment status.ServiceNow, SAP S/4HANA, Microsoft Entra ID, SAP ConcurMartini evaluates effective-dated job changes, maps organizational codes, validates required relationships, and retries transient target failures.
PositionExchange position codes, organizational assignments, and position status.SAP S/4HANA, Workday, ServiceNow, reporting systemsMartini maps position and organization identifiers, enforces ownership rules, and supports incremental or scheduled synchronization.

Authentication and security considerations

Tenant authentication and permissions

SAP SuccessFactors access is tenant-specific and commonly uses OAuth 2.0, SAML bearer assertions, API clients, and role-based permissions. Basic Authentication may remain relevant for selected legacy scenarios, but OAuth-based methods are generally preferred for new integrations.

  • Use least-privilege API clients and SuccessFactors permission roles.
  • Externalize company identifiers, tenant URLs, client secrets, certificates, and private keys.
  • Limit permissions by object, field, operation, and employee population.
  • Use Martini secure configuration and secrets management rather than embedding credentials in workflows.

Personal data protection

Employee and employment payloads may contain sensitive personal information. Apply field-level filtering, encryption in transit, controlled logging, and approved retention policies.

Operational considerations for SAP SuccessFactors integrations

Reliability and volume

Design for tenant and API-specific throttling, pagination, payload limits, and object-level differences in OData behavior. Use bounded concurrency, exponential backoff, and checkpointed processing rather than repeatedly extracting the full population.

  • Handle transient throttling and network failures with bounded retries.
  • Use stable identifiers and idempotent upserts to prevent duplicates.
  • Use ETags for supported updates and define a conflict path when data has changed.
  • Validate effective dating for current, historical, and future records.
  • Test custom fields, picklists, permissions, and metadata separately across tenants.
  • Retain scheduled reconciliation because Intelligent Services events are selective.

Monitoring and change management

Record checkpoints, request correlation identifiers, accepted and rejected counts, and operational errors without logging unnecessary personal data. Test API versions, endpoint differences, schema changes, file limits, and event payloads before production deployment.

Why use Martini instead of scripts or point-to-point integrations?

Orchestrated integration logic

Martini provides a maintainable workflow layer between SAP SuccessFactors and downstream applications. It can consume OData, REST, and SOAP services, receive supported event notifications, expose controlled APIs, and coordinate scheduled or batch-oriented processing.

  • Centralize mapping, effective-date rules, validation, and field ownership.
  • Reuse authentication, transformation, and exception-handling logic across workflows.
  • Combine event-driven processing with scheduled reconciliation when event coverage is incomplete.
  • Apply consistent pagination, checkpointing, retry, idempotency, and audit patterns.
  • Change target applications or business rules without duplicating point-to-point scripts.

Developer control

Martini offers a low-code development experience for professional developers while retaining the flexibility to add custom logic when SuccessFactors payloads, module-specific rules, or downstream contracts require it.

Frequently asked questions

How can SAP SuccessFactors be integrated with enterprise systems?

SAP SuccessFactors can be integrated through OData v2 and selected REST APIs, documented SOAP services such as Compound Employee and SFAPI, selected Intelligent Services event notifications, batch and scheduled extracts, Integration Center or module-specific file mechanisms, and attachment APIs. Authentication commonly uses OAuth 2.0, SAML bearer assertions, API clients, and role-based permissions.

Can Martini integrate with SAP SuccessFactors?

Yes. Martini can integrate with SAP SuccessFactors by consuming its OData, REST, and documented SOAP APIs, receiving supported event notifications, processing scheduled or file-based extracts, mapping SuccessFactors objects, and orchestrating updates to downstream applications.

Do I need a connector to integrate SAP SuccessFactors with Martini?

No. A dedicated SAP SuccessFactors connector is not required. Martini can use the vendor's confirmed native OData, REST, SOAP, event-notification, batch, file, attachment, and authentication mechanisms through workflows and APIs.

Is there any extra Lonti cost to integrate SAP SuccessFactors with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate SAP SuccessFactors. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from SAP, cloud infrastructure, or other third-party systems based on subscriptions, usage, and deployment model.

Which SAP SuccessFactors APIs should a new integration use?

OData v2 is commonly preferred for Employee Central and workforce entities when it supports the required operation. Selected REST APIs should be evaluated through the SAP API catalog, while SOAP remains appropriate for Compound Employee, SFAPI, or other scenarios available only through documented SOAP services.

Are SAP SuccessFactors webhooks or event notifications available?

Intelligent Services and event notifications are available for selected business events, but they are not a universal webhook stream for every entity or field change. Martini can receive supported notifications and use scheduled incremental API queries or reconciliation for unsupported events.

How does Martini synchronize SAP SuccessFactors data reliably?

Martini can combine event notifications with scheduled OData or SOAP queries, pagination, modification timestamps, effective-date filters, checkpoints, overlap windows, and periodic reconciliation. Stable identifiers support idempotent upserts, while ETags can help prevent overwriting newer changes where supported.

Can Martini expose an API façade for SAP SuccessFactors?

Yes. Martini can expose a controlled API that hides tenant-specific endpoints and authentication details, normalizes SuccessFactors objects, applies authorization and business rules, and orchestrates calls to OData, REST, or SOAP services for approved downstream consumers.