Skip to content
AI HR Bot

HR Head guide

Approval Chains, Leave Policies, balances, and keeping the Knowledge Base honest.

Where each thing is configured

Two surfaces, and they overlap in three places. Worth knowing before you go looking for a screen.

  • Only in Slack, by asking the bot: Approval Chains, Knowledge Base entries, an Employee's HR Contact, one Employee's Leave Balance, and deleting one Employee's data. Approving and denying Requests happens here too. There is no form for any of it — you ask, in a message.
  • Only in the dashboard: your company name, activating the Workspace, connecting and disconnecting Slack, Hire Dates for many Employees at once, company-wide directives for the assistant, the Memory it has kept about each Employee, and the read-only views of Requests and the audit record.
  • Either: Leave Policies, HR Heads, and the Workspace timezone.

Approval Chains

Each Request type — day off, vacation, remote, late arrival — has its own chain, and changing one leaves the others alone. A chain is an ordered list of roles rather than people: the Employee's Lead, their HR Contact, or both. Roles resolve when the Request is submitted, so reassigning someone's Lead changes who approves their next Request without you touching the chain.

A fresh install seeds all four types with Lead then HR Contact. An empty chain auto-approves that type immediately.

A step whose role is not filled in on the Employee's profile is skipped rather than blocking — an Employee with no Lead goes straight to their HR Contact. If no step in the chain resolves to anybody, the Request is approved.

Approvals happen in Slack. The current approver gets the Request as a direct message with Approve and Deny buttons; denying asks for a reason, which the Employee sees. As an HR Head you can approve or deny any pending Request in your Workspace, whether or not the chain is currently waiting on you. The dashboard's Requests view is read-only.

Leave Policies

A Leave Policy holds an Accrual Rate and a Waiting Period for one leave type: vacation, or paid day off. Sick and unpaid day-offs are untracked — they consume no balance and no Waiting Period applies to them. Remote and late-arrival Requests consume no balance either.

Set a policy from the dashboard, or by asking the bot. State the rate per month rather than per year, or ask the bot to work it out: 20 days a year is 1.6667 days a month, and the difference between that and 1.67 is a day and a half over five years.

No policy is itself a decision. If a leave type has no policy, it does not accrue at all in your Workspace, and its balance moves only when an HR Head sets it.

Accrual grants the rate once for each full month an Employee completes, on their monthiversary in your Workspace's timezone, clamped to month-end for short months. It is anchored at the later of the Employee's Hire Date and the moment you created the policy, so nobody is credited for service predating your own policy. Grants are cumulative, never recomputed from tenure — a balance you adjusted by hand is not silently overwritten by the next run.

An Employee with no Hire Date on file accrues nothing. That is most of a Workspace on the day you first switch accrual on, which is why the dashboard lets you set Hire Dates in bulk.

Turning accrual off keeps every day already earned. Balances then move only when you set them, and if you switch it back on later, nobody is credited for the gap.

Waiting Periods

A Waiting Period gates spending, never earning. Someone inside theirs keeps accruing days they cannot yet spend, and a Request they file inside it is declined with the date it unlocks and a note that their days are building up in the meantime — not a bare refusal.

It is measured from the Hire Date alone, not from the date your policy started. So an Employee who has been with you for five years when you first configure a policy is past any Waiting Period at once, while holding a zero balance because nothing accrued before the policy existed. Both halves of that are intended, and it is the question you are most likely to be asked in the first week.

It is checked when a Request is submitted, and only then. A Request already walking an Approval Chain is never re-checked.

Someone with no Hire Date on file cannot clear a Waiting Period, because there is no honest way to count their months of service. The bot says that is the reason and points them at HR rather than telling them they are too new.

Balances

Each Employee holds two balances, paid day off and vacation. They are kept to four decimal places, because a fractional Accrual Rate summed over many months has to stay exact, and shown to two — rounded down, so the figure an Employee is told is never more than they actually hold.

Nothing checks the balance when a Request is submitted. An Employee with two days left can ask for ten, and that Request is filed and walks its chain like any other. On approval the days come off, and the balance stops at zero rather than going negative — so an over-budget approval is absorbed silently and leaves no trace in the balance. If that matters to you, the place to catch it is the approval, not the submission.

A vacation Request spends the business days between its start and end dates; weekends do not count. A paid day-off Request spends one day per date requested.

The Knowledge Base

Entries are written in Slack, by asking the bot — "save this: …". You can list them, correct one, or delete one the same way. There is no dashboard screen for any of it.

When an Employee asks something no entry answers, two things happen: the bot tells them it does not know instead of inventing an answer, and the first HR Head listed for the Workspace gets a direct message with the question. Reply with the answer and it is saved as an entry, and the reply resolves the Knowledge Gap. Reply "dismiss" if it is not something the bot should know.

The gap message goes to the first HR Head on the Workspace's list, not to all of them — worth knowing if you have several and the questions are landing with a colleague.

Start free

Connects to your Slack in about 2 minutes.