Skip to main content

Tool Components

Tool components connect external search, databases, HTTP APIs, email sending, document generation, financial queries, and browser automation capabilities to Agents. When building Agents, first understand each tool's purpose and security boundaries.

Tool Selection Suggestions

Tool CategoryTypical ComponentsUse Case
Web searchTavily, Google, DuckDuckGo, SearXNG, KeenableRetrieve web pages, news, public information, or content from specified sites.
Academic searchGoogle Scholar, ArXiv, PubMed, BGPTRetrieve papers, medical literature, and research materials.
Data and financial queriesExecute SQL, Yahoo Finance, WenCaiQuery databases, market data, or financial screening results.
Content outputEmail, Document GeneratorSend emails or generate downloadable documents.
Browser automationBrowserAccess web pages, read page content, or perform multi-step browser tasks.

Web Page and Information Retrieval

Tavily Search (TavilySearch)

Tavily is a web search service for LLMs. It is suitable for retrieving general web information, news, and content that needs to be limited to specific domains. Keep queries focused on a single topic and avoid overly long natural-language questions.

Parameter Description

ParameterTypeRequiredDefault ValueDescription
QuerystringYesCurrent user inputSearch keywords.
TopicstringNogeneralSearch type. Options are general or news.
Include Domainsarray[string]NoEmpty listKeep only results from these domains, such as www.nasa.gov.
Exclude Domainsarray[string]NoEmpty listExclude results from these domains.
API KeystringNoEmptyTavily API key.
Search DepthstringNobasicSearch depth. Options are basic or advanced.
Max ResultsintegerNo6Maximum number of results.
DaysintegerNo14Time range in days for news retrieval.
Include AnswerbooleanNofalseWhether to request Tavily's answer field.
Include Raw ContentbooleanNofalseWhether to request raw page content.
Include ImagesbooleanNofalseWhether to request images.
Include Image DescriptionsbooleanNofalseWhether to request image descriptions.

Supported Parameter Values

ParameterSupported ValueDescription
TopicgeneralGeneral web search.
TopicnewsNews retrieval.
Search DepthbasicBasic search.
Search DepthadvancedDeep search.

Configuration Example

Configuration ItemExample Value
URLs["https://www.ragflow.io/docs/dev/"]
Extract Depthbasic
Formatmarkdown
API Key
Include Imagesfalse

Output Result

The output usually contains search result summaries, titles, links, snippets, and optional image information. formalized_content is commonly passed to the Agent to generate answers, while JSON is used by subsequent nodes to read structured fields.

Tavily Search

Tavily Extract (TavilyExtract)

Tavily Extract reads the body content of one or more known URLs. A common workflow is to use Tavily Search to obtain links, then pass those links to this component to extract page content.

Parameter Description

ParameterTypeRequiredDefault ValueDescription
URLsarray[string]YesEmpty listURL list to extract. If input is a string, it is split by English commas.
Extract DepthstringNobasicadvanced can extract more tables and embedded content, with higher cost and latency.
FormatstringNomarkdownExtraction result format. Options are markdown or text.
API KeystringNoEmptyTavily API key.
Include ImagesbooleanNofalseWhether to include images.

Supported Parameter Values

ParameterSupported ValueDescription
Extract DepthbasicBasic extraction.
Extract DepthadvancedExtracts more tables and embedded content, with higher latency and cost.
FormatmarkdownMarkdown format.
FormattextPlain text format.

Configuration Example

Configuration ItemExample Value
URLs["https://www.ragflow.io/docs/dev/"]
Extract Depthbasic
Formatmarkdown
API Key
Include Imagesfalse

Output Result

The output contains the page body, title, URL, and extraction status. formalized_content is commonly used as Agent context, while JSON preserves the structured extraction result for each URL.

Tavily Extract

Google Search (Google)

Google Search obtains Google organic search results through SerpApi. It is suitable for web retrieval that requires country and language targeting.

Parameter Description

ParameterTypeRequiredDefault ValueDescription
QuerystringYesCurrent user inputSearch keywords.
StartintegerNo0Result offset. In document semantics, this is the pagination starting point.
NumintegerNo6Number of requested results.
API KeystringYesEmptySerpApi API key.
CountrystringNocnGoogle region code, such as cn, us, or jp.
LanguagestringNoenGoogle interface/result language code, such as zh-CN or en.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow official documentation
Start0
Num6
API Key
Countrycn
Languageen

Output Result

The output contains search result titles, links, and summaries. The organized text can be passed to the Agent for summarization, or subsequent nodes can read the link list from JSON.

Google Search

DuckDuckGo (DuckDuckGo)

DuckDuckGo is a privacy-focused search engine component. It does not require a separate API key and can be used for general web and news retrieval.

Parameter Description

ParameterTypeRequiredDefault ValueDescription
QuerystringYesCurrent user inputSearch keywords.
ChannelstringNogeneralMessage channel: general or news.
Top NintegerNode configuration10Maximum number of returned results.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow open source
Channelgeneral
Top N10

Output Result

The output contains titles, links, and summaries returned by DuckDuckGo. It can be used for web material summarization, news lead organization, or subsequent page extraction.

Duckduckgo

Duckduckgo

SearXNG (SearXNG)

SearXNG is a self-hostable privacy-oriented meta-search engine. This component calls a user-provided SearXNG instance and is suitable for scenarios that need control over retrieval sources or internal search deployment.

Parameter Description

ParameterTypeRequiredDefault ValueDescription
QuerystringYesCurrent user inputSearch keywords.
SearXNG URLstringYesEmptySearXNG instance base URL, such as https://searxng.example.com.
Top NintegerNo10Maximum number of results.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow documentation
SearXNG URLhttps://<your-searxng-host>
Top N10

Output Result

The output contains titles, links, summaries, and source information returned by SearXNG. Before use, configure a reachable SearXNG service address and pass the system security checks.

Keenable (KeenableSearch)

Keenable is a web search API for AI Agents. By default, it supports a public free path without a key. After configuring a key, you can increase the limit and enable low-latency realtime mode.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Search keywords.
sitestringNoEmptyLimit results to a single domain, such as techcrunch.com.
api_keystringNode configurationEmptyOptional Keenable API key.
modestringNode configurationpropro for deeper retrieval or realtime for low latency. realtime requires an API key.
top_nintegerNode configuration10Maximum number of results.
KEENABLE_API_URLEnvironment variableDeployment configurationhttps://api.keenable.aiService API base URL. Production environments must use HTTPS. Local loopback addresses can use HTTP.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow Agent workflow
Sitegithub.com
API Key
Modepro
Top N10
Keenable API URLhttps://api.keenable.ai

Output Result

The output contains search entries, summaries, and links returned by Keenable. It can be summarized by the Agent or passed to subsequent retrieval or extraction nodes. Do not set realtime for keyless trial runs.

Keenable Search

Wikipedia (Wikipedia)

The Wikipedia component searches encyclopedia entries and extracts entry summaries. It is suitable for querying clear entities, concepts, and historical events. Query terms should be as close as possible to the entry title.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Specific entry topic or keyword.
top_nintegerNode configuration10Maximum number of search entries.
languagestringNode configurationenWikipedia language code, such as zh, en, or ja.

Configuration Example

Configuration ItemExample Value
Queryculture
Top N10
Languageen

Output Result

The output contains the titles, summaries, and page links of matching entries. It is suitable for generating concept explanations or background descriptions with the Agent.

Wikipedia

GitHub (GitHub)

The GitHub component searches repositories through the GitHub Repository Search API and sorts by popularity by default. It is suitable for finding open-source projects, reference implementations, and technology ecosystems.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}GitHub repository search syntax or keywords.
top_nintegerNode configuration10Maximum number of returned repositories.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow
Top N10

Output Result

The output contains repository, issue, code, or user search entries, usually including names, links, summaries, update times, and other information. The output includes repository names, links, descriptions, and stars.

GitHub

Academic Literature Retrieval

Google Scholar (GoogleScholar)

Google Scholar is used to retrieve papers, dissertations, books, abstracts, and other academic materials. It is suitable for preliminary literature discovery before a research review, but should not replace verification of original texts and citation information.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Paper topic or keyword.
top_nintegerNode configuration12Maximum number of papers.
sort_bystringNode configurationrelevanceSorting method: date or relevance.
year_lowinteger/nullNode configurationnullEarliest publication year.
year_highinteger/nullNode configurationnullLatest publication year.
patentsbooleanNode configurationtrueWhether to include patents.

Configuration Example

Configuration ItemExample Value
Queryretrieval augmented generation evaluation
Top N12
Sort Byrelevance
Year Lownull
Year Highnull
Patentstrue

Output Result

The output contains academic retrieval entries such as paper titles, authors, abstracts, source links, and citation information. It is suitable for literature reviews or research lead organization.

Google Scholar

ArXiv (ArXiv)

ArXiv is used to retrieve open preprints across fields such as computer science, mathematics, physics, and quantitative finance. ArXiv papers may not have undergone peer review, so mark their preprint nature when using the results.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Retrieval keywords.
top_nintegerNode configuration12Maximum number of returned papers.
sort_bystringNode configurationsubmittedDateSorting method: submittedDate, lastUpdatedDate, or relevance.

Configuration Example

Configuration ItemExample Value
Querylarge language model agents
Top N12
Sort BysubmittedDate

Output Result

The output contains paper titles, authors, abstracts, publication times, categories, and paper links. It can be used by the Agent to generate paper summaries or research comparisons.

ArXiv

PubMed (PubMed)

PubMed is used to retrieve life science and biomedical literature. The component queries through NCBI E-utilities and returns titles, authors, journals, DOIs, abstracts, and other information.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}PubMed search term. Medical subject headings or Boolean retrieval expressions are supported.
top_nintegerNode configuration12Maximum number of papers.
emailstringNode configurationA.N.Other@example.comNCBI Entrez contact email. Replace it with a real maintainer email in production.

Configuration Example

Configuration ItemExample Value
QueryCOVID-19 vaccine effectiveness
Top N12
EmailA.N.Other@example.com

Output Result

The output contains medical literature titles, authors, journals, abstracts, publication dates, and PubMed links. It is suitable for medical literature retrieval scenarios.

PubMed

BGPT (BGPT)

BGPT retrieves scientific papers and returns structured evidence, including research methods, sample sizes, results, limitations, conflicts of interest, data availability, and falsifiability tips. It is suitable for evaluating scientific claims, not only for finding paper abstracts.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Natural-language scientific retrieval question.
top_nintegerNode configuration10Maximum number of results.
api_keystringNode configurationEmptyOptional API key. If not configured, the public service path is used.
days_backinteger/nullNode configurationnullOptional. Limits retrieval to content from the most recent number of days.

Configuration Example

Configuration ItemExample Value
QueryDoes sleep deprivation impair working memory in adults?
Top N10
API Key
Days Backnull

Output Result

The output contains biomedical knowledge retrieval results and summaries, which can be further summarized, compared, or used to generate research explanations by subsequent Agents.

BGPT

Data and Financial Queries

Execute SQL (ExeSQL)

Execute SQL connects to an external database and executes SQL statements. The result is formatted as text or table content.

To protect system security, the database address must pass server-side security checks. To connect to a local or internal database, first confirm that the deployment environment allows access.

Parameter Description

FieldTypeRequiredDefault ValueDescription
sqlstringYes{sys.query}SQL to execute. Canvas variables can be included.
db_typestringYesmysqlSupports mysql, postgres, mariadb, mssql, IBMDB2, trino, and oceanbase.
databasestringYesEmptyDatabase name. Trino uses catalog.schema or catalog.
usernamestringYesEmptyDatabase account.
hoststringYesEmptyDatabase address, which must pass server-side security checks.
portintegerYes3306Database port.
passwordstringConditionally requiredEmptyDatabase password. It can be empty for Trino.
max_recordsintegerNo1024Maximum number of records returned per statement.

Supported Values

ParameterSupported ValueDescription
Database TypemysqlMySQL
Database TypepostgresPostgreSQL
Database TypemariadbMariaDB
Database TypemssqlMicrosoft SQL Server
Database TypeIBMDB2IBM DB2
Database TypetrinoTrino
Database TypeoceanbaseOceanBase

Configuration Example

Configuration ItemExample Value
SQLSELECT * FROM XXX;
Database Typemysql
Databasedemo_sql
Usernameragflow_reader
Host<host>
Port3306
Password<read-only database account password>
Max Records10

Output Result

The output contains SQL execution results, field names, and record content. You can pass formatted text to the Agent for explanation, or let subsequent nodes read structured results.

Execute SQL

Yahoo Finance (YahooFinance)

The Yahoo Finance component queries stock quotes, company profiles, historical market data, financial statements, and news through yfinance, and outputs the selected content as a Markdown report.

Parameter Description

FieldTypeRequiredDefault ValueDescription
stock_codestringYes{sys.query}Stock code or company name. Use exchange-standard codes when possible.
infobooleanNode configurationtrueOutput company and quote information.
historybooleanNode configurationfalseOutput historical market data.
countbooleanNode configurationfalseShare count switch defined by the code.
financialsbooleanNode configurationfalseThe current implementation outputs calendar information.
income_stmtbooleanNode configurationfalseIncome statement switch defined by the code.
balance_sheetbooleanNode configurationfalseOutput balance sheet and quarterly balance sheet.
cash_flow_statementbooleanNode configurationfalseOutput cash flow statement and quarterly cash flow statement.
newsbooleanNode configurationtrueOutput related news.

Supported Values

ParameterSupported ValueDescription

Configuration Example

Configuration ItemExample Value
Stock CodeAAPL
Infotrue
Historyfalse
Countfalse
Financialsfalse
Income Statementfalse
Balance Sheetfalse
Cash Flow Statementfalse
Newstrue

Output Result

The output contains a financial query report and structured market data, which can be used by subsequent Agents to generate market overviews or indicator explanations.

WenCai (WenCai)

WenCai is used to screen financial data such as stocks, indices, funds, Hong Kong stocks, U.S. stocks, futures, and other instruments based on natural-language conditions.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Stock selection or financial condition, such as "A-shares with P/E ratio below 20".
top_nintegerNode configuration10Maximum number of results. The frontend default may be 20.
query_typestringNode configurationstockSupports stock, zhishu, fund, hkstock, usstock, threeboard, conbond, insurance, futures, lccp, and foreign_exchange.

Supported Query Types

TypeDescription
stockA-share stocks
zhishuIndices
fundFunds
hkstockHong Kong stocks
usstockU.S. stocks
threeboardNEEQ
conbondConvertible bonds
insuranceInsurance
futuresFutures
lccpWealth management products
foreign_exchangeForeign exchange

Configuration Example

Configuration ItemExample Value
QueryA-shares with P/E ratio below 20 and net profit YoY growth above 20%
Top N10
Query Typestock

Output Result

The output contains a financial data list that matches the natural-language screening condition. It can be used for displaying stock selection results, subsequent filtering, or Agent explanation.

NOTE

Before using the WenCai component, confirm that the WenCai query service is available in the current environment. If the service is not enabled, the component will not return real financial data.

Communication and External Systems

Email

The Email component sends HTML emails through SMTP and supports multiple CC addresses. The current version supports recipients, CC recipients, subject, and email body. It does not support adding attachments or BCC recipients through this component.

Parameter Description

FieldTypeRequiredDefault ValueDescription
to_emailstringYes{sys.query}Recipient email address.
cc_emailstringNoEmptyCC email addresses. Separate multiple addresses with English commas.
contentstringNoEmptyEmail body, sent as HTML content.
subjectstringNoEmptyEmail subject.
smtp_serverstringNode configurationEmptySMTP server address.
smtp_portintegerNode configuration465SMTP port. Port 465 uses SSL, and other ports use STARTTLS.
emailstringNode configurationEmptySender email address.
smtp_usernamestringNode configurationEmptySMTP login account. If empty, the sender email address is used.
passwordstringNode configurationEmptySMTP authorization code or password.
sender_namestringNode configurationEmptySender display name.
NOTE

Although some SMTP fields are displayed as optional in the UI, a valid SMTP service address, sender account, and authentication information must be provided before sending email.

Configuration Example

Configuration ItemExample Value
To Emailreceiver@example.com
CC Email
Content<p>This is a test email sent by RAGFlow.</p>
SubjectRAGFlow email tool test
SMTP Server
SMTP Port465
Email
SMTP Username
Password
Sender Name

Output Result

The output contains sending status and error information. success being true means the email was sent successfully. If sending fails, check the SMTP address, account, password, and recipient.

Email

HTTP Request (Invoke)

The HTTP Request component calls external HTTP APIs, allowing business systems, third-party services, or self-built APIs to be connected to Agent workflows.

Parameter Description

FieldTypeRequiredDefault ValueDescription
urlstringYesEmptyAPI address. Canvas variables can be used. The Python implementation can add http:// to addresses with missing protocols, while the Go implementation requires http:// or https:// explicitly.
methodstringYesgetPython supports get, post, and put; the Go implementation also supports DELETE.
headersstring/objectNoEmptyRequest headers in JSON object format. Variables can be used in values.
variablesarray[object]No[]Request parameter list. Each item usually contains key, value, and ref.
timeoutintegerNo60Request timeout in seconds. The Go default is 30 seconds.
proxystringNoEmptyOptional HTTP/HTTPS proxy address.
clean_htmlbooleanNofalseWhether to clean HTML tags from the response.
datatypestringNojsonPython request body type: json or formdata.
bodystringNoEmptyRaw request body supported by the Go runtime.
content_typestringNoEmptyGo runtime Content-Type; POST/PUT default to application/json.

Supported Values

ParameterSupported ValueDescription
MethodGETGET request.
MethodPOSTPOST request.
MethodPUTPUT request.
ProxyHTTPHTTP proxy.
ProxyHTTPSHTTPS proxy address.

Configuration Example

Configuration ItemExample Value
URLhttps://1.1.1.1/cdn-cgi/trace
MethodGET
Headers{}
Variables[]
Timeout30
Proxy
Clean HTMLfalse
Data Typejson
Body
Content Type

Output Result

The output contains response status code, response headers, and response body. Text responses can be passed to the Agent for summarization, while JSON responses can be read by subsequent nodes.

HTTP Request

Content Generation and Automation

Document Generator (DocGenerator)

The Document Generator component outputs Markdown content as PDF, DOCX, TXT, Markdown, or HTML files, and stores the generated files in Agent attachment storage.

Parameter Description

FieldTypeRequiredDefault ValueDescription
contentstringYesEmptyMarkdown content to generate. Upstream outputs can be referenced.
output_formatstringYespdfOutput format: pdf, docx, txt, markdown, or html.
filenamestringNoEmptyFile name. If empty, it is generated automatically, and illegal file name characters are cleaned.
header_textstringNoEmptyHeader text. Applies to PDF/DOCX.
footer_textstringNoEmptyFooter text. Applies to PDF/DOCX.
watermark_textstringNoEmptyWatermark text. Supported by PDF/DOCX/HTML according to the implementation.
add_page_numbersbooleanNotrueWhether to add page numbers. Mainly used for PDF/DOCX.
add_timestampbooleanNotrueWhether to add generation time.
include_download_info_in_contentbooleanNofalseWhether to keep the download information marker in the content.
font_sizenumberNo12Font size, which must be greater than or equal to 12.

Supported Values

ParameterSupported ValueDescription
Output FormatpdfPDF document.
Output FormatdocxWord document.
Output FormathtmlHTML document.
Output FormattxtText file.
Output FormatmarkdownMarkdown file.
Font Size>=12Font size must be greater than or equal to 12.

Configuration Example

Configuration ItemExample Value
Content`# RAGFlow Agent
Test This document is generated by the DocGenerator component.`
Output Formatpdf
Filenameragflow-agent-test.pdf
Header TextRAGFlow
Footer TextInternal Test
Watermark TextDRAFT
Add Page Numberstrue
Add Timestamptrue
Include Download Info In Contentfalse
Font Size12

Output Result

The output contains generated file attachment information, download links, and file names. Users can preview, download, or pass the file to subsequent nodes for further processing.

Document Generator

Browser (Browser)

Browser is an LLM-driven browser automation component. It can access web pages, perform multi-step operations, read page content, upload source files, and collect downloaded files based on natural-language tasks. It depends on the configured model and the browser automation dependencies in the runtime environment.

Parameter Description

FieldTypeRequiredDefault ValueDescription
llm_idstringYesEmptyConfigured chat model ID used by Browser. The Go path can accept model_id as an alias.
promptsstringYes{sys.query}Natural-language browser task. Canvas variables are supported. The Go path can accept prompt as an alias.
max_stepsintegerNo30Maximum number of browser execution steps. Effective in the Python path. The current Go Stagehand path accepts this field but does not use it during execution.
headlessbooleanNotrueWhether to run the browser in headless mode.
enable_default_extensionsbooleanNofalseWhether to enable default browser-use extensions.
chromium_sandboxbooleanNofalseWhether to enable the Chromium sandbox. In Docker root environments, keep this disabled in general.
persist_sessionbooleanNotrueWhether to reuse the browser user directory for the same node. Effective in the Python path.
upload_sourcesarray/stringNo[]File IDs, URLs, or upstream variable references for the browser task.
urlstringNoEmptyCompatibility field accepted by the current Go component. It does not participate in Stagehand execution.
timeoutintegerNo0Compatibility field accepted by the current Go component. It does not participate in Stagehand execution.

Supported Values

ParameterSupported ValueDescription
Upload SourcesFile IDFile ID uploaded to RAGFlow.
Upload SourcesURLAccessible file or web page URL.
Upload SourcesUpstream variable referenceFile or resource reference from a previous node.

Configuration Example

Configuration ItemExample Value
LLM ID<configured chat model ID>
PromptOpen https://www.ragflow.io, identify the main navigation items, and return them as a concise bullet list.
Max Steps10
Headlesstrue
Enable Default Extensionsfalse
Chromium Sandboxfalse
Persist Sessiontrue
Upload Sources[]
URL
Timeout0

Output Result

The output contains the browser task execution summary, extracted page content, and any generated download file information. Avoid assigning Browser tasks that involve login, payment, or irreversible submissions.