Agentic HR for HR-less teams

Otto prepares. A person confirms.

Otto drafts hiring, leave, and payroll work. A named person confirms anything that changes a record. The confirm is logged. Two trays, one stamp: a suggestion, a decision, and an audit row. If nobody confirms, nothing posts. Otto HR (ottohr.com) is employer software for Türkiye, not autopilot payroll.

Leave, then payroll

Leave approved in one place does not put that person on the pay run by itself. Payroll still needs them in the run.

Otto assembles the packet from the approved leave, the attendance already on the record, and the salary. That packet sits in the suggestion tray. A named person stamps the run. Two trays, one stamp: if nobody confirms, nothing posts.

What "prepare" means

Otto can draft a pay run from attendance, leave, and salary. It can draft a leave reservation against policy and balance. It can draft a candidate stage-move and the email that goes with it. It can draft a company policy from a source PDF.

Each of those is a proposal. A proposal does not change the record.

What "confirm" means

A named person acts on the same record Otto drafted. They can edit before they confirm. A reject leaves no write.

If nobody confirms, nothing posts. Unsupervised writes are out of scope on purpose. The same gate holds in the HR workspace, the employee portal, and MCP apps, whether Claude, ChatGPT, Cursor, or any MCP client. Otto prepares wherever you ask. A person confirms. An MCP call cannot bypass the stamp.

What gets logged

The audit row holds the actor, the timestamp, and the subject, whether employee, candidate, or pay run, plus the before/after or a "rejected." HR can read it later, and where entitled so can the employee. It is not a black box, not a public score, and not a fabricated case study.

Where this shows up

Hiring: a stage move, a rejection, a hire packet. Payroll: pay-run draft → confirm → lock. Leave: request → approve or reject. Policies: draft → publish.

The product tour is /platform. The bordro page is /bordro-programi. The teams this loop is built for are on /ajan-ik.

What Otto will not do without a confirm

It will not post a pay run, move a candidate to Hired, publish a policy, or change someone's balance. Those writes wait for the stamp.

This is not "AI HR" and not autopilot payroll. Otto prepares work. A person stays accountable. See /ajan-ik for who that person usually is.

Suggestion trayA draft pay run, leave reservation, stage-move email, or policy draft. Each is a proposal.
Decision trayA named person confirms, rejects, or edits the same record Otto drafted.
StampAn audit row: who, when, what. If nobody confirms, nothing posts.

Where to read next

Frequently asked

No. Draft only; a person confirms; the confirm is logged.

Yes. The audit row records the person, the time, and the action.

Edit or reject. A reject is no write.

No. Otto prepares work. A person stays accountable. See /ajan-ik.

No. Reads, lists, and explanations do not. Writes that change a person's record or money do.

Yes. The HR workspace, the employee portal, and MCP apps share the same permissions. Otto prepares the draft. A person confirms. A Claude, ChatGPT, or Cursor call cannot post a pay run or change a record on its own. See /mcp.