Skip to main content

Tool Components

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

In the tables below, No means manual input is optional; keep any default shown. Conditions are stated in the description. Replace bracketed placeholders with your own settings; Leave blank is an instruction, not text to enter.

Tool Selection Suggestions

Tool CategoryTypical ComponentsUse Case
Web searchTavily, Google, DuckDuckGo, SearXNG, Keenable, Sofya, Search1APIRetrieve 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.

Web Page and Information Retrieval

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 KeystringConditionalEmptyEnter a Tavily key unless your administrator has configured one for the service.
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.

Supported Parameter Values

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

Configuration Example

Configuration ItemExample Value
QueryRAGFlow knowledge retrieval
Topicgeneral
Search Depthbasic
Max Results6
API Key<Tavily API key>

Output Result

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

For a simple search workflow, connect Begin → Tavily Search → Agent → Message. Use sys.query as Query, insert Tavily Search's formalized_content into the Agent's user prompt, and insert the Agent's content into Message. Ask a focused question and check that the search output contains relevant sources before assessing the final answer.

Tavily Search

Tavily Extract

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 KeystringConditionalEmptyEnter a Tavily key unless your administrator has configured one for the service.

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<your API key>

Output Result

The output json contains the extracted page results. Select the required page content from json and pass it to the Agent prompt.

Tavily Extract

Querit Search finds web pages for a query. Configure API Key and Query, then adjust these options as needed:

SettingDescription
Result countMaximum number of documents. Defaults to 10.
Chunks per documentNumber of content chunks requested for each document.
Sites to include / Sites to excludeLimit results to selected sites or exclude them.
Time rangeRestrict results by date.
Countries to include / Languages to includeRestrict results by country or language.

For example, set Query to RAGFlow knowledge retrieval, Result count to 5, and leave the optional filters empty. If the component API key is empty, the server uses QUERIT_API_KEY when configured.

The outputs are formalized_content for downstream prompts and json for the raw response.

Querit Contents

Querit Contents retrieves content from known URLs. Pass links from a search component or enter them directly.

SettingDescription
API KeyQuerit API key. Uses the server's QUERIT_API_KEY if empty.
URLsOne to ten absolute HTTP or HTTPS URLs.
Formatmarkdown (default), text, or html.
Crawl timeoutPer-page timeout in seconds. Defaults to 10.
Include page metadataRequest additional page metadata.

For example, use https://www.ragflow.io as the URL and keep Format set to markdown. The output is json, containing the raw response. Select the required content from that response before passing it to an Agent.

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<your 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 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.
ChannelstringNotextSelect text for web pages or news for news results.
Top NintegerNo10Maximum number of returned results.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow open source
Channeltext
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 results displayed in Message

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

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_keystringConditionalEmptyOptional in pro mode; required in realtime mode.
modestringNopropro for deeper retrieval or realtime for low latency. realtime requires an API key.
top_nintegerNo10Maximum number of results.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow Agent workflow
Sitegithub.com
API KeyLeave blank for pro mode
Modepro
Top N10

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

Sofya

Sofya is a web search API for AI Agents. It returns the text of the result pages, not only a snippet, so results can be used without a separate fetch step. An API key is required and can be created at sofya.co.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Search keywords.
topicstringNogeneralgeneral for web search or news for current events.
freshnessstringNoanyLimit results by recency: day, week, month, year, or any.
api_keystringYesEmptySofya API key.
search_depthstringNobasicbasic returns the content of the result pages. snippets returns search snippets only, which is faster and cheaper.
top_nintegerNo10Maximum number of results, up to 20.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow release
API Key<your-sofya-api-key>
Search Depthbasic
Top N10

Output Result

The output contains titles, links, and page content returned by Sofya. Results whose page could not be read fall back to the search snippet. It can be summarized by the Agent or passed to subsequent nodes.

Search1API

Search1API searches the web or the news through one API and lets you choose the search service, such as Google, Bing, Baidu, GitHub, arXiv, Reddit, YouTube, Hacker News, or Reuters. When it is added to an Agent as a tool, the node settings are only defaults: the Agent can pick the channel and the search service for each call, for example GitHub for code questions or Reuters for news. An API key is required and can be created at app.s1.dev. See the Search1API documentation for details.

Parameter Description

FieldTypeRequiredDefault ValueDescription
querystringYes{sys.query}Search keywords.
channelstringNogeneralgeneral for web search or news for news search. The Agent can override the node value.
search_servicestringNogoogleThe search service to query. The Agent can override the node value with any service the channel supports.
time_rangestringNoanyLimit results by recency: day, week, month, year, or any.
api_keystringYesEmptySearch1API API key.
top_nintegerNo10Maximum number of results, up to 50.

Supported Parameter Values

ChannelSupported Search Services
generalgoogle, bing, bingcn, duckduckgo, yahoo, yandex, youtube, x, reddit, github, arxiv, wechat, bilibili, imdb, wikipedia, baidu, 360, quark
newsgoogle, bing, duckduckgo, yahoo, hackernews, reuters

If the Agent switches to a channel that does not offer the node's search service, the search uses Search1API's default service for that channel.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow release
API Key<your-search1api-api-key>
Channelgeneral
Search Servicegoogle
Top N10

Output Result

The output contains titles, links, and snippets returned by Search1API. formalized_content is commonly used as Agent context, while json preserves the raw result list.

Search1API Crawl

Search1API Crawl reads one web page and returns its title and full content. A common workflow is to use Search1API to find links, then let the Agent read the most relevant page with this component. It uses the same API key as Search1API.

Parameter Description

FieldTypeRequiredDefault ValueDescription
urlstringYesEmptyThe absolute HTTP or HTTPS URL of the page to read. As an Agent tool, the Agent supplies the URL.
api_keystringYesEmptySearch1API API key.

Configuration Example

Configuration ItemExample Value
URLhttps://ragflow.io/docs/dev/
API Key<your-search1api-api-key>

Output Result

json contains the page title, link, content, and any metadata returned by Search1API.

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_nintegerNo10Maximum number of search entries.
languagestringNoenWikipedia 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

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_nintegerNo10Maximum number of returned repositories.

Configuration Example

Configuration ItemExample Value
QueryRAGFlow
Top N10

Output Result

The output contains matching repository names, links, descriptions, and star counts.

GitHub repository search component

Academic Literature Retrieval

Google Scholar

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_nintegerNo12Maximum number of papers.
sort_bystringNorelevanceSorting method: date or relevance.
year_lowinteger/nullNoUnsetEarliest publication year.
year_highinteger/nullNoUnsetLatest publication year.
patentsbooleanNotrueWhether to include patents.

Configuration Example

Configuration ItemExample Value
Queryretrieval augmented generation evaluation
Top N12
Sort Byrelevance
Year LowLeave blank
Year HighLeave blank
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 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_nintegerNo12Maximum number of returned papers.
sort_bystringNosubmittedDateSorting 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.

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_nintegerNo12Maximum number of papers.
emailstringNoA.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 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_nintegerNo10Maximum number of results.
api_keystringNoEmptyOptional API key. If not configured, the public service path is used.
days_backinteger/nullNoUnsetOptional. 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 KeyLeave blank (optional)
Days BackLeave blank

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

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

Use a database address that the RAGFlow server can reach. If the connection is rejected, check the address, credentials, and network access settings.

Parameter Description

FieldTypeRequiredDefault ValueDescription
sqlstringYes{sys.query}SQL to execute. Canvas variables can be included.
db_typestringYesmysqlSupports mysql, postgres, mariadb, mssql, trino, and oceanbase.
databasestringYesEmptyDatabase name. Trino uses catalog.schema or catalog.
usernamestringYesEmptyDatabase account.
hoststringYesEmptyDatabase address reachable from the RAGFlow server.
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 TypetrinoTrino
Database TypeoceanbaseOceanBase

Configuration Example

Ask your administrator to prepare a MySQL test database named demo_sql with a products table containing id, name, and stock. Use two sample rows: (1, Model A, 12) and (2, Model B, 0). The account needs permission to read this table.

Configuration ItemExample Value
SQLSELECT id, name FROM products WHERE stock > 0 ORDER BY id;
Database Typemysql
Databasedemo_sql
Usernameragflow_reader
Host<host>
Port3306
Password<read-only database account password>
Max Records10

Replace <host>, the username, and the password with your test database connection details; change demo_sql if your database has a different name.

Connect Begin → Execute SQL → Message. Configure Execute SQL as above, then insert its formalized_content output into Message through the variable selector. Save and click Run. The result should contain only 1, Model A, because Model B has no stock.

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

The Yahoo Finance component queries stock quotes, company profiles, historical market data, financial statements, and news. It returns 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.
infobooleanNotrueOutput company and quote information.
historybooleanNofalseOutput historical market data.
countbooleanNofalseInclude share-count statistics.
financialsbooleanNofalseOutput earnings dates and other financial calendar events returned by Yahoo Finance.
income_stmtbooleanNofalseInclude annual and quarterly income statements.
balance_sheetbooleanNofalseOutput balance sheet and quarterly balance sheet.
cash_flow_statementbooleanNofalseOutput cash flow statement and quarterly cash flow statement.
newsbooleanNotrueOutput related news.

Configuration Example

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

Output Result

The output report is a Markdown report containing the selected financial information. Insert report into a downstream Agent prompt to generate a market overview or explain indicators.

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_nintegerNo20Maximum number of results.
query_typestringNostockSupports 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

Configure the WenCai query service before using this component.

Communication and External Systems

Email

The Email component sends HTML emails through SMTP. Configure the recipients, CC recipients, subject, and email body in the 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_serverstringYesEmptySMTP server address.
smtp_portintegerNo465SMTP port. Port 465 uses SSL, and other ports use STARTTLS.
emailstringYesEmptySender email address.
smtp_usernamestringNoEmptySMTP login account. If empty, the sender email address is used.
passwordstringYesEmptySMTP authorization code or password.
sender_namestringNoEmptySender 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 EmailLeave blank (optional)
Content<p>This is a test email sent by RAGFlow.</p>
SubjectRAGFlow email tool test
SMTP Server<your SMTP server>
SMTP Port465
Email<your sender email>
SMTP UsernameLeave blank to use the sender email
Password<your SMTP authorization code or password>
Sender NameLeave blank (optional)

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

MCP tools

MCP connects an Agent to tools provided by a configured MCP server. Add MCP tools through the Agent component's tool selector; they are not a standalone HTTP Request node.

  1. Open User settings > MCP > Add MCP, enter the server URL and authentication, refresh Tools available, and click Save. See Connect an external MCP server.
  2. Open the Agent component, use its tool selector to choose the server, and select the tools to expose.
  3. Describe when to use those tools in System prompt, then run a small test task.

The running user must have permission to use the selected server. Tool arguments and results follow each server's tool schema; downstream Agent output remains the Agent's response. If a call fails, check server access, authentication, and required arguments.

HTTP Request

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

Configuration

SettingDescription
UrlAPI address. Insert canvas variables as needed.
MethodSelect GET, POST, or PUT.
TimeoutRequest timeout in seconds. Defaults to 60.
HeadersRequest headers as a JSON object.
ProxyOptional proxy address.
Clean HTMLRemove HTML markup from the response.
ParameterClick + to add request parameters and set their values using constants or variables.

Configuration Example

SettingExample Value
Urlhttps://httpbin.org/get
MethodGET
Timeout60
Headers{}
Parametertopic = ragflow

Output Result

The result output contains the response body as text. Pass the text to an Agent for summarization, or parse a JSON response body before accessing its fields.

If a URL is rejected, the output can contain _ERROR with a null result. Check for errors before consuming the response. Other request failures can surface as component execution errors.

Example: request, response, and next step

Connect Begin → HTTP Request → Message. Set URL to https://httpbin.org/get, Method to GET, and add a parameter named topic with the fixed value ragflow.

If the service is accessible from the server, its JSON response body includes:

{"args": {"topic": "ragflow"}}

The component returns that body as the string result. In Message, insert HTTP Request's result to display it. To use only args.topic, first parse result in a Code component. If the test returns _ERROR, resolve that failure before consuming the result.

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. Available for PDF, DOCX, and HTML.
add_page_numbersbooleanNotrueWhether to add page numbers. Mainly used for PDF/DOCX.
add_timestampbooleanNotrueWhether to add generation time.
font_sizenumberNo12Font size, which must be greater than or equal to 12.

Configuration Example

Configuration ItemExample Value
Content# RAGFlow Agent
Output Formatpdf
Filenameragflow-agent-test.pdf
Header TextRAGFlow
Footer TextInternal Test
Watermark TextDRAFT
Add Page Numberstrue
Add Timestamptrue
Font Size12

Output Result

Use download to display the generated file in a Message. The other outputs identify the file and describe its name, type, and size.

Example: generate a downloadable PDF

  1. Connect Begin → Document Generator → Message. Begin needs no additional inputs.
  2. In Document Generator, set Content to # Sample report, Output Format to PDF, and Filename to sample-report.pdf. Keep the other settings at their defaults.
  3. In Message, open the variable selector and insert Document Generator's download output.
  4. Save and click Run. The conversation should show a downloadable file named sample-report.pdf; open it to check that it contains the heading Sample report.