Skip to content

AI nodes

The Use AI node calls an AI model inside a workflow and returns a typed, structured result. (Its action is named Ask AI — you’ll see that name in component keys, search results, and error messages.)

OpenAI, Claude, and Gemini are served through platform system connections — there is nothing to connect and no vendor API key to supply. Usage is billed at provider cost plus a small markup, against the organization usage pool.

FieldWhat it does
AI providerOpenAI, Claude, or Gemini.
AI modelChosen from the provider’s current model list — the dropdown is dynamic. Never hard-code or guess a model identifier; read the live options (cai node options).
PromptStable instructions: role, rules, output expectations.
User messageThe per-run data, usually built from expressions.
Response data typeThe typed shape of the answer.

Put durable rules in Prompt and execution data in User message — mixing them makes runs less consistent and prompts unmaintainable.

The response data type is what makes AI nodes composable: downstream nodes receive typed fields, not free text to parse. The type must be a shape — a primitive, a custom type, an integration-derived type, or a list of these. It cannot be a dataRecord.*: a model produces data, not stored identity. To persist an AI result as a record, follow the node with Create data (type system).

Design response types like function signatures: the fields you actually consume downstream, nothing speculative. A classification needs a category field and maybe a confidence — not a paragraph of reasoning.

A few expression operations are AI-powered (semantic list search, AI-assisted matching) — they are metered like AI calls and marked in the operation catalog. Agents themselves are a different surface: an agent converses and decides; a Use AI node is one deterministic-shaped step inside a flow. If the request needs conversation, tools, or approvals, you want an agent, not a bigger prompt.

Add a Use AI step that classifies each inbound ticket into billing / bug / feature-request with a confidence score, typed so the If/Else after it can branch on category.
This prompt mixes instructions with the ticket text. Split it: rules into Prompt, ticket fields into User message via expressions.