Skip to main content

Chat

Send a prompt to a configured Large Language Model and emit the model's reply. The function reads from the prompt input connector and writes to the response output connector. Output is plain text by default, but can be constrained to a JSON object — optionally validated against a JSON Schema.

With Conversation memory enabled, the node also exposes a session_id input: calls sharing the same session id form a multi-turn conversation — previous exchanges are replayed to the model before the new prompt. History is kept in Redis with a sliding TTL. When the session_id input is not wired (or empty at run time) the node behaves as a one-shot chat.

Pre-requisite: Install an AI provider application from Profile > {Organization} > Applications. Supported providers:

  • OpenAI
  • Anthropic
  • Mistral
  • Gemini
  • Cohere
  • Moonshot
  • Scaleway AI
  • OpenRouter
  • DeepSeek

Parameters

Providerrequired

Configured AI application that supplies the API credentials and provider type.

Model

Model identifier passed to the provider (e.g. gpt-5.6-sol, claude-sonnet-5, mistral-large-latest, gemini-3.7-flash). The form suggests common identifiers based on the selected provider — click a badge to fill in. When omitted, the provider's default model is used.

Context

System prompt prepended to every call. Use it to set the assistant's persona, constraints, or output style. Leave empty for a neutral assistant.

Response Format

Shape the model must return:

  • Text — free-form text reply (default). The response output is PlainText.
  • JSON — any valid JSON object. The response output is Json.
  • JSON with Schema — JSON validated against a strict JSON Schema. The response output is Json. Replies that fail to parse or validate cause the step to error.

With Conversation memory enabled, the response format is not enforced by the provider (the editor shows a configuration warning); prefer Text for conversations.

Response schema

Only shown when Response Format is JSON with Schema. JSON Schema describing the exact shape the response must conform to. Two starter templates are available: Empty schema (a blank object to start from) and Document chunking (a ready-made schema for splitting a document into chunks with metadata).

Example schema
{
"name": "document_annotation",
"strict": true,
"schema": {
"type": "object",
"additionalProperties": false,
"required": ["title", "summary"],
"properties": {
"title": { "type": "string" },
"summary": { "type": "string" }
}
}
}
Conversation memory

Enables multi-turn conversation memory and the session_id input connector. Exchanges sharing the same session id are replayed as conversation history. Off by default.

Memory TTL (seconds)

Only shown when Conversation memory is enabled. How long an idle conversation is kept, in seconds (default 3600). The TTL is refreshed on every exchange.

Max replayed messages

Only shown when Conversation memory is enabled. Maximum number of past messages replayed per call (default 20). Older messages are dropped first.

Input

Promptrequired

The user message sent to the model. Accepted types:

  • PlainText — passed through as-is.
  • Integer — converted to its string representation.
  • JSON — serialized to a JSON string before being sent.
  • File — read and decoded as text (useful to pipe a document straight into the model).
Session id

Only present when Conversation memory is enabled. Optional. Accepted types: PlainText or Integer. Runs sharing the same session id share conversation history. When left unwired or empty at run time, the call is treated as a one-shot chat.

Output

Response

The model's reply.

  • PlainText when Response Format is Text (or unset).
  • Json when Response Format is JSON or JSON with Schema.