Reference · Tools

OpenAI File Search

Search through uploaded files using OpenAI vector stores via the Responses API.

Action AI v1

OpenAI File Search answers questions from documents you have already uploaded into OpenAI vector stores, returning response text with inline citations plus ranked results linking back to the source files. A typical build is answering internal policy questions from a vector store of company documents.

Node type
Action
Parameters
7
Outputs
Output, Error
Credentials
OpenAI

OpenAI File Search

Search through uploaded files using OpenAI vector stores via the Responses API.

Overview

OpenAI File Search uses the Responses API (POST /responses) with the file_search tool to search through documents stored in OpenAI vector stores. Provide one or more vector store IDs and a query, and the model will retrieve relevant file content and generate a response with citations. Supports configurable model selection, system prompts, max number of results, temperature, and max output tokens. Returns the response text, file search results with citations, and usage metadata.

Category: AI
Tool Name: openai_file_search
Version: 1

Appearance: Icon: openai | Color: #10a37f

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires OpenAI credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
ModeloptionsNo(current default)The OpenAI model to use for file search and response generation. Always uses the latest version (auto-updated).
Options: the OpenAI chat models available to your workspace — pick one from the dropdown.
System PromptstringNoSystem instructions that guide how the model searches and responds. Leave empty for default behavior. Supports expressions.
User MessagestringYesThe search query or question about the uploaded files. Falls back to item.json.message or item.json.prompt if empty. Supports expressions.
Vector Store IDsstringNoJSON array of vector store IDs (e.g. ’[“vs_abc123”]’), or a single vector store ID string. Can also come from item.json.vectorStoreIds. Supports expressions.
OptionscollectionNo{}Optional search and generation settings — add only the fields you need.
— Max ResultsnumberNo5Maximum number of file search results to retrieve from the vector store.
— TemperaturenumberNo1Sampling temperature (0-2). Lower values make output more focused and deterministic.
— Max Output TokensnumberNo4096Maximum number of tokens the model can generate in the response.
— Response Field NamestringNoresponseField name in the output JSON where the response text will be placed.
Include InputbooleanNofalseWhether to include the original input item fields in the output alongside the response.
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

One output item per input item. The answer lands on the field named by Response Field Name (response by default), with the retrieval record in fileSearchResults, plus model and usage. The rest of the input item JSON is dropped unless Include Input is on; binary data on the input item is forwarded unchanged.

{
  "response": "The answer synthesized from the retrieved documents",
  "fileSearchResults": [],
  "model": "the model that produced the answer",
  "usage": { "input_tokens": 2400, "output_tokens": 310 }
}
  • fileSearchResults holds the file-search calls the model made while answering, exactly as the API reported them. It is an empty array when the model answered without searching.
  • Vector stores are created and populated in your OpenAI account — this node reads from them, it does not create them. Use OpenAI File Upload to get files into OpenAI first.

Reference the result downstream by expression, e.g. {{ $json.response }}.

Usage Examples

  • Search uploaded documents in a vector store for specific information
  • Ask questions about PDFs stored in OpenAI and get cited answers
  • Retrieve relevant content from a knowledge base using semantic search
  • Search multiple vector stores simultaneously for information
  • Query legal documents and get responses with file citations

Example Configuration

Ask a question against one vector store:

{
  "type": "openai_file_search",
  "parameters": {
    "userMessage": "What is the refund window in the policy documents?",
    "vectorStoreIds": "vs_abc123"
  }
}

Search several stores, retrieve more passages, and keep the original fields:

{
  "type": "openai_file_search",
  "parameters": {
    "systemPrompt": "Answer only from the retrieved documents and cite the file each fact came from.",
    "userMessage": "{{ $json.question }}",
    "vectorStoreIds": "[\"vs_abc123\", \"vs_def456\"]",
    "includeInput": true,
    "options": {
      "maxNumResults": 20,
      "temperature": 0,
      "responseFieldName": "answer"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

OpenAI File Search queries documents stored in OpenAI vector stores by sending a natural language prompt and one or more vector store IDs to the Responses API. Use this tool when workflows need to extract and synthesize information from previously uploaded documents rather than relying on pretrained model knowledge or live web data. It outputs response text with inline citations, ranked file search results linking back to source documents, and usage metadata such as input and output token counts.

Frequently asked questions

How do documents get into the vector store?

Upload them first with OpenAI File Upload, then reference the vector store IDs here. This node queries; it does not ingest.

Are the answers traceable?

Yes — the output carries inline citations and ranked file search results that link back to the source documents, so a claim can be checked rather than taken on trust.

How is this different from Web Search?

This searches your own uploaded documents; Web Search queries the live internet. Use this when the answer should come only from your corpus.

What usage information comes back?

Input and output token counts alongside the response, which is how you track the cost of a retrieval-heavy workflow.

Build with the OpenAI File Search node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need OpenAI credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.