Features
Everything GramSpec Tools does, in one list.
Three apps, one platform
Grammar
Connect a database or SharePoint site and build the knowledge graph on a visual canvas.
- ✓Auto-detect tables, columns, and foreign-key relationships
- ✓Edit aliases, readings, derived fields, and enumerations
- ✓Save workspaces and revisit as your schema evolves
Analyst
Agentic harness for validating the graph: plans query paths, runs SQL, cites facts, and refuses when the graph does not carry the answer.
- ✓Multi-step reasoning with tool use against live data
- ✓Scoped investigations with citations and findings
- ✓Execution history and per-query audit
Dashboard
Live KPI cards and charts with built-in plain-English Q&A. Ask in the slide-over panel, pin answers to the grid.
- ✓Plain-English questions return charts or tables
- ✓Shareable chat configs; session persists while the panel is open
- ✓Resize presets and drag-handle reorder; portals scoped per viewer
- ✓Live refresh on the underlying data; works on desktop, tablet, and phone
Notable design choices
Lightweight graphs per domain
Build a focused graph for a specific use case instead of modelling the whole database at once. A finance graph and a warehouse graph live side by side.
Multiple graphs per dashboard
A single dashboard can mix widgets backed by different graphs and different connections. No one-graph-fits-all compromise.
Dashboards grow from questions
Every widget starts as a question in Dashboard’s chat panel that an analyst chose to pin. Dashboards accumulate from real questions, not pre-built reports.
The graph is the deliverable
On the Builder tier the graph exports as portable JSON. Version-control it, embed it, or keep it as an artifact when an engagement ends.
What you can model
Declared once in the graph, used everywhere the AI generates SQL.
Entities and value types
Tables become entities; columns become typed values. Optional namespace qualifier for schema-prefixed tables.
Fact types with readings
Binary relationships expressed as natural-language predicates, with explicit forward and inverse readings.
Reference schemes
Preferred identifier per entity. The column used in JOIN and WHERE clauses.
Data types
Text, Number, Date, Boolean, Currency. Chooses the correct SQL functions and aggregation rules.
Enumerated value sets
Closed-world domains on value or entity types; produces precise WHERE ... IN (...) clauses.
Alternate readings
Extra phrasings of the same fact for synonym coverage when users ask the question differently.
Sample values
Concrete example rows attached to entities for disambiguation and query grounding.
Role names
Handles multi-reference joins (e.g. DepartureAirport vs ArrivalAirport) and self-referential relationships.
Derived value types
Row-level formulas such as Revenue - COGS, including cross-entity references like Quantity * Product.UnitPrice.
Aliases
Human-readable names for cryptic legacy columns and tables; physical names stay intact for SQL.
Uniqueness and mandatory roles
Functional dependencies and existence constraints declared per role; drives cardinality and join behaviour.
Alternate keys
Additional unique attributes beyond the reference scheme (for example, email address on a Person).
Running questions
Natural language to SQL
Questions are resolved against the graph, not the raw schema. If the semantics don’t match, the query doesn’t run.
Agentic graph probe
Analyst runs multi-step investigations against saved dataset configs, with SQL execution and structured findings.
Read-only enforcement
DML and DDL keywords (INSERT, UPDATE, DELETE, DROP, ALTER…) are blocked at the API layer before execution.
Execution limits
Per-query 30-second timeout and 10,000-row cap. Free-tier users have a monthly AI call limit.
Audit log
Every query records user, timestamp, duration, rows returned, and error message if any.
Charts and tables
Dashboard’s chat panel renders results as charts, KPI cards, or tables. Any chart can be pinned to the dashboard you’re viewing.
Supported connections
Connect with standard credentials or cloud-provider auth. Dialect-specific SQL is generated per source.
Beyond a single analyst
Teams and portals
Invite by email, assign Analyst or Strategist, and grant individual chat configs or dashboard portals per member. Strategists execute queries through the owner’s saved connection. No password sharing.
Graph export and API
Builder tier exports the graph as portable JSON. Per-user ormle_… API keys, passed in the X-Api-Key header, authorize calls to the /gramapi surface for your own pipelines.
What’s enforced on every request
Read-only SQL
Write operations blocked server-side before the database ever sees them.
Encrypted credentials
Database passwords encrypted at rest. Never sent to the browser, never placed in AI prompts.
LLM isolation
The model sees the graph only. It never receives the raw schema, connection strings, or secrets.
Two-factor authentication
TOTP MFA available on every account; pairs with any authenticator app.
Rate limiting
Per-user throttles on queries and AI calls protect the database and the account.
Audit and CSRF
Full audit log of query execution; CSRF tokens enforced on every authenticated JSON endpoint.
Free, Strategist, Analyst, and Builder tiers
Start free. See the pricing page for limits and what each tier includes.