Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Recruitee in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Recruitee (Tellent Recruitee) applicant tracking: jobs and talent pools, candidates with full search, pipelines and stages, placements, notes, tags, departments, locations, interviews and evaluations, tasks and the activity feed. It also moves candidates through stages and creates and publishes jobs. Recruitee ATS API with a personal API token.
Try asking
Example prompts for Recruitee
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Recruitee, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Recruitee + Microsoft Copilot
Recruitee (Tellent Recruitee) applicant tracking: jobs and talent pools, candidates with full search, pipelines and stages, placements, notes, tags, departments, locations, interviews and evaluations, tasks and the activity feed. It also moves candidates through stages and creates and publishes jobs. Recruitee ATS API with a personal API token.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
RECRUITEE_COMPANY_ID, RECRUITEE_API_TOKEN
Step 1 — Get credentials
Setting up takes about 3 minutes.
- In Recruitee open Settings > Apps and plugins > Personal API tokens (
https://app.recruitee.com/#/settings/api_tokens), click Add new token, give it a label and confirm your password. Copy the token intoRECRUITEE_API_TOKEN; it cannot be shown again. - Copy the company ID shown on the same page (a number) into
RECRUITEE_COMPANY_ID. The company subdomain also works. - Install the connector:
recruitee_get_current_adminis the install check.
The token acts as you, with your role, in that one company only; another company needs its own token. Recruitee cannot narrow a token's scope, so create it with a user whose role fits what the AI should do.
Personal data: candidates are applicants with CVs, contact details, evaluations and sometimes date of birth or nationality. Ask only for what the task needs, respect the company's GDPR settings and do not copy candidate data into other tools without a reason.
Recruitee's words: a job is an offer (kind job; a talent pool is an offer of kind talent_pool). A candidate in a job is a placement, which carries the stage and the disqualification for that job. Team members are admins.
What it reads:
- Team:
recruitee_get_current_adminandrecruitee_list_admins(ids for task assignees and filters). - Jobs:
recruitee_list_offers(filter bystatusessuch as published, kind, department, location, tag, recruiter or hiring manager),recruitee_get_offer(description, requirements, hiring team and the pipeline stages with their ids) andrecruitee_list_offer_notes. - Candidates:
recruitee_list_candidates(simple filters),recruitee_search_candidates(full search withfilters_json),recruitee_get_candidate(contact details, CV and cover letter links, sources, tags, custom fields, ratings, placements and question answers),recruitee_list_candidate_notes,recruitee_list_candidate_tasksandrecruitee_list_candidate_activities. The company-wide feed:recruitee_list_activities. - Pipeline of a job:
recruitee_list_placements(who is in which stage),recruitee_list_pipeline_templates,recruitee_get_pipeline_templateandrecruitee_list_disqualify_reasons. - Reference lists:
recruitee_list_departments,recruitee_get_department,recruitee_list_locations,recruitee_get_location,recruitee_list_tagsandrecruitee_list_sources. - Interviews:
recruitee_list_interview_events(upcoming by default),recruitee_get_interview_eventandrecruitee_list_interview_results(evaluations and scorecards). Tasks:recruitee_list_tasks.
What it writes:
- Candidates:
recruitee_create_candidate(optionally applied to jobs; aremote_cv_urlis parsed),recruitee_update_candidate,recruitee_add_candidate_tags(tag names that do not exist yet are created),recruitee_remove_candidate_tags,recruitee_add_candidate_field(for example skills, languages or nationality) andrecruitee_create_candidate_note(visible to the hiring team, not to the candidate). - Pipeline:
recruitee_assign_candidateputs a candidate into a job (first stage) or a talent pool;recruitee_change_stagemoves a placement to another stage (placement id from the candidate, stage id fromrecruitee_get_offer; a hired stage can needhired_at,work_location_idand, with requisitions,opening_id);recruitee_disqualify_candidatewith a reason andrecruitee_requalify_candidateundo each other. - Jobs:
recruitee_create_offercreates a draft,recruitee_update_offerchanges its fields,recruitee_publish_offerputs it on the careers site and the job boards set up for it,recruitee_unpublish_offertakes it off and keeps its candidates,recruitee_close_offerstops new applications. - Tasks:
recruitee_create_taskandrecruitee_complete_task(or reopen a task withcompletedfalse).
Automations: creating a candidate on a job, changing a stage with run_actions true, or disqualifying can trigger the emails and actions the company configured in Recruitee, so candidates may hear from you. The AI says so before doing it for many candidates.
Switched off at install: recruitee_delete_candidate (deletes the candidate with all their data) and recruitee_remove_placement (removes a candidate from a job together with that placement's stage history). They cannot be undone; a workspace admin switches them on when the team needs them. Disqualifying is the reversible way to take a candidate out of a job.
Search filters: filters_json of recruitee_search_candidates is a JSON array as a string, for example [{"field":"all","query":"java"},{"filter":"tags","id":{"in":[12]}},{"field":"created_at","gte":"2026-10-01"}]. Status and source: {"field":"status","in":["qualified"]}; stages: {"filter":"stages","name":{"in":[...]}}.
Data formats: ids are integers; dates and times are ISO 8601 in UTC (2026-10-19T11:02:32Z). A candidate's placements list one entry per job with offer_id, stage_id and disqualify_reason; stage and qualification changes take the placement id. adminapp_url links to the candidate in Recruitee.
Paging: recruitee_list_candidates pages with limit (up to 1000) and offset; offers, search, locations, activities, events and tasks page with limit and page (from 1). The AI stops when a page returns fewer items than limit.
Common errors: 401 invalid_token means a wrong, revoked or other company's token; 403 a role without the right; 404 a wrong company ID or record id; 422 a validation error, with the field named in the body.
The connector does not email candidates directly, does not schedule interviews and does not write evaluations.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Recruiteetools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
recruitee_get_current_admin | The team member (admin) the token belongs to: id, name, email, role and time zone |
recruitee_list_admins | Team members (admins) of the company with id, name, email and role; ids are used for task assignees, interview participants and followers |
recruitee_list_offers | Jobs and talent pools (Recruitee calls them offers): id, title, status, kind, department, locations, recruiter, candidate counts, pipeline… |
recruitee_get_offer | One job or talent pool by id with description, requirements, locations, department, hiring team and its pipeline stages (ids used to move… |
recruitee_list_offer_notes | Internal team notes on a job (offer), with author, text and time of each note |
recruitee_list_candidates | List candidates with name, emails, phones, source, tags, rating, placements (job, stage, disqualified) and creation date |
recruitee_search_candidates | Full candidate search across the database with filters on text, tags, sources, stages, ratings, dates, custom fields, education and… |
recruitee_get_candidate | One candidate by id: contact details, CV and cover letter links, sources, tags, custom fields, ratings, placements (job, stage… |
recruitee_list_candidate_notes | Team notes on a candidate with author, text, pinned flag and time of each note |
recruitee_list_candidate_activities | Activity history of a candidate: applications, stage moves, emails, notes, evaluations and events, newest first |
recruitee_list_activities | Company-wide activity feed (applications, stage changes, notes, emails, evaluations), filterable by candidates, offers, event names and… |
recruitee_list_placements | Candidates in a job's pipeline (placements): placement id, candidate, stage, disqualification, rating, upcoming event and overdue date |
recruitee_list_pipeline_templates | Pipeline templates with their stages (id, name, category such as apply, interview, offer, hire) |
recruitee_get_pipeline_template | One pipeline template with all its stages in order (stage id, name and category) |
recruitee_list_disqualify_reasons | Reasons a candidate can be disqualified with (id and name), for recruitee_disqualify_candidate |
recruitee_list_departments | Departments of the company with id, name and offer counts, to filter or create jobs |
recruitee_get_department | One department by id with its name and translations, to resolve the department_id of a job |
recruitee_list_locations | Job locations with id, name, address, city, country and active flag |
recruitee_get_location | One job location by id with its full address, translations and active flag |
recruitee_list_tags | Candidate tags of the company with id, name and how many candidates carry them |
recruitee_list_sources | Candidate sources (where applicants came from) with id and name |
recruitee_list_interview_events | Scheduled interviews and other events: candidate, job, participants, start and end, location or video link, status |
recruitee_get_interview_event | One interview event with participants, times, location and the candidate |
recruitee_list_interview_results | Evaluations and scorecards written about candidates, with reviewer, rating and answers |
recruitee_list_tasks | Recruiting tasks of the company: title, description, candidate, assignees, due date and completion |
recruitee_list_candidate_tasks | Tasks linked to one candidate with assignees, due date and completion |
recruitee_create_candidate | Add a candidate, optionally applied to jobs |
recruitee_update_candidate | Change a candidate's profile: name, emails, phones, links, cover letter or sources |
recruitee_delete_candidate | Delete a candidate with all their data |
recruitee_add_candidate_tags | Add tags to a candidate by name; tag names that do not exist yet are created |
recruitee_remove_candidate_tags | Remove tags from a candidate (the tags stay in the company list) |
recruitee_add_candidate_field | Add a profile field to a candidate, e.g. skills, languages, nationality or a single-line value |
recruitee_create_candidate_note | Write a team note on a candidate's profile (visible to the hiring team, not to the candidate) |
recruitee_assign_candidate | Put an existing candidate into a job's pipeline (first stage) or a talent pool |
recruitee_change_stage | Move a candidate's placement to another pipeline stage |
recruitee_disqualify_candidate | Disqualify a candidate in one job (placement) with a reason |
recruitee_requalify_candidate | Requalify a disqualified candidate in one job (placement), back into the pipeline |
recruitee_remove_placement | Remove a candidate from a job's pipeline, with that placement's stage history |
recruitee_create_offer | Create a job (or talent pool) as a draft; publish it with recruitee_publish_offer |
recruitee_update_offer | Change a job's fields, e.g. title, description, requirements, department, locations or salary |
recruitee_publish_offer | Publish a job on the careers site and job boards set up for it |
recruitee_unpublish_offer | Unpublish a job: it leaves the careers site but keeps its candidates |
recruitee_close_offer | Close a job: no new applications, candidates stay in the pipeline |
recruitee_create_task | Create a recruiting task for team members, optionally linked to a candidate and with a due date |
recruitee_complete_task | Mark a task as completed, or reopen it with completed false |
Example prompts
- "Which candidates applied to the Senior Backend Developer job this week, and in which stage are they?"
- "Find candidates tagged java who applied after 1 October."
- "What interviews are scheduled for tomorrow, with candidate, job and participants?"
- "Move Laura Rossi to the Interview stage of the Product Designer job and add a note that the phone screen went well."
- "Create a draft job for a Customer Support Specialist in the Support department, located in Berlin."
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?