Docs
How Sanaf works, written for whoever has to make it work. Hiring and briefing it, connecting your apps, what it may do without asking, running work on a schedule, and reaching it from your own software over HTTP or MCP.
Start here
Hiring it, briefing it, and the first week.
Getting started
Sanaf is one AI employee per workspace. You hire it, give it a job in plain words, connect the apps that job needs, and set what it may do without asking. Everything below takes about twenty minutes and nothing here needs a card.
ReadConnecting your tools
Sanaf works inside the apps you already run. A connection is made per app, scoped to the job that needs it, and revocable on its own. Nothing is connected by default, and connecting an app does not grant a job access to it.
ReadTrusting it
What it may do without asking, and what runs while nobody is watching.
Approvals and permissions
Sanaf asks before anything it cannot undo. Rules are set per kind of action rather than per app or per job, so sending an email and updating a record are governed separately, and an unattended run is held to a stricter rule than one you are watching.
ReadScheduled and recurring work
A job can run on a schedule rather than waiting to be asked. Schedules belong to a job, carry a timezone, and are held to the unattended approval rules, so work that fires overnight is treated more carefully than work you asked for in person.
ReadSkills: teaching it how you do something
A skill is a folder with a SKILL.md at its root: written instructions for how your business does one particular thing. Sanaf reads the description to decide whether a skill applies to the request in front of it, and follows the instructions when it does. You add skills by uploading a folder or pointing at a public repository.
ReadBuild with it
Reaching your AI employee from your own software.
The HTTP API
Give a hire a task over plain HTTP, for callers that do not speak MCP: a cron job, a webhook from another system, a shell script. Authenticate with a workspace API key. The response is 202 rather than 200, because a turn is durable and may wait days for an approval.
ReadThe MCP server
Point any MCP client at the Sanaf endpoint with a workspace API key and your AI employee becomes a set of tools in that client: list the employees, give one a task, read the reply, and read the work log.
Read