Hiring

Move an applicant

hiring_move_applicant · Changes data · Markdown

Moves an applicant to another stage of their job, with a note; the candidate is not told.

$0.01 a call

From your agent’s balance. A call that fails costs nothing.

An example

Move Maria Santos on to the interview stage.

Your agent callshiring_move_applicant$0.01 a call

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "applicant_id": 4101,
  "stage": "Interview",
  "note": "Strong portfolio of wheel builds."
}
What comes back
{
  "applicant": {
    "applicant_id": 4101,
    "job": "bike-mechanic",
    "name": "Maria Santos",
    "email": "maria.santos@example.com",
    "phone": "+1 503 555 0130",
    "stage": "Interview",
    "rating": null,
    "source": "careers",
    "applied_at": "2026-10-14T08:00:00+00:00",
    "updated_at": "2026-10-14T08:00:00+00:00",
    "has_resume": true,
    "flags": [],
    "screened": null,
    "stage_since": "2026-10-14T08:00:00+00:00",
    "stages_reached": [
      "Applied",
      "Interview"
    ],
    "assessments": [],
    "interview": null,
    "next_step": {
      "step": "schedule",
      "label": "Needs scheduling",
      "waiting_on": "you",
      "at": "2026-10-14T08:00:00+00:00",
      "overdue": false
    },
    "match_score": null,
    "screening_summary": null,
    "passed_filter_at": null,
    "risk": "high",
    "signals": {
      "risk": "high",
      "high": [
        {
          "code": "shared_phone",
          "applicant_ids": [
            2
          ],
          "text": "The same phone number is on 1 other application under another email address."
        }
      ],
      "minor": [],
      "authentic": [
        {
          "code": "name_in_email",
          "text": "Their name is in their email address."
        }
      ],
      "checked_at": "2026-10-14T08:00:00+00:00"
    },
    "spam": false,
    "links": [],
    "cover_letter": "I have worked in bike shops for six years, the last two also building wheels for a cyclocross team.",
    "answers": [
      {
        "question": "How many years have you worked as a bike mechanic?",
        "answer": 6
      },
      {
        "question": "Can you lift 50 lb?",
        "answer": true
      }
    ],
    "screening": null,
    "notes": [
      {
        "at": "2026-10-14T08:00:00+00:00",
        "by": "Pip",
        "body": "Strong portfolio of wheel builds."
      }
    ],
    "history": [
      {
        "at": "2026-10-14T08:00:00+00:00",
        "change": "Applied"
      },
      {
        "at": "2026-10-14T08:00:00+00:00",
        "change": "Applied → Interview",
        "by": "Pip"
      }
    ],
    "interview_invite": null,
    "resume": {
      "file_id": "48a3458d-ac6f-4cdc-85a8-44bd9a3f8659",
      "name": "Résumé Maria Santos.pdf",
      "content_type": "application/pdf",
      "size": "1.1 KB",
      "size_bytes": 1153,
      "sha256": "6b65acac1ceea7ed3492428300b2b14437c63d6d3c622e96f0d76366e03b0fb9",
      "created_at": "2026-10-14T08:00:00+00:00",
      "download_url": "https://cncto.co/d/48a3458d-ac6f-4cdc-85a8-44bd9a3f8659?t=eyJmIjoiNDhhMzQ1OGQtYWM2Zi00Y2RjLTg1YTgtNDRiZDlhM2Y4NjU5IiwiZXhwIjoxNzkyNTAyMjA4fQ:1xInEO:9-h-rJyRks6t7mIf0FY1aKR3db2nRjJRBkww0oIN7E4",
      "link_expires_in_hours": 24
    }
  }
}

Use it when

A decision was made: interview, offer or rejected.

What it does

Move an applicant to another stage of their job (e.g. Interview, Hired or Rejected), with an optional note. Candidates are not told; email them with hiring_email_applicant.

What comes back

applicant: the application in its new stage, with the move in its history. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
applicant_idRequiredintegerAt least 1.
stageRequiredstring1 to 60 characters.
notestringUp to 5,000 characters.

The call

Over MCP, call hiring_move_applicant on https://api.conecto.chat/mcp/hiring. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/hiring_move_applicant \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"applicant_id":4101,"stage":"Interview","note":"Strong portfolio of wheel builds."}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404No applicant of the business has that applicant_id.Find them with hiring_list_applicants.
payment_required402The application came in while the balance could not pay its fee, so it is held.Top up; the application opens once its fee is paid.
invalid_input400The stage is not one of the job's stages.Use a stage the message lists.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md