Guides
Prompt
The dashboard prompt finds records and proposes reviewed changes in plain language.
Use the dashboard prompt to find records or propose bulk changes in plain language. For example, ask for "customers in Berlin added this month" or to "mark ACME as churned". It can use the Agentic Models, agents, and automations available to the signed-in user.
- Reads open the matching view, with filters, search, and columns applied.
- Writes are planned first. The user reviews the exact records and values, then confirms.
- A record that changed after review is not overwritten; the prompt asks to review it again.
- Every request runs with the user's own role and workspace scope.
Choosing the Planner Model
The prompt plans each request with a language model chosen on the server:
| Variable | Value |
|---|---|
AGENTIC_DECISION_PROVIDER | typesafeAI (default) or openAI |
TYPESAFE_API_KEY | Key for typesafeAI |
OPENAI_API_KEY | Key for openAI |
AGENTIC_DECISION_MODEL | Optional model override |
Without a key, the prompt explains which variable is missing. Keys and cookies never reach the model.
Making a Model Promptable
The prompt option tells the planner how to name and search records:
export default defineAgenticModel(customers, {
name: 'customer',
scope: 'workspace',
access: { list: 'member', get: 'member', update: 'admin' },
prompt: { label: 'name', searchable: ['name', 'email'] },
})
labelis the column that names a record in plans and results.searchablecolumns match free text such as "ACME".- Operations follow
access: a model withoutupdateaccess cannot be changed from the prompt. descriptionand field descriptions help the planner pick the right model and fields.
Adding Data That Is Not a Model
Agentic Models cover most data. For anything else, a feature can supply
its own prompt resources: objects that implement Resource from @nuxtagentic-pro/core/prompt.
import type { Resource } from '@nuxtagentic-pro/core/prompt'
import { defineFeature } from '@nuxtagentic-pro/server'
export const ticketsFeature = defineFeature({
id: 'tickets',
requires: ['workspaces'],
promptResources: (context): Resource[] => [createTicketResource(context)],
})
A resource describes its fields and implements list, get, create, update, delete,
authorize, and validateInput.
- Enforce your access rules in
authorize. - Make
updateanddeletecheckexpectedFingerprint; reject stale records so a confirmed plan cannot overwrite a later edit.
Use an Agentic Model when the data lives in your database; it implements this contract for you.
Turning the Prompt Off
Set agentic: { features: { prompt: false } } in nuxt.config.ts, or pass
features: selectDefaultFeatures({ prompt: false }) to defineVoidAgentic. See
Features.