> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Teamtailor

> Connect Teamtailor to your Atako agents — 10 read and 4 write actions.

Let your agents work with your Teamtailor ATS — browse jobs, candidates, applications and stages, add candidates and notes, and move applications through stages.

## Connection

* **Authentication**: API key.

<Note>
  app.teamtailor.com → Settings → Integrations → API keys → New API key. Choose "Admin" scope with read/write access to candidates, jobs, job applications, and notes. Copy the key.

  See [Teamtailor's documentation](https://app.teamtailor.com/settings/integrations/api-keys).
</Note>

## Read actions (10)

| Action | Description |
| - | - |
| `get_candidate` | Fetch a single candidate by id. |
| `get_job` | Fetch a single job by id. |
| `get_job_application` | Fetch a single job application by id. |
| `list_candidates` | List candidates, filterable by email or search term. |
| `list_departments` | List departments in the organization. |
| `list_job_applications` | List job applications, filterable by job-id, candidate-id, and rejected status. Supports include. |
| `list_jobs` | List jobs, filterable by status. Supports page\[size], page\[number] and include. |
| `list_locations` | List office locations in the organization. |
| `list_stages` | List hiring process stages, filterable by job-id. |
| `list_users` | List Teamtailor users in the organization. |

## Write actions (4)

| Action | Description |
| - | - |
| `add_candidate_note` | Add a note to a candidate. Body: JSON:API envelope \{ data: \{ type: "notes", attributes: \{ note }, relationships: \{ candidate: \{ data: \{ type: "candidates", id } } } } }. note is a required string (free text). candidate-id is a required string. |
| `create_candidate` | Create a new candidate. Body: JSON:API envelope \{ data: \{ type: "candidates", attributes: \{ first-name, last-name, email, phone, pitch, tags } } }. first-name, last-name and email are strings; phone and pitch are optional strings; tags is an optional array of strings. |
| `create_job_application` | Create a job application linking a candidate to a job. Body: JSON:API envelope \{ data: \{ type: "job-applications", relationships: \{ candidate: \{ data: \{ type: "candidates", id } }, job: \{ data: \{ type: "jobs", id } } }, attributes: \{ cover-letter (optional string) } } }. candidate-id and job-id are required strings. cover-letter is an optional string. |
| `move_application_stage` | Move a job application to a different stage. Body: JSON:API envelope \{ data: \{ id, type: "job-applications", relationships: \{ stage: \{ data: \{ type: "stages", id } } } } }. stage-id is a required string — use list\_stages to discover available stage ids. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.