The Data Warehouse integration allows you to view all the Maestro grading data in your internal database. This gives you the flexibility to create whatever reports your team needs.  This also opens the door for much more sophisticated reporting, particularly  the ability to combine Maestro QA data with all your other data.  Enabling you to tie all your QA processes with the business metrics you care about.

This article will describe how all your Maestro data is broken up into the different tables and columns. As a warning, this article will go into some amount of technical detail. At the end of the article we will provide an example of a query to mimic a basic report Maestro  provides.

In addition to this document, please see this reference for additional details and copyable schema and dashboard files: that you can use directly in Looker or adapt to use in various other BI tools.

Lastly, if you'd like to download the table schema for a particular table, or all tables, please reference this sheet.

Table Overview

Rubric Tables

There are 5 tables which collectively describe all of your rubrics, i.e. your grading templates, that you create here .
These tables are the sql-normalized storage of your Rubrics. In terms of actually using these tables for building queries, they essentially provide named labels/descriptions as Foreign Keys to the  corresponding 'Score' tables described in 'Score Tables' below.

The tables are:

  1. templates

  2. sections

  3. questions

  4. custom_options

  5. feedback_options

Score Tables

There are 5 tables which hold the information of each grade you make. There is one score table per Rubric Table, which represent the parts of a  template 'filled out' .  These tables actually hold all your QA scores, and will be the primary tables you use to create reports from.  As mentioned above each table has a foreign key(s) into one or more 'Rubric Tables'. These will be described in detail in the 'Tables Descriptions' section.

The tables are:

  1. answers

  2. section_scores

  3. question_scores

  4. option_selections

  5. feedback_selections

Annotations Table

There is 1 table that holds the information for the annotations made on grades. This table has foreign keys to the answers table and to the templates table.

The table is:

  1. annotations

Agents / Group Tables

There are 2 tables which hold basic info of your agents & the Maestro groups they are in. This allows you to easily create reports for certain groups, by joining into these tables & filtering on the relevant groups.

The tables are:

  1. helpdesk_id_email

  2. user_groups

Appeals Tables

There are 3 tables that hold the information for appeals to grades. Each appeal has a unique appeal_id. Comments exchanged during the appeal process are in appeal_comments, and the original and updated grades are in appeal_answers.

The tables are:

  1. appeals

  2. appeal_comments

  3. appeal_answers

Tables Descriptions

Here we in detail describe the tables and their columns

Rubric Tables








custom options


feedback options

Score Tables


score tables


section scores


question scores


option selections



Annotations Table


annotations table

Agents / Group Tables


agents / group tables


user groups

Appeals Tables


appeals tables


appeal comments


appeal answers

Example Query 

To give you a concrete example of how to use this data, we'll mimic a basic Maestro Report. Let's mimic this group report, as an example

example query

This report is for 1 group 'Test Group',  split on 3 specified rubrics, graded in March.

To mirror this report we'd use this query:

We first set the relevant time zone. Since all dates are stored in UTC & we are based out of NYC, we'll use America/New_York, i.e:

time zone query

Then to get those 3 values, we would use this query:


There is a lot going on here, so let me point out 3 important pieces:

  1. Time filtering: 


To mimic the Dashboard's 'graded at' time axis, we use answers.updated_at field. 

2. Agent availability:

agent availability

Some default Maestro reports will only counting grades whose 'gradee_id' is an 'Available' agent. The question to include agents you are no longer grading doesn't have a consistent answer, it depends what you want!

3. 'default Score filters'

default score filters

 By default almost all Maestros reports will include these first 3 filters, and if you are NOT doing calibration reporting, then you probably only want to look at answers whose 'answer_type' is 'grading'. 

Did this answer your question?