Integration · Payroll & HR
Connect Claude & ChatGPT to CATS
Ask your AI to find candidates with a certain skill in CATS, add someone to a job's pipeline, or show who is at the interview stage. It can create and update candidates, jobs, companies and contacts, move candidates through pipeline statuses, log calls and meetings and manage to-do tasks. Recruiting admin gets done while you talk about the role.
Free plan, no credit card. Takes about a minute.
Try asking
“Find candidates with React and Danish in their profile.”
The AI searches candidates by those terms and lists names, contact details and owners.
“Add Maria Holm to the Senior Frontend Developer job.”
It finds the candidate and the job and adds her to the job's pipeline.
“Who is in the pipeline for the Senior Frontend Developer job, and at which stage?”
It lists the candidates in the job's pipeline with their current status.
What your AI can do
Candidates
Search, read, create and update candidates, see which jobs they are in and log calls, emails, meetings and notes.
Jobs and pipelines
Create and update jobs, change job status, add candidates to pipelines and move them from status to status.
Companies, contacts and tasks
Search and manage client companies and hiring contacts, and create or complete to-do tasks.
“Move Maria to interviewing.”
It looks up the statuses her pipeline can move to and changes it to the interviewing status. Status changes can fire your account's automated triggers.
“Log that I called Maria today about the second interview.”
It logs a call activity on the candidate with today's date and your notes, linked to the job.
“Create a job for Nordic Foods: Warehouse Manager in Aarhus, two openings.”
It finds the company, then creates the job with title, location and number of openings.
222 tools for CATS
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_candidate_to_jobChanges dataAdd a candidate to a job's pipeline by `candidate_id` and `job_id`, with optional `rating`; `create_activity` decides whether an activity is logged.attach_tag_to_candidateVisible to othersAttach a tag (candidate id). Has effects visible outside this system. API summary: Attach candidate tags.attach_tag_to_companyVisible to othersAttach a tag (company id). Has effects visible outside this system. API summary: Attach company tags.attach_tag_to_contactVisible to othersAttach a tag (contact id). Has effects visible outside this system. API summary: Attach contact tags.attach_tag_to_projectVisible to othersAttach a tag (job id). Has effects visible outside this system. API summary: Attach job tags.change_job_statusChanges dataChange a job's status by `job_id` and `status_id` (see list_job_statuses).change_pipeline_statusChanges dataMove a candidate to a new pipeline status (e.g. interviewing, offered, placed) by `pipeline_id` and `status_id`; `create_activity` decides whether an activity is logged. Status changes can fire the account's automated triggers.create_a_company_listChanges dataCreate a new list. Required: name. API summary: Create a company list.create_a_contact_listChanges dataCreate a new list. Required: name. API summary: Create a contact list.create_a_job_listChanges dataCreate a new list. Required: name. API summary: Create a job list.create_authorizationChanges dataCreate a new authorization. API summary: Authorize a candidate.create_backupChanges dataCreate a new backup. API summary: Create a backup.create_candidateChanges dataCreate a candidate with `first_name`, `last_name`, emails, phones, address, current employer, key skills and notes. Set `check_duplicate` to true to stop if the candidate already exists.create_candidate_messageVisible to othersCreate a new message for a candidate. Required: email. Has effects visible outside this system. API summary: Create a candidate email.create_candidate_phoneChanges dataCreate a new phone for a candidate. Required: number or type. API summary: Create a candidate phone.create_candidate_tagChanges dataCreate a new tag for a candidate. API summary: Replace candidate tags.create_candidate_work_historyChanges dataCreate a new work history for a candidate. Required: title or employer. API summary: Create a candidate work history item.create_companyChanges dataCreate a client company with `name` and `owner_id` (a user ID), plus address, phones, website and notes. Set `check_duplicate` to true to stop if it already exists.create_company_departmentChanges dataCreate a new department for a company. Required: name. API summary: Add department.create_company_list_itemsChanges dataCreate a new product for a list. API summary: Create company list items.create_company_phoneChanges dataCreate a new phone for a company. Required: number or type. API summary: Create a company phone.create_company_tagChanges dataCreate a new tag for a company. API summary: Replace company tags.create_contactChanges dataCreate a contact with `first_name`, `last_name`, `company_id` and `owner_id`, plus title, emails and phones. Set `check_duplicate` to true to stop if it already exists.create_contact_list_itemsChanges dataCreate a new product for a list. API summary: Create contact list items.create_contact_messageVisible to othersCreate a new message for a contact. Required: email. Has effects visible outside this system. API summary: Create a contact email.create_contact_phoneChanges dataCreate a new phone for a contact. Required: number or type. API summary: Create a contact phone.create_contact_tagChanges dataCreate a new tag for a contact. API summary: Replace contact tags.create_contact_taskChanges dataCreate a new task for a contact. Required: type. Search tasks first to avoid duplicates. API summary: Create a contact activity.create_jobChanges dataCreate a job with `title`, `company_id`, `location` (city, state, postal code) and optional description, salary, openings, recruiter and workflow. Set `check_duplicate` to true to stop if it already exists.create_job_list_itemsChanges dataCreate a new product for a list. API summary: Create job list items.create_listChanges dataCreate a new list. Required: name. API summary: Create a candidate list.create_list_productChanges dataCreate a new product for a list. API summary: Create candidate list items.create_parseChanges dataCreate a new parse. API summary: Parse a resume.create_project_tagChanges dataCreate a new tag for a project. API summary: Replace job tags.create_taskChanges dataCreate a to-do task with a description, due date, priority and assignee, optionally linked to a record via `data_item` (id and type).create_webhookDeletesCreate a new webhook. Required: events or target url. Destructive action; may require approval. API summary: Create a webhook.delete_a_company_listDeletesPermanently delete a list by list id. Destructive action; may require approval. API summary: Delete a company list.delete_a_company_list_itemDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Delete a company list item.delete_a_contact_listDeletesPermanently delete a list by list id. Destructive action; may require approval. API summary: Delete a contact list.delete_a_contact_list_itemDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Delete a contact list item.delete_a_job_listDeletesPermanently delete a list by list id. Destructive action; may require approval. API summary: Delete a job list.delete_a_job_list_itemDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Delete a job list item.delete_a_taskDeletesPermanently delete a task by task id. Destructive action; may require approval.delete_a_work_historyDeletesPermanently delete a work history by work history id. Destructive action; may require approval.delete_candidateDeletesPermanently delete a candidate by candidate id. Destructive action; may require approval.delete_candidate_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete a candidate email.delete_candidate_phoneDeletesPermanently delete a phone by phone id. Destructive action; may require approval. API summary: Delete a candidate phone.delete_candidate_tagDeletesPermanently delete a tag by tag id. Destructive action; may require approval. API summary: Delete candidate tag.delete_companyDeletesPermanently delete a company by company id. Destructive action; may require approval.delete_company_phoneDeletesPermanently delete a phone by phone id. Destructive action; may require approval. API summary: Delete a company phone.delete_company_tagDeletesPermanently delete a tag by tag id. Destructive action; may require approval. API summary: Delete company tag.delete_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval.delete_contact_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete a contact email.delete_contact_phoneDeletesPermanently delete a phone by phone id. Destructive action; may require approval. API summary: Delete a contact phone.delete_contact_tagDeletesPermanently delete a tag by tag id. Destructive action; may require approval. API summary: Delete contact tag.delete_departmentDeletesPermanently delete a department by department id. Destructive action; may require approval. API summary: Delete department.delete_documentDeletesPermanently delete a document by document id. Destructive action; may require approval. API summary: Delete an attachment.delete_listDeletesPermanently delete a list by list id. Destructive action; may require approval. API summary: Delete a candidate list.delete_list_productDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Delete a candidate list item.delete_pipelineDeletesPermanently delete a pipeline by pipeline id. Destructive action; may require approval.delete_portal_projectDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Unpublish portal job.delete_projectDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Delete a job.delete_project_tagDeletesPermanently delete a tag by tag id. Destructive action; may require approval. API summary: Delete job tag.delete_taskDeletesPermanently delete a task by task id. Destructive action; may require approval. API summary: Delete an activity.delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.delete_work_historyDeletesPermanently delete a work history by work history id. Destructive action; may require approval. API summary: Delete a candidate work history item.download_documentDownload the document for a document. API summary: Download an attachment.get_a_company_custom_fieldGet one custom field by custom field id. API summary: Get a company custom field.get_a_company_list_itemGet one product for a list by product id. API summary: Get a company list item.get_a_contact_custom_fieldGet one custom field by custom field id. API summary: Get a contact custom field.get_a_contact_listGet one list by list id. API summary: Get a contact list.get_a_contact_list_itemGet one product for a list by product id. API summary: Get a contact list item.get_a_job_applicationGet one application by application id. Results are paginated. API summary: Get a job application.get_a_job_custom_fieldGet one custom field by custom field id. API summary: Get a job custom field.get_a_job_listGet one list by list id. API summary: Get a job list.get_a_job_list_itemGet one product for a list by product id. API summary: Get a job list item.get_a_job_statusGet one status by status id. API summary: Get a job status.get_a_listGet one list by list id. API summary: Get a list.get_a_taskGet one task by task id. API summary: Get a task.get_a_work_historyGet one work history by work history id. API summary: Get a work history.get_applicationGet one application by application id. Results are paginated. API summary: Get a candidate application.get_backupGet one backup by backup id. API summary: Get a backup.get_candidateGet one candidate by `candidate_id`, with contact details, owner and custom fields.get_candidate_custom_fieldGet one custom field for a candidate by custom field id. API summary: Get a candidate custom field value.get_candidate_messageGet one message for a candidate by message id. API summary: Get a candidate email.get_candidate_phoneGet one phone for a candidate by phone id. API summary: Get a candidate phone.get_companyGet one company by `company_id`.get_company_custom_fieldGet one custom field for a company by custom field id. API summary: Get a company custom field value.get_company_phoneGet one phone for a company by phone id. API summary: Get a company phone.get_company_statusChanges dataGet the current status of a company by company id. API summary: Change company status.get_contactGet one contact by `contact_id`.get_contact_custom_fieldGet one custom field for a contact by custom field id. API summary: Get a contact custom field value.get_contact_messageGet one message for a contact by message id. API summary: Get a contact email.get_contact_phoneGet one phone for a contact by phone id. API summary: Get a contact phone.get_contact_statusGet one status by status id. API summary: Get contact status.get_contact_status_statusChanges dataGet the current status of a contact by contact id. API summary: Change contact status.get_custom_fieldGet one custom field by custom field id. API summary: Get a candidate custom field.get_departmentGet one department by department id. API summary: Get a department.get_documentGet one document by document id. API summary: Get an attachment.get_jobGet one job by `project_id`, with company, location, openings and status.get_listGet one list by list id. API summary: Get a candidate list.get_list_productGet one product for a list by product id. API summary: Get a candidate list item.get_pipelineGet one pipeline by pipeline id. API summary: Get a pipeline.get_portalGet one portal by portal id. API summary: Get a portal.get_project_custom_fieldGet one custom field for a project by custom field id. API summary: Get a job custom field value.get_statusGet one status by status id. API summary: Get a company status.get_tagGet one tag by tag id. API summary: Get a tag.get_taskGet one task by task id. API summary: Get an activity.get_triggerGet one trigger by trigger id. API summary: Get a trigger.get_userGet one user by user id. API summary: Get a user.get_webhookGet one webhook by webhook id. API summary: Get a webhook.get_work_historyGet one work history by work history id. API summary: Get a candidate work history item.get_workflowGet one workflow by workflow id. API summary: Get a workflow.get_workflow_statusGet one status for a workflow by status id. API summary: Get a workflow status.list_all_company_list_itemsList products for a list. Results are paginated. API summary: List all company list items.list_all_company_listsList lists. Results are paginated. API summary: List all company lists.list_all_contact_list_itemsList products for a list. Results are paginated. API summary: List all contact list items.list_all_contact_listsList lists. Results are paginated. API summary: List all contact lists.list_all_job_list_itemsList products for a list. Results are paginated. API summary: List all job list items.list_all_job_listsList lists. Results are paginated. API summary: List all job lists.list_application_fieldsList fields for a application. Results are paginated. API summary: List job application fields.list_backupsList backups. Results are paginated. API summary: List all backups.list_candidate_activitiesList the logged activities (calls, emails, meetings, notes) for a candidate by `candidate_id`.list_candidate_applicationsList applications for a candidate. Results are paginated. API summary: List applications by candidate.list_candidate_custom_fieldsList custom fields for a candidate. Results are paginated. API summary: List candidate custom field values.list_candidate_documentsList documents for a candidate. Results are paginated. API summary: List a candidate attachments.list_candidate_messagesList messages for a candidate. Results are paginated. API summary: List candidate emails.list_candidate_phonesList phones for a candidate. Results are paginated. API summary: List candidate phones.list_candidate_pipelinesList the jobs a candidate is in the pipeline for, with their current status, by `candidate_id`.list_candidate_tagsList tags for a candidate. Results are paginated. API summary: List all candidate tags.list_candidate_tasksList tasks for a candidate. Results are paginated. API summary: List candidate tasks.list_candidate_thumbnailsList thumbnails for a candidate. API summary: Get a candidate thumbnail.list_candidate_work_historiesList work histories for a candidate. Results are paginated. API summary: List candidate work history.list_candidatesList candidates. Results are paginated. API summary: List all candidates.list_companiesList companies. Results are paginated. API summary: List all companies.list_company_custom_field_valuesList custom fields for a company. Results are paginated. API summary: List company custom field values.list_company_custom_fieldsList custom fields. Results are paginated. API summary: List company custom fields.list_company_departmentsList departments for a company. Results are paginated. API summary: List all departments.list_company_documentsList documents for a company. Results are paginated. API summary: List company attachments.list_company_phonesList phones for a company. Results are paginated. API summary: List company phones.list_company_tagsList tags for a company. Results are paginated. API summary: List all company tags.list_company_tasksList tasks for a company. Results are paginated. API summary: List company tasks.list_company_thumbnailsList thumbnails for a company. API summary: Get a company thumbnail.list_contact_activitiesList tasks for a contact. Results are paginated. API summary: List contact activities.list_contact_custom_field_valuesList custom fields for a contact. Results are paginated. API summary: List contact custom field values.list_contact_custom_fieldsList custom fields. Results are paginated. API summary: List contact custom fields.list_contact_documentsList documents for a contact. Results are paginated. API summary: List contact attachments.list_contact_messagesList messages for a contact. Results are paginated. API summary: List contact emails.list_contact_phonesList phones for a contact. Results are paginated. API summary: Lis contact phones.list_contact_statusesList statuses. Results are paginated. API summary: List contact statuses.list_contact_tagsList tags for a contact. Results are paginated. API summary: List all contact tags.list_contact_tasksList tasks for a contact. Results are paginated. API summary: List contact tasks.list_contact_thumbnailsList thumbnails for a contact. API summary: Get a contact thumbnail.list_contactsList contacts. Results are paginated. API summary: List all contacts.list_custom_fieldsList custom fields. Results are paginated. API summary: List candidate custom fields.list_eventsList events. Optional filters: starting after timestamp. API summary: List all events starting after a timestamp.list_job_custom_fieldsList custom fields. Results are paginated. API summary: List job custom fields.list_job_pipelinesList the candidates in a job's pipeline, with their status, by `job_id`.list_job_statusesList the job statuses available, with their IDs.list_jobsList jobs (job orders), paged with `page` and `limit`.list_list_productsList products for a list. Results are paginated. API summary: List all candidate list items.list_listsList lists. Results are paginated. API summary: List all candidate lists.list_pipeline_statusesList the statuses a pipeline can move to, by `pipeline_id`.list_pipelinesList pipelines. Results are paginated. API summary: List all pipelines.list_portal_projectsList projects for a portal. Results are paginated. API summary: List portal jobs.list_portal_registrationsList registrations for a portal. API summary: Get portal registration application.list_portalsList portals. Results are paginated. API summary: List all portals.list_project_applicationsList applications for a project. Results are paginated. API summary: List applications by job.list_project_custom_fieldsList custom fields for a project. Results are paginated. API summary: List job custom field values.list_project_documentsList documents for a project. Results are paginated. API summary: List job attachments.list_project_tagsList tags for a project. Results are paginated. API summary: List all job tags.list_project_tasksList tasks for a project. Results are paginated. API summary: List job tasks.list_sitesList sites. API summary: Get site.list_statusesList statuses. Results are paginated. API summary: List company statuses.list_tagsList tags. Results are paginated. API summary: List all tags.list_tasksList to-do tasks, paged with `page` and `limit`.list_tasks_2List tasks. Results are paginated. API summary: List all activities.list_triggersList triggers. Results are paginated. API summary: List all triggers.list_usersList CATS users, e.g. to find an `owner_id` or `assigned_to_id`.list_webhooksList webhooks. Results are paginated. API summary: List all webhooks.list_workflow_statusesList statuses for a workflow. Results are paginated. API summary: List workflow statuses.list_workflowsList workflows. Results are paginated.log_candidate_activityChanges dataLog an activity on a candidate by `candidate_id`: `type`, date, notes and optionally the job it is `regarding_id`.search_candidatesSearch candidates by a free-text `query` (name, email, skills and more).search_candidates_searchChanges dataSearch candidates by query or per page. Use this to find existing candidates before creating a new candidate. API summary: Filter candidates.search_companiesSearch client companies by a free-text `query`.search_companies_searchChanges dataSearch companies by query or per page. Use this to find existing companies before creating a new company. API summary: Filter companies.search_contactsSearch client contacts (hiring managers etc.) by a free-text `query`.search_contacts_searchChanges dataSearch contacts by query or per page. Use this to find existing contacts before creating a new contact. API summary: Filter contacts.search_jobsSearch jobs by a free-text `query` (title, company, location and more).search_pipelinesChanges dataSearch pipelines by per page. Use this to find existing pipelines before creating a new pipeline. API summary: Filter Pipelines.search_projects_searchChanges dataSearch projects by query or per page. Use this to find existing projects before creating a new project. API summary: Filter jobs.search_tasksSearch tasks by query. Use this to find existing tasks before creating a new task. Results are paginated. API summary: Search activities.search_tasks_searchChanges dataSearch tasks by query or per page. Use this to find existing tasks before creating a new task. API summary: Filter activities.submit_projectVisible to othersSubmit a project (project id). Has effects visible outside this system. API summary: Publish portal job.submit_registrationVisible to othersSubmit a registration (portal id). Has effects visible outside this system. API summary: Submit portal registration application.update_candidateChanges dataUpdate a candidate by `candidate_id`; `first_name` and `last_name` must be sent again along with the fields to change.update_candidate_custom_fieldChanges dataUpdate an existing custom field identified by custom field id. API summary: Update a candidate custom field.update_candidate_messageVisible to othersUpdate an existing message identified by message id. Has effects visible outside this system. API summary: Update a candidate email.update_candidate_phoneChanges dataUpdate an existing phone identified by phone id. API summary: Update a candidate phone.update_candidate_thumbnailsVisible to othersUpdate an existing thumbnail identified by candidate id. Has effects visible outside this system. API summary: Change a candidate thumbnail.update_companyChanges dataUpdate a company by `company_id`; `name` and `owner_id` must be sent again along with the fields to change.update_company_custom_fieldChanges dataUpdate an existing custom field identified by custom field id. API summary: Update a company custom field.update_company_phoneChanges dataUpdate an existing phone identified by phone id. API summary: Update a company phone.update_company_thumbnailsVisible to othersUpdate an existing thumbnail identified by company id. Has effects visible outside this system. API summary: Change a company thumbnail.update_contactChanges dataUpdate a contact by `contact_id`; `first_name`, `last_name`, `company_id` and `owner_id` must be sent again along with the fields to change.update_contact_custom_fieldChanges dataUpdate an existing custom field identified by custom field id. API summary: Update a contact custom field.update_contact_messageVisible to othersUpdate an existing message identified by message id. Has effects visible outside this system. API summary: Update a contact email.update_contact_phoneChanges dataUpdate an existing phone identified by phone id. API summary: Update a contact phone.update_contact_thumbnailsVisible to othersUpdate an existing thumbnail identified by contact id. Has effects visible outside this system. API summary: Change a contact thumbnail.update_departmentChanges dataUpdate an existing department identified by department id. API summary: Update department.update_jobChanges dataUpdate a job by `project_id`; `title`, `company_id` and `location` must be sent again along with the fields to change.update_pipelineChanges dataUpdate an existing pipeline identified by pipeline id. API summary: Update a pipeline.update_project_custom_fieldChanges dataUpdate an existing custom field identified by custom field id. API summary: Update a job custom field.update_taskChanges dataUpdate a task by `task_id`: description, due date, priority, assignee or mark it completed with `is_completed`.update_task_2Changes dataUpdate an existing task identified by task id. API summary: Update an activity.update_work_historyChanges dataUpdate an existing work history identified by work history id. API summary: Update a candidate work history item.upload_a_company_attachmentChanges dataUpload a document (company id). API summary: Upload a company attachment.upload_a_contact_attachmentChanges dataUpload a document (contact id). API summary: Upload a contact attachment.upload_a_job_attachmentChanges dataUpload a document (job id). API summary: Upload a job attachment.upload_documentChanges dataUpload a document (candidate id). API summary: Upload a candidate attachment.upload_resumeChanges dataUpload a resume (candidate id).
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose CATS from the app list.
- 2
Paste your key
Paste your CATS v3 API key. In CATS, open the Administration settings page and create a v3 API key. Transaction codes from the old API do not work.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in CATS?
The AI can search, read, create and update candidates, jobs, client companies and contacts. It can add candidates to a job's pipeline, move them between pipeline statuses, change job status, list and log activities on candidates, and list, create and update to-do tasks. It can also list users, job statuses and pipeline statuses.
Does the AI see my CATS API key?
No. Your CATS credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with read-only tools. Moving a candidate to a new pipeline status can fire your account's automated triggers, so that action can require your approval before it runs. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own CATS account.
Does my old CATS API key work?
No. HeyMyApps uses the CATS v3 API, which needs a v3 API key. Transaction codes from the old API do not work. You create a v3 key on the Administration settings page in CATS.
Related integrations
Let your AI work in CATS today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect CATS freeHeyMyApps is not affiliated with CATS. Product names are trademarks of their owners.






