.png)
Sage People Integration Guide
Sage People integrates with enterprise systems through Salesforce-based REST APIs, OAuth 2.0, scheduled synchronization, and selectively available event or callback mechanisms.
Sage People integration options at a glance
Sage People primarily supports Salesforce-based REST API integration for reading and updating Person, Employment, Position, Organization, Absence, and related data. OAuth 2.0 provides the expected authentication model, with access controlled by connected-app scopes, object permissions, field-level security, and sharing rules. Salesforce bulk and asynchronous capabilities may support larger synchronizations when enabled for the customer’s environment. Webhook-style notifications, platform events, outbound messages, or change notifications may be available for selected objects and configurations, but coverage must be verified. Martini can consume these APIs, receive supported callbacks, schedule incremental queries, transform HR data, and expose controlled APIs to downstream systems.
Common Sage People integration patterns
Common Sage People data objects used in integrations
Authentication and security considerations
OAuth-based access
Sage People integrations generally use the Salesforce authentication model. OAuth 2.0 with access tokens is the preferred approach for new server-to-server integrations, with refresh tokens used where the configured authorization flow permits them.
Least-privilege permissions
Access is constrained by connected-app scopes, integration-user permissions, Sage People object access, field-level security, sharing rules, and the customer’s tenant configuration. Confirm the exact managed-package objects and fields before deployment.
Protect HR data
- Store OAuth credentials, access tokens, and refresh tokens in Martini secrets or secure environment configuration.
- Transfer only the Person, Employment, Absence, and related fields required by the business process.
- Apply additional privacy and retention controls to absence details and HR documents.
- Use the correct Sage People or Salesforce login and API host for each environment.
Operational considerations for Sage People integrations
API limits and pagination
Use selective, bounded queries and pagination for Person, Employment, Absence, and other collections. Salesforce API limits may be shared across users and integrations, so control concurrency and use backoff when throttled.
Checkpoints and idempotency
Persist a reliable last-modified checkpoint and advance it only after successful processing. Use stable source IDs or customer-defined external IDs so retries do not create duplicate employees, positions, or absence records.
Events and reconciliation
Do not assume every Sage People change generates a callback. Verify event coverage per object and retain scheduled incremental reconciliation even when event-driven processing is available.
Schema and package changes
Managed-package upgrades can affect API versions, fields, required values, validation rules, and status semantics. Test mappings in a representative non-production environment and monitor for schema or permission changes.
Testing and monitoring
- Test future-dated employment, rehires, transfers, concurrent assignments, terminations, and amended Absence records.
- Monitor response status, page counts, rejected records, checkpoint movement, and reconciliation totals.
- Retry transient failures with controlled backoff and route permanent failures for review.
- Confirm document and file permissions before transferring Salesforce Files or legacy Attachments.
Why use Martini instead of scripts or point-to-point integrations?
Reusable orchestration
Martini separates API retrieval, mapping, business rules, target delivery, and error handling into maintainable workflows rather than embedding all logic in a one-off script.
Reliable synchronization
Scheduled triggers, supported event intake, pagination, checkpoints, idempotent writes, retries, and reconciliation provide a controlled operating model for sensitive HR data.
Flexible integration surface
Martini can consume Sage People REST APIs, transform customer-specific Salesforce package objects, write to multiple downstream systems, and expose a controlled API façade when consumers should not access Sage People directly.
Operational control
- Centralize secure credentials and environment-specific configuration.
- Apply consistent validation, privacy, routing, and lifecycle rules.
- Monitor workflows and investigate partial failures without discarding successful records.
- Extend mappings or business logic when customer-specific Sage People configuration requires it.