Ellipse Gradient for Header

Cornerstone OnDemand Integration Guide

Connect Cornerstone OnDemand with HR, identity, learning, compliance, and reporting systems through REST APIs, OAuth 2.0, scheduled workflows, and verified event mechanisms.

Cornerstone OnDemand integration options at a glance

Cornerstone OnDemand primarily supports REST API integration through its developer portal, with tenant-, module-, and API-version-dependent endpoint availability. API clients generally use OAuth 2.0, bearer tokens, configured scopes, and tenant-specific environments. Selected products or events may provide webhook-style notifications or callbacks, but coverage must be verified for each object and event. Bulk, asynchronous, export, file, and attachment capabilities may also vary by endpoint. Martini can consume the REST APIs, manage secure environment configuration, schedule incremental synchronization, receive supported callbacks, transform Cornerstone Users, Learning objects, Assignments, and Transcripts, and expose controlled APIs for downstream systems.

Integration pointSupported by Cornerstone OnDemand?Common use casesHow Martini supports it
REST APIsYesRead and update Users, Organizations, Learning objects, Assignments, and Transcripts where the tenant and licensed modules expose the relevant endpoints. REST is the primary mechanism for new integrations.Martini can consume Cornerstone REST APIs from workflows, map responses and requests, apply business rules, and expose normalized REST APIs to downstream systems.
AuthenticationYesCornerstone API clients generally use OAuth 2.0, bearer access tokens, client registration, scopes, and tenant-configured permissions.Martini can store client credentials and environment-specific API configuration as secrets, acquire or use access tokens, and apply authenticated API requests.
Webhooks / outbound callbacksLimitedSelected Cornerstone products or event types may provide notifications or callbacks, but coverage must be verified by object, product, event, and tenant.Martini can expose an API endpoint or receive a supported webhook notification, then retrieve the authoritative Cornerstone object and process it idempotently.
Bulk / asynchronous / batch APIsLimitedBulk, export, batch, or asynchronous behavior may be available for selected endpoints and should be confirmed in endpoint-specific documentation.Martini can implement bounded paging, scheduled batches, checkpointing, controlled concurrency, retries, and reconciliation when a dedicated bulk operation is unavailable.
File / attachment APIsLimitedDocument, content, or attachment operations may be available in specific Cornerstone modules, but no platform-wide capability was confirmed.Martini can process supported file or attachment endpoints when documented, transform metadata, and route binary or document handling through an appropriate workflow.
Scheduled synchronizationYesPolling and incremental reconciliation are appropriate for objects or events without a verified callback mechanism, including Users, Assignments, and Transcripts.Martini can run scheduled workflows, persist checkpoints, page through collections, use bounded lookback windows, and reconcile late or corrected changes.
SOAP APIsNot confirmedLegacy or module-specific services may exist in some environments, but current official SOAP coverage was not confirmed; REST should be preferred for new work.Martini can consume SOAP services when Cornerstone specifically documents and enables one for the tenant, but this should be treated as an exception rather than the default.
Database / analytics accessNot confirmedDirect access to Cornerstone’s hosted production database was not confirmed and should not be assumed.Martini should use documented Cornerstone APIs or vendor-supported exports rather than direct SQL access to Cornerstone infrastructure.

How Cornerstone OnDemand exposes data and business events

Cornerstone OnDemand REST APIs

Cornerstone provides an official developer portal for REST-based integrations. Endpoint availability, object coverage, permissions, and API versions depend on the customer’s tenant, licensed modules, and configuration.

Martini implementation pattern

Martini implementation pattern: Martini authenticates with the configured OAuth 2.0 client, calls the relevant Cornerstone endpoint from a workflow, handles pagination and transient responses, maps the vendor payload to a canonical model, and writes to the target application or database.

Implementation sequence

Authenticate with the tenant-specific OAuth configuration
Call the documented Cornerstone REST endpoint
Retrieve all required pages or related resources
Validate required identifiers and relationships
Map the response to the canonical model
Apply business rules and deduplication checks수

Cornerstone OnDemand webhook-style notifications

Cornerstone event and callback support is product- and event-dependent. A blanket assumption that all Cornerstone objects provide webhooks is not appropriate; supported notification coverage must be confirmed for the tenant.

Martini implementation pattern

Martini implementation pattern: Martini exposes an authenticated API endpoint or webhook-triggered workflow for a verified notification, validates the event, and retrieves the authoritative User, Assignment, Learning object, or Transcript from Cornerstone before changing downstream data.

Implementation sequence

Receive the verified Cornerstone notification
Authenticate and validate the request
Check the event type and source identifier
Retrieve the authoritative Cornerstone object
Apply idempotency and business rules
Write the result and record processing status

Cornerstone OnDemand batch and scheduled synchronization

Bulk, asynchronous, export, and batch behavior may be available for selected Cornerstone APIs, while scheduled polling remains appropriate when callbacks or incremental events are unavailable.

Martini implementation pattern

Martini implementation pattern: Martini starts a scheduled workflow, retrieves bounded pages using documented filters, maintains a checkpoint or lookback window, transforms each batch, and retries or reconciles incomplete processing without creating duplicates.

Implementation sequence

Start the scheduled synchronization
Load the last successful checkpoint
Retrieve a bounded page or batch
Transform and validate each object
Persist progress after successful processing
Retry transient failures and reconcile missed changes

Common Cornerstone OnDemand integration patterns

Pattern 1: Synchronize HR workers to Cornerstone Users

When to use this pattern

Use this pattern when Workday, SAP SuccessFactors, ADP, or another HR source is authoritative for employee profiles and organizational relationships. It supports onboarding, changes, manager updates, and deactivation while keeping learning populations aligned.

Integration direction
Workday
Martini
Cornerstone OnDemand
Example Mapping
Cornerstone OnDemand FieldCanonical FieldTarget Field
workerIdemployeeIdentifierUser.externalId
workerStatusemploymentStatusUser.status
managerIdmanagerIdentifierUser.managerId
organizationIdorganizationIdentifierUser.organizationId
Martini implementation pattern

A scheduled Martini workflow retrieves changed workers, validates stable identifiers and organization dependencies, maps fields to Cornerstone Users and Organizations, applies deactivation rules, and performs repeatable updates. Validation failures are isolated while transient API failures are retried with backoff.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • data mapping
  • business rules
  • validation
  • error handling

Pattern 2: Synchronize learning completion to enterprise workflows

When to use this pattern

Use this pattern when learning completion, certification, or overdue status must drive compliance work in ServiceNow, updates in Salesforce, or reporting in an HR platform.

Integration direction
Cornerstone OnDemand
Martini
ServiceNow
Example Mapping
Cornerstone OnDemand FieldCanonical FieldTarget Field
transcriptStatuslearningCompletionStatusServiceNow task.state
completionDatecompletedAtServiceNow task.completionDate
learningObjectIdcourseIdentifierServiceNow task.courseReference
userIdemployeeIdentifierServiceNow task.employeeReference
Martini implementation pattern

Martini polls a verified Cornerstone endpoint or processes a supported notification, retrieves authoritative Transcripts and Assignments, applies overdue and completion rules, resolves the target task or user, and writes only changes. Stable source keys prevent duplicate tasks when retries occur.

Martini capabilities used
  • workflow orchestration
  • API consumption
  • data mapping
  • business rules
  • idempotency
  • retry handling

Pattern 3: Coordinate identity lifecycle with Cornerstone

When to use this pattern

Use this pattern when Microsoft Entra ID or Okta manages workforce identity status while Cornerstone remains the system of record for learning-related user data.

Integration direction
Microsoft Entra ID
Martini
Cornerstone OnDemand
Example Mapping
Cornerstone OnDemand FieldCanonical FieldTarget Field
ididentityIdentifierUser.externalId
userPrincipalNameloginNameUser.username
accountEnabledaccountStatusUser.status
departmentorganizationAttributeUser.organizationId
Martini implementation pattern

Martini receives or polls identity lifecycle changes, resolves the Cornerstone User, validates the requested status transition, and submits the minimum required update. Authentication remains owned by the identity provider, while Cornerstone permissions and learning data remain separately governed.

Martini capabilities used
  • API consumption
  • workflow triggers
  • data mapping
  • business rules
  • secure configuration
  • error handling

Pattern 4: Build a reporting synchronization for Cornerstone learning data

When to use this pattern

Use this pattern when reporting or analytics systems require a controlled copy of Cornerstone Users, Organizations, Learning objects, Assignments, and Transcripts without direct database access to Cornerstone.

Integration direction
Cornerstone OnDemand
Martini
SQL database
Example Mapping
Cornerstone OnDemand FieldCanonical FieldTarget Field
userIdlearnerIdentifierlearner_id
learningObjectIdlearningContentIdentifierlearning_object_id
assignmentStatusassignmentStatusassignment_status
transcriptScoreresultScoreresult_score
Martini implementation pattern

A scheduled Martini workflow pages through the relevant Cornerstone collections, uses documented change filters where available, transforms records into a canonical reporting model, and writes bounded batches to a database. Checkpoints, reconciliation windows, and categorized failures support large-volume processing.

Martini capabilities used
  • scheduled workflows
  • pagination orchestration
  • data transformation
  • SQL integration
  • checkpointing
  • monitoring

Applications commonly integrated with Cornerstone OnDemand

Cornerstone OnDemand can be integrated with named HR, identity, workflow, and business applications to coordinate employee data, learning access, compliance activity, and reporting. Exact behavior depends on the customer’s Cornerstone modules, tenant configuration, and the APIs enabled by each adjacent product.

Application Scenario Direction Martini Pattern
Workday Synchronize worker profiles, employment status, managers, and organizational structures with Cornerstone Users and Organizations. Workday → Martini → Cornerstone OnDemand A scheduled Martini workflow retrieves changed workers, validates stable employee identifiers, maps organizational relationships, and performs idempotent Cornerstone user updates. Rejected records are logged and routed for review.
SAP SuccessFactors Align employee and organizational data with Cornerstone learning populations, assignments, and compliance reporting. SAP SuccessFactors → Martini → Cornerstone OnDemand Martini retrieves worker changes, transforms employment and organization fields into the Cornerstone model, applies activation and deactivation rules, and retries transient API failures with bounded backoff.
Microsoft Entra ID Coordinate identity lifecycle events, account status, and user attributes with Cornerstone user records. Microsoft Entra ID → Martini → Cornerstone OnDemand Martini receives or polls identity changes, resolves the corresponding Cornerstone User using a stable identifier, and applies validated activation, deactivation, or attribute updates through the Cornerstone REST API.
Okta Support workforce identity lifecycle synchronization for Cornerstone users and reduce discrepancies between identity and learning populations. Okta → Martini → Cornerstone OnDemand A Martini workflow consumes identity lifecycle data, maps user and status fields, checks required Cornerstone permissions, and records unsuccessful updates for controlled replay.
ServiceNow Create training, remediation, or compliance tasks from Cornerstone Assignments, Transcripts, and completion status. Cornerstone OnDemand → Martini → ServiceNow Martini polls or receives supported Cornerstone notifications, retrieves authoritative assignment or transcript data, applies overdue and completion rules, and writes deduplicated tasks to ServiceNow.
Salesforce Synchronize partner, customer, or employee enablement information with Cornerstone learning completion data. Cornerstone OnDemand → Martini → Salesforce Martini transforms Cornerstone completion and certification information into Salesforce fields, resolves matching users or contacts, and applies duplicate prevention and retry handling before updating Salesforce.
ADP Align worker data and employment status with Cornerstone learning populations. ADP → Martini → Cornerstone OnDemand Martini retrieves the relevant ADP worker changes, validates identity and organization mappings, and submits controlled Cornerstone User updates with audit fields and error categorization.
Jira Create or update work items for training remediation, certification, or compliance activities. Cornerstone OnDemand → Martini → Jira A Martini workflow converts qualifying Cornerstone assignment or transcript conditions into Jira issues, uses a stable source key for idempotency, and routes failed writes for replay.

How to build a Cornerstone OnDemand integration in Martini

Objective

Configure the tenant-specific Cornerstone API environment and OAuth 2.0 client without embedding credentials in workflows.

Instructions in Martini

  • Register or obtain the Cornerstone API client and required permissions.
  • Store client credentials, tokens, base URLs, and scopes in Martini environment configuration or secrets.
  • Confirm tenant, product module, API version, and administrative approval.

Objective

Select an event-driven or scheduled starting point based on the verified Cornerstone capabilities for the required object.

Instructions in Martini

  • Use a supported Cornerstone callback only when the event and product coverage are confirmed.
  • Use a scheduler for polling, incremental synchronization, or reconciliation.
  • Define a bounded frequency and concurrency appropriate for tenant limits.

Objective

Read authoritative Cornerstone objects while accounting for pagination, filtering, and related-resource dependencies.

Instructions in Martini

  • Call the documented REST endpoint from a Martini workflow.
  • Treat collections as paginated unless documentation says otherwise.
  • Persist paging state, checkpoints, or a bounded lookback window for large datasets.

Objective

Coordinate API calls, validation, enrichment, routing, and target writes as a maintainable integration flow.

Instructions in Martini

  • Separate authentication, retrieval, transformation, business rules, and delivery stages.
  • Resolve related Users, Organizations, Learning objects, Assignments, or Transcripts when required.
  • Route invalid or unavailable records to controlled exception handling.

Objective

Convert Cornerstone payloads into a canonical model and target-specific schemas without copying unsupported or arbitrary fields.

Instructions in Martini

  • Map stable identifiers, status values, dates, relationships, and learning results explicitly.
  • Normalize timestamps, enumerations, and organization references.
  • Validate required fields before sending data to a target system.

Objective

Ensure updates are repeatable, compliant, and aligned with lifecycle and learning policies.

Instructions in Martini

  • Use stable identifiers and idempotent upsert logic.
  • Apply activation, deactivation, overdue, completion, and duplicate-prevention rules.
  • Minimize sensitive employee and learning data transferred between systems.

Common Cornerstone OnDemand data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
UsersLearner, employee, manager, and administrator profiles used for provisioning, lifecycle updates, and learning population synchronization.Workday, SAP SuccessFactors, Microsoft Entra ID, Okta, ADP, ServiceNowMartini maps stable employee or user identifiers, validates required attributes, applies activation and deactivation rules, and performs idempotent API updates.
OrganizationsOrganizational structures, business units, and relationships used to assign users and support reporting.Workday, SAP SuccessFactors, ADP, reporting platformsMartini normalizes organization identifiers and parent relationships, orders dependent updates when necessary, and records mapping failures for review.
Learning objectsCourses, curricula, certifications, sessions, and other learning content referenced by assignments and reporting.Data warehouses, Salesforce, ServiceNow, HR platformsMartini retrieves the relevant object types, maps module-specific fields to a canonical learning model, and preserves source identifiers.
Learning assignmentsAssignments or enrollments connecting Users with Learning objects and indicating required learning activity.ServiceNow, Salesforce, HR platforms, compliance repositoriesMartini pages through assignments, applies status and due-date rules, prevents duplicate downstream actions, and retries transient failures.
TranscriptsLearner enrollment, completion, status, score, certification, and historical learning information.Workday, ServiceNow, Salesforce, data warehousesMartini transforms transcript statuses and dates, handles late corrections through reconciliation, and writes audit-friendly results to target systems.
CompetenciesSkill or competency definitions and user-related competency information used in talent and development processes.HR platforms, reporting platforms, talent applicationsMartini maps competency identifiers and proficiency information where exposed by the tenant, validates relationships, and logs unavailable module fields without inventing values.

Authentication and security considerations

OAuth 2.0 and tenant permissions

Cornerstone API access generally uses a registered application, OAuth 2.0 credentials, bearer access tokens, and tenant-configured scopes or roles. API availability and administrative approval can vary by module and tenant.

Secure Martini configuration

Store client secrets, tokens, tenant URLs, and environment-specific settings in Martini secrets or secure configuration rather than workflow definitions or mappings.

Data protection

  • Minimize employee, learning, performance, and compliance data transferred between systems.
  • Restrict Cornerstone API permissions to required objects and operations.
  • Do not write access tokens or secrets to logs.
  • Keep identity-provider authentication distinct from Cornerstone API authorization.

Operational considerations for Cornerstone OnDemand integrations

Pagination and rate limits

Treat Cornerstone collections as paginated unless endpoint documentation states otherwise. Confirm tenant limits and use bounded batches, throttling, exponential backoff for 429 and transient 5xx responses, and controlled concurrency.

Incremental synchronization

Prefer documented update filters, date ranges, status filters, or change mechanisms. If these are unavailable, use checkpoints and bounded lookback reconciliation to account for late updates and transcript corrections.

Idempotency and errors

Use stable Cornerstone identifiers or agreed employee keys to make updates repeatable. Categorize authentication, validation, rate-limit, tenant-configuration, duplicate, and transport failures, and retain sanitized source identifiers and correlation information.

Schema and testing

Cornerstone schemas vary by product module, API version, and tenant configuration. Test representative Users, Organizations, Learning objects, Assignments, and Transcripts before deployment and validate mappings after API or configuration changes.

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

Orchestration beyond point-to-point calls

Martini coordinates Cornerstone API calls with HR, identity, workflow, CRM, and reporting systems in reusable workflows rather than scattering logic across scripts.

Reliable data movement

Workflows can combine pagination, checkpoints, mapping, validation, business rules, retries, idempotency, and monitoring for repeatable enterprise synchronization.

Controlled API access

Martini can expose normalized APIs for downstream applications while keeping Cornerstone authentication, tenant configuration, and source-specific data handling behind a controlled integration boundary.

Maintainable implementation

Explicit mappings and reusable workflow logic make module-specific Cornerstone behavior easier to test, troubleshoot, extend, and deploy than isolated point-to-point scripts.

Frequently asked questions

How can Cornerstone OnDemand be integrated with enterprise systems?

Cornerstone OnDemand is primarily integrated through its REST APIs using tenant-configured OAuth 2.0 clients and bearer access tokens. Enterprise systems can synchronize Users, Organizations, Learning objects, Assignments, Transcripts, and Competencies through API calls, scheduled workflows, and verified event or callback mechanisms where available.

Can Martini integrate with Cornerstone OnDemand?

Yes. Martini can integrate with Cornerstone OnDemand by consuming its documented REST APIs, managing OAuth-based authentication, scheduling synchronization workflows, transforming Cornerstone objects, and receiving supported callbacks or event notifications when those capabilities are enabled for the relevant tenant and event.

Do I need a connector to integrate Cornerstone OnDemand with Martini?

No. A dedicated Cornerstone OnDemand connector is not required. Martini can use Cornerstone’s confirmed native integration mechanisms, primarily REST APIs and OAuth 2.0, with scheduled workflows and verified callbacks where available.

Is there any extra Lonti cost to integrate Cornerstone OnDemand with Martini?

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

Which Cornerstone OnDemand integration methods should a new implementation use?

REST APIs should be the default approach for new work, with OAuth 2.0, bearer tokens, tenant-specific configuration, and API permissions. Webhook-style notifications, bulk or asynchronous operations, and file or attachment endpoints should be used only after confirming availability for the relevant product, object, event, and tenant. GraphQL was not confirmed, and current SOAP support was not confirmed.

Are Cornerstone OnDemand webhooks or real-time events available?

Event and callback support may be available for selected products or event types, but it is not safe to assume that all Cornerstone objects support webhooks. Martini can receive a verified notification and retrieve the authoritative object; where no callback exists, scheduled polling and incremental reconciliation are appropriate.

How does synchronization with Cornerstone OnDemand handle large datasets?

Martini can run bounded scheduled batches, follow documented pagination, use filtering or change windows where supported, maintain checkpoints, and apply controlled concurrency. When reliable incremental filters are unavailable, periodic reconciliation with a bounded lookback window can identify late updates and corrections.

How does Martini map Cornerstone data and handle API failures?

Martini can explicitly map Cornerstone fields to canonical and target schemas, validate required relationships, apply business rules, and prevent duplicates with stable identifiers. Workflows can classify authentication, validation, rate-limit, transient transport, and tenant-configuration errors, then retry suitable failures with backoff while logging sanitized correlation and source information.