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:
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
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.Scraper Agent (scraper_agent) · collector
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
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
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
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
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
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.Archiver Agent (archiver_agent) · sink
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 and Integrations — Slack.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 page for the full agent roster and pipeline.Running connected apps
Beyond the named agents above, the Planner can drive any connected app — 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.