FlowRunner
Pricing
Theme

Open-source vector-similarity extension for PostgreSQL. Enable the extension, create vector tables and ANN indexes, insert and upsert embeddings, and run nearest-neighbor search to build a RAG store on Postgres.

10 actions available
New content is ready to enter the vector store
Agent reads the text and its embedding from an upstream step
Agent writes rows with Upsert Embeddings keyed on a conflict column
Agent runs Similarity Search to confirm the new rows are retrievable
Agent verifies the returned distances fall in the expected range
Agent reports the ingest count to the owning team
Any bulk Delete Embeddings run waits for an owner to approve

What This Integration Enables

The PGVector connector exposes everything a vector store on Postgres needs. Agents run Enable Extension once, create a vector table with the right dimension, and build an HNSW or IVFFlat index for the metric they intend to query by. Insert Embeddings and Upsert Embeddings write vectors alongside their source text and metadata. Similarity Search returns the nearest rows ordered nearest-first with a computed distance. For anything the dedicated actions do not cover, Execute Query runs parameterized SQL. Get Table Schema and List Tables let the agent discover which tables hold embeddings before it acts. Values are always bound as parameters, never interpolated, so an agent cannot smuggle input into the SQL. Agents commonly pair this with an embedding provider. A flow can call [OpenAI](/integrations/openai-ai) or [Cohere](/integrations/cohere) to embed a chunk, then write the result with Upsert Embeddings, so the vector store stays current as content changes.

Without FlowRunner

Vectors live elsewhere Embeddings sit in a separate service away from the source rows
Sync drifts The vector store and the relational data fall out of step
Search stands alone Retrieval is a system to run, not a query to write

With FlowRunner

Memory next to data Embeddings live in the same Postgres as their source records
One store to keep current Upsert Embeddings keeps vectors in step with the source rows
Search is a step Similarity Search returns nearest rows with a distance column

Use Case Scenarios

RAG Backend On Existing Postgres

A team already stores its documents in Postgres. The agent runs Enable Extension once, then Create Vector Table with the dimension of its embedding model and Create Index for cosine distance. As documents change, the agent embeds each chunk with an external model and writes it via Upsert Embeddings keyed on the document ID. Retrieval is a single Similarity Search call. The vector store and the source rows live in the same database, so they never drift apart.

Deduplicating Incoming Records

New records arrive that may duplicate existing ones. The agent embeds each incoming record and runs Similarity Search against the store. Records whose nearest neighbor sits below a distance threshold are flagged as likely duplicates and set aside for review. The rest are written with Insert Embeddings. The agent does the matching; a person decides the close calls.

Purging A Retired Dataset

A dataset should be removed from the store. The agent counts the affected rows with a scoped Execute Query and assembles a summary of what a Delete Embeddings run would remove. It routes that summary to the data owner. Only after approval does it run the delete, which requires exactly one selector so it cannot accidentally clear the whole table.

Human-in-Loop Highlight

A similarity search reads the store. A bulk delete rewrites it. [Human-in-the-loop](/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 PGVector connector places that pause on the destructive write: a Delete Embeddings run that targets many rows, or an Execute Query that would modify data at scale. When a flow reaches such a step, the agent first counts what the operation would affect, then asks the owner through their channel: "This purge would delete 12,400 embedding rows from the archived-docs table. It cannot be undone. Proceed?" The connector already guards against full-table deletes by requiring an explicit selector. The human review handles the judgment the guard cannot: whether this data should be removed at all. The agent runs the ingest and the search on its own; a person owns every write that erases rows.

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

10 actions

Extension

1
  • Enable Extension Enable the pgvector extension on the connected database (CREATE EXTENSION IF NOT EXISTS vector). Run once per database before using vector features.

Tables

1
  • Create Vector Table Create a table with a vector column of a fixed dimension, a selectable primary key (Serial, Text, or UUID), and optional metadata columns.

Indexes

1
  • Create Index Build an HNSW or IVFFlat approximate-nearest-neighbor index for a chosen metric to dramatically speed up similarity search on large tables.

Embeddings

3
  • Insert Embeddings Bulk-insert rows whose embedding column is an array of numbers converted to a vector literal; other keys become regular column values.
  • Upsert Embeddings Insert embedding rows and update existing rows on conflict (INSERT ... ON CONFLICT ... DO UPDATE). Ideal for re-embedding in place.
  • Delete Embeddings Delete embedding rows by a list of IDs or by an equality Where object. Exactly one selector is required to prevent full-table deletes.

Search

1
  • Similarity Search Return the nearest rows to a query embedding, ordered nearest-first, with a computed distance column. The core retrieval operation for RAG on Postgres.

SQL

1
  • Execute Query Run any SQL statement with bound parameter placeholders. Vector literals are passed as strings. Statements are limited to 120 seconds.

Schema

2
  • Get Table Schema Return the column definitions of a table, with an isVector flag identifying embedding columns.
  • List Tables List all tables and views in user schemas, each flagged with whether it contains a vector column.

Start building with PGVector

$100 in credits. No card required. Connect in minutes.