Integration

CATS integration

CATS is an applicant tracking system for recruiters. Create, read, update and delete candidates, contacts, companies and job orders; attach candidates to jobs (pipelines) and move them through workflow statuses; search and filter records; log activities, manage tasks, tags, saved lists, custom field values, phones, emails, work history and company departments; upload attachments and resumes, parse a resume; read users, career portals and job applications, submit portal applications; poll account events and manage webhooks. Records hold personal data of candidates and contacts. Left out: account backups, the candidate password check (and the candidate password field), attachment downloads, profile thumbnails, portal registration forms, publishing a job to a portal (CATS wants an empty JSON body the catalog does not send), and single-item reads that a list tool already returns. Authentication is a v3 API key, created on the Administration settings page in CATS and sent as Authorization: Token <key>. Rate limit: 500 requests per rolling hour.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in CATS.Built from the 169 CATS tools below, on the connection you add once.

What you can do with CATS

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.

Item, 12 operations

  • add_candidate_list_itemsAdd candidate list itemsPOSTAdds candidates to a saved list: items is a list of objects carrying candidate_id.
  • add_company_list_itemsAdd company list itemsPOSTAdds companies to a saved list: items is a list of objects carrying company_id.
  • add_contact_list_itemsAdd contact list itemsPOSTAdds contacts to a saved list: items is a list of objects carrying contact_id.
  • add_job_list_itemsAdd job list itemsPOSTAdds job orders to a saved list: items is a list of objects carrying job_id.
  • delete_candidate_list_itemDelete candidate list itemDELETERemoves a candidate from a saved list; item_id is the list item id from list_candidate_list_items.
  • delete_company_list_itemDelete company list itemDELETERemoves a company from a saved list; item_id is the list item id from list_company_list_items.
  • delete_contact_list_itemDelete contact list itemDELETERemoves a contact from a saved list; item_id is the list item id from list_contact_list_items.
  • delete_job_list_itemDelete job list itemDELETERemoves a job order from a saved list; item_id is the list item id from list_job_list_items.
  • list_candidate_list_itemsList candidate list itemsGETLists the candidates on a saved list, each embedded in full (personal data), one page at a time.
  • list_company_list_itemsList company list itemsGETLists the companies on a saved list, each embedded in full, one page at a time.
  • list_contact_list_itemsList contact list itemsGETLists the contacts on a saved list, each embedded in full (personal data), one page at a time.
  • list_job_list_itemsList job list itemsGETLists the job orders on a saved list, each embedded in full, one page at a time.

List, 11 operations

  • create_candidate_listCreate candidate listPOSTCreates a saved candidate list with a name and optional notes. Returns its URL (Location).
  • create_company_listCreate company listPOSTCreates a saved company list with a name and optional notes. Returns its URL (Location).
  • create_contact_listCreate contact listPOSTCreates a saved contact list with a name and optional notes. Returns its URL (Location).
  • create_job_listCreate job listPOSTCreates a saved job list with a name and optional notes. Returns its URL (Location).
  • delete_candidate_listDelete candidate listDELETEDeletes a saved candidate list.
  • delete_company_listDelete company listDELETEDeletes a saved company list.
  • delete_contact_listDelete contact listDELETEDeletes a saved contact list.
  • delete_job_listDelete job listDELETEDeletes a saved job list.
  • list_candidate_listsList candidate listsGETLists the saved candidate lists: id, name, notes and dates.
  • list_company_listsList company listsGETLists the saved company lists: id, name, notes and dates.
  • list_contact_listsList contact listsGETLists the saved contact lists: id, name, notes and dates.

Tag, 11 operations

  • attach_candidate_tagsAttach candidate tagsPUTAdds tags to a candidate without removing the existing ones. Tag ids come from list_tags.
  • attach_company_tagsAttach company tagsPUTAdds tags to a company without removing the existing ones. Tag ids come from list_tags.
  • attach_contact_tagsAttach contact tagsPUTAdds tags to a contact without removing the existing ones. Tag ids come from list_tags.
  • attach_job_tagsAttach job tagsPUTAdds tags to a job order without removing the existing ones. Tag ids come from list_tags.
  • delete_candidate_tagDelete candidate tagDELETEDetaches one tag from a candidate.
  • delete_company_tagDelete company tagDELETEDetaches one tag from a company.
  • delete_contact_tagDelete contact tagDELETEDetaches one tag from a contact.
  • delete_job_tagDelete job tagDELETEDetaches one tag from a job order.
  • list_candidate_tagsList candidate tagsGETLists the tags on one candidate: id, title and parent tag.
  • list_company_tagsList company tagsGETLists the tags on one company: id, title and parent tag.
  • list_contact_tagsList contact tagsGETLists the tags on one contact: id, title and parent tag.

Custom field, 8 operations

  • list_candidate_custom_fieldsList candidate custom fieldsGETLists the custom field definitions for candidates: id, name, comment and field type (text, textarea, checkbox, date, dropdown, radio, checkboxes, user or number).
  • list_candidate_custom_field_valuesList candidate custom field valuesGETLists the custom field values of one candidate: each custom field id with its value.
  • list_company_custom_fieldsList company custom fieldsGETLists the custom field definitions for companies: id, name, comment and field type (text, textarea, checkbox, date, dropdown, radio, checkboxes, user or number).
  • list_company_custom_field_valuesList company custom field valuesGETLists the custom field values of one company: each custom field id with its value.
  • list_contact_custom_fieldsList contact custom fieldsGETLists the custom field definitions for contacts: id, name, comment and field type (text, textarea, checkbox, date, dropdown, radio, checkboxes, user or number).
  • list_contact_custom_field_valuesList contact custom field valuesGETLists the custom field values of one contact: each custom field id with its value.
  • list_job_custom_fieldsList job custom fieldsGETLists the custom field definitions for job orders: id, name, comment and field type (text, textarea, checkbox, date, dropdown, radio, checkboxes, user or number).
  • list_job_custom_field_valuesList job custom field valuesGETLists the custom field values of one job order: each custom field id with its value.

Activity, 7 operations

  • create_candidate_activityCreate candidate activityPOSTLogs an activity against a candidate: type (email, meeting, call_talked, call_lvm, call_missed, text_message or other), notes, date and the job it regards. Returns its URL (Location).
  • create_contact_activityCreate contact activityPOSTLogs an activity against a contact: type (email, meeting, call_talked, call_lvm, call_missed, text_message or other), notes, date and the job it regards. Returns its URL (Location).
  • delete_activityDelete activityDELETEDeletes an activity by its id.
  • get_activityGet activityGETReturns one activity: type, notes, date, the record it is logged against (data_item), the job it regards (regarding_id) and who entered it.
  • list_activitiesList activitiesGETLists the activities logged in CATS (calls, emails, meetings, texts...), one page at a time (25 by default, at most 100), each with its type, notes, date and the record it is logged against.
  • list_candidate_activitiesList candidate activitiesGETLists the activities logged against one candidate (calls, emails, meetings, texts...) with type, notes and date.
  • list_contact_activitiesList contact activitiesGETLists the activities logged against one contact (calls, emails, meetings, texts...) with type, notes and date.

Attachment, 6 operations

  • delete_attachmentDelete attachmentDELETEDeletes an attachment (the file) by its id.
  • get_attachmentGet attachmentGETReturns the metadata of one attachment: file name, whether it is a resume, size, version and the record it belongs to. The file itself is not returned.
  • list_candidate_attachmentsList candidate attachmentsGETLists the attachments of one candidate (file name, resume flag, size), one page at a time; the page is returned as CATS sends it.
  • list_company_attachmentsList company attachmentsGETLists the attachments of one company (file name, size), one page at a time; the page is returned as CATS sends it.
  • list_contact_attachmentsList contact attachmentsGETLists the attachments of one contact (file name, size), one page at a time; the page is returned as CATS sends it.
  • list_job_attachmentsList job attachmentsGETLists the attachments of one job order (file name, size), one page at a time; the page is returned as CATS sends it.

Search, 6 operations

  • filter_activitiesFilter activitiesPOSTFinds activities matching a filter on their fields (type, notes, date, record, job regarded, author, dates), combinable with and, or and not. Returns one page of matches.
  • filter_candidatesFilter candidatesPOSTFinds candidates matching a filter on their fields (names, emails, phones, address or distance from a postal code, skills, pay, owner, dates, resumes), combinable with and, or and not. Returns personal data.
  • filter_companiesFilter companiesPOSTFinds companies matching a filter on their fields (name, website, address or distance from a postal code, phones, owner, status, key technologies, dates), combinable with and, or and not.
  • filter_contactsFilter contactsPOSTFinds contacts matching a filter on their fields (names, title, emails, phones, address or distance from a postal code, status, reporting line, dates), combinable with and, or and not. Returns personal data.
  • filter_jobsFilter jobsPOSTFinds job orders matching a filter on their fields (title, location or distance from a postal code, description, recruiter, owner, company, status, salary, published flag, dates), combinable with and, or, not.
  • filter_pipelinesFilter pipelinesPOSTFinds pipelines matching a filter on candidate_id, job_id, status_id, rating or dates, combinable with and, or and not. Returns one page of matches.

Status, 6 operations

  • change_company_statusChange company statusPOSTSets a company's status by status_id (from list_company_statuses); triggers chooses which attached triggers fire, otherwise the required and default-on ones do.
  • change_contact_statusChange contact statusPOSTSets a contact's status by status_id (from list_contact_statuses); create_activity true also logs an activity, triggers chooses which attached triggers fire.
  • change_job_statusChange job statusPOSTSets a job order's status by status_id (from list_job_statuses); triggers chooses which attached triggers fire, otherwise the required and default-on ones do.
  • change_pipeline_statusChange pipeline statusPOSTMoves a pipeline to a status by status_id (from list_workflow_statuses); create_activity true also logs an activity, triggers chooses which attached triggers fire.
  • list_company_statusesList company statusesGETLists the statuses a company can have: id, title, mapping, prerequisites and attached triggers.
  • list_contact_statusesList contact statusesGETLists the statuses a contact can have: id, title, mapping, prerequisites and attached triggers.

Task, 6 operations

  • create_taskCreate taskPOSTCreates a task, about a record (data_item: id and type) or general, with assignee, description, priority 1-5 and due date. Returns its URL (Location).
  • delete_taskDelete taskDELETEDeletes a task by its id.
  • get_taskGet taskGETReturns one task: description, the record it is about (data_item), assignee, author, priority, due date, completion and dates.
  • list_candidate_tasksList candidate tasksGETLists the tasks about one candidate: description, assignee, priority, due date and completion.
  • list_company_tasksList company tasksGETLists the tasks about one company: description, assignee, priority, due date and completion.
  • list_contact_tasksList contact tasksGETLists the tasks about one contact: description, assignee, priority, due date and completion.

Phone, 5 operations

  • create_candidate_phoneCreate candidate phonePOSTAdds a phone number to a candidate: number (starting with the country code), type and optional extension. Returns its URL (Location).
  • delete_candidate_phoneDelete candidate phoneDELETERemoves one phone number from a candidate.
  • list_candidate_phonesList candidate phonesGETLists the phone numbers of one candidate (personal data): number, extension and type (mobile, home, work, fax, main or other).
  • list_company_phonesList company phonesGETLists the phone numbers of one company: number, extension and type. Phones are set with create_company and update_company.
  • list_contact_phonesList contact phonesGETLists the phone numbers of one contact (personal data): number, extension and type. Phones are set with create_contact and update_contact.

Application, 4 operations

  • get_candidate_applicationGet candidate applicationGETReturns one submitted application: its job id and date, with the answers (fields) embedded.
  • get_job_applicationGet job applicationGETReturns one job application form: id, header and description.
  • list_candidate_applicationsList candidate applicationsGETLists the job applications one candidate submitted: application id, job id and date.
  • list_job_applicationsList job applicationsGETLists the application forms of one job order: id, header and description. Their questions come from list_job_application_fields.

Candidate, 4 operations

  • create_candidateCreate candidatePOSTCreates a candidate from first_name and last_name plus optional emails, phones, address, pay, skills, custom fields and work history. check_duplicate true refuses a duplicate. Returns its URL (Location).
  • delete_candidateDelete candidateDELETEDeletes a candidate record by its id.
  • get_candidateGet candidateGETReturns one candidate with personal data: names, title, emails, address, website, employer, availability, current and desired pay, relocation, skills, notes, source and flags.
  • list_candidatesList candidatesGETLists candidates, one page at a time (25 by default, at most 100). Returns personal data: names, emails, address, employer, current and desired pay, skills, notes, owner and dates.

Company, 4 operations

  • create_companyCreate companyPOSTCreates a company from a name and owner_id plus optional website, phones, address, notes, custom fields and user groups. check_duplicate true refuses a duplicate. Returns its URL (Location).
  • delete_companyDelete companyDELETEDeletes a company record by its id.
  • get_companyGet companyGETReturns one company: name, website, address, country, owner, status, billing contact, key technologies, notes, hot flag, user groups and dates.
  • list_companiesList companiesGETLists companies, one page at a time (25 by default, at most 100): name, website, address, owner, status, billing contact, key technologies, notes and dates.

Contact, 4 operations

  • create_contactCreate contactPOSTCreates a contact: first_name, last_name, owner_id and company_id are required; title, emails, phones, address, notes and custom fields optional. check_duplicate true refuses a duplicate. Returns its URL (Location).
  • delete_contactDelete contactDELETEDeletes a contact record by its id.
  • get_contactGet contactGETReturns one contact with personal data: names, title, emails, address, country, status, the contact they report to, notes, hot flag and dates.
  • list_contactsList contactsGETLists contacts (people at client companies), one page at a time (25 by default, at most 100). Returns personal data: names, title, emails, address, status, reporting line, notes and dates.

Email, 4 operations

  • create_candidate_emailCreate candidate emailPOSTAdds an email address to a candidate, optionally as the primary one (a record with emails has exactly one primary). Returns its URL (Location).
  • delete_candidate_emailDelete candidate emailDELETERemoves one email address from a candidate.
  • list_candidate_emailsList candidate emailsGETLists the email addresses of one candidate (personal data), with which one is primary.
  • list_contact_emailsList contact emailsGETLists the email addresses of one contact (personal data), with which one is primary. Emails are set with create_contact and update_contact.

Pipeline, 4 operations

  • create_pipelineCreate pipelinePOSTAttaches a candidate to a job order (a pipeline) with an optional rating 0-5; create_activity true also logs an activity, as the CATS UI does. Returns its URL (Location).
  • delete_pipelineDelete pipelineDELETERemoves a candidate from a job order (deletes the pipeline); create_activity true also logs an activity.
  • get_pipelineGet pipelineGETReturns one pipeline: the candidate, the job order, its current status and workflow, the rating and dates.
  • list_candidate_pipelinesList candidate pipelinesGETLists the pipelines of one candidate: each job order the candidate is attached to, with its current status, workflow and rating.

Work history, 4 operations

  • create_candidate_work_history_itemCreate candidate work history itemPOSTAdds a work history item to a candidate: title and employer (a CATS company, or a name and location) are required; supervisor, dates and flags are optional. Returns its URL (Location).
  • delete_candidate_work_history_itemDelete candidate work history itemDELETEDeletes a work history item.
  • get_candidate_work_history_itemGet candidate work history itemGETReturns one work history item of a candidate (personal data): title, employer, supervisor, start and end dates, verified and current flags and reason for leaving.
  • list_candidate_work_historyList candidate work historyGETLists the work history of one candidate (personal data): positions with employer, supervisor, dates, verified and current flags and reason for leaving.

Department, 3 operations

  • create_company_departmentCreate company departmentPOSTAdds a department to a company by name. Answers with no content.
  • delete_company_departmentDelete company departmentDELETEDeletes a department of a company.
  • list_company_departmentsList company departmentsGETLists the departments of one company: id and name. A job can be placed in one (department_id).

Job, 3 operations

  • create_jobCreate jobPOSTCreates a job order: title, location (city, state, postal_code) and company_id are required; recruiter, owner, department, contact, description, salary, workflow, custom fields optional. Returns its URL (Location).
  • delete_jobDelete jobDELETEDeletes a job order by its id.
  • get_jobGet jobGETReturns one job order: title, location, description, notes, company, department, recruiter, owner, status, workflow, salary, rates, duration, published and hot flags and dates.

Webhook, 3 operations

  • create_webhookCreate webhookPOSTSubscribes a URL to record events (created, updated, deleted, status changed); CATS then posts each record there, signed with X-Signature when a secret is set. Returns its URL (Location).
  • delete_webhookDelete webhookDELETEDeletes a webhook subscription.
  • get_webhookGet webhookGETReturns one webhook subscription: id, event and target URL.

Event, 1 operation

  • list_eventsList eventsGETReturns up to 25 account events (records created, updated, deleted, status changes) after starting_after_id or starting_after_timestamp; last_id is the starting_after_id of the next call.

Field, 1 operation

  • list_job_application_fieldsList job application fieldsGETLists the questions of a job application form (title, type, position, required flag, answers); the page is returned as CATS sends it.

Portal, 1 operation

  • get_portalGet portalGETReturns one career portal: id, name and date, with portal_url (the portal site) in _links.

Site, 1 operation

  • get_siteGet siteGETReturns the CATS site (account) the API key belongs to: id, mode and subdomain.

User, 1 operation

  • get_userGet userGETReturns one CATS user with personal data: id, username, names, title and access level.

Showing the first 120 of 169 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use CATS from Claude Code, Cursor or Codex

Connect CATS in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its CATS operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect CATS

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect CATS once

    Add your CATS connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. 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.

CATS integration FAQ

What can you do with the CATS integration?

LiveContext exposes 169 operations on CATS, covering item, list, tag and custom field.

Popular integrations

Browse the whole catalog