Quickstart
Deploy BoardPulse AI and run your first query in under 10 minutes
Architecture
Understand how the AI copilot, SQL guardrails, and data layer work together
Connect a Database
Point BoardPulse AI at your Supabase, RDS, or on-premise PostgreSQL instance
API Reference
Integrate BoardPulse AI directly into your tools with the REST API
What BoardPulse AI does
BoardPulse AI translates natural-language questions into verified SQL queries, executes them in read-only mode against your database, and returns structured answers — complete with data tables, charts, and CSV/XLSX downloads.Conversational chat
Ask questions in plain language via Open WebUI or the REST API
SQL guardrails
Every query is validated before execution — only SELECT, only approved tables
Exports
Every response includes CSV and XLSX downloads ready to share
Open WebUI integration
Connect via the OpenAI-compatible endpoint to the chat UI of your choice
How it works
1
Ask a question
Submit a natural-language question through the chat interface or API — for example, “What were total sales by region last month?”
2
AI generates SQL
BoardPulse AI uses an LLM (OpenAI, Ollama, or mock) to draft a SQL query against your approved table schema, then validates it with SQLGlot guardrails before execution.
3
Query executes read-only
The validated query runs in strict read-only mode against your source database. Only SELECT statements against your allowlisted tables are permitted.
4
Receive answer, chart, and exports
The response includes a professional executive summary, a data table, an optional chart, and ready-to-download CSV and XLSX files.
Model flexibility
BoardPulse AI supports three model provider modes, selectable per request:Security by design
BoardPulse AI is built on a read-only-first principle. Your source database is never modified. Every query is:- Parsed and validated by SQLGlot before execution
- Restricted to an explicit allowlist of tables you control
- Executed with a configurable maximum row limit
- Fully traceable — the exact SQL that ran is returned in every response
For production deployments, use a dedicated read-only database user with access only to the tables in your allowlist.