---
title: "Milvus Integration"
description: "Open-source vector database (and Zilliz Cloud) for similarity search and agent memory. Manage collections, write and delete entities, run vector search, and administer indexes and partitions."
url: https://flowrunner.ai/integrations/milvus
date_modified: 2026-08-07T17:20:23-07:00
---

# Milvus

[Vector Stores & AI Infra](https://flowrunner.ai/integrations/category/vector-stores-ai-infra)

Open-source vector database (and Zilliz Cloud) for similarity search and agent memory. Manage collections, write and delete entities, run vector search, and administer indexes and partitions.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 21 actions · API key · available

[Milvus website](https://milvus.io/) · [Platform Documentation](https://milvus.io/docs) · Capability data verified 2026-08-12

1.  New content is ready to enter the collection
2.  Agent reads the row and its vector from an upstream step
3.  Agent writes with Upsert Entities into a loaded collection
4.  Agent confirms the row count with Get Collection Stats
5.  Agent runs Search Entities to confirm the content is retrievable
6.  Agent reports the collection size change to the owning team
7.  Any Drop Collection call waits for an owner to approve

## What This Integration Enables

The Milvus connector covers the database end to end. Agents create collections in quick-setup mode with a dimension and metric or with a full custom schema, then load them into memory so they can serve queries. Insert Entities, Upsert Entities, and Delete Entities write and remove rows. Search Entities runs vector similarity search with scalar filtering and output selection; Query Entities and Get Entities retrieve by filter or primary key. Agents create, describe, list, and drop indexes, and manage partitions to scope large collections. The connector unwraps the REST envelope, so a step returns data on success and throws a carried error on failure. One thing to remember: a collection must be loaded before it can serve search or query results.

Agents typically embed content with a provider such as [OpenAI](https://flowrunner.ai/integrations/openai-ai) or [Cohere](https://flowrunner.ai/integrations/cohere) before an Insert Entities call, or pull batches from a source like [Airtable](https://flowrunner.ai/integrations/airtable) to sync into a collection.

### Without FlowRunner

**Search built by hand**: Nearest-neighbor infrastructure is a project per use case

**Collection drifts**: Inserts and deletes fall behind the source of truth

**No memory scope**: Retrieval spans everything, with no way to partition by tenant

### With FlowRunner

**Search as a step**: Search Entities returns ranked neighbors from a loaded collection

**Collection stays current**: Insert, upsert, and delete keep the vector store in step

**Scoped by partition**: Partitions let searches and inserts target a subset of the data

## Use Case Scenarios

### RAG Backend At Scale

A team needs semantic search over a large corpus. The agent creates a collection with the model's dimension and cosine metric, creates an AUTOINDEX on the vector field, and loads the collection. As content arrives it embeds each row and writes it with Insert Entities. On a user query it embeds the question and calls Search Entities, which returns the nearest rows ranked by distance. The load step is explicit, so the agent confirms the collection is loaded before it searches.

### Multi-Tenant Retrieval

Different customers should not see each other's data. The agent creates a partition per tenant with Create Partition, then scopes inserts and searches to the right partition. A query for one tenant never touches another tenant's rows. Partitioning keeps retrieval both faster and cleanly separated.

### Decommissioning A Collection

A collection has served its purpose. The agent reads its entity count with Get Collection Stats and its recent search activity, assembles a summary of what Drop Collection would remove, and routes it to the data owner. Only after approval does it release the collection and drop it, which is permanent.

## Human-in-Loop Highlight

Searching a loaded collection is read-only. Dropping a collection deletes every entity and index it holds. [Human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) is an execution pattern where AI agents pause autonomously, assemble the relevant context and the decision choices available, route to a human via their preferred channel, and resume the moment the human responds. The Milvus connector places that pause on Drop Collection, the one action a query cannot reverse. When a flow reaches that step, the agent first pulls the entity count with Get Collection Stats and the recent query activity, then asks the owner through their channel: "The archived-tickets collection holds 240,000 entities and was last searched twelve days ago. Dropping it is permanent. Drop it?" The agent handles loading, writing, and searching on its own. A person owns the decision to erase a collection the business built.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

21 actions

### Collections

8

-   **Create Collection** Create a new collection in quick-setup mode with a dimension and metric type, or with a full custom schema. A collection must be loaded before it can be searched.
-   **List Collections** Retrieve the names of all collections in the current database.
-   **Describe Collection** Retrieve the full definition of a collection, including schema, indexes, load status, aliases, and consistency level.
-   **Drop Collection** Permanently delete a collection along with all entities and indexes it contains. This cannot be undone.
-   **Has Collection** Check whether a collection with the given name exists in the current database.
-   **Get Collection Stats** Retrieve statistics for a collection, most notably its total entity (row) count.
-   **Load Collection** Load a collection and its index into memory so it can serve search and query requests. Required before searching.
-   **Release Collection** Release a collection from memory to free resources. Once released it can no longer serve searches until loaded again.

### Entities

6

-   **Insert Entities** Insert one or more entities (rows) into a collection whose keys match the collection field names. Returns the inserted count and primary keys.
-   **Upsert Entities** Insert new entities or replace existing ones matched by primary key. Writes data idempotently without checking for existence first.
-   **Delete Entities** Delete entities from a collection by an explicit list of primary key IDs or by a boolean filter expression.
-   **Search Entities** Perform a vector similarity search: the primary nearest-neighbor operation. Supply query vectors and get the closest entities ranked by distance. The collection must be loaded first.
-   **Query Entities** Retrieve entities that match a scalar boolean filter expression, without vector similarity. The collection must be loaded first.
-   **Get Entities** Retrieve entities from a collection by their primary key IDs. The collection must be loaded first.

### Indexes

4

-   **Create Index** Create one or more indexes on fields of a collection to accelerate vector search and scalar filtering.
-   **Describe Index** Retrieve the configuration and build state of a specific index on a collection.
-   **List Indexes** Retrieve the names of all indexes defined on a collection.
-   **Drop Index** Permanently delete an index from a collection. The collection must be released from memory first.

### Partitions

3

-   **List Partitions** Retrieve the names of all partitions within a collection.
-   **Create Partition** Create a new partition within a collection to group entities so searches and inserts can be scoped to a subset of the data.
-   **Drop Partition** Permanently delete a partition and all entities it contains. The partition must be released from memory first. This cannot be undone.

## Frequently Asked Questions

### What can FlowRunner do with Milvus?

FlowRunner agents can run Create Collection, List Collections, and Describe Collection in Milvus, plus 18 more actions.

### Does connecting Milvus to FlowRunner require OAuth?

No. Milvus connects to FlowRunner with an API key, no OAuth flow required.

### Can Milvus trigger a FlowRunner workflow automatically?

Milvus doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Milvus?** This integration exposes Milvus to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/milvus. Site index: https://flowrunner.ai/llms.txt
