FlowRunner
Pricing
Theme

Oracle Database

Database

Connect AI agents to Oracle Database in Thin mode (no Instant Client). Agents run SQL and PL/SQL, do CRUD without SQL, and inspect schemas as governed steps in a flow.

9 actions available
A flow needs to call a stored procedure and act on its result
Agent runs Execute PL/SQL Block and captures the OUT bind values
Agent reads the returned values into flow variables
Agent evaluates the result against the expected range
Agent runs Execute Statement to record the outcome with autoCommit
The process owner receives the result and status via Slack
Any Update Rows or Delete Rows against a production schema pauses for approval

What This Integration Enables

Agents run SELECT queries, run INSERT, UPDATE, DELETE, and DDL statements, and execute anonymous PL/SQL blocks that call procedures and functions and capture OUT binds. They also do CRUD without SQL and inspect structure with Describe Table and List Tables. One Oracle-specific detail matters for casing: Oracle folds unquoted identifiers to uppercase, so List Tables and Describe Table return names in their stored (usually uppercase) form, and a Data object should key columns to match, for example `{"EMAIL":"[email protected]"}`. The connect-per-call model keeps each step isolated.

Without FlowRunner

Instant Client friction Reaching Oracle from automation needs native drivers and client setup
Procedures locked in the DB Business logic in PL/SQL can only be called from inside the database
Unbounded row writes An UPDATE or DELETE with no WHERE clause rewrites the whole table

With FlowRunner

Driverless Thin-mode access Agents connect over TCP with no Instant Client and no wallet
Procedures callable in a flow Execute PL/SQL Block calls procedures and reads back OUT binds
Writes require a WHERE Update Rows and Delete Rows refuse to run without a WHERE clause

Use Case Scenarios

Calling business logic in PL/SQL

A pricing or eligibility rule already lives in a PL/SQL procedure. The agent calls Execute PL/SQL Block, passes the inputs as binds, and reads the OUT binds back into the flow, so the same logic the database enforces now drives an automated step. No logic is duplicated outside Oracle.

Reading a found set for downstream steps

The agent calls Select Rows with a bound WHERE clause and a `FETCH FIRST n ROWS ONLY` limit to pull the records that need attention, then passes them to the next connector in the flow. Because the WHERE values are supplied as Where Binds, no untrusted input is concatenated into SQL.

Corrective write with a human gate

The agent identifies records that need a corrective update in a production schema. Before it runs Update Rows, it does not act on its own. It routes the proposed change for approval and applies it only after a person confirms.

Human-in-Loop Highlight

Against an Oracle system of record, a bulk write is exactly the action you want a person to see before it runs. 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 Update Rows or Delete Rows targets a schema flagged as production, or would affect more rows than the configured threshold, the agent pauses before executing and asks through Slack: "This Update Rows on `HR.EMPLOYEES` matches 318 rows. Here is the WHERE clause and a sample. Approve, edit the filter, or cancel?" The write runs only after a person confirms, with the approver and timestamp captured in the run log. A connector can run any SQL or PL/SQL; an orchestration layer knows which statements 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

9 actions

SQL

3
  • Execute Query Runs a SELECT statement with `:name` or `:1, :2` bind placeholders and returns rows as objects, the row count, and column names, with an optional Max Rows cap. Bind every value; never concatenate input into SQL.
  • Execute Statement Runs an INSERT, UPDATE, DELETE, or DDL statement with autoCommit and returns the rows affected. Use it for intentional writes, including deliberate unconditional ones.
  • Execute PL/SQL Block Runs an anonymous `BEGIN ... END;` block and captures OUT bind values, so an agent can call a stored procedure or function and read back its results.

Rows

4
  • Select Rows Reads rows without writing SQL, with column selection, a bound WHERE clause, ordering, and a `FETCH FIRST n ROWS ONLY` limit.
  • Insert Row Inserts one row from a JSON object, with values bound as parameters.
  • Update Rows Updates rows matching a non-empty WHERE clause and returns the rows affected. A WHERE clause is required to prevent a full-table write.
  • Delete Rows Deletes rows matching a non-empty WHERE clause and returns the rows affected. A WHERE clause is required to prevent a full-table delete.

Schema

2
  • Describe Table Returns each column name, data type, nullability, and length from `USER_TAB_COLUMNS`, so an agent can inspect a table before reading or writing it.
  • List Tables Lists all tables owned by the connected user from `USER_TABLES`, for schema discovery.

Start building with Oracle Database

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