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 workflows. There are three types you can declare in workspace.yml: atlas (bundled), llm (inline), and user (custom Python).

atlas — bundled agents

Bundled agents are the fastest path. Friday ships with a full set of ready-to-use agents for common integrations. Reference them by ID in your workspace:
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. Bundled 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. Available bundled agents:
Agent IDWhat it doesCredentials needed
ghClone repos, review PRs, post comments on GitHubGH_TOKEN
bitbucketClone repos, review PRs, post comments on Bitbucket CloudBitbucket app password
claude-codeCode generation, debugging, codebase analysisANTHROPIC_API_KEY
webMulti-query web search with cited reportsPARALLEL_API_KEY
emailSend emails with template supportSendGrid API key
slackPost messages to channels and DMsSlack OAuth
google-calendarCreate events, check availabilityGoogle OAuth
data-analystSQL analysis on uploaded CSVs and databasesNone
csv-filter-samplerFilter and sample CSV dataNone
summarizerCondense content into formatted summariesNone
image-generationGenerate images from text descriptionsProvider API key
transcriptionConvert audio files to textNone
jiraRead/create/update issues, transition statusJira API token
hubspotCRM record managementHubSpot OAuth
snowflakeAnalytical queries on SnowflakeSnowflake credentials

llm — inline LLM agents

Define an LLM agent directly in workspace.yml when no bundled 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-5
      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 workspace. Built-in platform tools (memory_save, memory_read) need no prefix. Call friday agent list -w <workspace> to see available tools.

user — custom Python agents

Build your own agent with the SDK when you need to wrap internal APIs or business logic. Register the agent with the daemon, then reference it by ID:
workspace.yml
agents:
  my-agent:
    type: user
    agent: "my-agent"        # must match id in @agent decorator
    description: "Wraps our internal data API."
    env:
      API_KEY: from_environment
Register with the daemon (no restart required):
curl -X POST http://localhost:18080/api/agents/register \
  -H "Content-Type: application/json" \
  -d '{"entrypoint": "/abs/path/to/agent.py"}'
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 workspace level — they’re available to any llm or user agent in the workspace. 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 an agent write your agent. Install the writing-friday-python-agents skill in Claude Code or any compatible coding agent. It scaffolds agents that follow SDK conventions and register cleanly.