Creating an AI field
Go to AI Fields in the left sidebar and click Add. The wizard has five steps; you can move back and forth freely, and nothing is charged until you run the test in step 3.
Step 1 — Prompt
Three things on this screen: what the field is called, which table it reads, and the question itself.
Give it a name you will recognise in the list — "Review sentiment" is clearer than "AI field 1" — and an optional description for your colleagues.
Pick the source table. The new columns are added to this table, and the question can only read columns from it.
Then write the question. Put column names in braces:
Read this customer review and decide how the reviewer feels about the product.
Review: {review_text}
Product: {product_name}
Before the model sees anything, each {column} is replaced with that record's value:
Read this customer review and decide how the reviewer feels about the product.
Review: Arrived cracked, the box was crushed
Product: Trail Runner
Use Insert column to pick a column rather than typing its name, and it is placed where your cursor is. The columns you have used appear as chips under the editor, and a chip turns red if the column does not exist, cannot be read, or is not allowed to leave the platform.
The value is dropped in literally, so the sentence has to read correctly once it is there. Classify {user_agent} it as budget or premium becomes nonsense. Putting each column on its own labelled line is the layout that is hardest to get wrong, and it keeps working when a value is empty.
Preview shows the question filled in with three real records. It does not call the model, so it is free, and it is the quickest way to catch a token reading the wrong column. Use it every time you change the question.
If it tells you no record has a value in every one of these columns, take it seriously. Records missing any input are skipped, so a field built on those columns would produce nothing. Pick columns that are actually populated — the column picker shows what share of records have a value.
Step 2 — Outputs
This is where you say which columns the answer fills. One question can fill several.
For each output:
- Column name — the field's name on your table. Letters, digits and underscores.
- Display label — what your team sees in the pickers.
- Type — Category, Text or Number.
- Allowed values — Category only. The list the answer has to come from.
- Description — given to the model as well as shown here, so write it like an instruction. "Price tier of the device" steers the answer; "Tier" does not.
- Show in Users Explorer — whether the column appears in the pickers.
Category is the type to reach for. The model is held to your list while it writes the answer, so you get positive, never "Positive." or "quite positive, though the delivery was late". That makes the column safe to filter and group on.
It cannot, in normal operation: the list is enforced as the answer is produced, not checked afterwards. If a record genuinely cannot be answered, it is counted as failed and its columns stay empty for that record. The test results show you the failure count.
Text is free text, for a summary or a note. Nothing constrains it, and it is the most expensive type, because the answer is longer. Number is a figure, for a score or a count.
All the outputs on a field come back from a single question. Asking for a category and an urgency together costs roughly what the category alone would. Two separate AI fields would cost twice, so put related answers on one field.
Step 3 — Scope and test
Two parts: which records are answered, and trying it before you commit.
The filter
Without a filter, every record in the table is answered. With one, only the records matching your conditions are. Conditions can use fields from other tables, the same as everywhere else in the platform.
This is the main cost control available to you before run logic. On a bookings table, filtering to completed transactions cut the records in scope from 9,995 to 5,350, and the distinct answers from 5,548 to 3,420.
Press Count records with the filter off, then on, and compare. Both are free.
The test
Run test asks the model about 5 to 50 real records and shows you the answers beside the inputs that produced them.
A test proves the question works on your data before it runs over everything. It is a real, billed call, which is what makes it a real test.
The test has to have passed on the current configuration. Change the question or the outputs afterwards and activation locks again, because the results you were shown no longer describe what would happen.
The results table shows each input beside each answer, with a validity bar per output. The answers are kept, so the first full run does not pay for them a second time.
Step 4 — Run logic
Every option answers records that have never been seen before, on every scheduled run. They differ only in how an existing answer is treated. These are the same three modes External Data Enrichment uses.
| Option | What it does | Use it when |
|---|---|---|
| Answer new records only | A combination is answered once and never asked again. | The answer cannot change — the sentiment of a review that was written last year. Cheapest. |
| Answer new records, and refresh older answers | New records immediately; an existing answer re-asked once it is older than the window you set. | The underlying text changes over time. Set a window in days, weeks or months; 30 days by default. |
| Re-answer everything on every run | Every record in scope is asked again on every run. | Rarely. Only when the source text changes constantly and the answer must always be current. Most expensive. |
AI Fields runs as part of your platform's scheduled pipeline, after the AI models and before audiences are rebuilt, so your segments are always built on values you can see. That is why this step asks how often answers are refreshed, not when the job runs.
Step 5 — Summary
The whole configuration on one screen, with an Edit link on each block. The test row is the one to check: it is marked if no test has passed, or if the configuration changed since the last one.
Two ways to finish:
- Save draft — the field is stored and nothing else happens. No columns are created, nothing is asked. You can come back to it from the list.
- Activate AI field — a confirmation spells out what you are committing to: how many columns will be added, to which table, how many distinct answers will be paid for, and under which filter.
Once you confirm, the columns appear on your table immediately and read empty until the first run completes.
Changing the question or the outputs invalidates every answer already produced. The next run buys them all again, and the columns read empty in the meantime. Get the question right with the preview and the test before activating. Changing the filter or the run logic is free — those decide which records are answered, not what the answer is.