17 areas, all in use: tasks and projects, hours and budgets, leave and public holidays, calendar, statistics, voice commands, AI assistants, ClickUp import, roles and security. The price covers them all.
As of 14 October 2026.
Board
To do
T-143
Move mailboxes to Microsoft 365
GV
T-155
Renew certificates
GV
In progress
T-142
Fix the mail server
MB
Blocked
T-151
Set up the site office VPN
GV
Done
T-138
Boiler room inspection
MB
T-136
Server backup
MB
The 17 areas at a glance
All implemented. In brackets, the exceptions: what starts switched off or is still being tested.
its own instance, database, attachments and address
How to read this page
Available means you can use it today.
Off by default means the feature is there, but starts switched off and is turned on separately for each instance.
Planned means in development: it isn’t available today. The full list is on the roadmap.
Today everything runs on the web. The native apps will have the same features unless stated otherwise: iPhone in beta in November, Android in beta in December, iPad, Mac and Apple Watch by the end of 2026.
“Client” always means the customer you do the work for. “Company” means your own business, the one that carries it out.
Tasks and projects
The task is at the centre of bagai: time, calendar and statistics all read its data. Projects, clients and companies give it context.
The task
Every task has a code, for example T-142, which bagai assigns automatically. It never changes and is never reused, even if the task is deleted: so “T-142” always means the same thing, even when you say it out loud.
Title and formatted description, with pasted images.
Priority: urgent, high, normal, low.
Project optional. Without a project, the company is required: a task always says which of your companies it’s for.
Start and due date, with or without a time.
Estimated time, written the way you’d say it: 4h 50m.
Assignees, zero or more: there’s no single “owner”. Plus watchers, who follow the task.
An activity type (installation, support, site visit…) and free-form tags.
Five statuses, two rules
You can move from any status to any other: there’s no fixed path. There are just two rules, and they apply to everyone, administrators included.
You can’t close a task that still has open subtasks or blocking dependencies.
You can’t start a task that’s still waiting on a dependency.
“Blocked” can always be set: it’s the right way to say a task is waiting.
When bagai refuses a status change, it tells you what’s in the way.
Status
Meaning
To do
needs doing, nobody is working on it
In progress
someone is working on it right now
Blocked
held up by something external: waiting for something or someone
Done
work finished, not yet delivered
Delivered
handed over to the client, closed
Subtasks, checklists and dependencies
There are three ways to split up work, depending on how big the job is.
What it is
Good to know
Subtask
a real task: code, status, assignees, time, due date
one level only, by design: no deep trees to navigate
Checklist
items to tick off, reordered by dragging
no status or assignee; doesn’t stop you closing the task
Dependency
“this task is waiting for that one”
blocking or reminder-only; works across projects too, and bagai rejects loops
Watchers, comments, attachments
Several people often work on the same task. bagai keeps track of who’s following it and what’s been said.
Watchers, just like in ClickUp: you start following a task automatically when you create it, when it’s assigned to you, and when you comment on it or edit it.
Formatted comments. Everyone can edit and delete only their own; administrators moderate.
Attachments on tasks, projects and clients: pick them right in the creation form or drag them onto the detail page.
Attachments are always downloaded through bagai, never via a direct link.
Visual editor with pasted images. You can switch to Markdown, and pasted Markdown is recognised. The same goes for project and client notes.
Appointments
An appointment is a task with a start and end time: a meeting, a site visit, a call-out. It has a code, statuses and assignees like any other task, and on top of that it runs itself.
Each automatic step can be switched off on a single appointment.
Move the appointment to tomorrow, and the reminder, start and close move with it.
Time is logged only once. Automatic entries are marked as such, and can be deleted like any other.
If it has open subtasks it won’t close: it waits for the last one to be closed, then closes itself.
bagai checks once a minute: an automatic step may happen up to a minute late.
When
What happens
Before it starts (15 minutes, unless someone has changed the setting)
a reminder to each assignee
At the start
it moves to In progress
At the end
it moves to Done
At the end
its duration is logged as time worked for each assignee
Three views of the same tasks
List, Gantt and board look at the same tasks from three angles. From any view, a task opens in a window over the page, or as a full page.
View
The question it answers
What you do there
List
what needs doing, project by project
groups by project, with folders inside, or by status; status, priority, assignees and due date editable from the row; expandable subtasks; drag between groups; bulk actions; Time column
Gantt
how long things take and what overlaps
bars at three zoom levels (hours, days, weeks); counts tasks without dates, so you know they’re there
Board
where things stand
one column per status, draggable cards, up to 50 per column
Delivered tasks stay hidden until you choose “Delivered” in the filter.
Filters and search
The filter bar works like ClickUp’s: the main filters always in view, the rest under “Filter”.
Several values per filter: two people, three tags.
“Me” always means whoever is looking: the same filter shows each person their own tasks.
Due date: overdue, today, this week, next seven days, no due date.
Keyword search, including project and client names.
Your latest filters are remembered on your account. The ones you use often, you save with a name.
Projects and folders: managing client work
In bagai, a project is the unit of client work: it says who you’re working for, with whom and on what budget.
Code, company, optional client (internal work doesn’t have one), dates, project manager and team.
Project status: draft, in progress, on hold, completed, cancelled.
Financials: billable or not, budget in money and in hours, hourly rate.
You can still work on a closed project: drop-down lists offer it at the bottom, with its status beside it.
Nested folders inside the project. A task’s project is decided by its folder; filtering on a folder includes its subfolders.
Before deleting a folder that isn’t empty, you choose whether to move its contents or delete them.
Folders start collapsed, with the number of tasks beside them. The ones you open stay open next time.
Clients and companies
The client is the customer you do the work for. The company is your own business, the one that carries it out: a group can have more than one.
A client can be a company or an individual, with details that work for any country: VAT, UID or EIN number, region or state instead of province.
Each company declares the country or region for its public holidays: 155 countries and regions, plus its own closures.
A currency per company: budgets and rates in your company’s currency, with any currency code (CHF, EUR, USD, GBP…).
A time zone per person: “today”, the timesheet and the calendar follow the local time of whoever is looking.
Projects and clients have a detail page; you create and edit them in a window over the list.
Summary for any period you choose: open and overdue tasks, estimated and logged hours, people involved. For clients, also the breakdown by project.
Activity type and tags
They look like the same thing, but they answer two different questions.
Activity type
Tags
How many per task
just one, or none
as many as you need
Who decides the values
administrators, from a fixed list
anyone with permission, by typing them
What it’s for
counting: how much work is support and how much is development
finding, flagging, grouping on the fly
An activity type can be retired: it disappears from the choices but stays on the tasks that already have it, so no history is lost.
GanttHoursDaysWeeks
Mon 19Tue 20Wed 21Thu 22Fri 23Mon 26Tue 27Wed 28Thu 29Fri 30T-138
Boiler room inspection
T-142
Fix the mail server
T-143
Move mailboxes
T-151
Set up the site office VPN
3 tasks without dates
Time tracking and timesheet
Everyone logs their own time, while they work or afterwards. A person’s hours never add up to more than the time that actually passed.
Two ways, two places
Time is logged with a timer or manually, on a task or as a standalone activity.
Timer: start it on the task and stop it when you’re done.
Direct entry: a duration (1h 30m) or a from–to range, with date and time.
You can enter hours while you’re still creating the task.
Standalone activity, for anything that isn’t a task: a meeting, a phone call, internal work. With a title and, if needed, project, client, company and type.
Several timers in parallel
You can run one timer per task, even several at once. Overlapping time is split between the running timers, in equal parts for now.
If you start a timer while another is running, bagai asks whether to keep both or stop the other one. It never stops anything without telling you.
Running timers are visible on every screen, each with its own “Stop”.
When you start and stop a timer, bagai asks whether to move the task to In progress or Done.
Planned: when you stop a timer, bagai will suggest how to split the time based on the work actually done.
Net and gross time
When several timers run at once, every total shows two figures.
What it is
Net
the task’s share, after splitting with the other timers
Gross
the full duration of the entry
One hour with two timers running: 30 minutes net on each task, one hour gross on both.
Both figures appear everywhere: rows, totals, statistics, summaries, dashboard, CSV and API.
The timesheet: “My time”
Your entries for the week, day by day.
Collapsible days, so you see only what you need.
A wrong entry can be corrected.
People with permission can open a colleague’s timesheet, read-only.
Nobody logs hours on someone else’s behalf.
The Time column
In the task list you see at a glance where the time is going.
Logged hours vs estimated hours, subtasks included.
Sortable.
A red dot where a timer is running.
Running timers
T-142Fix the mail server
Stop
1:12:40
Net 1hGross 1h 12m
T-155Renew certificates
Stop
0:24:05
Net 12mGross 24m
The 24 shared minutes are split between the two timers.
Leave, absences and public holidays
Everyone requests their own absences; people with permission approve or reject them. The balance updates itself, and bagai works out the public holidays.
Types of absence
Each type is requested in its own way and uses up something different.
Type
How it’s requested
What it uses up
Annual leave (PTO), special leave
in whole days
days from the balance
Hourly leave
with times, within a single day
hours from the balance
Sick leave, other
in whole days or with times, as you prefer
nothing
From request to decision
Every request has a code, for example A-57, and three statuses: pending, approved, rejected.
Request
While it’s pending, the request can be corrected or withdrawn.
The approver gets an email
The request goes to whoever has permission to approve it.
Approved or rejected
The person who asked gets an email with the decision. A request that has already been decided can’t be edited: you delete it and make a new one.
The annual balance
For each person, in days and in hours.
entitlement + carried over + adjustment − taken
The carry-over is calculated automatically on 1 January.
Adjustments are entered manually, with a note saying why.
Entitlement is set on three levels: for the whole instance, per company, per person.
Public holidays by region
bagai calculates public holidays for the region of the employing company: 155 countries and the 26 Swiss cantons, Easter included.
Someone employed by a company in Ticino gets Ticino’s public holidays; someone employed by a company in Zurich gets Zurich’s.
You can add one-off closures, such as a bridge day, or yearly ones, such as the local patron saint’s day.
Confidentiality
The list of absences is personal. People who only have permission to see attendance see “Absent” on the calendar, without the type: sickness is health data.
bagai never writes the type or reason for an absence to external calendars.
Annual leave 2026
Entitlement
25 days
Carried over from 2025
+ 3 days
Adjustment
0 days
Taken
− 11 days
Balance17 days
Hourly leave6h 30m of 16h
A-57Annual leave2–6 NovemberPending
Calendar
The calendar brings everything on your plate into one place: tasks, appointments, absences and, if connected, external calendars.
Month and week
Month view and hourly week view, with tasks and appointments, absences and events from connected calendars.
A click, or dragging across half-hour slots, creates a task or an appointment.
Drag an item to move it: bagai asks you to confirm and keeps the duration.
Appointments always appear; other tasks only when set to “Show in calendar”. “Blocks time” makes them count as busy.
Busy days: overlapping items side by side, “+N” to open the rest, long titles that don’t break the grid.
A colleague’s busy slots, for people with permission: “Busy · Name”, without the title.
The “already busy” warning
When you assign someone at a time when they already have appointments, tasks that block time, external events or absences, bagai tells you: in the form, on the detail page and when you save.
bagai warns you but doesn’t block anything: it’s your call.
19–23 October 2026
Mon 19Tue 20Wed 21Thu 22Fri 23
8910111213141516
Progress meeting
Giulia Rezzonico · Absent
Supplier call
Impianti Fontana site visit
T-142 Fix the mail server
Giulia Rezzonico is already busy on Tuesday 20: absent.
AppointmentAbsenceExchangeTask
Two-way calendar sync with Exchange, Microsoft 365 and Google
Off by default
bagai reads and writes the calendars you already use, so you don’t have to keep two diaries. It’s off by default and is turned on separately for each instance.
Which calendars
Each person connects one or more mailboxes.
Exchange on-premises, on the servers specified by your administrator.
Microsoft 365 and Google, signing in through the browser, on connections set up by your administrator.
Reading
bagai reads connected calendars every ten minutes, from one month back to six months ahead.
For each calendar, you choose whether to read it.
And you choose whether to show as “busy” to colleagues when you have something on there.
Writing
bagai writes to connected calendars almost in real time, calendar by calendar.
Appointments and tasks you’re assigned to go there.
Your absences and, if you approve absences, everyone’s.
Never duplicates.
Never the type or reason for an absence.
From meeting to task
From a meeting read from the external calendar, you create an appointment or a task, or link it to one that already exists. If the meeting moves, the task follows its dates.
In development
Three features for external calendars are planned, not yet available:
an appointment created automatically in bagai for every event read, with an on/off switch;
accepting or declining external calendar invitations from within bagai;
seeing colleagues’ external calendars.
WhatsApp
ExperimentalOff by default
bagai reads the work chats on your WhatsApp and suggests what to record in bagai. Nothing is saved without your “Accept”. It’s experimental and off by default.
What it reads, and what it doesn’t
People with permission connect their own phone with a QR code or a pairing code. bagai reads only work chats.
Chats with colleagues, recognised by their number.
Chats with a WhatsApp Business label you’ve chosen.
Chats with clients, once you’ve confirmed them.
Anything else only if you switch it on manually.
Nothing is kept from other chats.
Messages, voice messages and files
Voice messages are transcribed, and bagai also reads images and files. Messages are encrypted and deleted after 30 days.
The chat summary
You read a chat through its summary: the current state of things and a diary with a summary for each day. It’s rebuilt overnight, or when you press “Refresh”.
Suggestions
From the messages of the last 24 hours, bagai drafts suggestions of things to record in bagai:
a new task or appointment, with its project too;
a change to a task, or to its status;
a comment;
new details for a client;
an absence of your own;
approving or rejecting an absence;
a file to attach to a task.
Every suggestion can be corrected before you accept it, and expires after 7 days.
Notifications
A push notification for every new suggestion, if push is switched on, and a summary email at 8 every morning.
Pietro · Impianti Fontana
Hi, can we do the site visit on Thursday at 10?
16:02
Fine, Thursday at 10 at yours.
16:05
Suggestion · New appointment
Site visit · Impianti Fontana SA
Thursday 22 October, 10:00–12:00
CorrectAccept
Expires in 7 days
Dashboard, statistics and CSV exports
The figures behind the work, for you and for the company. Everyone sees only what they have permission to read.
Your dashboard
When you open bagai, your day is on one page. Each block appears only to people who can read it.
Your figures.
Overdue tasks and tasks due soon.
Today’s and tomorrow’s agenda.
Hours this week.
Absence balance.
Requests to approve.
Who’s off today.
The latest updates on your tasks.
Statistics for a period
Choose the period and the filters, the same ones as in the task list.
Summary of the period.
Tasks by status and by priority.
Workload per person.
Estimated and actual hours, project by project.
Workload per person is visible only to people with permission to see colleagues’ time.
CSV exports
Semicolon-separated UTF-8 CSV files, which Excel in Europe opens directly (in US or UK Excel: Data → From Text/CSV), generated on the fly even when they’re long.
Task list, with the filters you’ve set.
Time entries.
Summary by project.
Workload per person.
Activity log and person profile
Who did what, and when. And for each person, how they spend their time.
The activity log
One page shows what’s happening now and what has happened.
Who has a timer running right now.
What happened on tasks, comments, time and attachments, who did it and when.
Changes bagai makes on its own, like an appointment starting, appear without a name: the system made them.
A person’s profile
Everything about one person’s work, in one place.
Personal details.
Their work over the period.
How they spend their time: by project, by client and by activity type.
Open tasks and projects.
Absence balance.
Latest activity and account actions.
“My profile” opens from the user menu.
Voice commands
Field testing
Dictate a sentence: bagai reads it back with the real names and only saves it once you say yes.
In short
It does everything the forms do: you just say it.
29 commands: tasks (create, edit, status, comment, checklist, time, timer, search, delete), clients, projects, companies, tags, people and absences.
It’s a conversation: after a search, you refer to a task by its title. At the read-back, you correct one field without saying everything again.
Every command checks the speaker’s permissions. Deletions have a different read-back, which says “this can’t be undone”.
English and Italian, in your account’s language.
Today you can try it in the browser; voice commands are designed for the apps: iPhone in beta in November, Android in beta in December, Apple Watch by the end of 2026.
bagai16:42
I’ll log 2h 30m on T-142 “Fix the mail server” for yesterday. Shall I go ahead?
Claude, ChatGPT, Copilot, Gemini, Le Chat, Cursor and command-line assistants connect to your account and work in bagai as you, with your permissions.
In short
The connection goes through OAuth consent: you sign in with your account and authorise the assistant.
It reads tasks and task details, projects, clients, hours, statistics, absences and balance, calendar, pick lists.
It writes with the same set of commands as voice, deletions included, using the names of clients, projects and people, not internal IDs. A name that doesn’t match exactly one entry writes nothing.
It needs the ai.connect permission, which no role has to begin with.
Connected assistants are listed, and can be disconnected, under Settings → AI assistants. After 90 days without use, they disconnect themselves.
AI assistantconnected to bagai
Which Cattaneo Costruzioni tasks are due this week?
Two: T-143 “Move mailboxes to Microsoft 365”, Thursday 22, to do; T-142 “Fix the mail server”, Friday 23, in progress.
Log 2 hours on T-142 for today.
bagai · log time
Done: 2h logged on T-142, today, in your name.
If you’re coming from ClickUp, you bring your whole workspace with you, and you decide what each piece becomes.
How it works
An administrator runs the import from the web, in four steps.
Connect ClickUp
With your personal ClickUp token.
bagai reads the workspace
Spaces, folders, lists, statuses, members, tags.
Decide what each piece becomes
New or existing projects, company, status by status, person by person. For people, bagai suggests a match by email; or you choose “invite” or “nobody”.
Import and read the report
At the end, a report tells you what didn’t come across.
What comes across
Almost everything you have in ClickUp:
people and tags;
projects and folders;
tasks and subtasks, with checklists, comments and attachments;
Two independent axes: the level says how much of bagai a person administers, the department roles say what they see and do in everyday work.
Invitation only
No open sign-up. The administrator creates the person and an email invitation goes out; on accepting it, they choose a password, are signed in straight away and can turn on two-factor authentication (2FA) and passkeys.
Three levels
Each person has exactly one level.
Level
What they can do
Administrator
everything except deactivating themselves
Maintainer
manages people and roles, within the permissions they have themselves
User
works: can do whatever their roles allow
Department roles
A role is a set of permissions. You start with Administration, Development, Technicians and Systems Engineers, and edit them on the Roles page. A person can have more than one.
Seeing all tasks or only your own.
Moving a task’s status forward without being able to rewrite its details.
Opening colleagues’ timesheets.
Approving or rejecting absences.
Connecting an AI assistant.
Visibility
Two checkboxes per role decide whether people see all tasks and all projects, or only their own: the ones they’re assigned to or follow, or that they manage or are a member of.
The rule applies everywhere: lists, views, calendar, statistics, CSV, voice, activity log.
Safeguards against mistakes and misuse
Three rules that can’t be bypassed:
nobody can deactivate themselves;
the last administrator can’t be removed;
a maintainer can’t grant roles with permissions they don’t have.
Employee details
Separate first and last names, the companies they belong to, and the employing company, which determines their public holidays.
Sign-in and security
You sign in with a password and two-factor authentication (2FA), or with a passkey. A deactivated account is locked out everywhere.
How you sign in
Today’s sign-in options:
password;
two-factor authentication (2FA) with an authenticator app (TOTP), with recovery codes;
passkeys, on the web;
password recovery and email verification.
Deactivated means locked out
A deactivated account is blocked on every route: password, two-factor authentication (2FA), passkeys, open sessions, app and AI assistant tokens.
Your account from the apps
From the apps you manage your profile, password, two-factor authentication (2FA) with a QR code, and connected devices. The first is the iPhone app, in beta in November.
bagai is in English and Italian, everywhere: web, email, notifications, connected calendars, voice commands.
Throughout the product
Web, email, push notifications, events on connected calendars and voice commands; the apps will do the same when they come out.
The language belongs to your account: emails and push notifications arrive in the recipient’s language.
German and French are on the way, just like this website.
Apps, API and push notifications
Today bagai runs on the web. The apps arrive by the end of 2026, starting with the iPhone app, in beta in November; the API they run on is already in use.
The apps
BetaComing soon
For iPhone, in beta in November 2026. For Android, in beta in December 2026. For iPad, Mac and Apple Watch, by the end of 2026. On Windows PCs you’ll use the web app, installable as a desktop app, also by the end of 2026.
The API
The apps talk to bagai through an API (/api/v1) that covers all everyday work, administration, and absences with approvals, with the same permissions as the web.
One token per device.
Sign-in with two-factor authentication (2FA), in two stages.
OpenAPI specification published and checked by tests.
Push notifications
Off by default
About absences, appointment reminders and WhatsApp suggestions, with content kept to a minimum.
Off by default: bagai works just the same without them.
One dedicated instance per company
Every company that uses bagai has its own dedicated instance: its own database, file storage and address, on GigaKube, in Switzerland. No data is shared with the others.
How it’s built
For the technically minded:
a Kubernetes namespace for each instance;
network rules (NetworkPolicy) applied and tested in the field;
configuration entirely through environment variables, and database updates that can be re-run on every release;
diagnostic commands for each optional module: voice, push, calendars, WhatsApp, AI assistants.
Ceresio Servizi SA
Instance
Database
File storage
Own address
Studio tecnico Lepori
Instance
Database
File storage
Own address
Elettro Valli Sagl
Instance
Database
File storage
Own address
No shared data
And what isn’t there yet?
Ticket management arrives by the end of November 2026, the CRM in spring 2027, full accounting by summer 2027. With no date yet: data separated by company, AI email reading, archiving, notes, more features for external calendars and AI assistants. It’s all on the roadmap, along with the native apps. See the roadmap