Skip to content

docs: Add dynamic vector_store_ids support for File Search toolbox#786

Open
Nivedha-Chellam wants to merge 1 commit into
MicrosoftDocs:mainfrom
Nivedha-Chellam:nichella/file-search-dynamic-params
Open

docs: Add dynamic vector_store_ids support for File Search toolbox#786
Nivedha-Chellam wants to merge 1 commit into
MicrosoftDocs:mainfrom
Nivedha-Chellam:nichella/file-search-dynamic-params

Conversation

@Nivedha-Chellam

Copy link
Copy Markdown

Summary

Adds documentation for dynamic �ector_store_ids parameter passing with the File Search tool in toolboxes.

Changes

  • File Search section: Added pinned vs dynamic configuration patterns across all SDK tabs (REST, Python, .NET, JavaScript, azd)
  • Foundry portal note: Documents that dynamic parameter passing is SDK/REST only (not yet supported in UI)
  • tools/call arguments table: Added �ector_store_ids entry for the dynamic use case

Context

With dynamic parameter support (Stage 1), customers can now choose to either:

  1. Pin \�ector_store_ids\ at toolbox creation time (existing behavior)
  2. Omit them and pass dynamically at \ ools/call\ time via the SDK/REST

This enables scenarios where the vector store is determined at runtime (e.g., per-user or per-session stores).

Document pinned vs dynamic vector_store_ids patterns for File Search.
When omitted from toolbox config, callers can pass vector_store_ids
at tools/call time for multi-tenant scenarios. Added examples for
REST, Python, .NET, JavaScript, and azd. Noted Foundry portal UI
limitation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Nivedha-Chellam

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree company="Microsoft"

@Nivedha-Chellam please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="Microsoft"

@prmerger-automator

Copy link
Copy Markdown
Contributor

@Nivedha-Chellam : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change. @jonburchel

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 608dc87:

✅ Validation status: passed

File Status Preview URL Details
articles/foundry/agents/how-to/tools/toolbox.md ✅Succeeded

For more details, please refer to the build report.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation describing two configuration patterns for the File Search tool in a toolbox—either pinning vector_store_ids at toolbox creation time or omitting them and supplying the IDs dynamically at tools/call time—across the REST, SDK, and azd CLI pivots.

Changes:

  • Expanded the File Search section to explain pinned vs. dynamic vector_store_ids usage and added a NOTE about current UI limitations.
  • Added new “Dynamic” examples for REST, Python, .NET, JavaScript, and azd pivots.
  • Updated the tools/call arguments table to include a dynamic vector_store_ids example for File Search.

Comment on lines +2108 to +2112
You can configure `vector_store_ids` in two ways:

- **Pinned at toolbox creation** — provide `vector_store_ids` in the tool configuration. The vector store is fixed for all calls and can't be overridden at runtime.
- **Dynamic at runtime** — omit `vector_store_ids` from the tool configuration. Callers provide it in the `tools/call` arguments, enabling scenarios like multi-tenant document stores where each call targets a different vector store.

| --------- | --------- |
| AI Search | `{"query": "search text"}` |
| File Search | `{"queries": ["search text"]}` |
| File Search | `{"queries": ["search text"]}` — or `{"queries": ["search text"], "vector_store_ids": ["<ID>"]}` when vector store is passed dynamically |
Comment on lines +2288 to +2291
:::zone pivot="vscode"

The Foundry portal currently requires `vector_store_ids` when adding a File Search tool. To create a File Search tool without `vector_store_ids` (enabling dynamic passing at runtime), use the REST API, SDK, or azd CLI.

When `vector_store_ids` is omitted, callers pass it in the `tools/call` arguments:

```json
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"file_search","arguments":{"queries":["search text"],"vector_store_ids":["<VECTOR_STORE_ID>"]}}}
@Court72

Court72 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@lindazqli

Can you review the proposed changes?

Important: These changes need to be moved into the private repo for staging and automated checks. If you approve the changes, can you open a PR in the private repo to move the commits? Let us know if you'd like the PR review team's assistance.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@prmerger-automator prmerger-automator Bot added the aq-pr-triaged C+L Pull Request Review Team label label Jul 14, 2026
@prmerger-automator

Copy link
Copy Markdown
Contributor

@Nivedha-Chellam : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change. @jonburchel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants