workspace.yml: atlas (built-in), llm (inline), and user (custom Python).
atlas — built-in agents
Built-in agents are the fastest path. Friday ships with a growing library of them for common integrations. Reference them by ID in your space:workspace.yml
prompt field is per-invocation task context layered on the agent’s built-in behavior — describe what you want, not how to do it. The env block passes credentials; use from_environment to pull from the daemon’s environment.
Built-in agents are black-box. They have their own internal tool surface and ignore the tools array. If you need to call specific MCP tools, use type: llm instead.
Some available built-in agents:
Agents that call an LLM use ANTHROPIC_API_KEY by default — OPENAI_API_KEY, GEMINI_API_KEY, and GROQ_API_KEY are also supported experimentally. The table lists only the additional credentials each agent needs beyond the LLM key.
This is a selection of available built-in agents — more are being added all the time. To browse the full list, open the Agent Tester in the Studio.
llm — inline LLM agents
Define an LLM agent directly inworkspace.yml when no built-in agent covers your domain. Specify provider, model, system prompt, and the MCP tools it can call:
workspace.yml
serverId/toolName format — the server ID comes from tools.mcp.servers in your space. Built-in platform tools (memory_save, memory_read) need no prefix. Use the Agent Tester to browse available tools.
Supported providers: anthropic, openai, google, groq. Additional llm config fields: temperature (default 0.3), max_tokens, max_retries, timeout, tool_choice, and provider_options for pass-through provider configuration.
user — custom agents
Build your own agent with the Agent SDK when you need to wrap internal APIs or business logic. Python is supported today; more languages are coming soon. Register the agent with the daemon, then reference it by ID:workspace.yml
MCP tools
Agents can call external tool servers via . Declare servers at the space level — they’re available to anyllm or user agent in the space. See MCP Tools.
Declaration order
Declare agents before jobs inworkspace.yml. Jobs reference agents by ID in FSM entry actions — the validator raises unknown_agent_id if the agent isn’t declared first.
Let Friday write your agent. Describe what you need in the Studio chat — Friday will scaffold a working agent, register it with the daemon, and wire it into your space. You can also install the
writing-friday-python-agents skill in Claude Code to author agents locally.
