Skip to main content
Agents are what do the actual work in your Friday jobs. There are three types you can declare in 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
The 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 in workspace.yml when no built-in agent covers your domain. Specify provider, model, system prompt, and the MCP tools it can call:
workspace.yml
Tool names use 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
Register with the daemon (no restart required):
See the Agent SDK documentation for how to write agents. Use the Agent Tester to test any agent in isolation before wiring it into a workflow.

MCP tools

Agents can call external tool servers via . Declare servers at the space level — they’re available to any llm or user agent in the space. See MCP Tools.

Declaration order

Declare agents before jobs in workspace.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.