Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hellofriday.ai/llms.txt

Use this file to discover all available pages before exploring further.

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
agents:
  gh:
    type: atlas
    agent: gh
    description: "Runs GitHub CLI operations — clone, review, post comments."
    prompt: "Execute GitHub CLI operation."
    env:
      GH_TOKEN: from_environment
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.
Agent IDWhat it doesAdditional credentials
webWeb research, browser automation, JS-rendered pagesOptional PARALLEL_API_KEY for search
slackPost messages to Slack channels and DMsSLACK_MCP_XOXP_TOKEN
get-summaryCondense long-form content into formatted summariesNone
claude-codeCode generation, debugging, and codebase analysis in a sandboxed environmentOptional GH_TOKEN
ghGitHub CLI operations — clone repos, view PRs, fetch diffs, post reviewsGH_TOKEN
bbBitbucket Cloud — clone repos, review PRs, post commentsBITBUCKET_EMAIL + BITBUCKET_TOKEN
jiraJira Cloud — read, create, update issues and transitionsJIRA_EMAIL + JIRA_API_TOKEN + JIRA_SITE
transcribeTranscribe audio files to text using WhisperGROQ_API_KEY
hubspotHubSpot CRM — search, read, create, update contacts/deals/companiesHUBSPOT_ACCESS_TOKEN
image-generationGenerate new images and edit existing image artifactsGEMINI_API_KEY
knowledge-hybridHybrid RAG knowledge base search (BM25 + vector + reranker)KNOWLEDGE_CORPUS_PATH + FIREWORKS_API_KEY, optional GROQ_API_KEY for reranking
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
agents:
  email-triage:
    type: llm
    description: "Classifies inbound email as urgent, tracking, or ignore."
    config:
      provider: anthropic
      model: claude-sonnet-4-6
      prompt: |
        You triage inbound email. Classify each message as one of:
        urgent, tracking, ignore. Return JSON: { category, reason }.
      tools:
        - google-gmail/search_gmail_messages
        - google-gmail/get_gmail_message_content
      max_steps: 6
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
agents:
  my-agent:
    type: user
    description: "Wraps our internal data API."
    env:
      API_KEY: from_environment
Register with the daemon (no restart required):
friday agent register /abs/path/to/my-agent
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.