ChartHop integration
ChartHop is a people-data and org-planning platform. Read and change your organization's people, jobs (positions, filled or open), groups (departments, locations, teams) and group types, record and validate job changes (hires, departures, moves, updates) and read compensation history, manage custom fields and data tables and their rows, time off requests, policies, balances, adjustments and the time off ledger, goals, tasks, comments, forms and form responses, and search across the org. Most routes take your orgId (the org id or its slug, from list_orgs). Not exposed: scenario planning, comp reviews and comp bands, assessments, imports and exports, SSO, tokens and user administration, AI, billing, apps and messaging. Authentication is the API token of a ChartHop App (requested from ChartHop support), sent as Authorization: Bearer.
Say what should happen.
The workflow builds itself.
What you can do with ChartHop
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Person, 7 operations
create_personCreate personPOSTCreates a person. The body is a map of person field names to values. Returns the created person.delete_personDelete personDELETEDeletes a person from the org.get_personGet personGETReturn a particular person by idlist_forms_for_personList forms for personGETReturn all active forms applicable to a particular personlist_jobs_by_personList jobs by personGETReturns the jobs held by one or more people, as of a date, with the fields asked for in fields.list_peopleList peopleGETFind persons in the organizationupdate_personUpdate personPATCHUpdates a person: the body holds the person fields to change, as field name to value. date sets the effective date of the update.
Data, 6 operations
delete_table_rowDelete table rowDELETEDeletes the row of a data table whose key column has the given value.get_table_rowGet table rowGETRetrieve a particular rowlist_table_rowsList table rowsGETRetrieve all rows from the tablequery_time_off_ledgerQuery time off ledgerGETQuery time off ledger entries in the organization, returning particular time off, job, and person data fieldsupdate_table_rowUpdate table rowPATCHUpdates the row of a data table whose key column has the given value. The body holds the columns to change.upsert_table_rowUpsert table rowPOSTInserts a row in a data table, or updates the row with the same key. The body maps column names to values. date sets the effective date for effective-dated tables.
Adjustment, 5 operations
create_time_off_adjustmentCreate time off adjustmentPOSTCreate a time off balance adjustmentdelete_time_off_adjustmentDelete time off adjustmentDELETEDelete a time off balance adjustmentget_time_off_adjustmentGet time off adjustmentGETGet a specific time off balance adjustment by IDlist_time_off_adjustmentsList time off adjustmentsGETGet all time off balance adjustments for an organizationupdate_time_off_adjustmentUpdate time off adjustmentPATCHUpdate an existing time off balance adjustment
Change, 5 operations
create_changeCreate changePOSTRecords a change on a job or person (a hire, departure, move, update and so on), effective on date. Use validate_change first to check it. Returns the created change.delete_changeDelete changeDELETEDeletes a previously recorded change.get_changeGet changeGETReturn a particular change by idlist_changesList changesGETReturn recent changes across an org, or for a particular person or jobupdate_changeUpdate changePATCHAmends a recorded change (its date, reason, job or field updates, note or status). Send the fields to change.
Field, 5 operations
create_fieldCreate fieldPOSTCreates a custom field on an entity type (person, job, table and so on) with its type, label and sensitivity.delete_fieldDelete fieldDELETEDeletes a custom field by its id.get_fieldGet fieldGETReturn a particular field by idlist_fieldsList fieldsGETReturn all fields in the organization paginatedupdate_fieldUpdate fieldPATCHUpdates a custom field. Send the fields to change.
Goal, 5 operations
create_goalCreate goalPOSTCreates a goal with its goal type, label, start and end dates, sensitivity and owners.delete_goalDelete goalDELETEDeletes a goal by its id.get_goalGet goalGETReturns one goal with its type, owners, dates and status.list_goalsList goalsGETLists goals, filtered by owner person, group or as of a date, paged with fromId and limit.update_goalUpdate goalPATCHUpdates a goal. Send the fields to change.
Group, 5 operations
create_groupCreate groupPOSTCreates a group of a group type (for example a department or location). The body is a map of group field names to values.delete_groupDelete groupDELETEMarks a group as deleted, as of date when given.get_groupGet groupGETReturn a particular group by idlist_groupsList groupsGETFind groups in the organization of a certain typeupdate_groupUpdate groupPATCHUpdates a group: the body holds the group fields to change, as field name to value.
Group type, 5 operations
create_group_typeCreate group typePOSTCreates a group type (a kind of group such as department, location or team) with the name of the job field that holds it (fieldName).delete_group_typeDelete group typeDELETEDeletes a group type by its id.get_group_typeGet group typeGETReturn a particular group type by idlist_group_typesList group typesGETLists the group types of the org (the kinds of group, such as department, location or team), paged with from and limit.update_group_typeUpdate group typePATCHUpdates a group type. Send the fields to change.
Job, 5 operations
create_jobCreate jobPOSTCreates a job (a position in the org chart). The body is a map of job field names to values. date sets the effective date.delete_jobDelete jobDELETEDeletes a job (position) from the org, as of date when given.get_jobGet jobGETReturn a particular job by idlist_jobsList jobsGETFind jobs in the organizationupdate_jobUpdate jobPATCHUpdates a job: the body holds the job fields to change, as field name to value. date sets the effective date of the update.
Timeoff, 5 operations
create_time_offCreate time offPOSTCreate a time off requestdelete_time_offDelete time offDELETEDelete a time off requestget_time_offGet time offGETReturn a particular time off request by idlist_time_offList time offGETRetrieve time off requestsupdate_time_offUpdate time offPATCHUpdate an existing time off request
Comment, 4 operations
create_commentCreate commentPOSTPosts a comment on an entity (a change, scenario, form response, assessment or approval), optionally with an approve, reject or request-changes action.delete_commentDelete commentDELETEDeletes a comment by its id.get_commentGet commentGETReturn a particular comment by idupdate_commentUpdate commentPATCHUpdates the content of a comment.
Task, 4 operations
create_taskCreate taskPOSTCreates a task for a user (a to-do, an approval, a form to submit and so on) about an entity, with an optional due date.delete_taskDelete taskDELETEDeletes a task by its id.list_tasksList tasksGETReturn all existing tasksupdate_taskUpdate taskPATCHUpdates a task (status, label, message, due date). Send the fields to change.
Count, 3 operations
count_form_responsesCount form responsesGETReturn the total count of form responsescount_jobsCount jobsGETCount jobs or people in the organizationcount_peopleCount peopleGETCounts the people of the org (and their jobs, starting, departing and groups) as of a date or between two dates, optionally filtered with q.
Approve, 2 operations
approve_form_responseApprove form responsePOSTApproves a form response that is waiting for approval, with an optional message.approve_time_offApprove time offPOSTApprove a pending time off request
Balance, 2 operations
get_person_time_off_balancesGet person time off balancesGETReturn time off balances per policy for a given personlist_time_off_balancesList time off balancesGETReturn time off balances for a given policy and date
Calendar event, 2 operations
get_calendar_eventGet calendar eventGETReturn a particular calendar entry by idlist_calendar_eventsList calendar eventsGETReturns calendar events visible to the current user with exclusive end dates
Category, 2 operations
get_categoryGet categoryGETReturn a particular category by idlist_categoriesList categoriesGETReturn categories that are available to the organization
Event, 2 operations
get_eventGet eventGETReturn individual event, including payloadlist_eventsList eventsGETReturn past events, paginated, without payloads present
File, 2 operations
get_fileGet fileGETReturns metadata about a filelist_filesList filesGETLists the files stored in ChartHop, filtered by entity, paged with from and limit.
Form, 2 operations
get_formGet formGETReturn a particular form by idlist_formsList formsGETReturn all forms in the organization paginated
Form response, 2 operations
get_form_responseGet form responseGETReturn a particular form response by idlist_form_responsesList form responsesGETReturn form responses by form
Job code, 2 operations
get_job_codeGet job codeGETReturn a particular job code by idlist_job_codesList job codesGETReturn all job codes in the organization paginated
Job level, 2 operations
get_job_levelGet job levelGETReturn a particular job level by id on an effective datelist_job_levelsList job levelsGETFind job levels in the organization
Me, 2 operations
get_current_userGet current userGETReturn the currently logged in userget_my_tasksGet my tasksGETReturn the tasks for the current user
Org, 2 operations
get_orgGet orgGETReturn a particular org by idlist_orgsList orgsGETReturn all visible orgs, paginated by name
Policy, 2 operations
get_time_off_policyGet time off policyGETReturn a particular time off policy by idlist_time_off_policiesList time off policiesGETReturn all policies in the organization
Reject, 2 operations
reject_form_responseReject form responsePOSTRejects a form response that is waiting for approval, with an optional message.reject_time_offReject time offPOSTReject a pending time off request
Table, 2 operations
get_tableGet tableGETReturn a particular table by id or namelist_tablesList tablesGETReturn all tables in the organization paginated
User, 2 operations
get_userGet userGETReturn a particular user by idlist_usersList usersGETReturn all users within an org or across orgs
Addmember, 1 operation
add_group_membersAdd group membersPATCHAdds jobs (positions) to a group, as of date when given.
Calendar, 1 operation
list_calendarsList calendarsGETReturn calendars visible to the current user
Compensation history, 1 operation
list_compensation_historyList compensation historyGETReturn enriched compensation history rows (one row per comp change), in descending date order
Email, 1 operation
get_user_by_emailGet user by emailGETReturn a particular user by email
Entity, 1 operation
list_commentsList commentsGETReturn comments on a particular entity paginated
Mark done, 1 operation
mark_task_doneMark task donePATCHMarks a task as done. Takes no other input than the task id.
Removemember, 1 operation
remove_group_membersRemove group membersPATCHRemoves jobs (positions) from a group, as of date when given.
Request, 1 operation
request_time_offRequest time offPOSTSubmits a time off request from startDate to endDate (optionally for personId) for approval. Approvers act on it with approve_time_off or reject_time_off.
Role, 1 operation
list_rolesList rolesGETReturn all or a set of roles in the organization
Search, 1 operation
search_orgSearch orgGETReturn people, job, group, field, goal, and other entity data for a particular org that match a provided search string
Skip, 1 operation
skip_taskSkip taskPATCHSkips a task (sets it to SKIPPED). Takes no other input than the task id.
Slug, 1 operation
get_org_by_slugGet org by slugGETReturn a particular org by slug
Timeoff ledger, 1 operation
get_time_off_ledger_entryGet time off ledger entryGETGet a time off ledger entry by ID
Validate, 1 operation
validate_changeValidate changePOSTChecks a change without recording it and reports what would be wrong with it. Takes the same fields as create_change.
Use ChartHop from Claude Code, Cursor or Codex
Connect ChartHop in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its ChartHop operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect ChartHop
- Create your workspace
Sign up free. Nothing to install.
- Connect ChartHop once
Add your ChartHop connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
ChartHop integration FAQ
What can you do with the ChartHop integration?
LiveContext exposes 110 operations on ChartHop, covering person, data, adjustment and change.
