FlowRunner
Pricing
Theme

CrateDB

Database

Connect AI agents to CrateDB over its SQL-over-HTTP endpoint. Agents run parameterized SQL and high-throughput batched writes against distributed time-series and IoT data.

2 actions available
A file or feed of sensor readings arrives from an upstream service
Agent parses the records into rows to load
Agent runs Execute Bulk SQL to batch-insert the readings in one request
Agent reads the per-row results and flags any set that failed at runtime
Agent runs Execute SQL to query the freshly loaded data for anomalies
Agent posts the anomaly summary to the team via Slack
Any Execute SQL that runs a DELETE or DROP TABLE against production pauses for approval

What This Integration Enables

Agents query time-series and IoT data and feed the rows into downstream steps, run INSERT, UPDATE, DELETE, and DDL as part of a workflow with positional parameters, and bulk-load many records efficiently. Execute SQL returns columns, rows, an affected-row count, and query duration; Execute Bulk SQL returns one row count per parameter set, where a count of `-2` marks a set that failed at runtime. Because bulk operations do not return rows, SELECT is reserved for Execute SQL.

Without FlowRunner

One row at a time Loading a large batch means a slow loop of single inserts
SQL buried in scripts Ingestion queries live in cron jobs no one owns
No failure visibility A failed row in a batch load goes unnoticed

With FlowRunner

High-throughput ingest Execute Bulk SQL loads many records in a single batched request
Ingestion in the flow Reads and writes run as named steps with a full run log
Per-row failure results Bulk results report which parameter sets failed at runtime

Use Case Scenarios

Batch ingestion from a file feed

A file of sensor readings lands from an upstream connector. The agent parses it and calls Execute Bulk SQL to batch-insert every reading in a single request, then reads the per-set results to confirm none failed. The high-volume load that would have been a slow insert loop happens in one batched call.

Anomaly detection over recent data

The agent calls Execute SQL to query the most recent window of readings, evaluates the rows against a threshold, and when a metric crosses the line it posts a summary to the team channel with Slack. If you already run a companion time-series store, an agent can read from CrateDB here and mirror the results into [QuestDB](/integrations/questdb) as a separate step.

Maintenance write with a human gate

An agent needs to prune or restructure a table. Before it runs a DELETE or DROP TABLE against production through Execute SQL, it does not act on its own. It routes the statement for approval and runs it only after a person confirms.

Human-in-Loop Highlight

Execute SQL will run whatever statement you give it, including a DELETE with no filter or a DROP TABLE, and against production that is exactly the moment to bring in a person. FlowRunner's answer is human-in-the-loop, an execution pattern where the agent pauses on its own, assembles the context and the choices, routes to a human on their preferred channel, and resumes the moment they respond. When an Execute SQL statement is a DELETE without a bounded predicate, or any DDL against a table flagged as production, the agent pauses before posting it and asks through Slack: "This statement will `DELETE FROM readings` with no WHERE. Here is the full SQL. Approve, add a predicate, or cancel?" The statement runs only after a person confirms, with the approver and timestamp captured in the run log. A connector can run any SQL; an orchestration layer knows which SQL should stop and ask.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via Slack
Human decides
Agent resumes with decision

Agent Capabilities

2 actions

SQL

2
  • Execute SQL Runs a single parameterized SQL statement (SELECT, INSERT, UPDATE, DELETE, or DDL) bound to `?` or `$1, $2` placeholders, and returns columns, rows, an affected-row count, and query duration. An optional flag adds a column-types array to the result.
  • Execute Bulk SQL Applies one parameterized statement to each set of parameters in a bulk array for high-throughput ingestion, returning one row count per set. Writes only; SELECT is not supported, and a count of `-2` marks a set that failed at runtime.

Start building with CrateDB

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