Overview
When your database is connected (Supabase Connection), every contact in Minimo can carry dynamic fields: values computed from your data, not copied by hand. Two shapes:- Column fields — mirror a column of your contacts table (
plan,last_sign_in_at,trial_ends_at). Created in the mapping wizard, or by an agent with theminimo_connection_ensure-dynamic-fieldMCP tool. - Computed fields — derived from any other table, through joins and aggregates. Examples: number of orders, date of the next booked appointment, start of the next tournament a player is registered to (a
MINover a junction table). One contact, one value — the aggregate is what turns many rows into the one value a segment or automation can use.
Minimo reads your database directly, in read-only mode. If the data lives in your connected database, it is reachable as a contact field — there is no separate “import” step to keep in sync.
Create a computed field with Ask Mo
Describe the value in plain language and Mo plans the query against your real schema, shows you its interpretation, and creates the field.Create a dynamic field NEXT_TOURNAMENT_START (datetime): for each contact, the minimum ofMo resolves the tables and join path from the schema analysis, asks a clarifying question when the request is ambiguous, and backfills the field for every contact right after creating it.tornei.inizioacross the tournaments intornei_iscrittiwhere the person is registered, withtornei.stato = 'iscrizioni'and a start date in the future.
How values stay fresh
A dynamic field is recomputed, per contact, when:- The field is created — an immediate backfill runs over all contacts.
- Your data changes — when a computed field is created, Minimo automatically installs change triggers on every table the field reads (the source table and each joined table), so a row change re-resolves the affected contact’s value.
- An automation checks a goal — goal evaluation refreshes the fields it depends on just in time.