> ## Documentation Index
> Fetch the complete documentation index at: https://docs.celerflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Platform agents

> The capability pool the Planner assembles into a workflow.

Platform agents are the capability pool the [Planner](https://docs.celerflow.ai/concepts/planner.md) draws from when it assembles a workflow. You don't configure agents directly — you describe an outcome, and the Planner picks the right agents and wires them together. Each agent encapsulates one capability with a typed contract, so the Planner can compose without ever calling a third-party API itself.

When a workspace is created, the default agents are seeded into your team's agent pool (`team_pool_agents`) automatically, so the Planner can start building immediately.

## The four planner roles

Every agent declares a role that governs how it can be wired into the DAG:

| Role | Meaning | Terminal? |
| - | - | - |
| `collector` | Pulls raw material from the outside world (search, scrape, fetch). | No |
| `transformer` | Converts text or data into a different shape (extract, summarize, translate). | No |
| `analyzer` | Cross-context synthesis or local reasoning. | No |
| `sink` | Writes the workflow's final output somewhere. | Yes |

Collectors feed transformers and analyzers; those feed sinks; sinks terminate the graph. The validator enforces this — for example, it won't let a collector feed a sink directly when a transformer or analyzer is available.

## General-purpose pack

These eight agents cover generic web research and content pipelines.

> **Web Search Agent (web\_search\_agent) · collector**
>
> Searches the public web and retrieves page content for downstream research. Backed by Firecrawl, with optional enrichment from additional search providers and source-evaluation scoring.
>
> **Produces:** `result_urls` (`url_list`), `results_compact_text` / `scraped_text_corpus` (`content_corpus`), `scraped_pages` (`page_list`), `results` (`document_list`)
> **Anti-purpose:** not for social-timeline extraction.
>
> See [Integrations — Firecrawl](https://docs.celerflow.ai/integration/firecrawl.md).

> **Scraper Agent (scraper\_agent) · collector**
>
> Deprecated collector for explicit, URL-only scraping. Takes a list of URLs and returns extracted markdown.
>
> **Consumes:** a `url_list`
> **Produces:** `scraped_pages` (`page_list`), `scraped_text_corpus` (`content_corpus`)
> **Anti-purpose:** not a search engine, and not part of default research workflows — prefer `web_search_agent`. Cannot target `x.com` / `twitter.com` profile URLs.

> **Extractor Agent (extractor\_agent) · transformer**
>
> Converts unstructured text into structured fields using the platform LLM.
>
> **Consumes:** raw text or scraped corpus
> **Produces:** `extracted` (`structured_data`), `extraction_notes`
> **Anti-purpose:** not a summarizer, not a final report writer.

> **Summarize Agent (summarize\_agent) · transformer**
>
> Condenses arbitrary input text into a summary and key points.
>
> **Consumes:** a `content_corpus`, `summary_text`, or `synthesis_text`
> **Produces:** `summary` (`summary_text`), `key_points` (`bullet_list`)

> **Translate Agent (translate\_agent) · transformer**
>
> Translates one string or a batch of strings into a target locale through one unified API, preserving proper nouns, code blocks, markdown, URLs, and emoji.
>
> **Consumes:** one or more source strings
> **Produces:** `translated_text` (scalar), `translations` (ordered array)

> **Analyze Agent (analyze\_agent) · analyzer**
>
> Single-text reasoning and multi-context synthesis for report-grade narratives. Cross-compares upstream contexts and produces a structured analysis.
>
> **Produces:** `synthesis` (`synthesis_text`), `themes`, `comparisons`, `open_questions`
> **Anti-purpose:** not a summarizer, not a final report writer.

> **File Writer Agent (file\_writer\_agent) · sink**
>
> Creates durable file or page artifacts. Each destination runs independently; a failure at one does not block the others.
>
> **Consumes:** `final_content` (`summary_text` / `synthesis_text` / `final_text` / `content_corpus` / `artifact_title`)
> **Produces:** `artifacts` (per-destination results), `title`
> **Destinations:** `platform` storage · Obsidian · Notion
> **Anti-purpose:** not for notifications or in-product-only display.
>
> See [Integrations — Notion](https://docs.celerflow.ai/integration/notion.md).

> **Archiver Agent (archiver\_agent) · sink**
>
> Delivers a result through a notification-style channel. Use this when you want to send or surface a result rather than create a durable file.
>
> **Consumes:** summary or synthesis text
> **Produces:** `status` (`delivery_status`)
> **Destinations:** `workflow_detail` (default) · Gmail · Slack
> **Anti-purpose:** not for durable file artifacts (use `file_writer_agent` for Notion pages).
>
> See [Integrations — Gmail](https://docs.celerflow.ai/integration/gmail.md) and [Integrations — Slack](https://docs.celerflow.ai/integration/slack.md).

## BioMed research pack

A domain-specific pack of seven agents for PubMed-grounded biomedical research — query planning, paper triage, citation resolution, PDF retrieval, and Zotero export. The Planner reaches for these when a request is grounded in clinical / life-science literature.

The BioMed pack is gated behind a paid plan. See the dedicated [BioMed research pack](https://docs.celerflow.ai/concepts/biomed.md) page for the full agent roster and pipeline.

## Running connected apps

Beyond the named agents above, the Planner can drive any [connected app](https://docs.celerflow.ai/concepts/connections.md) — Gmail, Notion, Slack, HubSpot, Linear, Attio, and more — through generic connector agents. You never wire these by name; you describe the outcome and the Planner resolves the right tool calls at execution time using your team's OAuth grant.

## How agents connect

Agents chain by role and by the **semantics** of their outputs, not just their raw types. `web_search_agent` feeds URLs into a collector, which feeds a corpus into `summarize_agent` or `analyze_agent`, which feeds final content into `file_writer_agent` or `archiver_agent`. The validator rejects bindings whose meaning is wrong even when the types match — so a `document_list` can't be passed where a `url_list` is required. The Planner wires all of this automatically based on your goal.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.