diff --git a/docs/docs/API-Reference/api-reference-api-examples.md b/docs/docs/API-Reference/api-reference-api-examples.md
index 0c7172c37..3001065e3 100644
--- a/docs/docs/API-Reference/api-reference-api-examples.md
+++ b/docs/docs/API-Reference/api-reference-api-examples.md
@@ -24,8 +24,8 @@ export LANGFLOW_URL="http://127.0.0.1:7860"
```
* Export the `flow-id` in your terminal.
-The `flow-id` is found in the [API pane](/concepts-api) or in the flow's URL.
-```bash
+The `flow-id` is found in the [Publish pane](/concepts-publish) or in the flow's URL.
+```plain
export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"
```
diff --git a/docs/docs/Components/components-agents.md b/docs/docs/Components/components-agents.md
index 70757420c..d3b660a42 100644
--- a/docs/docs/Components/components-agents.md
+++ b/docs/docs/Components/components-agents.md
@@ -253,7 +253,7 @@ For more information, see the [CrewAI documentation](https://docs.crewai.com/how
| Name | Display Name | Info |
|------|--------------|------|
-| task_output | Sequential Task | List of SequentialTask objects representing the created task(s) |
+| task_output | Sequential Task | List of SequentialTask objects representing the created tasks |
## Tool Calling Agent
diff --git a/docs/docs/Components/components-bundles.md b/docs/docs/Components/components-bundles.md
new file mode 100644
index 000000000..20086e509
--- /dev/null
+++ b/docs/docs/Components/components-bundles.md
@@ -0,0 +1,10 @@
+---
+title: Bundles
+slug: /components-bundle-components
+---
+
+**Bundles** are third-party components grouped by provider.
+
+For more information on bundled components, see the component provider's documentation.
+
+
diff --git a/docs/docs/Components/components-data.md b/docs/docs/Components/components-data.md
index d756fe31c..3f33bb628 100644
--- a/docs/docs/Components/components-data.md
+++ b/docs/docs/Components/components-data.md
@@ -75,25 +75,73 @@ This component recursively loads files from a directory, with options for file t
## File
-The FileComponent is a class that loads and parses text files of various supported formats, converting the content into a Data object. It supports multiple file types and provides an option for silent error handling.
+This component loads and parses files of various supported formats and converts the content into a [Data](/concepts-objects) object. It supports multiple file types and provides options for parallel processing and error handling.
-The maximum supported file size is 100 MB.
+To load a document, follow these steps:
+
+1. Click the **Select files** button.
+2. Select a local file or a file loaded with [File management](/concepts-file-management), and then click **Select file**.
+
+The loaded file name appears in the component.
+
+The default maximum supported file size is 100 MB.
+To modify this value, see [--max-file-size-upload](/environment-variables#LANGFLOW_MAX_FILE_SIZE_UPLOAD).
### Inputs
-| Name | Display Name | Info |
-| ------------- | ------------- | -------------------------------------------- |
-| path | Path | File path to load. |
+| Name | Display Name | Info |
+|------|--------------|------|
+| path | Files | Path to file(s) to load. Supports individual files or bundled archives. |
+| file_path | Server File Path | Data object with a `file_path` property pointing to the server file or a Message object with a path to the file. Supersedes 'Path' but supports the same file types. |
+| separator | Separator | Specify the separator to use between multiple outputs in Message format. |
| silent_errors | Silent Errors | If true, errors do not raise an exception. |
+| delete_server_file_after_processing | Delete Server File After Processing | If true, the Server File Path is deleted after processing. |
+| ignore_unsupported_extensions | Ignore Unsupported Extensions | If true, files with unsupported extensions are not processed. |
+| ignore_unspecified_files | Ignore Unspecified Files | If true, `Data` with no `file_path` property is ignored. |
+| use_multithreading | [Deprecated] Use Multithreading | Set 'Processing Concurrency' greater than `1` to enable multithreading. This option is deprecated. |
+| concurrency_multithreading | Processing Concurrency | When multiple files are being processed, the number of files to process concurrently. Default is 1. Values greater than 1 enable parallel processing for 2 or more files. |
### Outputs
-| Name | Display Name | Info |
-| ---- | ------------ | -------------------------------------------- |
-| data | Data | Parsed content of the file as a Data object. |
+| Name | Display Name | Info |
+|------|--------------|------|
+| data | Data | Parsed content of the file as a [Data](/concepts-objects) object. |
+| dataframe | DataFrame | File content as a [DataFrame](/concepts-objects#dataframe-object) object. |
+| message | Message | File content as a [Message](/concepts-objects#message-object) object. |
+
+
+### Supported File Types
+
+Text files:
+- `.txt` - Text files
+- `.md`, `.mdx` - Markdown files
+- `.csv` - CSV files
+- `.json` - JSON files
+- `.yaml`, `.yml` - YAML files
+- `.xml` - XML files
+- `.html`, `.htm` - HTML files
+- `.pdf` - PDF files
+- `.docx` - Word documents
+- `.py` - Python files
+- `.sh` - Shell scripts
+- `.sql` - SQL files
+- `.js` - JavaScript files
+- `.ts`, `.tsx` - TypeScript files
+
+Archive formats (for bundling multiple files):
+- `.zip` - ZIP archives
+- `.tar` - TAR archives
+- `.tgz` - Gzipped TAR archives
+- `.bz2` - Bzip2 compressed files
+- `.gz` - Gzip compressed files
## Gmail Loader
+:::info
+Google components are available in the **Components** menu under **Bundles**.
+For more information, see [Integrate Google OAuth with Langflow](/integrations-setup-google-oauth-langflow).
+:::
+
This component loads emails from Gmail using provided credentials and filters.
For more on creating a service account JSON, see [Service Account JSON](https://developers.google.com/identity/protocols/oauth2/service-account).
@@ -114,6 +162,11 @@ For more on creating a service account JSON, see [Service Account JSON](https://
## Google Drive Loader
+:::info
+Google components are available in the **Components** menu under **Bundles**.
+For more information, see [Integrate Google OAuth with Langflow](/integrations-setup-google-oauth-langflow).
+:::
+
This component loads documents from Google Drive using provided credentials and a single document ID.
For more on creating a service account JSON, see [Service Account JSON](https://developers.google.com/identity/protocols/oauth2/service-account).
@@ -133,6 +186,11 @@ For more on creating a service account JSON, see [Service Account JSON](https://
## Google Drive Search
+:::info
+Google components are available in the **Components** menu under **Bundles**.
+For more information, see [Integrate Google OAuth with Langflow](/integrations-setup-google-oauth-langflow).
+:::
+
This component searches Google Drive files using provided credentials and query parameters.
For more on creating a service account JSON, see [Service Account JSON](https://developers.google.com/identity/protocols/oauth2/service-account).
@@ -178,19 +236,24 @@ This component executes SQL queries on a specified database.
## URL
-This component fetches content from one or more URLs, processes the content, and returns it as a list of [Data](/concepts-objects) objects.
+This component fetches content from one or more URLs, processes the content, and returns it in various formats. It supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.
### Inputs
-| Name | Display Name | Info |
-| ---- | ------------ | ---------------------- |
-| urls | URLs | Enter one or more URLs |
+| Name | Display Name | Info |
+|------|--------------|------|
+| urls | URLs | Enter one or more URLs. URLs are automatically validated and cleaned. |
+| format | Output Format | Output Format. Use **Text** to extract text from the HTML, **Raw HTML** for the raw HTML content, or **JSON** to extract JSON from the HTML. |
+| separator | Separator | Specify the separator to use between multiple outputs. Default for **Text** is `\n\n`. Default for **Raw HTML** is `\n\n`. |
+| clean_extra_whitespace | Clean Extra Whitespace | Whether to clean excessive blank lines in the text output. Only applies to `Text` format. |
### Outputs
-| Name | Display Name | Info |
-| ---- | ------------ | ------------------------------------------------------------ |
-| data | Data | List of Data objects containing fetched content and metadata |
+| Name | Display Name | Info |
+|------|--------------|------|
+| data | Data | List of [Data](/concepts-objects) objects containing fetched content and metadata. |
+| text | Text | Fetched content as formatted text, with applied separators and cleaning. |
+| dataframe | DataFrame | Content formatted as a [Data](/concepts-objects#dataframe-object) object. |
## Webhook
@@ -219,12 +282,14 @@ Your JSON data is posted to the **Chat Output** component, which indicates that
### Inputs
-| Name | Type | Description |
-| ---- | ------ | ---------------------------------------------- |
-| data | String | JSON payload for testing the webhook component |
+| Name | Display Name | Description |
+|------|--------------|-------------|
+| data | Payload | Receives a payload from external systems through HTTP POST requests. |
+| curl | cURL | The cURL command template for making requests to this webhook. |
+| endpoint | Endpoint | The endpoint URL where this webhook receives requests. |
### Outputs
-| Name | Type | Description |
-| ----------- | ---- | ------------------------------------- |
-| output_data | Data | Processed data from the webhook input |
+| Name | Display Name | Description |
+|------|--------------|-------------|
+| output_data | Data | Outputs processed data from the webhook input, and returns an empty [Data](/concepts-objects) object if no input is provided. If the input is not valid JSON, the component wraps it in a `payload` object. |
diff --git a/docs/docs/Components/components-helpers.md b/docs/docs/Components/components-helpers.md
index 7a5a1b8c8..c2de8d86b 100644
--- a/docs/docs/Components/components-helpers.md
+++ b/docs/docs/Components/components-helpers.md
@@ -38,6 +38,10 @@ The Batch Run component runs a language model over each row of a [DataFrame](/co
## Create List
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
This component dynamically creates a record with a specified number of fields.
### Inputs
@@ -135,6 +139,48 @@ It provides flexibility in managing message storage and retrieval within a chat
|------|--------------|------|
| stored_messages | Stored Messages | The list of stored messages after the current message has been added. |
+## Output Parser
+
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
+This component transforms the output of a language model into a specified format. It supports CSV format parsing, which converts LLM responses into comma-separated lists using Langchain's `CommaSeparatedListOutputParser`.
+
+:::note
+This component only provides formatting instructions and parsing functionality. It does not include a prompt. You'll need to connect it to a separate Prompt component to create the actual prompt template for the LLM to use.
+:::
+
+Both the **Output Parser** and **Structured Output** components format LLM responses, but they have different use cases.
+The **Output Parser** is simpler and focused on converting responses into comma-separated lists. Use this when you just need a list of items, for example `["item1", "item2", "item3"]`.
+The **Structured Output** is more complex and flexible, and allows you to define custom schemas with multiple fields of different types. Use this when you need to extract structured data with specific fields and types.
+
+To use this component:
+
+1. Create a Prompt component and connect the Output Parser's `format_instructions` output to it. This ensures the LLM knows how to format its response.
+2. Write your actual prompt text in the Prompt component, including the `{format_instructions}` variable.
+For example, in your Prompt component, the template might look like:
+```
+{format_instructions}
+Please list three fruits.
+```
+3. Connect the `output_parser` output to your LLM model.
+
+4. The output parser converts this into a Python list: `["apple", "banana", "orange"]`.
+
+### Inputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| parser_type | Parser | Select the parser type. Currently supports "CSV". |
+
+### Outputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| format_instructions | Format Instructions | Pass to a prompt template to include formatting instructions for LLM responses. |
+| output_parser | Output Parser | The constructed output parser that can be used to parse LLM responses. |
+
## Structured output
This component transforms LLM responses into structured data formats.
diff --git a/docs/docs/Components/components-logic.md b/docs/docs/Components/components-logic.md
index 04ac64ddf..b87324bbb 100644
--- a/docs/docs/Components/components-logic.md
+++ b/docs/docs/Components/components-logic.md
@@ -36,9 +36,7 @@ It includes code examples of REST and gRPC implementations to demonstrate integr
## Conditional router (If-Else component)
-This component routes an input message to a corresponding output based on text comparison.
-
-The ConditionalRouterComponent routes messages based on text comparison. It evaluates a condition by comparing two text inputs using a specified operator and routes the message accordingly.
+This component routes messages by comparing two strings. It evaluates a condition by comparing two text inputs using the specified operator and routes the message to `true_result` or `false_result`.
### Inputs
@@ -46,11 +44,11 @@ The ConditionalRouterComponent routes messages based on text comparison. It eval
|----------------|----------|-------------------------------------------------------------------|
| input_text | String | The primary text input for the operation. |
| match_text | String | The text input to compare against. |
-| operator | Dropdown | The operator to apply for comparing the texts. |
-| case_sensitive | Boolean | If true, the comparison will be case sensitive. |
+| operator | Dropdown | The operator to compare texts. Options: "equals", "not equals", "contains", "starts with", "ends with", "regex". Default: "equals". |
+| case_sensitive | Boolean | If true, the comparison is case sensitive. This setting is ignored for regex comparison. Default: false. |
| message | Message | The message to pass through either route. |
-| max_iterations | Integer | The maximum number of iterations for the conditional router. |
-| default_route | Dropdown | The default route to take when max iterations are reached. |
+| max_iterations | Integer | (Advanced) The maximum number of iterations for the conditional router. Default: 10. |
+| default_route | Dropdown | (Advanced) The default route to take when max iterations are reached. Options: "true_result" or "false_result". Default: "false_result". |
### Outputs
@@ -59,9 +57,26 @@ The ConditionalRouterComponent routes messages based on text comparison. It eval
| true_result | Message | The output when the condition is true. |
| false_result | Message | The output when the condition is false. |
-## Data conditional router
+### Operator Behavior
-This component routes `Data` objects based on a condition applied to a specified key, including boolean validation.
+The **If-else** component includes a comparison operator to compare the values in `input_text` and `match_text`.
+
+All options respect the `case_sensitive` setting except **regex**.
+
+- **equals**: Exact match comparison
+- **not equals**: Inverse of exact match
+- **contains**: Checks if match_text is found within input_text
+- **starts with**: Checks if input_text begins with match_text
+- **ends with**: Checks if input_text ends with match_text
+- **regex**: Performs regular expression matching. It is always case sensitive and ignores the case_sensitive setting.
+
+## Data Conditional Router
+
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
+This component routes `Data` objects based on a condition applied to a specified key, including boolean validation. It can process either a single Data object or a list of Data objects.
This component is particularly useful in workflows that require conditional routing of complex data structures, enabling dynamic decision-making based on data content.
@@ -69,10 +84,10 @@ This component is particularly useful in workflows that require conditional rout
| Name | Type | Description |
|---------------|----------|-----------------------------------------------------------------------------------|
-| data_input | Data | The data object or list of data objects to process. |
-| key_name | String | The name of the key in the data object to check. |
-| operator | Dropdown | The operator to apply for comparing the values. |
-| compare_value | String | The value to compare against (not used for boolean validator). |
+| data_input | Data | The Data object or list of Data objects to process. Can handle both single items and lists. |
+| key_name | String | The name of the key in the Data object to check. |
+| operator | Dropdown | The operator to apply. Options: "equals", "not equals", "contains", "starts with", "ends with", "boolean validator". Default: "equals". |
+| compare_value | String | The value to compare against. Not shown/used when operator is "boolean validator". |
### Outputs
@@ -81,6 +96,25 @@ This component is particularly useful in workflows that require conditional rout
| true_output | Data/List | Output when the condition is met. |
| false_output | Data/List | Output when the condition is not met. |
+### Operator Behavior
+
+- **equals**: Exact match comparison between the key's value and compare_value
+- **not equals**: Inverse of exact match
+- **contains**: Checks if compare_value is found within the key's value
+- **starts with**: Checks if the key's value begins with compare_value
+- **ends with**: Checks if the key's value ends with compare_value
+- **boolean validator**: Treats the key's value as a boolean. The following values are considered true:
+ - Boolean `true`
+ - Strings: "true", "1", "yes", "y", "on" (case-insensitive)
+ - Any other value is converted using Python's `bool()` function
+
+### List Processing
+
+The following actions occur when processing a list of Data objects:
+- Each object in the list is evaluated individually
+- Objects meeting the condition go to true_output
+- Objects not meeting the condition go to false_output
+- If all objects go to one output, the other output is empty
## Flow as tool {#flow-as-tool}
diff --git a/docs/docs/Components/components-models.md b/docs/docs/Components/components-models.md
index f2f30e772..885ba09e7 100644
--- a/docs/docs/Components/components-models.md
+++ b/docs/docs/Components/components-models.md
@@ -247,6 +247,72 @@ For more information, see the [Hugging Face documentation](https://huggingface.c
|-------|---------------|------------------------------------------------------------------|
| model | LanguageModel | An instance of HuggingFaceHub configured with the specified parameters. |
+## IBM watsonx.ai
+
+This component generates text using [IBM watsonx.ai](https://www.ibm.com/watsonx) foundation models.
+
+To use **IBM watsonx.ai** model components, replace a model component with the IBM watsonx.ai component in a flow.
+
+An example flow looks like the following:
+
+
+
+The values for **API endpoint**, **Project ID**, **API key**, and **Model Name** are found in your IBM watsonx.ai deployment.
+For more information, see the [Langchain documentation](https://python.langchain.com/docs/integrations/chat/ibm_watsonx/).
+
+### Inputs
+
+| Name | Type | Description |
+|---------------------|---------------|------------------------------------------------------------------|
+| url | String | The base URL of the watsonx API. |
+| project_id | String | Your watsonx Project ID. |
+| api_key | SecretString | Your IBM watsonx API Key. |
+| model_name | String | The name of the watsonx model to use. Options are dynamically fetched from the API. |
+| max_tokens | Integer | The maximum number of tokens to generate. Default: `1000`. |
+| stop_sequence | String | The sequence where generation should stop. |
+| temperature | Float | Controls randomness in the output. Default: `0.1`. |
+| top_p | Float | Controls nucleus sampling, which limits the model to tokens whose probability is below the `top_p` value. Range: Default: `0.9`. |
+| frequency_penalty | Float | Controls frequency penalty. A positive value decreases the probability of repeating tokens, and a negative value increases the probability. Range: Default: `0.5`. |
+| presence_penalty | Float | Controls presence penalty. A positive value increases the likelihood of new topics being introduced. Default: `0.3`. |
+| seed | Integer | A random seed for the model. Default: `8`. |
+| logprobs | Boolean | Whether to return log probabilities of output tokens or not. Default: `True`. |
+| top_logprobs | Integer | The number of most likely tokens to return at each position. Default: `3`. |
+| logit_bias | String | A JSON string of token IDs to bias or suppress. |
+
+### Outputs
+
+| Name | Type | Description |
+|-------|---------------|------------------------------------------------------------------|
+| model | LanguageModel | An instance of [ChatWatsonx](https://python.langchain.com/docs/integrations/chat/ibm_watsonx/) configured with the specified parameters. |
+
+## Language model
+
+This component generates text using either OpenAI or Anthropic language models.
+
+Use this component as a drop-in replacement for LLM models to switch between different model providers and models.
+
+Instead of swapping out model components when you want to try a different provider, like switching between OpenAI and Anthropic components, change the provider dropdown in this single component. This makes it easier to experiment with and compare different models while keeping the rest of your flow intact.
+
+For more information, see the [OpenAI documentation](https://platform.openai.com/docs) and [Anthropic documentation](https://docs.anthropic.com/).
+
+### Inputs
+
+| Name | Type | Description |
+|---------------------|--------------|-----------------------------------------------------------------------------------------------|
+| provider | String | The model provider to use. Options: "OpenAI", "Anthropic". Default: "OpenAI". |
+| model_name | String | The name of the model to use. Options depend on the selected provider. |
+| api_key | SecretString | The API Key for authentication with the selected provider. |
+| input_value | String | The input text to send to the model. |
+| system_message | String | A system message that helps set the behavior of the assistant (advanced). |
+| stream | Boolean | Whether to stream the response. Default: `False` (advanced). |
+| temperature | Float | Controls randomness in responses. Range: `[0.0, 1.0]`. Default: `0.1` (advanced). |
+
+### Outputs
+
+| Name | Type | Description |
+|-------|---------------|------------------------------------------------------------------|
+| model | LanguageModel | An instance of ChatOpenAI or ChatAnthropic configured with the specified parameters. |
+
## LMStudio
This component generates text using LM Studio's local language models.
diff --git a/docs/docs/Components/components-processing.md b/docs/docs/Components/components-processing.md
index 960c60318..20b685068 100644
--- a/docs/docs/Components/components-processing.md
+++ b/docs/docs/Components/components-processing.md
@@ -137,6 +137,11 @@ This component performs the following operations on Pandas [DataFrame](https://p
## Data to message
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+Instead, use the [Parser](#parser) component.
+:::
+
:::important
Prior to Langflow version 1.1.3, this component was named **Parse Data**.
:::
@@ -220,6 +225,35 @@ The JSON cleaner component cleans JSON strings to ensure they are fully complian
|------|--------------|------|
| output | Cleaned JSON String | The resulting cleaned, repaired, and validated JSON string that fully complies with the JSON specification. |
+## Lambda filter
+
+This component uses an LLM to generate a Lambda function for filtering or transforming structured data.
+
+To use the **Lambda filter** component, you must connect it to a [Language Model](/components-models#language-model) component, which the component uses to generate a function based on the natural language instructions in the **Instructions** field.
+
+This example gets JSON data from the `https://jsonplaceholder.typicode.com/users` API endpoint.
+The **Instructions** field in the **Lambda filter** component specifies the task `extract emails`.
+The connected LLM creates a filter based on the instructions, and successfully extracts a list of email addresses from the JSON data.
+
+
+
+### Inputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| data | Data | The structured data to filter or transform using a Lambda function. |
+| llm | Language Model | The connection port for a [Model](/components-models) component. |
+| filter_instruction | Instructions | Natural language instructions for how to filter or transform the data using a Lambda function, such as `Filter the data to only include items where the 'status' is 'active'.` |
+| sample_size | Sample Size | For large datasets, the number of characters to sample from the dataset head and tail. |
+| max_size | Max Size | The number of characters for the data to be considered "large", which triggers sampling by the `sample_size` value. |
+
+### Outputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| filtered_data | Filtered Data | The filtered or transformed [Data object](/concepts-objects#data-object). |
+| dataframe | DataFrame | The filtered data as a [DataFrame](/concepts-objects#dataframe-object). |
+
## LLM router
This component routes requests to the most appropriate LLM based on OpenRouter model specifications.
@@ -258,23 +292,50 @@ This component converts [Message](/concepts-objects#message-object) objects to [
| data | Data | The converted [Data](/concepts-objects#data-object) object. |
+## Parser
+
+This component formats `DataFrame` or `Data` objects into text using templates, with an option to convert inputs directly to strings using `stringify`.
+
+To use this component, create variables for values in the `template` the same way you would in a [Prompt](/components-prompts) component. For `DataFrames`, use column names, for example `Name: {Name}`. For `Data` objects, use `{text}`.
+
+### Inputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| stringify | Stringify | Enable to convert input to a string instead of using a template. |
+| template | Template | Template for formatting using variables in curly brackets. For DataFrames, use column names (e.g. `Name: {Name}`). For Data objects, use `{text}`. |
+| input_data | Data or DataFrame | The input to parse - accepts either a DataFrame or Data object. |
+| sep | Separator | String used to separate rows/items. Default: newline. |
+| clean_data | Clean Data | When stringify is enabled, cleans data by removing empty rows and lines. |
+
+### Outputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| parsed_text | Parsed Text | The resulting formatted text as a [Message](/concepts-objects#message-object) object. |
+
## Parse DataFrame
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+Instead, use the [Parser](#parser) component.
+:::
+
This component converts DataFrames into plain text using templates.
### Inputs
| Name | Display Name | Info |
|------|--------------|------|
-| df | DataFrame | The DataFrame to convert to text rows |
-| template | Template | Template for formatting (use `{column_name}` placeholders) |
-| sep | Separator | String to join rows in output |
+| df | DataFrame | The DataFrame to convert to text rows. |
+| template | Template | Template for formatting (use `{column_name}` placeholders). |
+| sep | Separator | String to join rows in output. |
### Outputs
| Name | Display Name | Info |
|------|--------------|------|
-| text | Text | All rows combined into single text |
+| text | Text | All rows combined into single text. |
## Parse JSON
diff --git a/docs/docs/Components/components-tools.md b/docs/docs/Components/components-tools.md
index 418f6fc62..f60482ea1 100644
--- a/docs/docs/Components/components-tools.md
+++ b/docs/docs/Components/components-tools.md
@@ -220,6 +220,10 @@ This component allows you to call the Glean Search API.
## Google Search API
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
This component allows you to call the Google Search API.
### Inputs
@@ -337,6 +341,10 @@ The component dynamically updates its configuration based on the provided Python
## Python REPL Tool
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
This component creates a Python REPL (Read-Eval-Print Loop) tool for executing Python code.
### Inputs
@@ -392,6 +400,10 @@ This component creates a tool for searching using SearXNG, a metasearch engine.
## Search API
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
This component calls the `searchapi.io` API. It can be used to search the web for information.
For more information, see the [SearchAPI documentation](https://www.searchapi.io/docs/google).
@@ -456,6 +468,10 @@ This component performs searches using the Tavily AI search engine, which is opt
## Wikidata
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
This component performs a search using the Wikidata API.
### Inputs
@@ -474,6 +490,10 @@ This component performs a search using the Wikidata API.
## Wikipedia API
+:::important
+This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
+:::
+
This component creates a tool for searching and retrieving information from Wikipedia.
### Inputs
diff --git a/docs/docs/Components/components-vector-stores.md b/docs/docs/Components/components-vector-stores.md
index 8fa7ec449..fba582188 100644
--- a/docs/docs/Components/components-vector-stores.md
+++ b/docs/docs/Components/components-vector-stores.md
@@ -319,6 +319,30 @@ For more information, see the [FAISS documentation](https://faiss.ai/index.html)
|----------------|------------------------|--------------------------------|
| vector_store | FAISS | A FAISS vector store instance configured with the specified parameters. |
+## Graph RAG
+
+This component performs Graph RAG (Retrieval Augmented Generation) traversal in a vector store, enabling graph-based document retrieval.
+For more information, see the [Graph RAG documentation](https://datastax.github.io/graph-rag/).
+
+For an example flow, see the **Graph RAG** template.
+
+### Inputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| embedding_model | Embedding Model | Specify the embedding model. This is not required for collections embedded with [Astra vectorize](https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html). |
+| vector_store | Vector Store Connection | Connection to the vector store. |
+| edge_definition | Edge Definition | Edge definition for the graph traversal. For more information, see the [GraphRAG documentation](https://datastax.github.io/graph-rag/reference/graph_retriever/edges/). |
+| strategy | Traversal Strategies | The strategy to use for graph traversal. Strategy options are dynamically loaded from available strategies. |
+| search_query | Search Query | The query to search for in the vector store. |
+| graphrag_strategy_kwargs | Strategy Parameters | Optional dictionary of additional parameters for the retrieval strategy. For more information, see the [strategy documentation](https://datastax.github.io/graph-rag/reference/graph_retriever/strategies/). |
+
+### Outputs
+
+| Name | Type | Description |
+|------|------|-------------|
+| search_results | List[Data] | Results of the graph-based document retrieval as a list of [Data](/concepts-objects#data-object) objects. |
+
## Hyper-Converged Database (HCD) Vector Store
This component implements a Vector Store using HCD.
@@ -664,33 +688,6 @@ For more information, see the [Vectara documentation](https://docs.vectara.com/d
|----------------|------------|----------------------------|
| search_results | List[Data] | Results of similarity search |
-## Vectara RAG
-
-This component leverages Vectara's Retrieval Augmented Generation (RAG) capabilities to search and summarize documents based on the provided input. For more information, see the [Vectara documentation](https://docs.vectara.com/docs/).
-
-### Inputs
-
-| Name | Type | Description |
-|-----------------------|--------------|------------------------------------------------------------|
-| vectara_customer_id | String | Vectara customer ID |
-| vectara_corpus_id | String | Vectara corpus ID |
-| vectara_api_key | SecretString | Vectara API key |
-| search_query | String | The query to receive an answer on |
-| lexical_interpolation | Float | Hybrid search factor (0.005 to 0.1) |
-| filter | String | Metadata filters to narrow the search |
-| reranker | String | Reranker type (mmr, rerank_multilingual_v1, none) |
-| reranker_k | Integer | Number of results to rerank (1 to 100) |
-| diversity_bias | Float | Diversity bias for MMR reranker (0 to 1) |
-| max_results | Integer | Maximum number of search results to summarize (1 to 100) |
-| response_lang | String | Language code for the response (for example, "eng", "auto") |
-| prompt | String | Prompt name for summarization |
-
-### Outputs
-
-| Name | Type | Description |
-|--------|---------|-----------------------|
-| answer | Message | Generated RAG response|
-
## Weaviate
This component facilitates a Weaviate Vector Store setup, optimizing text and document indexing and retrieval.
diff --git a/docs/docs/Concepts/concepts-file-management.md b/docs/docs/Concepts/concepts-file-management.md
new file mode 100644
index 000000000..0ee65016b
--- /dev/null
+++ b/docs/docs/Concepts/concepts-file-management.md
@@ -0,0 +1,67 @@
+---
+title: Manage files
+slug: /concepts-file-management
+---
+
+Upload, store, and manage files in Langflow's **File management** system.
+
+Uploading files to the **File management** system keeps your files in a central location, and allows you to re-use files across flows without repeated manual uploads.
+
+## Upload a file
+
+The **File management** system is available at the `/files` URL. For example, if you're running Langflow at the default `http://127.0.0.1:7860` address, the **File management** system is located at `http://127.0.0.1:7860/files`.
+
+To upload a file from your local machine:
+
+1. From the **My Files** window at `http://127.0.0.1:7860/files`, click **Upload**.
+2. Select the file to upload.
+The file is uploaded to Langflow.
+
+Files stored in **My Files** can be renamed, downloaded, duplicated, or deleted.
+
+Files are available to flows stored in different folders.
+
+## Use uploaded files in a flow
+
+To use your uploaded files in flows:
+
+1. Include the [File](/components-data#file) component in a flow.
+2. To select a document to load, in the **File** component, click the **Select files** button.
+3. Select a file to upload, and then click **Select file**. The loaded file name appears in the component.
+
+For an example of using the **File** component in a flow, see the [Document QA tutorial project](/tutorials-document-qa).
+
+:::note
+If you prefer a one-time upload, the [File](/components-data#file) component still allows one-time uploads directly from your local machine.
+:::
+
+## Supported file types
+
+The maximum supported file size is 100 MB.
+
+Text files:
+- `.txt` - Text files
+- `.md`, `.mdx` - Markdown files
+- `.csv` - CSV files
+- `.json` - JSON files
+- `.yaml`, `.yml` - YAML files
+- `.xml` - XML files
+- `.html`, `.htm` - HTML files
+- `.pdf` - PDF files
+- `.docx` - Word documents
+- `.py` - Python files
+- `.sh` - Shell scripts
+- `.sql` - SQL files
+- `.js` - JavaScript files
+- `.ts`, `.tsx` - TypeScript files
+
+Archive formats (for bundling multiple files):
+- `.zip` - ZIP archives
+- `.tar` - TAR archives
+- `.tgz` - Gzipped TAR archives
+- `.bz2` - Bzip2 compressed files
+- `.gz` - Gzip compressed files
+
+
+
+
diff --git a/docs/docs/Concepts/concepts-overview.md b/docs/docs/Concepts/concepts-overview.md
index 0533b234d..2463ed6fc 100644
--- a/docs/docs/Concepts/concepts-overview.md
+++ b/docs/docs/Concepts/concepts-overview.md
@@ -36,7 +36,7 @@ The flow storage location can be customized with the [LANGFLOW_CONFIG_DIR](/envi
If you're new to Langflow, it's OK to feel a bit lost at first. We’ll take you on a tour, so you can orient yourself and start creating applications quickly.
-Langflow has four distinct regions: the [workspace](#workspace) is the main area where you build your flows. The components sidebar is on the left, and lists the available [components](#components). The [playground](#playground) and [API pane](#api-pane) are available in the upper right corner.
+Langflow has four distinct regions: the [workspace](#workspace) is the main area where you build your flows. The components sidebar is on the left, and lists the available [components](#components). The [playground](#playground) and [Publish pane](#publish-pane) are available in the upper right corner.

@@ -75,11 +75,11 @@ For more information, see the [Playground](/concepts-playground).

-## API pane {#api-pane}
+## Publish pane {#publish-pane}
-The **API** pane provides code templates to integrate your flows into external applications.
+The **Publish** pane provides code templates to integrate your flows into external applications.
-For more information, see the [API pane](/concepts-api).
+For more information, see the [Publish pane](/concepts-publish).

@@ -126,6 +126,12 @@ Projects, folders, and flows are exchanged as JSON objects.
* To move a flow or component, drag and drop it into the desired folder.
+## File management
+
+Upload, store, and manage files in Langflow's **File management** system.
+
+For more on managing your files, see [Manage files](/concepts-file-management).
+
## Options menu
The dropdown menu labeled with the project name offers several management and customization options for the current flow in the Langflow workspace.
diff --git a/docs/docs/Concepts/concepts-api.md b/docs/docs/Concepts/concepts-publish.md
similarity index 67%
rename from docs/docs/Concepts/concepts-api.md
rename to docs/docs/Concepts/concepts-publish.md
index ff66841a2..392b62029 100644
--- a/docs/docs/Concepts/concepts-api.md
+++ b/docs/docs/Concepts/concepts-publish.md
@@ -1,44 +1,41 @@
---
-title: API pane
-slug: /concepts-api
+title: Publish flows
+slug: /concepts-publish
---
-
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
-The **API** pane presents code templates for integrating your flow into external applications.
+Langflow provides several ways to publish and integrate your flows into external applications. Whether you want to expose your flow via API endpoints, embed it as a chat widget in your website, or share it as a public playground, this guide covers the options available for making your flows accessible to users.
+
+## API access
+
+The **API** pane presents code templates for integrating your flow into external applications.
