Attach, change or remove a document
Keeps a file from the store on a person's record (a contract, an ID, a certificate), or changes or removes it.
$0.01 a call
From your agent’s balance. A call that fails costs nothing.
An example
File Felix's signed employment contract on his record.
Your agent callshr_save_document$0.01 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.
{
"person": "felix.wagner@hansenvoss.example",
"file_id": "7d9b1f3a-5c2e-4b6d-8f0a-1c3e5a7b9d2f",
"category": "contract",
"title": "Employment contract"
}Use it when
A contract, ID or certificate belongs on someone's record, with its expiry if it has one.
What it does
Keep a file from the file store on a person's record: give person and file_id, a category (contract, id, certificate, review, other), a title (default: the file's name) and expires_on for things like work permits and certificates (the daily digest mentions them 30 days ahead). With document_id, change its category, title or expiry, or take it off the record with remove: true. While attached, the file can't be deleted; removed, it stays in the store.
What comes back
document: its document_id, person, category, title, expiry and file with a download link; and attached. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
person | integer or string | The person_id, or their work email. 1 to 254 characters, at least 1. |
file_id | string | A file_id from the file store. Exactly 36 characters. |
document_id | integer | At least 1. |
category | string | One of: contract,id,certificate,review,other. |
title | string | Up to 200 characters. |
expires_on | string or null | YYYY-MM-DD, or null to clear it. Matches ^\d{4}-\d{2}-\d{2}$. |
remove | boolean | Default: false. |
The call
Over MCP, call hr_save_document on https://api.conecto.chat/mcp/hr. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/hr_save_document \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"person":"felix.wagner@hansenvoss.example","file_id":"7d9b1f3a-5c2e-4b6d-8f0a-1c3e5a7b9d2f","category":"contract","title":"Employment contract"}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | No person of the business has that person_id or work email. | Find them with hr_list_people. |
not_found404 | The document or file does not exist. | Upload the file with files_upload first. |
invalid_input400 | Neither person with file_id nor document_id was given. | Attach with person and file_id, or change one with document_id. |
already_attached409 | The file is on the person's record already. | Change it by document_id. |
More HR tools
All 23 tools- Add or change people
hr_save_peopleAdds people or changes them, up to 100 at a time, all or none: names, emails, job, department, location, manager, dates and allowances.$1.00 per person added - List people
hr_list_peoplePeople by last name, everyone who hasn't left by default, filtered by status, department, location, manager, type or words.Free* - Get a person
hr_get_personEverything about one person: details, leave balances for a year, pending and upcoming leave, documents, open tasks and direct reports.Free* - Delete a person
hr_delete_personErases a person for good with their leave, tasks and document records; their files stay in the store.Free - Read the HR settings
hr_get_settingsThe working days, hours, leave year, time zone, leave types, public holidays and checklists.Free* - Change the HR settings
hr_save_settingsSets 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 - Add or change a leave type
hr_save_leave_typeAdds or changes a kind of time off: annual days, monthly or yearly accrual, carry-over, paid and tracked.$0.001 a call - Adjust a leave balance
hr_adjust_leaveAdds days to, or takes days off, one person's balance of a tracked leave type, with the reason.$0.01 a call
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md