---
title: "Cornerstone OnDemand MCP server for AI agents - actionlake"
description: "Give Claude 390 Cornerstone OnDemand actions through one MCP server: reporting, communities. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/cornerstone-ondemand
updated: 2026-10-23
---

Connectors · Work & projects

# Cornerstone OnDemand MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Cornerstone OnDemand and the rest of your systems. It gives your agent 390 Cornerstone OnDemand actions (251 reads, 107 writes and 32 that wait for a confirmation) and holds the Cornerstone OnDemand credential itself, so the agent never does. It paces Cornerstone OnDemand's limits and records every call.

[Connect Cornerstone OnDemand free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "cornerstone_ondemand.reporting.vw_rpt_user.list",
  intent: "check which Cornerstone OnDemand account is connected"
}
# Report view vw_rpt_user · read · 1 upstream call
```

- 390 actions in one signed file
- 251 read look, never change
- 107 write create and update
- 32 wait for a yes destructive, confirmed first

Set up

## Connect Cornerstone OnDemand in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Cornerstone OnDemand.
   Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `client_id` Client ID of an application registered in Admin > Tools > Edge > API Management
   - `client_secret` Client secret of that application (shown once at registration
   - `host` Where your Cornerstone OnDemand lives: your host
   - `scope` Your Cornerstone OnDemand scope
   ```
   account { op: "connections.requirements", service: "cornerstone_ondemand" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "cornerstone_ondemand.reporting.vw_rpt_user.list" }
   # report view vw_rpt_user · read · 1 upstream call
   check { action: "cornerstone_ondemand.employees.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Cornerstone OnDemand at a glance

**Sign-in**

Session login. actionlake opens the session and renews it when it expires.

**You provide**

`client_id` `client_secret`

**Setup fields**

`host` `scope`

**Limits we pace to**

417 calls a minute, per connection

**API covered**

Cornerstone OnDemand (learning and talent suite: employees, OUs, jobs, transcripts, learning objects, curricula, goals, skills, recruiting, social learning, reporting views, bulk import) API Cornerstone REST APIs (csod.dev OpenAPI 3.0: Core/HR, Learning, Performance, Recruiting, Social Learning, Talent Marketplace, Bulk, Reporting), at your Cornerstone OnDemand instance's API base URL, which you enter when connecting

**Built from**

Cornerstone OnDemand's documentation, read 23 October 2026[csod.dev](https://csod.dev/reference/core-hr/spec.yaml) [csod.dev](https://csod.dev/reference/learning/spec.yaml) [csod.dev](https://csod.dev/reference/performance/spec.yaml)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

250 of 251 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line Cornerstone OnDemand up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Cornerstone OnDemand.

390 actions in 49 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **251** read look, never change
- **107** write create and update
- **32** destructive wait for a confirmation

1. ### Reporting
   98
   98 read · 0 write · 0 destructive
   Report view vw_rpt_user · Report view vw_rpt_training · Report view vw_rpt_transcript · Report view vw_rpt_ou
2. ### Communities
   37
   16 read · 12 write · 9 destructive
   Create Community · List Communities · Create Cohort · Get list of community cohorts
3. ### Jobs
   26
   8 read · 12 write · 6 destructive
   List jobs · Create a job · Get a single job · Update a job
4. ### Employees
   24
   17 read · 7 write · 0 destructive
   Employees · Employees · Employee · Employee
5. ### Transcripts
   23
   12 read · 10 write · 1 destructive
   Assign · Transcript Search · Request · Transcript - Curricula Childs
6. ### Los
   21
   20 read · 1 write · 0 destructive
   Get Availability Configuration Items · Get Custom Fields · Get Equivalencies · Get Evaluations
7. ### Custom ou types
   15
   6 read · 6 write · 3 destructive
   List the custom OU types · Create a custom OU · List an OU type's custom OUs · List a custom OU's children
8. ### Job functions
   14
   5 read · 6 write · 3 destructive
   Create a job function · List job functions · List a job function's children · Add a parent assignment to a job function

**41 more areas · 132 actions**

- Job levels **14**
- Bulk **10**
- Ous **9**
- Subscriptions **8**
- Curricula **7**
- Job vacancies **7**
- Goals **6**
- Users **5**
- Skill categories **5**
- Skills **5**
- Learning assignments **4**
- Materials **4**
- Videos **4**
- Job requisitions **4**
- Learning objects **3**
- Online classes **3**
- Interviews **3**
- Job applicants **3**
- Employee approvals **2**
- Ou types **2**
- Certifications **2**
- Session rosters **2**
- Employee skills **2**
- Org units legacy **1**
- Catalog **1**
- Certification transcripts **1**
- Custom field values **1**
- Express classes **1**
- Training unit assignments **1**
- Transactions **1**
- User approvals **1**
- User assigned trainings **1**
- User inbox **1**
- User sessions **1**
- User suggested trainings **1**
- User tasks **1**
- User transcripts **1**
- Performance reviews **1**
- Applications **1**
- Resumes **1**
- Aspirational jobs **1**

Top actions

## The Cornerstone OnDemand API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 14 of Cornerstone OnDemand's 16 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `cornerstone_ondemand.reporting.vw_rpt_user.list` Report view vw_rpt_user | Query the vw_rpt_user reporting view. | read | `identity.user.list` 474 connectors |
| `cornerstone_ondemand.employees.list` Employees | Employees. | read | `hr.employee.list` 61 connectors |
| `cornerstone_ondemand.employees.create` Employees | Employees. | write | `hr.employee.create` 51 connectors |
| `cornerstone_ondemand.job_requisitions.list` Get Job Requisition | Get Job Requisition. | read | `hr.job_opening.list` 24 connectors |
| `cornerstone_ondemand.jobs.list` List jobs | List jobs. | read | `hr.job_title.list` 16 connectors |
| `cornerstone_ondemand.job_applicants.list` Get Job Applicant | Get Job Applicant. | read | `hr.application.list` 15 connectors |
| `cornerstone_ondemand.jobs.create` Create a job | Create a job. | write | `hr.job_title.create` 11 connectors |
| `cornerstone_ondemand.reporting.vw_rpt_training.list` Report view vw_rpt_training | Query the vw_rpt_training reporting view. | read | `hr.training_course.list` 11 connectors |
| `cornerstone_ondemand.transcripts.assign` Assign | Assign. | write | `hr.training_record.create` 5 connectors |
| `cornerstone_ondemand.reporting.vw_rpt_transcript.list` Report view vw_rpt_transcript | Query the vw_rpt_transcript reporting view. | read | `hr.training_record.list` 5 connectors |
| `cornerstone_ondemand.catalog.search` Catalog Search | Catalog Search. | read | this connector |
| `cornerstone_ondemand.jobs.archive` Archive a job | Archive a job. | destructive | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Cornerstone OnDemand actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   List everyone in Cornerstone OnDemand with their department and start date.
   calls `cornerstone_ondemand.reporting.vw_rpt_user.list`
2. Write write
   Employees in Cornerstone OnDemand. Show me exactly what you will send before you save it.
   calls `cornerstone_ondemand.employees.create`

Governance for Cornerstone OnDemand

## Destructive actions wait for a yes.

32 Cornerstone OnDemand actions are destructive. The first 10:

- Archive a job `cornerstone_ondemand.jobs.archive`
- Delete Interview `cornerstone_ondemand.interviews.delete`
- Delete Community `cornerstone_ondemand.communities.delete`
- Archive a job level `cornerstone_ondemand.job_levels.archive`
- Remove `cornerstone_ondemand.transcripts.remove`
- Delete job vacancy by Id `cornerstone_ondemand.job_vacancies.delete`
- Delete Certification `cornerstone_ondemand.certifications.remove`
- Archive a job function `cornerstone_ondemand.job_functions.archive`
- Remove a job's status assignment `cornerstone_ondemand.jobs.statuses.delete`
- Remove a job's next job `cornerstone_ondemand.jobs.next_jobs.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do cornerstone_ondemand.interviews.delete confirm_policy: **human**

Delete Interview?

**intent:** the user asked me to delete Interview

run suspended · waiting for a named person · key _cornerstone-ondemand-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "cornerstone-ondemand-agent",
  allowed_actions: ["cornerstone_ondemand.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "cornerstone_ondemand.jobs.archive", approver: "lead@example.com" },
    { match: "cornerstone_ondemand.interviews.delete", approver: "lead@example.com" },
    { match: "cornerstone_ondemand.communities.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Cornerstone OnDemand only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Cornerstone OnDemand costs on actionlake.

Every Cornerstone OnDemand action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Cornerstone OnDemand refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 390 Cornerstone OnDemand actions
- 390 actions page each page of a long list is one call
- 250 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Cornerstone OnDemand action.

390 actions by area: the id your agent calls, what it does, and its effect.

**Reporting 98**

- `cornerstone_ondemand.reporting.vw_rpt_ou.list` Report view vw_rpt_ou read
- `cornerstone_ondemand.reporting.vw_rpt_training.list` Report view vw_rpt_training read
- `cornerstone_ondemand.reporting.vw_rpt_transcript.list` Report view vw_rpt_transcript read
- `cornerstone_ondemand.reporting.vw_rpt_user.list` Report view vw_rpt_user read
- `cornerstone_ondemand.reporting.vw_rpt_applicant.list` Report view vw_rpt_applicant read
- `cornerstone_ondemand.reporting.vw_rpt_ats_historical_statuses.list` Report view vw_rpt_ats_historical_statuses read
- and 92 more in this area

**Communities 37**

- `cornerstone_ondemand.communities.cohorts.create` Create Cohort write
- `cornerstone_ondemand.communities.cohorts.list` Get list of community cohorts read
- `cornerstone_ondemand.communities.create` Create Community write
- `cornerstone_ondemand.communities.list` List Communities read
- `cornerstone_ondemand.communities.cohorts.authors.add` Add cohort authors write
- `cornerstone_ondemand.communities.cohorts.authors.list` Get cohort authors read
- and 31 more in this area

**Jobs 26**

- `cornerstone_ondemand.jobs.create` Create a job write
- `cornerstone_ondemand.jobs.get` Get a single job read
- `cornerstone_ondemand.jobs.list` List jobs read
- `cornerstone_ondemand.jobs.update` Update a job write
- `cornerstone_ondemand.jobs.archive` Archive a job destructive
- `cornerstone_ondemand.jobs.assigned_users.list` List the users assigned to a job read
- and 20 more in this area

**Employees 24**

- `cornerstone_ondemand.employees.create` Employees write
- `cornerstone_ondemand.employees.get` Employee read
- `cornerstone_ondemand.employees.list` Employees read
- `cornerstone_ondemand.employees.update` Employee write
- `cornerstone_ondemand.employees.activation_period.get` Activation Period read
- `cornerstone_ondemand.employees.activation_period.update` Activation Period write
- and 18 more in this area

**Transcripts 23**

- `cornerstone_ondemand.transcripts.assign` Assign write
- `cornerstone_ondemand.transcripts.curriculum_children.list` Transcript - Curricula Childs read
- `cornerstone_ondemand.transcripts.request` Request write
- `cornerstone_ondemand.transcripts.search` Transcript Search read
- `cornerstone_ondemand.transcripts.approve` Approve/Deny write
- `cornerstone_ondemand.transcripts.archive` Archive write
- and 17 more in this area

**Los 21**

- `cornerstone_ondemand.los.availability.list` Get Availability Configuration Items read
- `cornerstone_ondemand.los.custom_fields.list` Get Custom Fields read
- `cornerstone_ondemand.los.equivalencies.list` Get Equivalencies read
- `cornerstone_ondemand.los.evaluations.list` Get Evaluations read
- `cornerstone_ondemand.los.advanced_settings.get` Get Advanced Settings read
- `cornerstone_ondemand.los.approval_workflow.get` Get Approval Workflow read
- and 15 more in this area

**Custom ou types 15**

- `cornerstone_ondemand.custom_ou_types.list` List the custom OU types read
- `cornerstone_ondemand.custom_ou_types.ous.children.list` List a custom OU's children read
- `cornerstone_ondemand.custom_ou_types.ous.create` Create a custom OU write
- `cornerstone_ondemand.custom_ou_types.ous.list` List an OU type's custom OUs read
- `cornerstone_ondemand.custom_ou_types.ous.archive` Archive a custom OU destructive
- `cornerstone_ondemand.custom_ou_types.ous.get` Get a single custom OU read
- and 9 more in this area

**Job functions 14**

- `cornerstone_ondemand.job_functions.children.list` List a job function's children read
- `cornerstone_ondemand.job_functions.create` Create a job function write
- `cornerstone_ondemand.job_functions.list` List job functions read
- `cornerstone_ondemand.job_functions.parents.create` Add a parent assignment to a job function write
- `cornerstone_ondemand.job_functions.archive` Archive a job function destructive
- `cornerstone_ondemand.job_functions.get` Get a single job function read
- and 8 more in this area

**Job levels 14**

- `cornerstone_ondemand.job_levels.children.list` List a job level's children read
- `cornerstone_ondemand.job_levels.create` Create a job level write
- `cornerstone_ondemand.job_levels.list` List job levels read
- `cornerstone_ondemand.job_levels.parents.create` Add a parent assignment to a job level write
- `cornerstone_ondemand.job_levels.archive` Archive a job level destructive
- `cornerstone_ondemand.job_levels.get` Get a single job level read
- and 8 more in this area

**Bulk 10**

- `cornerstone_ondemand.bulk.imports.upload` Bulk.imports.upload write
- `cornerstone_ondemand.bulk.jobs.create` Bulk.jobs.create write
- `cornerstone_ondemand.bulk.jobs.list` Bulk.jobs.list read
- `cornerstone_ondemand.bulk.keys.create` Bulk.keys.create write
- `cornerstone_ondemand.bulk.jobs.get` Bulk.jobs.get read
- `cornerstone_ondemand.bulk.keys.get` Bulk.keys.get read
- and 4 more in this area

**Ous 9**

- `cornerstone_ondemand.ous.create` Create a new OU write
- `cornerstone_ondemand.ous.get` Get OU by unique identifier read
- `cornerstone_ondemand.ous.list` Get OUs with given filters read
- `cornerstone_ondemand.ous.replace` Fully update a given OU write
- `cornerstone_ondemand.ous.localizations.get` Get OU Localizations read
- `cornerstone_ondemand.ous.localizations.replace` Fully Update OU localizations write
- and 3 more in this area

**Subscriptions 8**

- `cornerstone_ondemand.subscriptions.content.add` Add Subscription Content write
- `cornerstone_ondemand.subscriptions.create` Create Subscription write
- `cornerstone_ondemand.subscriptions.learning_objects.list` Get Subscription Learning Objects read
- `cornerstone_ondemand.subscriptions.list` List Subscriptions read
- `cornerstone_ondemand.subscriptions.attachments.delete` Delete Subscription Attachment destructive
- `cornerstone_ondemand.subscriptions.content.delete` Remove Subscription Content destructive
- and 2 more in this area

**Curricula 7**

- `cornerstone_ondemand.curricula.content.add` Add Content to Curriculum write
- `cornerstone_ondemand.curricula.create` Create Curriculum write
- `cornerstone_ondemand.curricula.list` List Curricula read
- `cornerstone_ondemand.curricula.structure.list` Get Curriculum Structure read
- `cornerstone_ondemand.curricula.content.delete` Delete Content from Curriculum destructive
- `cornerstone_ondemand.curricula.get` Get Curriculum read
- and 1 more in this area

**Job vacancies 7**

- `cornerstone_ondemand.job_vacancies.application_dispositions.submit` Submit Job Vacancy Application Disposition Data write
- `cornerstone_ondemand.job_vacancies.create` Create a new job vacancy write
- `cornerstone_ondemand.job_vacancies.list` Get all job vacancies read
- `cornerstone_ondemand.job_vacancies.recommendations.list` Get job vacancy recommendations read
- `cornerstone_ondemand.job_vacancies.delete` Delete job vacancy by Id destructive
- `cornerstone_ondemand.job_vacancies.get` Get job vacancy by Id read
- and 1 more in this area

**Goals 6**

- `cornerstone_ondemand.goals.create` Create Goals write
- `cornerstone_ondemand.goals.list` Get Goals read
- `cornerstone_ondemand.goals.lock_results` Lock Goals write
- `cornerstone_ondemand.goals.update` Update Goals write
- `cornerstone_ondemand.goals.update_progress` Update Goal Progress write
- `cornerstone_ondemand.goals.update_status` Update Goal Status write

**Users 5**

- `cornerstone_ondemand.users.global_search` Global Search read
- `cornerstone_ondemand.users.job_assignments.create` Add a job assignment to a user write
- `cornerstone_ondemand.users.job_assignments.list` List a user's job assignments read
- `cornerstone_ondemand.users.job_assignments.update` Update a user's job assignment write
- `cornerstone_ondemand.users.job_assignments.delete` Remove a user's job assignment destructive

**Skill categories 5**

- `cornerstone_ondemand.skill_categories.children.list` Get Skill Category Children read
- `cornerstone_ondemand.skill_categories.create` Create Skill Category write
- `cornerstone_ondemand.skill_categories.get` Get Skill Category By ID read
- `cornerstone_ondemand.skill_categories.list` Get Skill Categories read
- `cornerstone_ondemand.skill_categories.update` Update Skill Category write

**Skills 5**

- `cornerstone_ondemand.skills.categories.list` Get Skill Categories By Skill read
- `cornerstone_ondemand.skills.create` Create Skill write
- `cornerstone_ondemand.skills.get` Get Skill By ID read
- `cornerstone_ondemand.skills.list` Get Skills read
- `cornerstone_ondemand.skills.update` Update Skill write

**Learning assignments 4**

- `cornerstone_ondemand.learning_assignments.create_standard` Create Standard Assignment write
- `cornerstone_ondemand.learning_assignments.get` Get Assignment read
- `cornerstone_ondemand.learning_assignments.remaining_count.get` Get Remaining Count read
- `cornerstone_ondemand.learning_assignments.search` Search Assignments read

**Materials 4**

- `cornerstone_ondemand.materials.create` Create Material write
- `cornerstone_ondemand.materials.get` Get Material by ID read
- `cornerstone_ondemand.materials.list` List Materials read
- `cornerstone_ondemand.materials.update` Update Material write

**Videos 4**

- `cornerstone_ondemand.videos.create` Create Video write
- `cornerstone_ondemand.videos.get` Get Video read
- `cornerstone_ondemand.videos.list` List Videos read
- `cornerstone_ondemand.videos.update` Update Video write

**Job requisitions 4**

- `cornerstone_ondemand.job_requisitions.ad.get` Get Job Requisition Ad Details read
- `cornerstone_ondemand.job_requisitions.application_workflow.get` Get Job Requisition Application Workflow read
- `cornerstone_ondemand.job_requisitions.custom_fields.get` Get Job Requisition Custom Field read
- `cornerstone_ondemand.job_requisitions.list` Get Job Requisition read

**Learning objects 3**

- `cornerstone_ondemand.learning_objects.create` CreateLO write
- `cornerstone_ondemand.learning_objects.list` GetLO read
- `cornerstone_ondemand.learning_objects.update` UpdateLO write

**Online classes 3**

- `cornerstone_ondemand.online_classes.get` Get Online Class read
- `cornerstone_ondemand.online_classes.list` List Online Classes read
- `cornerstone_ondemand.online_classes.update` Update Online Class write

**Interviews 3**

- `cornerstone_ondemand.interviews.create` Create Interview write
- `cornerstone_ondemand.interviews.delete` Delete Interview destructive
- `cornerstone_ondemand.interviews.update` Update Interview write

**Job applicants 3**

- `cornerstone_ondemand.job_applicants.custom_fields.list` Get Job Applicant with Custom Fields read
- `cornerstone_ondemand.job_applicants.list` Get Job Applicant read
- `cornerstone_ondemand.job_applicants.update_status` Update Job Applicant Status write

**Employee approvals 2**

- `cornerstone_ondemand.employee_approvals.act` ApprovalRequestAction write
- `cornerstone_ondemand.employee_approvals.list` GetPendingApprovals read

**Ou types 2**

- `cornerstone_ondemand.ou_types.get` Get details of given OU type read
- `cornerstone_ondemand.ou_types.list` Get list of all OU types read

**Certifications 2**

- `cornerstone_ondemand.certifications.list` Certification Details read
- `cornerstone_ondemand.certifications.remove` Delete Certification destructive

**Session rosters 2**

- `cornerstone_ondemand.session_rosters.list` Get Session Roster Details read
- `cornerstone_ondemand.session_rosters.submit` SubmitSessionRoster write

**Employee skills 2**

- `cornerstone_ondemand.employee_skills.list` Get Employee Skills read
- `cornerstone_ondemand.employee_skills.update` Update Employee Skills write

**Org units legacy 1**

- `cornerstone_ondemand.org_units_legacy.list` GetOus read

**Catalog 1**

- `cornerstone_ondemand.catalog.search` Catalog Search read

**Certification transcripts 1**

- `cornerstone_ondemand.certification_transcripts.list` Certification Transcript read

**Custom field values 1**

- `cornerstone_ondemand.custom_field_values.create` InsertCustomFieldValue write

**Express classes 1**

- `cornerstone_ondemand.express_classes.create` Create Express Class write

**Training unit assignments 1**

- `cornerstone_ondemand.training_unit_assignments.create` InsertTrainingUnitAssignment write

**Transactions 1**

- `cornerstone_ondemand.transactions.update` Update Transaction write

**User approvals 1**

- `cornerstone_ondemand.user_approvals.list` GetApprovals read

**User assigned trainings 1**

- `cornerstone_ondemand.user_assigned_trainings.list` GetAssignedTrainings read

**User inbox 1**

- `cornerstone_ondemand.user_inbox.list` GetInboxItems read

**User sessions 1**

- `cornerstone_ondemand.user_sessions.list` GetSessions read

**User suggested trainings 1**

- `cornerstone_ondemand.user_suggested_trainings.list` GetSuggestedTrainings read

**User tasks 1**

- `cornerstone_ondemand.user_tasks.list` GetTasks read

**User transcripts 1**

- `cornerstone_ondemand.user_transcripts.list` GetTranscripts read

**Performance reviews 1**

- `cornerstone_ondemand.performance_reviews.list` Get Performance Reviews read

**Applications 1**

- `cornerstone_ondemand.applications.create` Create Candidate and Application write

**Resumes 1**

- `cornerstone_ondemand.resumes.get` Get Resume Details read

**Aspirational jobs 1**

- `cornerstone_ondemand.aspirational_jobs.get` Get user's aspirational jobs read

This index shows a sample of each area. All 390 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Cornerstone OnDemand MCP server, answered.

**Is there a Cornerstone OnDemand MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 390 Cornerstone OnDemand actions across reporting, communities, jobs and employees, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Cornerstone OnDemand.

**What do I need to connect Cornerstone OnDemand?**

Client ID of an application registered in Admin > Tools > Edge > API Management and Client secret of that application (shown once at registration. Plus your host and your scope. The free call account { op: "connections.requirements", service: "cornerstone_ondemand" } lists exactly what to paste.

**Can an AI agent delete or change things in Cornerstone OnDemand?**

Only if its key allows it, and only with an explicit confirmation. 32 Cornerstone OnDemand actions are destructive, including archive a job, delete Interview and delete Community. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Cornerstone OnDemand API limit?**

actionlake paces every call to the limits in the Cornerstone OnDemand service file: 417 calls a minute per connection. Repeated reads are answered from cache (250 Cornerstone OnDemand actions can be), which never reaches Cornerstone OnDemand.

**What does a Cornerstone OnDemand action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (390 Cornerstone OnDemand actions page). Cache hits, searches, dry runs and calls Cornerstone OnDemand refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Cornerstone OnDemand API does it cover?**

The Cornerstone OnDemand (learning and talent suite: employees, OUs, jobs, transcripts, learning objects, curricula, goals, skills, recruiting, social learning, reporting views, bulk import) API Cornerstone REST APIs (csod.dev OpenAPI 3.0: Core/HR, Learning, Performance, Recruiting, Social Learning, Talent Marketplace, Bulk, Reporting) at your Cornerstone OnDemand instance's API base URL, which you enter when connecting. It is built from Cornerstone OnDemand's documentation as read on 23 October 2026. 390 actions in 49 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Cornerstone OnDemand data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Cornerstone OnDemand credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Cornerstone OnDemand

Shares the most action names with

- [Employment Hero 8](https://actionlake.com/connectors/employment-hero)
- [Teamtailor 7](https://actionlake.com/connectors/teamtailor)
- [Workable 6](https://actionlake.com/connectors/workable)
- [Deel 5](https://actionlake.com/connectors/deel)
- [Absorb LMS 3](https://actionlake.com/connectors/absorb-lms)
- [Lever 3](https://actionlake.com/connectors/lever)

Joins with, on shared entities

- [Gusto 3](https://actionlake.com/connectors/gusto)
- [Odoo 3](https://actionlake.com/connectors/odoo)
- [ERPNext (Frappe) 3](https://actionlake.com/connectors/erpnext-frappe)
- [Rippling 3](https://actionlake.com/connectors/rippling)
- [Kombo 3](https://actionlake.com/connectors/kombo)
- [Xero 2](https://actionlake.com/connectors/xero)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Cornerstone OnDemand; the name is the vendor's own. Counts are from the Cornerstone OnDemand service file, version 1.0.0.

## Give your agent Cornerstone OnDemand today.

[Connect Cornerstone OnDemand free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/cornerstone-ondemand
More: https://actionlake.com/llms.txt
