Recruitee

App · Jobs & Hiring · 20 actions

Track hiring in Recruitee: find and create candidates, move them through a job's pipeline, and raise tasks for the hiring team.

Actions

ActionWhat it does
Add candidate noteLeave a note on a candidate's profile.
Add candidate to jobPlace an existing candidate onto a job or into a talent pool, at the first stage of its pipeline.
Create candidateAdd a candidate to the company, optionally placing them onto one or more jobs straight away.
Create taskRaise a task for the hiring team, optionally about a candidate and due at a given time.
Delete candidatePermanently delete a candidate, along with their placements, notes and tasks.
Disqualify candidateDisqualify a candidate on one job, citing one of the company's disqualify reasons.
Get candidateRead one candidate's full profile, including the jobs they are placed on.
Get jobRead one job, including its pipeline and candidate counts.
List candidate notesRead the notes the hiring team has left on a candidate.
List candidatesList candidates, newest first, optionally narrowed by a search phrase, a job, or whether they are still in the running.
List disqualify reasonsList the reasons this company can cite when disqualifying a candidate, with the IDs the disqualify action needs.
List job candidatesList the candidates placed on a job.
List job stagesList a job's pipeline stages with their IDs.
List jobsList the company's jobs and talent pools, optionally filtered by status or department.
List tasksList the hiring team's tasks.
Move candidate to stageMove a candidate to another stage of the job they are on.
Remove candidate from jobTake a candidate off a job.
Requalify candidatePut a disqualified candidate back into the running on that job.
Tag candidateAdd tags to a candidate.
Update candidateChange a candidate's name, contact details or cover letter.

Add candidate note

Leave a note on a candidate's profile.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate to note.
NotebodytextRequired
The note text.

Outputs

bodytext
The note text as stored.
candidate_idnumber
Candidate ID.
noteobject
note_idnumber
New note ID.
statustext
Status of the action execution ("success" on success).
Example output
{
  "body": "Strong portfolio.",
  "candidate_id": 3547,
  "note": {
    "body": "Strong portfolio.",
    "id": 4
  },
  "note_id": 4,
  "status": "success"
}

Add candidate to job

Place an existing candidate onto a job or into a talent pool, at the first stage of its pipeline.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate to place.
Joboffer_idnumber
The job to act on.
Talent pool IDtalent_pool_idnumber
Add the candidate to this talent pool instead of a job. Supply either this or a job.

Outputs

candidate_idnumber
Candidate ID.
offer_idnumber
Job ID.
placementobject
placement_idnumber
New placement ID.
stage_idnumber
The stage the candidate landed in.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate_id": 3547,
  "offer_id": 3349,
  "placement": {
    "candidate_id": 3547,
    "id": 63246
  },
  "placement_id": 63246,
  "stage_id": 39299,
  "status": "success"
}

Create candidate

Add a candidate to the company, optionally placing them onto one or more jobs straight away.

Inputs

Full namenametextRequired
The candidate's full name.
Email addressesemailslist
One or more email addresses for the candidate.
Phone numbersphoneslist
One or more phone numbers for the candidate.
Jobsoffer_idslist
Jobs to place the candidate on immediately. Leave empty to create the profile without applying them to anything.
Cover lettercover_lettertext
Cover letter text to store on the profile.

Outputs

candidateobject
candidate_idnumber
New candidate ID.
candidate_nametext
Candidate name.
emailslist
The email addresses stored on the candidate.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate": {
    "id": 3548,
    "name": "Jane Doe"
  },
  "candidate_id": 3548,
  "candidate_name": "Jane Doe",
  "emails": [
    "jane@example.com"
  ],
  "status": "success"
}

Create task

Raise a task for the hiring team, optionally about a candidate and due at a given time.

Inputs

TitletitletextRequired
What needs doing.
Descriptiondescriptiontext
Any detail to go with the task.
Candidate IDcandidate_idnumber
Attach the task to this candidate.
Duedue_datedate and time
When the task is due.
Time zonetimezonetext
Time zone the due date is written in, such as 'Europe/London'. Defaults to UTC.
Assign toadmin_idslist
Hiring team members to assign the task to.

Outputs

due_datetext
When it is due.
statustext
Status of the action execution ("success" on success).
taskobject
task_idnumber
New task ID.
titletext
Task title.
Example output
{
  "due_date": "2026-09-10T09:00:00.000000Z",
  "status": "success",
  "task": {
    "id": 5622,
    "title": "Send offer letter"
  },
  "task_id": 5622,
  "title": "Send offer letter"
}

Delete candidate

Permanently delete a candidate, along with their placements, notes and tasks. This cannot be undone.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate to delete.

Outputs

candidate_idnumber
The candidate that was deleted.
deletedtrue/false
Always true on success.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate_id": 3547,
  "deleted": true,
  "status": "success"
}

Disqualify candidate

Disqualify a candidate on one job, citing one of the company's disqualify reasons. Their other jobs are untouched.

Inputs

Placement IDplacement_idnumberRequired
ID of the placement - the row linking one candidate to one job. Run 'List job candidates' to find it.
Reasondisqualify_reason_idnumberRequired
Why the candidate is being disqualified.

Outputs

disqualified_attext
When the disqualification was recorded.
disqualify_reason_idnumber
The reason that was cited.
placementobject
placement_idnumber
Placement ID.
statustext
Status of the action execution ("success" on success).
Example output
{
  "disqualified_at": "2026-09-04T10:00:00.000000Z",
  "disqualify_reason_id": 123,
  "placement": {
    "id": 63246
  },
  "placement_id": 63246,
  "status": "success"
}

Get candidate

Read one candidate's full profile, including the jobs they are placed on.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate to read.

Outputs

candidateobject
candidate_idnumber
Candidate ID.
candidate_nametext
Candidate name.
referenceslist
The related records Recruitee returns alongside the candidate, such as the jobs behind their placements.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate": {
    "id": 3547,
    "name": "Jane Doe"
  },
  "candidate_id": 3547,
  "candidate_name": "Jane Doe",
  "references": [],
  "status": "success"
}

Get job

Read one job, including its pipeline and candidate counts.

Inputs

Joboffer_idnumberRequired
The job to act on.

Outputs

offerobject
offer_idnumber
Job ID.
offer_statustext
The job's own status - draft, published, internal, closed or archived.
statustext
Status of the action execution ("success" on success).
titletext
Job title.
Example output
{
  "offer": {
    "id": 3349,
    "title": "Senior Engineer"
  },
  "offer_id": 3349,
  "offer_status": "published",
  "status": "success",
  "title": "Senior Engineer"
}

List candidate notes

Read the notes the hiring team has left on a candidate.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate whose notes to read.

Outputs

candidate_idnumber
Candidate ID.
countnumber
How many were returned.
noteslist
The notes on the candidate.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate_id": 3547,
  "count": 1,
  "notes": [
    {
      "body": "Strong portfolio.",
      "id": 4
    }
  ],
  "status": "success"
}

List candidates

List candidates, newest first, optionally narrowed by a search phrase, a job, or whether they are still in the running.

Inputs

Searchquerytext
Match against a candidate's name or the job they applied to. Leave empty to list everyone.
Joboffer_idnumber
The job to act on.
Limitlimitnumber
How many results to return (1-1000).From 1 to 1000. Default: 25.
Skipoffsetnumber
Skip this many candidates before returning results, for paging through a long list.At least 0. Default: 0.
Sort bysorttext
Order the results.One of: by_date (Newest first), by_last_message (Most recently messaged).
Only still in the runningqualifiedtrue/false
Return only candidates who are not disqualified.
Only disqualifieddisqualifiedtrue/false
Return only candidates who were disqualified.
Added aftercreated_afterdate
Only candidates added on or after this date.

Outputs

candidateslist
The candidates that matched.
countnumber
How many were returned.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidates": [
    {
      "emails": [
        "jane@example.com"
      ],
      "id": 3547,
      "name": "Jane Doe"
    }
  ],
  "count": 1,
  "status": "success"
}

List disqualify reasons

List the reasons this company can cite when disqualifying a candidate, with the IDs the disqualify action needs.

Inputs

None.

Outputs

countnumber
How many there are.
disqualify_reasonslist
The reasons this company has configured.
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "disqualify_reasons": [
    {
      "id": 123,
      "name": "Withdrew"
    }
  ],
  "status": "success"
}

List job candidates

List the candidates placed on a job. Each result carries the placement ID that the stage, disqualify and remove actions need.

Inputs

Joboffer_idnumberRequired
The job to act on.
Stage IDstage_idnumber
Only candidates sitting in this stage. Run 'List job stages' to find the ID.
Only still in the runningqualifiedtrue/false
Exclude disqualified candidates.
Only disqualifieddisqualifiedtrue/false
Return only disqualified candidates.
Sort bysort_bytext
Order the results.One of: created_at (Applied), last_activity_at (Last activity), rating.
Sort ordersort_ordertext
Ascending or descending.One of: asc (Ascending), desc (Descending).

Outputs

countnumber
How many were returned.
offer_idnumber
Job ID.
placementslist
One placement per candidate on the job.
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "offer_id": 3349,
  "placements": [
    {
      "candidate_id": 3547,
      "id": 63246,
      "stage_id": 39299
    }
  ],
  "status": "success"
}

List job stages

List a job's pipeline stages with their IDs. Stage IDs differ per job, so this is how you find the one a stage move needs.

Inputs

Joboffer_idnumberRequired
The job to act on.

Outputs

countnumber
How many stages there are.
offer_idnumber
Job ID.
stageslist
The stages of this job's pipeline, in order.
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "offer_id": 3349,
  "stages": [
    {
      "category": "applied",
      "id": 39299,
      "name": "Applied"
    }
  ],
  "status": "success"
}

List jobs

List the company's jobs and talent pools, optionally filtered by status or department.

Inputs

Statusesstatuseslist
Only jobs in these statuses. Leave empty for all of them.One or more of: draft, published, internal, closed, archived.
Departmentsdepartment_idslist
Only jobs in these departments.
Extra detailincludelist
Extra fields to load with each job. Jobs come back without their description and counters unless asked for.One or more of: description, requirements, highlight, work_models (Work models), salary, dynamic_fields (Dynamic fields), follower_ids (Follower ids), location_ids (Location ids), requisition_ids (Requisition ids), tags, and 3 more.
Limitlimitnumber
How many results to return (1-1000).From 1 to 1000. Default: 25.
Pagepagenumber
Page of results, starting at 1.At least 1. Default: 1.

Outputs

countnumber
How many were returned.
offerslist
The jobs that matched.
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "offers": [
    {
      "id": 3349,
      "status": "published",
      "title": "Senior Engineer"
    }
  ],
  "status": "success"
}

List tasks

List the hiring team's tasks.

Inputs

Whose tasksscopetext
Whose tasks to list.One of: my (Assigned to me), unassigned, all (Everyone's).
Statusstatustext
Only done, or only outstanding, tasks.One of: completed, uncompleted (Not done yet).
Sort bysort_bytext
Order the results.One of: due_date (Due date), created_at (Created), completed_at (Completed).
Sort ordersort_ordertext
Ascending or descending.One of: asc (Ascending), desc (Descending).
Limitlimitnumber
How many results to return (1-1000).From 1 to 1000. Default: 25.
Pagepagenumber
Page of results, starting at 1.At least 1. Default: 1.

Outputs

countnumber
How many were returned.
statustext
Status of the action execution ("success" on success).
taskslist
The tasks that matched.
Example output
{
  "count": 1,
  "status": "success",
  "tasks": [
    {
      "id": 5622,
      "title": "Send offer letter"
    }
  ]
}

Move candidate to stage

Move a candidate to another stage of the job they are on. Takes the placement ID, not the candidate ID.

Inputs

Placement IDplacement_idnumberRequired
ID of the placement - the row linking one candidate to one job. Run 'List job candidates' to find it.
Stage IDstage_idnumberRequired
The stage to move them into. Run 'List job stages' for the job to find it - stage IDs differ per job.
Put at top of stageproceedtrue/false
Place the candidate at the top of the new stage rather than the bottom.

Outputs

candidate_idnumber
Candidate ID.
placementobject
placement_idnumber
Placement ID.
stage_idnumber
The stage now set.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate_id": 3547,
  "placement": {
    "id": 63246,
    "stage_id": 39300
  },
  "placement_id": 63246,
  "stage_id": 39300,
  "status": "success"
}

Remove candidate from job

Take a candidate off a job. The candidate's own profile stays.

Inputs

Placement IDplacement_idnumberRequired
ID of the placement - the row linking one candidate to one job. Run 'List job candidates' to find it.

Outputs

deletedtrue/false
Always true on success.
placement_idnumber
The placement that was removed.
statustext
Status of the action execution ("success" on success).
Example output
{
  "deleted": true,
  "placement_id": 63246,
  "status": "success"
}

Requalify candidate

Put a disqualified candidate back into the running on that job.

Inputs

Placement IDplacement_idnumberRequired
ID of the placement - the row linking one candidate to one job. Run 'List job candidates' to find it.

Outputs

disqualified_attext
Empty once the candidate is back in the running.
placementobject
placement_idnumber
Placement ID.
stage_idnumber
The stage they returned to.
statustext
Status of the action execution ("success" on success).
Example output
{
  "disqualified_at": null,
  "placement": {
    "id": 63246
  },
  "placement_id": 63246,
  "stage_id": 39299,
  "status": "success"
}

Tag candidate

Add tags to a candidate. A tag the company does not have yet is created.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate to tag.
TagstagslistRequired
One or more tags to add.

Outputs

candidate_idnumber
Candidate ID.
statustext
Status of the action execution ("success" on success).
tag_nameslist
Just the names of those tags.
tagslist
The tags now on the candidate.
Example output
{
  "candidate_id": 3547,
  "status": "success",
  "tag_names": [
    "Shortlist"
  ],
  "tags": [
    {
      "id": 148,
      "name": "Shortlist"
    }
  ]
}

Update candidate

Change a candidate's name, contact details or cover letter. Anything left empty is left as it is.

Inputs

Candidate IDcandidate_idnumberRequired
ID of the candidate to update.
Full namenametext
Replace the candidate's name.
Email addressesemailslist
Replace the stored email addresses with these ones.
Phone numbersphoneslist
Replace the stored phone numbers with these ones.
Cover lettercover_lettertext
Replace the cover letter text.

Outputs

candidateobject
candidate_idnumber
Candidate ID.
candidate_nametext
Candidate name.
statustext
Status of the action execution ("success" on success).
Example output
{
  "candidate": {
    "id": 3547,
    "name": "Jane Doe"
  },
  "candidate_id": 3547,
  "candidate_name": "Jane Doe",
  "status": "success"
}

On this page