Use case
Ask your database questions in plain English
The people who need answers from your database are rarely the people who write SQL. Connect PostgreSQL or MySQL and Caterfli writes a read tool and a count tool for every table you allow — so anyone on the team can ask, and the agent can only look where you said it may.
In practice
Questions people ask
- “How many customers signed up last week?”
- “Show me the ten largest orders from March.”
- “Which customers in Berlin have an unpaid invoice?”
- “How many support tickets are still open, by priority?”
What keeps it safe
- ✓ Read-only until you turn writes on
- ✓ Tools can only filter and sort on columns that exist
- ✓ Reads capped by row count and payload size, with a statement timeout
- ✓ Ad-hoc SQL off by default; when on, one validated statement at a time
How it works
From connection to answer
-
01
Connect the database
A host, a database and a login. Caterfli reads the tables, columns, types and foreign keys itself.
-
02
Choose what the agent can see
Untick the tables that are none of its business, and add row filters to narrow the rest.
-
03
Ask
From web chat, Slack, Telegram or WhatsApp. The agent answers with the read tools, and every run is recorded as a trace.
Works with
Read the documentation
Is this text-to-SQL?
Not by default. Rather than writing SQL, the agent calls generated tools — a read tool and a count tool per table — whose arguments are checked against your real columns. You can add an ad-hoc SQL tool for analysis, but it is off by default and runs one validated statement at a time.
Who can ask the agent questions?
Members of your workspace in web chat, each under their own role’s permissions. On Slack, Telegram or WhatsApp, only the senders on that channel’s allow-list, which starts empty.
Could it change data by accident?
A new connection is read-only, so there are no write tools to call. If you allow writes later, destructive operations stop for a person to approve by default.
Where does my data go?
The rows a tool returns are passed to the AI model you have configured, so it can write the answer. Caterfli does not copy your tables anywhere, and execution traces deliberately do not keep result rows.
Try it on your own system
Connect one system and read the agent Caterfli writes from it. There is a demo connection too, if you would rather look before you wire anything up.