AI Employees
An AI Employee is a persistent teammate attached to a company. They have a name, a role, a model, a sandboxed working directory, and three editable pieces of prose that define who they are and how they work.
Anatomy
Every AI Employee row carries the fields you can configure from the UI plus a few the runner needs at spawn time:
- name + slug
- Display name (you can rename) and slug (frozen at create-time so URLs and directory paths stay stable).
- role
- A short role string — Brand writer, Bookkeeper, On-call SRE.
- soulBody
- Markdown stored on the row. The employee's constitution — see Soul.
- skills[]
- One-to-many
Skillrows. See Skills. - routines[]
- One-to-many
Routinerows, managed from the top-level AI → Routines section. See Routines. - model
- One or more
AIModelbrains, one active at a time. See AI Models. - reportsTo
- Optional pointer to another employee for an org chart. Used for handoffs.
- browserEnabled
- Flips on the built-in
browserMCP server that drives real Google Chrome. Off by default. See Browser. - browserAllowedHosts
- Newline-separated host patterns limiting where the browser may navigate —
github.comcovers the domain and its subdomains. Blank means unrestricted. - browserApprovalRequired
- When on, form submits queue an Approval a human must grant before the browser fires them. See Browser.
Lifecycle
- Create. Set the company mission and vision first, then pick a template (a starter Soul and Skill set) or start blank. Hiring does not schedule Routines. The slug freezes; you can rename freely afterward.
- Attach a model. Pick a provider and authentication method. Anthropic takes an API key; OpenAI takes an API key or, on trusted single-tenant Genosyn, eligible ChatGPT subscription access; Custom takes an OpenAI-compatible endpoint. You can skip this and connect one later.
- Write the Soul. Answer the short About questions, then review the seeded constitution and rewrite it to fit your team.
- Choose Routines. Genosyn selects responsibilities that fit the saved role and uses company mission and vision to rank them and write their instructions. An edited role takes precedence over the starting template. Suggestions remain opt-in until you select them and choose the primary Schedule N Routines and continue, which creates them and advances in one press.
- Connect the work. Integration cards distinguish between Connect, Grant needed, Attention, and Ready. A Connection alone does not give the AI Employee access; it still needs an explicit Grant.
- Fire. Deleting an employee removes their DB rows, including the encrypted credential row for every model they held. There's no shared key to revoke.
Working directory
Each employee gets their own folder on disk under the company:
data/companies/<co-slug>/employees/<emp-slug>/ └── ... # files enabled coding tools read and write
Coding access depends on the installation mode. The default bubblewrap mode provides sandboxed bash and materializes repositories; where its Linux namespaces are unavailable, boot falls back to disabled, which exposes no coding tools and materializes no repositories. Separately acknowledged host mode provides path-confined file and search tools rooted in this directory (read_file, write_file, edit_file, list_dir, glob, and grep) but never exposes bash, because a working directory is not a security boundary for an unrestricted same-user shell. The runner captures the agent transcript into a Run log. API-key and custom models use Genosyn's in-process loop; OpenAI subscription models use the official Codex app-server. A Routine does not make its AI Employee unavailable: Members can keep chatting with that employee and start independent Routines in parallel without a per-company application cap. Several conversations with the same AI Employee also reply in parallel; only two turns in one thread are serialized. Concurrent work shares this directory when coding is enabled, so give overlapping Runs distinct output files and avoid simultaneous edits to the same git working tree. Model credentials stay encrypted in the database. They never enter the employee working directory. For an OpenAI subscription login or Run, Genosyn gives the official app-server a locked temporary CODEX_HOME. Managed ChatGPT sessions are materialized there; access tokens enter only the child process environment. Genosyn removes the directory afterward. Trusted single-tenant installs support subscription auth in the bubblewrap default, including standard Docker, alongside isolated coding and repository synchronization — and in the disabled fallback, with no coding tools or repository materialization. Host mode rejects subscription auth.
Org chart
Set reportsTo on an employee to give them a manager. Genosyn renders this as an org chart and surfaces it to the runner — useful when you want a Handoff from one employee to another to follow the reporting line.
Surfaces inside the app
An AI Employee is two places: Chat and Settings. The switch between them sits at the top right of the employee's header, next to their name. Everything you configure or inspect about an employee lives under Settings, grouped as Employee (General, Soul, Model, Memory), Work (Skills, Routines, Journal, Handoffs), and Access (Connections, MCP, Browser, Integrations).
- Chat. Free-form conversations with the employee. Messages persist; action pills surface tool calls inline. Type
/newto open a fresh context, or#and a name to tag a product area or any company resource you can see. Use@for people and AI Employees;#tells the employee what product or record to work on, and you can add several tags to one instruction. Attach files with the paperclip, or paste a screenshot and drag files onto the composer. When the employee creates a file for you, it appears beneath their reply; select the attachment chip to download it. During substantial multi-step work, the employee can replace the typing dots with a live activity card and update it at meaningful milestones. A new live turn keeps the quiet typing indicator until the employee reports real progress; after that, the card shows its current step and percentage. A restored turn stays indeterminate until its next real milestone, and the card distinguishes live updates from saved updates or a reconnecting browser. As soon as the reply begins, the progress card gives way to the response. Long turns can run for up to six hours. If the live connection drops, you reload the page, or the Genosyn server restarts, Genosyn follows the persisted turn automatically instead of marking it failed. After a server restart, a short renewable database lease lets one replacement worker resume the request safely from its saved context and latest milestone; it checks current state before continuing so completed side effects are not repeated. The final reply reappears in the same thread. You can keep writing while the employee works — follow-ups queue and send in order within that thread, while your other conversations with the same employee carry on answering in parallel. When the answer in flight has stopped being the one you want, choose Interrupt & send on the queued message (or press⌘/Ctrl+Enterin the composer) and the employee puts down what it is doing so that message goes next. Whatever it had already written stays in the thread, marked interrupted, and the next turn can see it. A stop lands as soon as the step already running hands back, so a long tool call can take a moment. Chat stays available while that employee's Routines run.
Under the composer, next to the model picker, Genosyn shows how full the model's context window is — the share of it the last turn's prompt occupied. The number comes from the provider's own token count for that turn, never a local estimate, and it updates as the employee works. Hover it for the exact figures. Past 80% it turns amber: the employee is close to the point where Genosyn starts dropping the oldest tool results to make room, which is the moment to finish the thread or type/newfor a fresh context. If the AI Model has no known context window the badge shows the token count alone and links to the model settings, because there is no ceiling to measure against — see AI Models. - Settings → Soul. The employee's constitution. Markdown, ⌘S to save.
- Settings → Model. The AI Model this employee thinks with — see AI Models.
- Settings → Memory. Durable facts and preferences injected into every conversation and routine run. Unlike the free-form Soul, each item is one short fact you can add, edit, or delete on its own.
- Settings → Skills / Routines. These are company-wide sections, not per-employee ones: they live at AI → Skills and AI → Routines. The two entries under Settings open those lists filtered to this employee, and are marked with a corner arrow to say so.
- Settings → Journal. Append-only diary the employee writes about their own work via the built-in MCP server. Routine runs land here automatically, and the last seven days are injected into every chat and routine run. For the server's own account of the same work, rather than the employee's, see the work timeline below.
- Settings → Handoffs. Work this employee has delegated to another, and work delegated to them. Creating a Handoff starts the receiver working immediately in a background session (when they have a connected model) — delegation is a "go" signal, not a note on a desk. A pending Handoff past its due date escalates: the receiver's manager and the company's admins get a bell, once.
- Settings → Connections. The list of Grants this employee holds.
- Settings → MCP. Extra Model Context Protocol servers this employee can use, plus the external endpoint that lets another MCP client reach Genosyn as this employee.
- Settings → Browser. Whether this employee may drive a browser — see Browser.
- Settings → General. Name, role, slug, profile picture, org chart — and, at the bottom, deleting the employee.
The work timeline
Your Home page keeps a compact bubble for each AI Employee to the right of your greeting. The bubbles form a small horizontal row in the header, leaving the cards below the full width of the page. On a narrow screen, they stay beside the greeting. Scroll the row sideways when the whole team does not fit. Their status distinguishes Working now, Waiting for input, recent work, and a quiet day. Work details stay hidden until you choose an employee.
Choose a bubble to open the employee's work timeline in a popup. It opens on today, with the clock down the left and work arranged through the day, like a calendar's day view. Each entry says what happened and shows its result, and work happening in the same hour stays readable as separate entries. Use Previous day and Next day, or choose a date with Work day, to browse today and the previous six days. Choose Today to return to the current day. Dates and times follow your browser's local time, with the timezone shown above the calendar.
Everything you need to follow up stays close to the work:
- Read a Routine Run's summary beside its time, such as "Created five overdue invoices and sent three payment reminders. Two invoices need your review." Its status, outcome and Check badges remain visible. Tool calls, Connection counts and individual changes stay in the run log.
- Check in opens the employee's Chat, and Employee details opens their Settings. Close the popup to return to Home.
Seven kinds of work land on it:
- Routine runs show a concise outcome in the employee's day. If no outcome summary was recorded, the entry says so; an active Run says it is still working. The status, outcome and checks badges from Routines remain visible. Choose Open the run log for the full report, tool calls and Effects, without leaving Home.
- Conversations. One line per thread, saying how many times the employee replied. A reply still in flight is shown as current work, including its latest progress label and percentage for the Member who started it. A thread you did not start is reported without its subject or progress — transcripts stay private to the Member who asked for them.
- Repository work, with the files, insertions and deletions each turn produced — see Repositories.
- Approvals required by actions they attempted, so an employee waiting at a system gate is visible rather than only as a queue entry.
- Wakeups that fired and Lessons taken from a graded run — see Reactivity and Improvement.
- Changes — the individual records an employee created, edited or sent. Changes made inside a Run stay with its run log. Conversation changes appear under their conversation; changes with no parent stand on their own.
The roster stays visible even when the whole team is quiet, because it is also the quickest way to reach an employee and check in, and an employee's own day says plainly when there is nothing recorded for the selected date. A busy employee cannot crowd another employee's status out of the roster: the circles use a per-employee summary the server calculates before any display limit is applied, and opening one employee's day asks for that employee and date alone. Work still running — and an unresolved Approval still waiting — remains in the current status even when it began before the recent-work window. The day view stays bounded to the selected date and says when there is more recorded work than it can display.