AI assistant
Ask about shifts in plain words — the answer comes from your data
The assistant opens from the header on any page. It doesn't paraphrase the internet: for every question it opens the same tables you do, and only within the limits your role allows.
- Answers from live organization data, not from a training set
- Tools are assembled from the asker's permissions — it won't see another department
- It can propose putting someone on a shift, but only your click schedules it
Copilot
who works tomorrow?
Tomorrow, August 12, there are 7 people on shift. Floor, 09:00–18:00: Marina K., Oleg D., Irina S. Kitchen, 08:00–17:00: Artem V., Nikita L. Delivery, 12:00–21:00: Sasha P., Dina Zh. Department minimums for tomorrow are covered.
Looked at: day schedule
How it works
Five steps between question and answer, none of them blind
The assistant doesn't write database queries. It picks from a closed catalog of tools, each of which answers exactly one question and demands its own permission.
- 1Question
You type in plain text
Up to 500 characters, no commands or syntax. The panel opens on any page of the app and doesn't pull you away from the one you're working on.
- 2Catalog
The tool list is assembled for you
The model doesn't see all ten tools — only the ones your role has permission for. What isn't in the list doesn't exist as far as it's concerned.
- 3Loop
The model calls tools, up to five steps
Ask about one person's hours and they're found in the employee list first, then the hours are counted. Every call is re-checked against permissions, this time on the server.
- 4Answer
Text plus a "looked at" line
The answer arrives as plain text, and under it — exactly which tools were opened. You can see where the number came from and where to go verify it.
- 5Billing
One credit per question
Charged once per message, no matter how many tools the assistant opened. Credits are shared with the schedule generator and briefings.
Why not "let the model write the query" The assistant has physically nothing to compose a database call with that isn't in the catalog: every tool has a fixed set of parameters. It's the same constraint that keeps an "export everything" button out of the app.
Boundaries
The assistant knows no more than your role does
Permissions are checked three times: the tool list is built from them, every call is re-checked on the server, and row-level access in the database stands last. You'd have to get past all three at once.
Manager
has the employees permission
In July there were 9 late arrivals across 5 people, 214 minutes past schedule in total — with the 5-minute grace period applied. Oleg D. leads: 3 late arrivals, 74 minutes.
Looked at: late arrivals
Shift lead
schedule viewing only
I can't answer that: late-arrival records aren't available to you. I can show who worked in July and how many hours it came to.
The "late arrivals" tool never made the list — no permission
Conversation history is personal Only the author sees their conversation with the assistant — not even the organization owner opens someone else's. The answers in it were assembled under the asker's permissions, and showing them to another person is the same as opening the underlying data to them.
Catalog
Ten tools, each behind its own permission
Eight read, two prepare an action. The list is closed: a new tool is an entry in the catalog, not freedom for the model.
| Tool | What people ask in words | Permission |
|---|---|---|
| get_schedule_day | Who works tomorrow or on July 15: people, departments, times, statuses | view_grid |
| get_coverage | Where the gaps are this week: monthly coverage against department minimums | view_grid |
| get_employee_hours | How many hours Anna has in July; who works the most | view_grid |
| get_availability | Who can't work weekends; who wants extra shifts | view_grid |
| get_open_shifts | Which shifts are open right now; are there swap requests | manage_shifts |
| get_lateness | Who was late in July and by how many minutes | crud_employees |
| get_demand | What demand is expected; how many people are needed on the weekend | manage_shifts |
| get_budget_status | Whether July stayed within the labor budget | manage_labor_budget |
| propose_shiftaction | Put Anna on July 15; fill the gap with Peter | edit_schedule |
| propose_open_shiftaction | Post a floor shift for tomorrow | manage_shifts |
The catalog grows by entries, not by permissions A tool is a name, a description, a parameter list and a mandatory permission. Until such an entry exists, the assistant cannot reach the data — however confidently it might claim otherwise.
Actions
It can propose. Only you can do
The assistant never puts people on shifts itself. It prepares a card with a ready decision, and the schedule entry appears the moment you press Execute — under your session and your permissions.
Marina K. → August 14, floor, 09:00–18:00
The card waits for your decision. Until the button is pressed, nothing in the schedule has changed.
Artem V. → August 16, kitchen, 08:00–17:00
At the moment of the press, conditions are re-checked: the cell is free, the labor budget isn't exceeded, the permission still holds.
Nikita L. → August 17, floor, 09:00–18:00
There is already an entry for this employee on that date.
While the card waited, the shift was filled by hand. The assistant doesn't overwrite someone else's work — the buttons stay, the call is yours.
- Execution runs under the session of whoever pressed — not under a service account
- Budget and cell occupancy are re-validated at press time, not at proposal time
- A double press doesn't double anything: the card is claimed exactly once
- Every proposal is a journal row: what was proposed, who decided, how it ended
Two more entrances
Answers from your own policies, and a briefing by eight in the morning
The same conversation answers about more than the schedule: a toggle under the input switches the source, and a button assembles the day's summary.
"From documents" mode
Instead of schedule tables, the assistant answers from your uploaded policies: leave rules, safety instructions, shift standards. The answer carries a "from documents" badge so the source is obvious. Employees get the same mode in the Telegram bot.
Daily briefing
The Daily briefing button assembles today's summary for one credit: who showed up, where people are short, what changed in the schedule. You can subscribe to it — then it arrives in Telegram by eight in the morning, and costs no credits at all.
How this differs from "export it and ask a chatbot"
The difference isn't the model — it's where the data comes from and who is accountable for the access boundaries.
export → paste → ask
ask right inside the app
The same boundaries as the app The assistant reads data by the same access rules as the interface: department, role, row-level permissions. The model receives only what a tool returned under your permissions — not a dump of the database.
The assistant reads what the whole platform collects
It stores nothing separately: coverage comes from the schedule, hours from the timesheet, demand from the POS integration, documents from the knowledge base.
Hiring
A board from applied to hired, AI resume screening, 5 interview questions.
Learn moreEmployee database
Contacts behind a permission, documents with a 30-day badge, 100% history.
Learn moreOnboarding & training
An AI plan of 4–8 stages, at-risk deadlines, 3–5 question quizzes.
Learn moreShift schedule
A month on one screen, 4 labour norms, AI generator, demand forecast.
Learn moreTelegram bot
One-tap check-ins, 28-day availability, swaps, a calendar subscription.
Learn moreShift swaps
An approved swap becomes an open shift on its own; conflicts are blocked.
Learn moreHR dashboard & timesheet
Hours from check-ins, XLSX/CSV in one click, 5 risk detectors, what-if.
Learn morerisks and coverage feed the next schedule ⟲risks and coverage feed the next scheduleWhat people usually ask about the assistant
No. Of the ten tools, eight only read and two prepare a proposal with a button. The schedule entry appears at the moment you press, under your session: with no edit permission, the button does nothing either.
The labor budget is available only with the budget permission — without it the tool never makes the list. Employee personal contacts aren't wired to the assistant at all: that data isn't in any of the ten tools.
One AI credit per question, however many tools the assistant opened. The briefing button also costs one credit, while the morning Telegram briefing costs none. Credits are shared across all AI features, and the monthly allowance depends on the plan: 30 a month on Start.
The panel says credits have run out and offers a link to billing. The rest of the app works as usual — AI blocks nothing.
The interface language: Russian, Ukrainian or English. It switches together with the app; there's no separate setting.
Only you. Conversations are closed at the database level, and even the organization owner cannot open someone else's. Credit spending is visible in the shared AI journal — amounts and dates, not the text of questions.
Every answer lists the tools it opened, and the same number is on the corresponding screen in the app. The assistant doesn't do its own math: it calls the same coverage, hours and budget calculations the interface shows.
Ask your own database its first question
14 days free, 30 AI credits a month on the Start plan. The assistant is on from day one — there's nothing to configure.