Skip to content

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.

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
  • 390actionsin one signed file
  • 251readlook, never change
  • 107writecreate and update
  • 32wait for a yesdestructive, 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_idClient ID of an application registered in Admin > Tools > Edge > API Management
    • client_secretClient secret of that application (shown once at registration
    • hostWhere your Cornerstone OnDemand lives: your host
    • scopeYour 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 callcheck { 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_idclient_secret
Setup fields
hostscope
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 2026csod.devcsod.devcsod.dev
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.

  • 251readlook, never change
  • 107writecreate and update
  • 32destructivewait 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.

ActionWhat it doesEffectSame name in
cornerstone_ondemand.reporting.vw_rpt_user.listReport view vw_rpt_userQuery the vw_rpt_user reporting view.readidentity.user.list474 connectors
cornerstone_ondemand.employees.listEmployeesEmployees.readhr.employee.list61 connectors
cornerstone_ondemand.employees.createEmployeesEmployees.writehr.employee.create51 connectors
cornerstone_ondemand.job_requisitions.listGet Job RequisitionGet Job Requisition.readhr.job_opening.list24 connectors
cornerstone_ondemand.jobs.listList jobsList jobs.readhr.job_title.list16 connectors
cornerstone_ondemand.job_applicants.listGet Job ApplicantGet Job Applicant.readhr.application.list15 connectors
cornerstone_ondemand.jobs.createCreate a jobCreate a job.writehr.job_title.create11 connectors
cornerstone_ondemand.reporting.vw_rpt_training.listReport view vw_rpt_trainingQuery the vw_rpt_training reporting view.readhr.training_course.list11 connectors
cornerstone_ondemand.transcripts.assignAssignAssign.writehr.training_record.create5 connectors
cornerstone_ondemand.reporting.vw_rpt_transcript.listReport view vw_rpt_transcriptQuery the vw_rpt_transcript reporting view.readhr.training_record.list5 connectors
cornerstone_ondemand.catalog.searchCatalog SearchCatalog Search.readthis connector
cornerstone_ondemand.jobs.archiveArchive a jobArchive a job.destructivethis 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. Readread

    List everyone in Cornerstone OnDemand with their department and start date.

    callscornerstone_ondemand.reporting.vw_rpt_user.list

  2. Writewrite

    Employees in Cornerstone OnDemand. Show me exactly what you will send before you save it.

    callscornerstone_ondemand.employees.create

Governance for Cornerstone OnDemand

Destructive actions wait for a yes.

32 Cornerstone OnDemand actions are destructive. The first 10:

  • Archive a jobcornerstone_ondemand.jobs.archive
  • Delete Interviewcornerstone_ondemand.interviews.delete
  • Delete Communitycornerstone_ondemand.communities.delete
  • Archive a job levelcornerstone_ondemand.job_levels.archive
  • Removecornerstone_ondemand.transcripts.remove
  • Delete job vacancy by Idcornerstone_ondemand.job_vacancies.delete
  • Delete Certificationcornerstone_ondemand.certifications.remove
  • Archive a job functioncornerstone_ondemand.job_functions.archive
  • Remove a job's status assignmentcornerstone_ondemand.jobs.statuses.delete
  • Remove a job's next jobcornerstone_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.

docornerstone_ondemand.interviews.deleteconfirm_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: "[email protected]" },    { match: "cornerstone_ondemand.interviews.delete", approver: "[email protected]" },    { match: "cornerstone_ondemand.communities.delete", approver: "[email protected]" }  ]}
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.

  • 1upstream call per actionall 390 Cornerstone OnDemand actions
  • 390actions pageeach page of a long list is one call
  • 250reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Cornerstone OnDemand action.

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

Reporting98
  • cornerstone_ondemand.reporting.vw_rpt_ou.listReport view vw_rpt_ouread
  • cornerstone_ondemand.reporting.vw_rpt_training.listReport view vw_rpt_trainingread
  • cornerstone_ondemand.reporting.vw_rpt_transcript.listReport view vw_rpt_transcriptread
  • cornerstone_ondemand.reporting.vw_rpt_user.listReport view vw_rpt_userread
  • cornerstone_ondemand.reporting.vw_rpt_applicant.listReport view vw_rpt_applicantread
  • cornerstone_ondemand.reporting.vw_rpt_ats_historical_statuses.listReport view vw_rpt_ats_historical_statusesread
  • and 92 more in this area
Communities37
  • cornerstone_ondemand.communities.cohorts.createCreate Cohortwrite
  • cornerstone_ondemand.communities.cohorts.listGet list of community cohortsread
  • cornerstone_ondemand.communities.createCreate Communitywrite
  • cornerstone_ondemand.communities.listList Communitiesread
  • cornerstone_ondemand.communities.cohorts.authors.addAdd cohort authorswrite
  • cornerstone_ondemand.communities.cohorts.authors.listGet cohort authorsread
  • and 31 more in this area
Jobs26
  • cornerstone_ondemand.jobs.createCreate a jobwrite
  • cornerstone_ondemand.jobs.getGet a single jobread
  • cornerstone_ondemand.jobs.listList jobsread
  • cornerstone_ondemand.jobs.updateUpdate a jobwrite
  • cornerstone_ondemand.jobs.archiveArchive a jobdestructive
  • cornerstone_ondemand.jobs.assigned_users.listList the users assigned to a jobread
  • and 20 more in this area
Employees24
  • cornerstone_ondemand.employees.createEmployeeswrite
  • cornerstone_ondemand.employees.getEmployeeread
  • cornerstone_ondemand.employees.listEmployeesread
  • cornerstone_ondemand.employees.updateEmployeewrite
  • cornerstone_ondemand.employees.activation_period.getActivation Periodread
  • cornerstone_ondemand.employees.activation_period.updateActivation Periodwrite
  • and 18 more in this area
Transcripts23
  • cornerstone_ondemand.transcripts.assignAssignwrite
  • cornerstone_ondemand.transcripts.curriculum_children.listTranscript - Curricula Childsread
  • cornerstone_ondemand.transcripts.requestRequestwrite
  • cornerstone_ondemand.transcripts.searchTranscript Searchread
  • cornerstone_ondemand.transcripts.approveApprove/Denywrite
  • cornerstone_ondemand.transcripts.archiveArchivewrite
  • and 17 more in this area
Los21
  • cornerstone_ondemand.los.availability.listGet Availability Configuration Itemsread
  • cornerstone_ondemand.los.custom_fields.listGet Custom Fieldsread
  • cornerstone_ondemand.los.equivalencies.listGet Equivalenciesread
  • cornerstone_ondemand.los.evaluations.listGet Evaluationsread
  • cornerstone_ondemand.los.advanced_settings.getGet Advanced Settingsread
  • cornerstone_ondemand.los.approval_workflow.getGet Approval Workflowread
  • and 15 more in this area
Custom ou types15
  • cornerstone_ondemand.custom_ou_types.listList the custom OU typesread
  • cornerstone_ondemand.custom_ou_types.ous.children.listList a custom OU's childrenread
  • cornerstone_ondemand.custom_ou_types.ous.createCreate a custom OUwrite
  • cornerstone_ondemand.custom_ou_types.ous.listList an OU type's custom OUsread
  • cornerstone_ondemand.custom_ou_types.ous.archiveArchive a custom OUdestructive
  • cornerstone_ondemand.custom_ou_types.ous.getGet a single custom OUread
  • and 9 more in this area
Job functions14
  • cornerstone_ondemand.job_functions.children.listList a job function's childrenread
  • cornerstone_ondemand.job_functions.createCreate a job functionwrite
  • cornerstone_ondemand.job_functions.listList job functionsread
  • cornerstone_ondemand.job_functions.parents.createAdd a parent assignment to a job functionwrite
  • cornerstone_ondemand.job_functions.archiveArchive a job functiondestructive
  • cornerstone_ondemand.job_functions.getGet a single job functionread
  • and 8 more in this area
Job levels14
  • cornerstone_ondemand.job_levels.children.listList a job level's childrenread
  • cornerstone_ondemand.job_levels.createCreate a job levelwrite
  • cornerstone_ondemand.job_levels.listList job levelsread
  • cornerstone_ondemand.job_levels.parents.createAdd a parent assignment to a job levelwrite
  • cornerstone_ondemand.job_levels.archiveArchive a job leveldestructive
  • cornerstone_ondemand.job_levels.getGet a single job levelread
  • and 8 more in this area
Bulk10
  • cornerstone_ondemand.bulk.imports.uploadBulk.imports.uploadwrite
  • cornerstone_ondemand.bulk.jobs.createBulk.jobs.createwrite
  • cornerstone_ondemand.bulk.jobs.listBulk.jobs.listread
  • cornerstone_ondemand.bulk.keys.createBulk.keys.createwrite
  • cornerstone_ondemand.bulk.jobs.getBulk.jobs.getread
  • cornerstone_ondemand.bulk.keys.getBulk.keys.getread
  • and 4 more in this area
Ous9
  • cornerstone_ondemand.ous.createCreate a new OUwrite
  • cornerstone_ondemand.ous.getGet OU by unique identifierread
  • cornerstone_ondemand.ous.listGet OUs with given filtersread
  • cornerstone_ondemand.ous.replaceFully update a given OUwrite
  • cornerstone_ondemand.ous.localizations.getGet OU Localizationsread
  • cornerstone_ondemand.ous.localizations.replaceFully Update OU localizationswrite
  • and 3 more in this area
Subscriptions8
  • cornerstone_ondemand.subscriptions.content.addAdd Subscription Contentwrite
  • cornerstone_ondemand.subscriptions.createCreate Subscriptionwrite
  • cornerstone_ondemand.subscriptions.learning_objects.listGet Subscription Learning Objectsread
  • cornerstone_ondemand.subscriptions.listList Subscriptionsread
  • cornerstone_ondemand.subscriptions.attachments.deleteDelete Subscription Attachmentdestructive
  • cornerstone_ondemand.subscriptions.content.deleteRemove Subscription Contentdestructive
  • and 2 more in this area
Curricula7
  • cornerstone_ondemand.curricula.content.addAdd Content to Curriculumwrite
  • cornerstone_ondemand.curricula.createCreate Curriculumwrite
  • cornerstone_ondemand.curricula.listList Curricularead
  • cornerstone_ondemand.curricula.structure.listGet Curriculum Structureread
  • cornerstone_ondemand.curricula.content.deleteDelete Content from Curriculumdestructive
  • cornerstone_ondemand.curricula.getGet Curriculumread
  • and 1 more in this area
Job vacancies7
  • cornerstone_ondemand.job_vacancies.application_dispositions.submitSubmit Job Vacancy Application Disposition Datawrite
  • cornerstone_ondemand.job_vacancies.createCreate a new job vacancywrite
  • cornerstone_ondemand.job_vacancies.listGet all job vacanciesread
  • cornerstone_ondemand.job_vacancies.recommendations.listGet job vacancy recommendationsread
  • cornerstone_ondemand.job_vacancies.deleteDelete job vacancy by Iddestructive
  • cornerstone_ondemand.job_vacancies.getGet job vacancy by Idread
  • and 1 more in this area
Goals6
  • cornerstone_ondemand.goals.createCreate Goalswrite
  • cornerstone_ondemand.goals.listGet Goalsread
  • cornerstone_ondemand.goals.lock_resultsLock Goalswrite
  • cornerstone_ondemand.goals.updateUpdate Goalswrite
  • cornerstone_ondemand.goals.update_progressUpdate Goal Progresswrite
  • cornerstone_ondemand.goals.update_statusUpdate Goal Statuswrite
Users5
  • cornerstone_ondemand.users.global_searchGlobal Searchread
  • cornerstone_ondemand.users.job_assignments.createAdd a job assignment to a userwrite
  • cornerstone_ondemand.users.job_assignments.listList a user's job assignmentsread
  • cornerstone_ondemand.users.job_assignments.updateUpdate a user's job assignmentwrite
  • cornerstone_ondemand.users.job_assignments.deleteRemove a user's job assignmentdestructive
Skill categories5
  • cornerstone_ondemand.skill_categories.children.listGet Skill Category Childrenread
  • cornerstone_ondemand.skill_categories.createCreate Skill Categorywrite
  • cornerstone_ondemand.skill_categories.getGet Skill Category By IDread
  • cornerstone_ondemand.skill_categories.listGet Skill Categoriesread
  • cornerstone_ondemand.skill_categories.updateUpdate Skill Categorywrite
Skills5
  • cornerstone_ondemand.skills.categories.listGet Skill Categories By Skillread
  • cornerstone_ondemand.skills.createCreate Skillwrite
  • cornerstone_ondemand.skills.getGet Skill By IDread
  • cornerstone_ondemand.skills.listGet Skillsread
  • cornerstone_ondemand.skills.updateUpdate Skillwrite
Learning assignments4
  • cornerstone_ondemand.learning_assignments.create_standardCreate Standard Assignmentwrite
  • cornerstone_ondemand.learning_assignments.getGet Assignmentread
  • cornerstone_ondemand.learning_assignments.remaining_count.getGet Remaining Countread
  • cornerstone_ondemand.learning_assignments.searchSearch Assignmentsread
Materials4
  • cornerstone_ondemand.materials.createCreate Materialwrite
  • cornerstone_ondemand.materials.getGet Material by IDread
  • cornerstone_ondemand.materials.listList Materialsread
  • cornerstone_ondemand.materials.updateUpdate Materialwrite
Videos4
  • cornerstone_ondemand.videos.createCreate Videowrite
  • cornerstone_ondemand.videos.getGet Videoread
  • cornerstone_ondemand.videos.listList Videosread
  • cornerstone_ondemand.videos.updateUpdate Videowrite
Job requisitions4
  • cornerstone_ondemand.job_requisitions.ad.getGet Job Requisition Ad Detailsread
  • cornerstone_ondemand.job_requisitions.application_workflow.getGet Job Requisition Application Workflowread
  • cornerstone_ondemand.job_requisitions.custom_fields.getGet Job Requisition Custom Fieldread
  • cornerstone_ondemand.job_requisitions.listGet Job Requisitionread
Learning objects3
  • cornerstone_ondemand.learning_objects.createCreateLOwrite
  • cornerstone_ondemand.learning_objects.listGetLOread
  • cornerstone_ondemand.learning_objects.updateUpdateLOwrite
Online classes3
  • cornerstone_ondemand.online_classes.getGet Online Classread
  • cornerstone_ondemand.online_classes.listList Online Classesread
  • cornerstone_ondemand.online_classes.updateUpdate Online Classwrite
Interviews3
  • cornerstone_ondemand.interviews.createCreate Interviewwrite
  • cornerstone_ondemand.interviews.deleteDelete Interviewdestructive
  • cornerstone_ondemand.interviews.updateUpdate Interviewwrite
Job applicants3
  • cornerstone_ondemand.job_applicants.custom_fields.listGet Job Applicant with Custom Fieldsread
  • cornerstone_ondemand.job_applicants.listGet Job Applicantread
  • cornerstone_ondemand.job_applicants.update_statusUpdate Job Applicant Statuswrite
Employee approvals2
  • cornerstone_ondemand.employee_approvals.actApprovalRequestActionwrite
  • cornerstone_ondemand.employee_approvals.listGetPendingApprovalsread
Ou types2
  • cornerstone_ondemand.ou_types.getGet details of given OU typeread
  • cornerstone_ondemand.ou_types.listGet list of all OU typesread
Certifications2
  • cornerstone_ondemand.certifications.listCertification Detailsread
  • cornerstone_ondemand.certifications.removeDelete Certificationdestructive
Session rosters2
  • cornerstone_ondemand.session_rosters.listGet Session Roster Detailsread
  • cornerstone_ondemand.session_rosters.submitSubmitSessionRosterwrite
Employee skills2
  • cornerstone_ondemand.employee_skills.listGet Employee Skillsread
  • cornerstone_ondemand.employee_skills.updateUpdate Employee Skillswrite
Org units legacy1
  • cornerstone_ondemand.org_units_legacy.listGetOusread
Catalog1
  • cornerstone_ondemand.catalog.searchCatalog Searchread
Certification transcripts1
  • cornerstone_ondemand.certification_transcripts.listCertification Transcriptread
Custom field values1
  • cornerstone_ondemand.custom_field_values.createInsertCustomFieldValuewrite
Express classes1
  • cornerstone_ondemand.express_classes.createCreate Express Classwrite
Training unit assignments1
  • cornerstone_ondemand.training_unit_assignments.createInsertTrainingUnitAssignmentwrite
Transactions1
  • cornerstone_ondemand.transactions.updateUpdate Transactionwrite
User approvals1
  • cornerstone_ondemand.user_approvals.listGetApprovalsread
User assigned trainings1
  • cornerstone_ondemand.user_assigned_trainings.listGetAssignedTrainingsread
User inbox1
  • cornerstone_ondemand.user_inbox.listGetInboxItemsread
User sessions1
  • cornerstone_ondemand.user_sessions.listGetSessionsread
User suggested trainings1
  • cornerstone_ondemand.user_suggested_trainings.listGetSuggestedTrainingsread
User tasks1
  • cornerstone_ondemand.user_tasks.listGetTasksread
User transcripts1
  • cornerstone_ondemand.user_transcripts.listGetTranscriptsread
Performance reviews1
  • cornerstone_ondemand.performance_reviews.listGet Performance Reviewsread
Applications1
  • cornerstone_ondemand.applications.createCreate Candidate and Applicationwrite
Resumes1
  • cornerstone_ondemand.resumes.getGet Resume Detailsread
Aspirational jobs1
  • cornerstone_ondemand.aspirational_jobs.getGet user's aspirational jobsread

This index shows a sample of each area. All 390 actions, with their inputs and prices, are in the 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.

Give your agent Cornerstone OnDemand today.

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