Ask more of
your database.
Connect your operational database and let your team explore it in plain English. Supaboard runs read-only queries when you ask, so there’s no export to prepare.
Free plan. No credit card required.
Product database
Example question
How many new customers did we add each month?
44
New customers in September, up from 36 in August.
How many subscriptions started each month?
58
Subscriptions started in September, up from 53 in August.
How many orders did we take each month?
210
Orders in September, out of 1,280 since March.
What share of each month’s new customers have an active subscription?
68%
30 of 44 customers who joined in September.
How many returning customers ordered each month?
94
Of 162 customers who ordered in September, 94 had ordered before.
What do subscribers spend per order each month?
$86
Average order value from active subscribers in September.
Which region’s subscribers spent the most this quarter?
North
$13,800 in orders from July to September, the most of any region.
Choose a table for this agent.
The example answer uses only the selected tables. Add one to see a question it can support.
Example query
SELECT DATE_TRUNC('month', created_at) AS month,
COUNT(*) AS new_customers
FROM customers
WHERE created_at >= '2026-03-01'
GROUP BY 1
ORDER BY 1;SELECT DATE_TRUNC('month', started_at) AS month,
COUNT(*) AS new_subscriptions
FROM subscriptions
WHERE started_at >= '2026-03-01'
GROUP BY 1
ORDER BY 1;SELECT DATE_TRUNC('month', created_at) AS month,
COUNT(*) AS orders
FROM orders
WHERE created_at >= '2026-03-01'
GROUP BY 1
ORDER BY 1;SELECT DATE_TRUNC('month', c.created_at) AS month,
COUNT(*) AS new_customers,
AVG(CASE WHEN s.customer_id IS NULL
THEN 0 ELSE 1 END) AS share_subscribed
FROM customers c
LEFT JOIN (
SELECT DISTINCT customer_id
FROM subscriptions
WHERE status = 'active'
) s ON s.customer_id = c.id
WHERE c.created_at >= '2026-03-01'
GROUP BY 1
ORDER BY 1;SELECT DATE_TRUNC('month', o.created_at) AS month,
COUNT(DISTINCT o.customer_id) AS ordering,
COUNT(DISTINCT o.customer_id) FILTER (
WHERE c.first_order_at
< DATE_TRUNC('month', o.created_at)
) AS returning
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.created_at >= '2026-03-01'
GROUP BY 1
ORDER BY 1;SELECT DATE_TRUNC('month', o.created_at) AS month,
COUNT(*) AS orders,
AVG(o.total) AS avg_order_value
FROM orders o
WHERE o.customer_id IN (
SELECT customer_id
FROM subscriptions
WHERE status = 'active'
)
AND o.created_at >= '2026-03-01'
GROUP BY 1
ORDER BY 1;SELECT c.region,
DATE_TRUNC('month', o.created_at) AS month,
SUM(o.total) AS revenue
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.customer_id IN (
SELECT customer_id
FROM subscriptions
WHERE status = 'active'
)
AND o.created_at >= '2026-03-01'
GROUP BY 1, 2
ORDER BY 2, 3 DESC;Try changing the agent’s table scope
Connect directly
PostgreSQL
MySQL
Microsoft SQL ServerOracle
MongoDB
Supabase
01 / Ask the source
See the query
behind the answer.
Ask about orders, customers or product activity in plain English. Inspect the query behind the result, then ask a follow-up to explore further.
Explore AI AnalystHow many subscriptions are active?
- AI Analyst writes the query
Product databaseRead-only
SELECT COUNT(*) AS active_subscriptionsFROM subscriptionsWHERE status = 'active';Checked for write operations before it runs
- Runs as the connected database user
active_subscriptions 284 - Ask a follow-up
- Show as a chart
Illustrative workflow
02 / Get connected
Set up once. Keep asking.
Connect your database
Enter its connection details and configure the network access your setup needs.
Check the tables
Let Supaboard discover the schema, then confirm the tables you expect are available.
Set up the agent
An agent is the AI analyst set up for your team’s data. Choose which tables it can use and who can use it, then ask a simple question to check the connection.
Before you start.Ask your database administrator for credentials with read-only permissions and an approved network route. SSL, SSH and VPN options depend on the connector. Read the setup guide
03 / Set the boundaries
Choose what the
agent can read.
Supaboard connects as the account you provide. Use an account with only the read permissions needed for the analysis.
Then scope the agent to the relevant sources and tables, and choose who can use it.
How agents workDatabase account
Grant access only to the data you intend to share.
Agent scope
Choose which of those tables the agent can use.
People
Choose who can use that agent in Supaboard.
Queries are checked for write operations before they run. Source permissions provide an additional boundary.
A few practical details
Common questions
Does Supaboard change the data in my database?
Database and warehouse queries are read-only. We also recommend connecting with a database user that has read-only permissions.
Do I need to copy my database into Supaboard?
No full replica is needed for a direct connection. Queries run against your database. Returned results are saved with the conversation, so some data is stored in Supaboard as part of the analysis.
Will queries use my database’s resources?
Yes. Direct queries run on your database. Your database administrator can help choose the appropriate account and endpoint for the workload.
Can I connect a database on a private network?
Network options vary by connector. Check the setup guide for IP allowlisting, SSL, SSH tunnel or IPsec VPN support. Read the connection guide
Your database has more to tell you.
Connect it once. Give your team a direct way to explore it.
Start FreeBook a 30-minute demo
Free plan. No credit card required.