Organization
People, roles and routing
Employees work for people. Utalis knows who those people are, what each may do, and who to ask when an employee needs a decision.
Every person in a workspace has a workspace role, and can also hold a role in one or more departments. Together they decide what that person sees and can do. The server enforces every rule; the app only hides what you can't use.
Owner: everything, including billing. Admin: everything except paying for the workspace and inviting other admins. Member: works with the employees of the departments they belong to.
In a department, a person is a lead (manages its employees and can hire into it), a member (works with them) or an observer (reads only).
An employee is visible to the whole workspace, or to its department only. A department-only employee simply does not exist for people outside that department (it is "not found", not "forbidden"), except for owners, admins and auditors.
Each employee reports to a person, can work with collaborators, and can have contacts by topic ("billing questions go to Maya, or Sam if she is away"). Its runs know who these people are, and each person has their own chat thread with it.
Everyone sets working days and hours in their timezone, can be on call after hours, and can be out of office until a date with a backup. Employees respect it: a question goes to someone who can answer now.
When an employee needs a person, Utalis picks the recipient: the topic contact (or their backup when out), else the person who asked for the work, else whom the employee reports to, else its department lead, else the owner. An unanswered question moves one step up the chain every 15 minutes.
A workspace used by one person can run in personal mode: departments, roles and the org chart are hidden, and employees ask before sending messages by default. Inviting someone turns it into a team workspace. Switch any time in Settings > Workspace.