HR

Get a person

hr_get_person · Reads only · Markdown

Everything about one person: details, leave balances for a year, pending and upcoming leave, documents, open tasks and direct reports.

Free*

*Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads.

An example

How many vacation days does Tom have left this year?

Your agent callshr_get_personFree*

The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.

With these arguments
{
  "person": "tom.okafor@hansenvoss.example"
}
What comes back
{
  "person": {
    "person_id": 4102,
    "name": "Tom Okafor",
    "first_name": "Tom",
    "last_name": "Okafor",
    "preferred_name": null,
    "work_email": "tom.okafor@hansenvoss.example",
    "job_title": "Support Lead",
    "department": "Support",
    "location": "Hamburg",
    "manager": {
      "person_id": 4101,
      "name": "Lena Brandt"
    },
    "employment_type": "full_time",
    "start_date": "2024-05-15",
    "probation_end": null,
    "end_date": null,
    "status": "active",
    "personal_email": null,
    "phone": null,
    "birthday": null,
    "emergency_contact": null,
    "notes": null,
    "custom": {},
    "allowances": {},
    "created_at": "2026-10-14T08:00:00+00:00",
    "updated_at": "2026-10-14T08:00:00+00:00"
  },
  "leave_year": {
    "year": 2026,
    "from": "2026-01-01",
    "to": "2026-12-31"
  },
  "hours_per_day": "8",
  "balances": [
    {
      "leave_type": "Sick",
      "tracked": false,
      "paid": true,
      "year": 2026,
      "approved": "0",
      "pending": "0"
    },
    {
      "leave_type": "Vacation",
      "tracked": true,
      "paid": true,
      "year": 2026,
      "from": "2026-01-01",
      "to": "2026-12-31",
      "annual_days": "28",
      "own_allowance": false,
      "accrual": "yearly",
      "months_counted": 12,
      "entitlement": "28",
      "carried_over": "0",
      "adjustments": "0",
      "approved": "0",
      "balance": "28",
      "pending": "7.5",
      "available_after_pending": "20.5"
    }
  ],
  "adjustments": [],
  "leave": [
    {
      "request_id": 4101,
      "person": {
        "person_id": 4102,
        "name": "Tom Okafor"
      },
      "leave_type": "Vacation",
      "paid": true,
      "start": "2026-12-21",
      "end": "2026-12-31",
      "half_start": false,
      "half_end": true,
      "days": "7.5",
      "hours": "60",
      "by_leave_year": {
        "2026": "7.5"
      },
      "status": "pending",
      "note": "Christmas with family",
      "decision_note": null,
      "decided_by": null,
      "decided_at": null,
      "allow_negative": false,
      "created_at": "2026-10-14T08:00:00+00:00"
    }
  ],
  "documents": [],
  "open_tasks": [],
  "direct_reports": []
}

Use it when

Someone asks about one person: their days left, their contract, their tasks.

What it does

Everything about one person: their details, their time-off balance of each leave type for a leave year (entitlement, carried over, adjustments, approved, pending, available after pending), the adjustments in it, their pending requests and approved leave from today on, documents with download links, open checklist tasks and direct reports.

What comes back

The person's details, the leave year and hours per day, the balance of each leave type (entitlement, carried over, adjustments, approved, pending, available), the adjustments, pending and upcoming leave, documents with download links, open tasks and direct reports. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
personRequiredinteger or stringThe person_id, or their work email. 1 to 254 characters, at least 1.
yearintegerA leave year, named by the year it starts in. Default: the current one. 2,000 to 2,100.

The call

Over MCP, call hr_get_person on https://api.conecto.chat/mcp/hr. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/hr_get_person \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"person":"tom.okafor@hansenvoss.example"}'

When it refuses

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

CodeWhenWhat to do
not_found404No person of the business has that person_id or work email.Find them with hr_list_people.

Give this to your agent.

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