Schema Builder

The Schema Builder is how you connect your data to your Simon instance. You can connect pre-existing tables directly from your Snowflake account (see below), create new datasets via Simon's self-service SQL interface, and upload CSVs. There are also several different types of data you can connect to Simon: property tables, event tables, or lookup tables.

The Connected Tables list

Everything you've connected — property tables, event tables, lookup tables, datasets, and CSV uploads — appears in a single, searchable Connected Tables list.

ColumnWhat it shows
NameThe table's name. When your search matches a field inside a table, the row shows which fields matched
TypeProperty, Events, or Lookup
Join / Lookup KeyThe key connecting the table to your identity table (or the lookup key, for lookup tables)
SourceWhere the table comes from
CreatedWhen the table was connected
  • Search covers table names, field names, and content aliases, so you can find a table by any field inside it
  • Filter by type to narrow the list to Property, Events, or Lookup tables
  • Add Table + is the single entry point for connecting anything new: a Snowflake table, a Dataset, a CSV upload, or a lookup table
  • Each row's action menu includes View Fields in Data Hub, which opens the Data Hub already filtered to that table's fields

Your identity model at a glance

At the top of the Schema Builder, the Identity card summarizes the identity model powering your instance: the model's name and status (e.g., Live · v2), its stable ID, how many input tables feed it, and when it last refreshed. Click Manage identity models to jump to identity model management.

If your instance uses a single identity table instead of identity modeling, you'll see a Your Identity Table card with the option to change which table is used.

Table and field details

Click any table in the list to open its details page: table location, row count, field count, last refreshed, a rows-per-identity chart, sample rows, which fields are available in content, and where the table is used across Simon.

From there, click any field to open its field details page:

  • Field metadata — data type, PII indicators, and freshness — plus the content toggle and content alias
  • Statistics sampled directly from your warehouse: populated percentage, value distribution, and top values
  • Quality flags that warn you when a field looks sparse, constant, or possibly stale
  • A Used in card listing the segments and flows that reference the field
  • For AI-generated fields: the SQL behind the field, its dependencies, and a link to the conversation that created it (see AI-Generated Datasets)

From a field's details page you can act on what you find: Create segment with this field, or Ask the agent to dig in further.

Customer Property Tables

  1. From the left navigation, click Schema Builder.
  2. Click Add Table +.
  3. Choose the source type: Snowflake Table.
  1. Complete the fields described below:
FieldDescription
Table Type Events Table (1:many relationship), Property Table (1:1 relationship), or Lookup Table (non-contact data, e.g. product catalog)
Table LocationDatabase and schema within which the table is located
Table NameName of table within the table location
Choose Your Join Key (For Property & Events Tables Only)Join this table to your identity table by one of the identity columns specified
Choose Your Lookup Key (For Lookup Tables Only)Primary key of the lookup table
  1. Edit Field Mappings by checking the Content box next to fields that you want to be able to use downstream for personalization, and modify the default Content Aliases if desired.
    1. Content Aliases are how customer property fields appear downstream when configuring personalization. The default content alias follows this naming convention: tablename_fieldname. Note that no two fields connected to Simon can have the same content alias.

Best Practices

  • Properties have a 1:1 relationship with customers, like Lifetime Value or First Order Date. If this table contains more than one record per customer, it may lead to issues when creating segments and syncing data downstream.
  • We determine the set of operations you can perform on a field in the segment builder by the field type in Snowflake. This type displays here in the schema builder, but is managed in Snowflake.

Events Tables

Follow the same steps as above but choose Events Table as your table type:

Best Practices

  • Join this table to your identity table by one of the identity columns specified
  • This table can have multiple records for a given row in your identity table (e.g. customer123abc placed 2 orders, so you have one row for each of their orders)
  • It’s best practice for events to have a timestamp associated with each record, but not required. This allows marketers flexibility in the segment builder to look for contacts with events within a certain period of time (e.g. last 7 days) that meet specific criteria.

Lookup Tables

You can either connect lookup tables (aka non-contact data) directly from Snowflake or create lookup tables via Simon's self-service SQL editor. To connect a lookup table, follow the steps above but choose Lookup Table as your table type:

Best Practices

  • Because lookup tables don't contain PII, marketing channel identifiers, or any other data that's directly tied to your customers, you need to configure a Lookup Key rather than a Join Key.

Did this page help you?