Appraising Artworks with Joins and LLMs (Ultorg Database UI)

eirikbakke1 pts1 comments

Ultorg - Fill with AI

Fill with AI

The Fill with AI action uses artificial intelligence to stage data edits in an Ultorg perspective. The data showing in your perspective, including joins and one-to-many relationships, is sent to a Large Language Model (LLM) along with instructions that you provide in English.

Demo: Appraising Artworks with Joins and LLMs

In this demo, we estimate the dollar value of artworks in a database from the National Gallery of Art, using an LLM from OpenAI (gpt-4.1-mini) and the Fill with AI feature in Ultorg.

Using visual joins, we bring in timeline entries for each artwork, and other relevant information, from other tables in the database. This information gets passed to the LLM for use in the appraisal task. Results are written to an Excel file through an additional Custom Join.

Note: This feature is requires Ultorg version 2.2.0 or above (2026-06-04) and an API key from either Anthropic or OpenAI.

How to Use

To make automated data edits using Fill with AI:

In your current perspective, adjust fields and joins to show the data that you want the LLM to see as part of its context, as well as the field(s) to be edited.

In the example from our demo above, we showed a list of artworks and a subquery with bibliographical entries for each, as well as a separate Appraisals subquery to pull in the table that we want to write our results to:

If you use a separate table to store results, as in this example, it must be pre-populated with rows for the IDs you want to process, as Fill with AI will only edit existing rows. In our demo, the “Appraisals” table was from an Excel sheet like the following:

(Disregard if the table you are editing is the same one that is providing rows for the query.)

Select the field(s) you want to edit, using multiple selection if needed.

The columns to be edited can be in any subquery within the perspective. For example, we could equally well select a field under “Objects Text Entries” in the perspective above.

Click Fill with AI in the Edit menu.<br>If this is the first time you are using this feature, you will be asked to configure your AI provider. Proceed and provide an AI provider's API key as needed.

Provide a prompt for each column you are editing. See examples below. To appraise artworks, for instance, we might use:

Appraisal USD: &ldquo;an appraisal of the artwork in US dollars, for insurance purposes&rdquo;<br>Appraisal Notes: &ldquo;rationale for the appraisal&rdquo;

Additional instructions can be provided, if needed, in the larger text field underneath.

If desired, pick a specific AI model to use from the Model dropdown. Available models depend on your AI provider, and vary in speed, price, and capability.

Ultorg will pick a known default model if available, and hide models that are known to be incompatible. Current defaults are claude-sonnet-4-6 for Anthropic and gpt-4.1-mini for OpenAI. New models are frequently released.

Press OK. AI-generated edits will appear progressively while the Fill with AI dialog remains open. The perspective retains some interactivity while the operation runs; you can scroll up and down, hide or show fields, and such.

If you press Cancel before the last edit completes, the edits staged so far will remain. You can undo them if desired (Ctrl+Z).

When the overall operation completes, a short concluding message from the LLM will be displayed. This message may surface ambiguities in the prompt, cases that were hard to decide, or assumptions made during processing.

If data was processed in multiple batches, then the summary displayed at the end will be a summary of summaries from each batch.

To write staged edits back to the data source, press Apply Edits.

To compare values before and after the proposed edits, you can press Discard Edits and then toggle with Undo and Redo (Ctrl+Z/Y).

Data Types

The Fill with AI feature works with columns of any standard data type, including numbers, dates, and timestamps. Ultorg will pass instructions to the LLM regarding the correct output format in each case. You do not have to write such instructions yourself.

Example Prompts

A short prompt is usually sufficient, for each column to be edited. Examples:

&ldquo;translate to swedish&rdquo;<br>&ldquo;generate 20 descriptions for fictional support tickets.&rdquo;

(For these kinds of prompts, note that rows must already exist, or be staged to be inserted via Ctrl+Shift+Plus, before they can be filled in.)<br>Ad copy brainstorm:

&ldquo;come up with some extra headlines in each category, for the currently blank rows&rdquo;

In the screenshot above, the Insert Record () action was used to stage inserts before invoking Fill with AI.

To extract the street name from an adjacent &ldquo;Address&rdquo; column:

Street Name: &ldquo;Extract the street name from the address.&rdquo;<br>To populate a true/false &ldquo;engagement&rdquo; field in a database of sales leads and interactions:

Engagement: &ldquo;Set this...

from ldquo fill rdquo data edits

Related Articles