HR

Change the HR settings

hr_save_settings · Changes data · Markdown

Sets the work calendar: working days, hours per day, leave year, time zone, and one location's public holidays for a year.

$0.001 a call

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

An example

Add Hamburg's public holidays for the rest of the year: Reformation Day and the two Christmas days.

Your agent callshr_save_settings$0.001 a call

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
{
  "holidays": {
    "year": 2026,
    "location": "Hamburg",
    "days": [
      {
        "date": "2026-10-03",
        "name": "German Unity Day"
      },
      {
        "date": "2026-10-31",
        "name": "Reformation Day"
      },
      {
        "date": "2026-12-25",
        "name": "Christmas Day"
      },
      {
        "date": "2026-12-26",
        "name": "Second Christmas Day"
      }
    ]
  }
}
What comes back
{
  "settings": {
    "working_days": [
      1,
      2
    ],
    "working_day_names": [
      "Monday",
      "Tuesday"
    ],
    "hours_per_day": "8",
    "leave_year_start": 1,
    "time_zone": "Europe/Berlin",
    "time_zone_own": true,
    "today": "2026-10-14",
    "leave_year": {
      "year": 2026,
      "from": "2026-01-01",
      "to": "2026-12-31"
    }
  },
  "leave_types": [
    {
      "name": "Sick",
      "tracked": false,
      "paid": true,
      "annual_days": "0",
      "accrual": "yearly",
      "carry_over_max": "0",
      "archived": false
    },
    {
      "name": "Vacation",
      "tracked": true,
      "paid": true,
      "annual_days": "28",
      "accrual": "yearly",
      "carry_over_max": "5",
      "archived": false
    }
  ],
  "holidays": {
    "year": 2026,
    "location": "Hamburg",
    "days": [
      {
        "date": "2026-10-03",
        "name": "German Unity Day",
        "location": "Hamburg"
      },
      {
        "date": "2026-10-31",
        "name": "Reformation Day",
        "location": "Hamburg"
      }
    ]
  },
  "checklists": [
    {
      "name": "Warehouse onboarding",
      "kind": "onboarding",
      "items": [
        {
          "title": "Hand over the warehouse keys",
          "owner": "manager",
          "due_days": -1
        },
        {
          "title": "Safety briefing for the forklift and the racks",
          "owner": "hr",
          "due_days": 0
        }
      ]
    }
  ]
}

Use it when

Before the first leave request, or when holidays for a new year are known.

What it does

Set the work calendar. working_days: ISO weekday numbers, 1 (Monday) to 7 (Sunday); default 1 to 5. hours_per_day: default 8, used to show leave in hours. leave_year_start: the month the leave year starts, default 1. time_zone: an IANA name; null follows the invoice profile's or the calendar's. holidays: one location's public holidays for one calendar year, replacing that location's list for that year (no location: everyone's; an empty list clears it). Leave already requested keeps the days it was counted with.

What comes back

The settings as they now are, in the shape hr_get_settings returns. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
working_daysarray of integers1 to 7 items.
hours_per_daynumber or stringUp to 6 characters.
leave_year_startinteger1 to 12.
time_zonestring or nullUp to 64 characters.
holidaysobject
holidays.yearRequiredintegerThe calendar year the holidays are in. 2,000 to 2,100.
holidays.locationstringBlank or left out: everyone. Up to 120 characters.
holidays.daysRequiredarray of objectsUp to 60 items.
holidays.days[].dateRequiredstringYYYY-MM-DD. Matches ^\d{4}-\d{2}-\d{2}$.
holidays.days[].nameRequiredstring1 to 120 characters.

The call

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

Terminal
curl -X POST https://api.conecto.chat/v1/tools/hr_save_settings \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"holidays":{"year":2026,"location":"Hamburg","days":[{"date":"2026-10-03","name":"German Unity Day"},{"date":"2026-10-31","name":"Reformation Day"},{"date":"2026-12-25","name":"Christmas Day"},{"date":"2026-12-26","name":"Second Christmas Day"}]}}'

When it refuses

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

CodeWhenWhat to do
invalid_input400Nothing to change was given, the time zone is unknown, or a holiday is not valid.Send a setting or holidays; zones like Europe/Berlin.
conflict409Another call changed the same holidays at the same moment.Call again.

Give this to your agent.

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