PT EN
Back to site

User's default prompt

Repeating the same instructions to the AI in every conversation — "answer in formal Portuguese", "cite the legal basis", "be concise" — is manual work that should not exist. With the user's default prompt, each person's preferences are written once, in their registration, and the platform applies them automatically to every interaction of that person with the AI, in chat and in the copilot.

Unlike the domain (system) prompt, defined by administrators and valid for every user of a context, the default prompt is individual: each registered user has their own.

Where it lives

The prompt is part of the user's registration, managed in SistemaSegurançaUsuários by whoever can edit registration data (USERS_EDIT):

  • At registration: the Novo Usuário dialog has the optional field Prompt padrão do usuário. It is saved right after the account is created; if that step fails, the user is still created and the screen warns "Usuário criado, mas o prompt padrão não pôde ser salvo. Ajuste na edição."
  • In the detail view: when you open a user, the Prompt padrão do usuário section shows the current text, the character counter (8,000 limit) and the Salvar prompt button. Leaving it blank and saving removes the prompt.

Until September 2026 there was a self-serve Meu Prompt screen in the Security group. It was removed: it wrote a field name different from the one the server read — the field opened empty and saving erased the text — and it created a second place for the same data. The data is the same; what changed is who manages it and where.

Worked example — standardizing an analyst's answer style

  1. Open SistemaSegurançaUsuários and select the analyst.
  2. In the Prompt padrão do usuário section, write, for example:
text
   Responda sempre em portugues formal.
   Cite a base legal de cada afirmacao (artigo e lei).
   Liste sempre os numeros de processo mencionados.
   Seja conciso: prefira listas a paragrafos longos.
  1. Click Salvar prompt. The notice "Prompt padrão salvo." confirms.
  2. From the next message on, that user's conversations in Chat already come in the requested format — formal, with the legal basis cited and case numbers listed — without repeating any instruction in the question.

Security recommendation: do not include sensitive data in the prompt. The text is added to the context sent to the AI provider.

How the instructions are applied

  • Appended, never replacing: for each message, the platform builds the domain prompt and, in parallel, fetches the logged-in user's default prompt. If it is not empty, it is appended at the end, between clear markers:
text
  <domain prompt>

  === INSTRUCOES PERSONALIZADAS DO USUARIO ===
  <user's default prompt>
  === FIM DAS INSTRUCOES DO USUARIO ===

When a persona is active in the conversation (see the Search guide), the persona block comes BEFORE the user's instructions. System rules still apply — personal instructions that conflict with them may not prevail.

  • Always the latest version: the prompt is read on every conversation. Saved means applied — from the next message on.
  • The conversation never fails because of the prompt: the lookup is best-effort, with a 5-second time limit. If the instructions cannot be loaded in time, the conversation proceeds normally without them, with no warning on screen.

Use through integrations

Two paths write the same data:

PathWhoPermission
Registration path, by e-mailwhoever manages the registrationUSERS_VIEW to read, USERS_EDIT to write
Own-user path (me), identified by the tokenthe userany authenticated user

Both are described in the API reference.

The write body is {"customPrompt": "..."}; an empty string erases the prompt and a body without the field is refused with 400. The text is trimmed before saving and, above 8,000 characters, it is refused with 400 and the count in the message — never silently truncated. Writing to an e-mail that is not in the identity registry answers 404. Reading through the me path returns empty text when there is no prompt, never a technical error.

SituationMessage shown
Text above the limit"O prompt padrão tem N caracteres; o limite é 8000."
User not registered"Usuário não cadastrado: e-mail"
Save failure"Não foi possível salvar o prompt padrão. Tente novamente."

How to operate it (administrator)

  • The text is stored in the customPrompt property of the :UsuarioSistema node, in the users' system database (the same datta database as the identity registry). To inspect it from the console:
cypher
  MATCH (u:UsuarioSistema {email: 'usuario@exemplo.com'})
  RETURN u.customPrompt AS prompt
  • The node is created by MERGE on the e-mail, both by the registration replication and by the prompt write — saving the prompt right after creating the account works even if the replication has not arrived yet, and the replication never overwrites the prompt. Uniqueness of UsuarioSistema.email is guaranteed by a constraint applied at the user service startup (idempotent) and recorded in the Neo4j index scripts.
  • The user registry is kept in a two-layer cache; saving the prompt invalidates it entirely.
  • Audit: every write emits the USER.PROMPT_UPDATED event with actor, target, origin (admin through the registration, self through the me path), text length and whether it erased — without the text, which may contain whatever the person chose to write.
  • Observability: the call between modules and the read/write on the graph appear as spans correlated by the same trace_id.

Limits and expectations

  • Size: 8,000-character limit, refused above it.
  • Scope: the prompt applies to the user, across all contexts and workspaces — there is no per-context prompt.
  • Precedence: the prompt is appended, it never replaces the domain prompt; the conversation's persona, when there is one, comes before it.
  • Silent degradation: under high latency, the conversation happens without the instructions and without warning the user.

Related pages: search and chat guide, users (administrator guide), security model.