Malloy

The semantic layer we recommend, with your Malloy model behind every answer.

Dot reads sources, joins and measures from your repo and answers with them.

Threadanalytics

Sarah Chen9:41 AM

@Dot What’s the median time from signup to first payment, by plan?

1 reply

DotAPP9:42 AM

10 steps · 56s · Access Online

11 days overall; Team plans pay fastest.

Source: Malloy’s subscriptions.malloy.

Chart

Threadanalytics

Ryan Ortiz9:41 AM

@Dot Which accounts grew their order volume fastest this year?

1 reply

DotAPP9:42 AM

7 steps · 47s · Access Online

Arden doubled its orders, to 1,260 this year.

Source: Malloy’s orders.malloy.

Chart

Threadanalytics

Priya Shah9:41 AM

@Dot Show this quarter’s bookings for my region, by product.

1 reply

DotAPP9:42 AM

9 steps · 49s · Access Online

EMEA, the region you can see, booked $6.2M.

Source: Malloy’s bookings.malloy.

Chart

How GetDot works with Malloy

How Dot runs your Malloy model

Dot finds index.malloy in the repo, in a subfolder too, and compiles the model with the Malloy engine running inside Dot, so there is no Malloy server for you to host. Each Malloy source becomes a source in Dot, dimensions as columns and measures as metrics, and every answer shows the warehouse SQL its query compiled to.

Queries compile in Malloy’s restricted mode, so a question can’t reach raw tables or SQL around your model.

No model yet? The Context Agent can draft one over a connected warehouse, as a proposal you review before it reaches production.

Warehouses and secrets

The warehouse comes from malloy-config.json: BigQuery, Snowflake, Postgres, MySQL, Databricks, Trino or Presto. The config names an environment variable, and Dot injects the secret, stored encrypted, into each request.

A BigQuery connection that names no key can sign in with a BigQuery connection you already added to Dot, so a rotated key and per-user BigQuery access carry over.

Permissions and row-level security

Dot’s row-level rules (Team plan) apply at each source’s definition, so joins, views and measures built on a governed source are filtered too. They fail closed: if a rule can’t be applied, the query is refused.

With per-user BigQuery access, each query runs as the person asking, so BigQuery’s IAM and row access policies apply as well.

Questions

Connect your data.

Start for Free