{"id":"630f0a29-f38f-48df-87da-3027061dbbf0","entityType":"agent","slug":"crewai-botextractai-ai-crewai-deep-research","name":"ai-crewai-deep-research","canonicalUrl":"https://www.xpersona.co/agent/crewai-botextractai-ai-crewai-deep-research","canonicalPath":"/agent/crewai-botextractai-ai-crewai-deep-research","generatedAt":"2026-10-09T21:00:56.560Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T11:16:32.627Z","emptyReason":null},"description":"Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents This project shows the full power of CrewAI with all its bells and whistles. It uses Flow to control the execution logic, a Crew with multiple Agents, two parallel Tasks (main and secondary) using the same Agent, Agents using CrewAI Tools (EXASearchTool and LimitedScrapeWebsiteTool) and a custom-made plotting Tool, memory and knowledge management, a","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/botextractai/ai-crewai-deep-research","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/botextractai/ai-crewai-deep-research","kind":"source"}],"safetyScore":66,"overallRank":40,"popularityScore":12,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents This project shows the f"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:16:32.627Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:16:32.627Z","emptyReason":null},"stars":2,"forks":3,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"2 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:16:32.622Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T11:16:32.627Z","lastCrawledAt":"2026-10-09T11:16:32.622Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T11:16:32.622Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-09T21:00:56.560Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-botextractai-ai-crewai-deep-research/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T11:16:32.627Z","emptyReason":null},"readme":"# Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents\n\nThis project shows the full power of CrewAI with all its bells and whistles. It uses Flow to control the execution logic, a Crew with multiple Agents, two parallel Tasks (main and secondary) using the same Agent, Agents using CrewAI Tools (`EXASearchTool` and `LimitedScrapeWebsiteTool`) and a custom-made plotting Tool, memory and knowledge management, a Task Guardrail, and execution tracing.\n\n`LimitedScrapeWebsiteTool` is a wrapper around the original CrewAI `ScrapeWebsiteTool`. It truncates the returned content of `ScrapeWebsiteTool` to the `SCRAPE_MAX_CHARS` maximum character length. This enforces a hard upper bound on text entering the Large Language Model (LLM) from scraping, so huge PDF/webpage dumps cannot flood downstream task context. If large web pages or PDF's still cause context overflows, reduce the `SCRAPE_MAX_CHARS` value.\n\n## About\n\nThis project automatically produces comprehensive reports on diverse topics. It rapidly gathers, verifies, and synthesizes information from across the internet, delivering reliable, fact-checked reports that meet tight deadlines and exacting standards, regardless of the subject matter. You can see an example Markdown report and its plots in the `EXAMPLE-renewable-energy` folder.\n\n## Flow, Crews, Tasks, Agents\n\nA Flow is optional in CrewAI. It defines the execution order and conditions. In this example, the Flow decides whether the deep research Crew is needed or not. Flows are constructed by annotations to regular Python functions, in this example in the `src/main.py` script.\nThese are the main decorators for state persistence and for connecting the different functions, or tasks, inside the Flow:\n\n- `@persist()`: automatically persists the state of the Flow. It automatically saves and reloads a Flow's state between steps or runs, using `SQLiteFlowPersistence` by default to write the state to a local SQLite database in a user folder with the project name `CrewAI/ai-crewai-deep-research`.\n- `@start()`: indicates the entry point of the Flow. This sets the first function to run.\n- `@listen()`: marks a function as a listener for the output of another task in the Flow. Functions decorated with `@listen()` will be executed when the specified task emits an output.\n- `@router()`: allows you to define conditional routing logic based on the output of a function.\n\nYou should always monitor your Flow, in order to identify issues early on, and generally keep an eye on the health of the system. This can easily be done by allowing for tracing. Look at the `kickoff()` function inside the `src/main.py` script. Create an instance of the Flow and set the `tracing` argument to `True`. Once you run the Flow, this records every step the Flow takes, so you can later see exactly how decisions were made and how Agents interacted. At the end of the execution, you will have 20 seconds to accept an invitation to see the execution trace on the CrewAI platform, where you can explore all tracing data. You can change the telemetry platform from the CrewAI cloud to another telemetry platform, such as Arize Phoenix.\n\n### The Flow of this project\n\n![alt text](https://github.com/user-attachments/assets/932e98fb-e72f-487c-b6b4-1bd56ed1bd18 \"Flow diagram\")\n\nWhen deep research is required, it will first ask clarifying questions if needed. A Crew will then get executed and the results of the Crew execution will get summarized. The deep research Crew has the following structure:\n\n![alt text](https://github.com/user-attachments/assets/febdb287-ca0f-4036-aef7-2378e6e8a4c0 \"Deep research Crew\")\n\nIn CrewAI, Tasks (in the following diagram in white color) describe the work and expected output, while Agents (in black color with the agent symbol next to them) are the autonomous executors assigned to carry out those Tasks using their tools, role, and reasoning. Multiple Tasks can use the same Agent by giving the Agent different guidance.\n\n![alt text](https://github.com/user-attachments/assets/db645f1d-e4a9-42c5-a70c-83a0ac623780 \"Tasks Agents diagram\")\n\n## Required API keys for this example\n\nYou need an OpenAI API key for this example. [Get your OpenAI API key here](https://platform.openai.com/login).\nYou also need an Exa API key for this example. [Get your free Exa API key here](https://exa.ai/).\nInsert both API keys into the `.env.example` file and then rename this file to just `.env` (remove the \".example\" ending).\n\n## Creating the plot flow diagram\n\nThis will take some time to generate. The result will be shown in your web browser.\n\n```bash\npython -c \"from src.main import plot; plot()\"\n```\n\n## Running this example\n\n```bash\npython -m src.main\n```\n\n### Example prompts\n\nIf you just use a simple prompt like\n\n```\nHello!\n```\n\nwhich does not require further information, then deep research should not be triggered.\n\nHowever, if you ask a more complex question like the following, then deep research should be triggered.\n\n```\nHow has the share of renewable energy in total electricity generation changed from 2018 to 2023 in Germany and Spain? Use official or widely recognized public datasets, clearly note any provisional values, show the annual percentages in a table, calculate the total change in percentage points, and briefly explain the main reasons for the change. Prefer national grid/statistical sources, Eurostat, Ember, or IEA data.\n```\n\nThe final result will be a report in the form of a Markdown file called `report.md` and a folder called `plots` with graphs created by the custom plot tool, if any suitable data can be plotted.\n\n### Prevent context window overflow errors\n\nIf your executions fail because of context window overflow errors caused by too much history from pervious executions, then you can just delete the user folder with the project name `CrewAI/ai-crewai-deep-research`. This will reset this project. Alternatively, you can also stop carrying old run memory into new runs by removing the fixed `id` in the `kickoff()` function of the `src/main.py` script.\n","readmeExcerpt":"Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents This project shows the full power of CrewAI with all its bells and whistles. It uses Flow to control the execution logic, a Crew with multiple Agents, two parallel Tasks (main and secondary) using the same Agent, Agents using CrewAI Tools (EXASearchTool and LimitedScrapeWebsiteTool) and a custom-made plotting Tool, memory and knowledge management, a ","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -c \"from src.main import plot; plot()\""},{"language":"bash","snippet":"python -m src.main"},{"language":"text","snippet":"Hello!"},{"language":"text","snippet":"How has the share of renewable energy in total electricity generation changed from 2018 to 2023 in Germany and Spain? Use official or widely recognized public datasets, clearly note any provisional values, show the annual percentages in a table, calculate the total change in percentage points, and briefly explain the main reasons for the change. Prefer national grid/statistical sources, Eurostat, Ember, or IEA data."}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents Practical Deep Research with CrewAI: Flow, Crews, Tasks, and Agents This project shows the full power of CrewAI with all its bells and whistles. It uses Flow to control the execution logic, a Crew with multiple Agents, two parallel Tasks (main and secondary) using the same Agent, Agents using CrewAI Tools (EXASearchTool and LimitedScrapeWebsiteTool) and a custom-made plotting Tool, memory and knowledge management, a","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":397,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:16:32.627Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:16:32.627Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:00:56.560Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}