.png)
SailPoint Integration Guide
Integrate SailPoint Identity Security Cloud and IdentityIQ with enterprise systems through REST APIs, OAuth 2.0, selected event notifications, and orchestrated identity workflows.
SailPoint integration options at a glance
SailPoint Identity Security Cloud is primarily integrated through tenant-specific REST APIs secured with OAuth 2.0, while IdentityIQ provides REST capabilities that depend on its deployed version and configuration. Identity Security Cloud also supports event triggers and HTTP-based callbacks for selected events, allowing Martini to receive notifications and retrieve current resource state. Some aggregation, provisioning, and administrative operations can be asynchronous or long-running and require status polling. IdentityIQ may expose deployment-specific database access or legacy web services, but supported APIs should generally be preferred. Martini can consume these APIs, manage secrets, transform identity data, orchestrate workflows, expose APIs, and implement retries and checkpoints.
Common SailPoint integration patterns
Common SailPoint data objects used in integrations
Authentication and security considerations
OAuth 2.0 for Identity Security Cloud
Identity Security Cloud integrations use tenant-specific OAuth 2.0 configuration, client credentials, scopes, and bearer access tokens. Martini should store client secrets, token endpoints, API base URLs, and scopes in protected environment configuration.
IdentityIQ authorization
IdentityIQ authentication depends on the deployed security model, service accounts, permissions, and version. Confirm the exact configuration rather than applying Identity Security Cloud assumptions.
Least privilege
- Use dedicated SailPoint clients or service accounts for each integration boundary.
- Grant only the scopes and permissions required for the workflow.
- Keep credentials out of payloads, mappings, and source code.
Operational considerations for SailPoint integrations
Rate limits and pagination
Large identity, account, entitlement, and certification synchronizations should use documented pagination, bounded concurrency, incremental filters where available, and backoff for HTTP 429 or transient responses.
Idempotency and event ordering
Notifications may be duplicated, delayed, or received out of order. Validate each event, retrieve current SailPoint state, and use stable identifiers and correlation keys before creating or updating target objects.
Long-running operations
Aggregation, provisioning, and access-processing actions may return an operation or task identifier instead of immediate completion. Persist the identifier and poll status through a delayed or scheduled workflow.
Product and schema differences
Keep Identity Security Cloud and IdentityIQ endpoints, authentication, mappings, and supported operations distinct. Protect transformations against missing attributes, new optional properties, changed enum values, and deprecated API versions.
Auditability and testing
Record correlation IDs, SailPoint object identifiers, HTTP outcomes, retry counts, workflow status, and business results. Test lifecycle, access-request, certification, pagination, authorization, and duplicate-event scenarios before production deployment.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates SailPoint API calls, event intake, target-system updates, validation, asynchronous polling, and business rules in workflows rather than scattering logic across scripts.
Reusable integration assets
Teams can expose controlled APIs, reuse mappings and services, and keep Identity Security Cloud and IdentityIQ-specific configuration separate while sharing appropriate orchestration patterns.
Reliable operations
Martini provides structured handling for pagination, checkpoints, retries, idempotency, logging, and environment-specific secrets. This is useful for identity lifecycle, access governance, and reconciliation processes that must be auditable and recoverable.
Flexible connectivity
When a dedicated SailPoint connector is not required, Martini can consume documented REST APIs, receive selected callbacks, process supported legacy services, and connect to approved databases or files without making unsupported mechanisms the default.