AI actions
Automation provides nine AI actions. Eight perform one bounded task; AI Brain can plan several steps, call approved read-only workflow capabilities, and verify a result before it continues.
The screenshots and examples on this page come from S341 AI Actions - All Actions, a manual-trigger workflow that connects every AI action in one testable path.

Before you add an AI action
Section titled “Before you add an AI action”An administrator must register at least one AI provider and enable AI for the Workflows module. Most AI action drawers then show that registration in AI Provider or Provider.
Configure AI registrations in Administration > AI Providers. The registration supplies the endpoint, credentials, and default model; a workflow stores the registration ID rather than a credential. AI Decision uses the registration assigned to the Workflows module, with the platform’s active default as a fallback. The other actions let you choose a registration in their configuration drawer.
Every AI action can read workflow data through expressions:
{{ ctx.customer }}{{ outputs.previous-action.result }}{{ variables.case_priority }}Use the expression builder beside a field when possible. Treat model output as untrusted data, ask for an explicit shape, and connect important changes to deterministic workflow actions or a Human Approval step.
Shared action controls
Section titled “Shared action controls”Every configuration drawer has Configuration, Retries, and Label tabs. The header also provides Test and Run for real controls. A normal test uses remembered test data and avoids live side effects; enable Run for real only when the action and its downstream path are safe to execute against live integrations.
These fields recur across the AI actions:
| Field | What it controls |
|---|---|
| AI Provider / Provider | The registered connection and its default model. |
| Text, prompt, input, or context | Literal test data or an expression resolved when the workflow runs. |
| Additional instructions | Constraints specific to the task. Put the source data in the input field, not in the instructions. |
| Max input tokens | An optional hard limit on input sent to the model. Blank means unlimited. It does not limit response length. |
| Timeout | The maximum wait for the provider, in milliseconds. The focused actions default to 30000. |
JSON-returning actions validate the model response. If the first response is malformed, Automation asks once for corrected JSON before failing the action. A green action status confirms execution succeeded; inspect the recorded output to confirm that its values also match your expectation.
Action catalogue
Section titled “Action catalogue”| Action | Use it for | Main result |
|---|---|---|
| AI Transform | Reshape or normalize data with an instruction | result |
| AI LLM | Run a custom prompt | response |
| AI Decision | Select a workflow branch | branch, confidence |
| Summarize Text | Produce a bounded summary and key points | summary, keyPoints |
| Classify Text | Match text to supplied categories | category, classifications |
| Translate Text | Translate while preserving meaning and tokens | translatedText |
| Analyze Sentiment | Score expressed sentiment | sentiment, confidence |
| Extract Information | Return named, typed fields | data |
| AI Brain | Plan, call approved capabilities, and verify a result | result, evidence, providerTrace |
AI Transform
Section titled “AI Transform”AI Transform turns source data into a requested shape. It is useful when a deterministic mapping would be awkward because the source is natural language or varies slightly between runs.

| Configuration | Details |
|---|---|
| Provider | Required registered AI provider. |
| Input data or expression | String, object, array, literal JSON, or workflow expression. Objects and arrays are serialized for the model. |
| Transformation instruction | Required. State the exact fields, types, normalization rules, and omissions you expect. |
| Output Format | JSON for downstream structured data or Text for prose. Defaults to JSON. |
| Timeout | Provider timeout in milliseconds; default 30000. |
| Max input tokens | Optional input cap; blank means unlimited. |
The example supplies an urgent access-reset fixture and requests exactly customer_name, request_summary, priority, and language. The expected result preserves Lena Ortiz’s request while normalizing urgent to high.
Choose JSON when later actions will read named values. Choose Text only when the next step consumes the whole response as prose.
AI LLM
Section titled “AI LLM”AI LLM is the general-purpose prompt action. Use it when none of the focused AI actions expresses the task clearly enough.

| Configuration | Details |
|---|---|
| Provider | Required registered AI provider. |
| AI instructions | Optional system-level behavior applied to every request from this node. |
| Prompt Template | Required task prompt. It supports workflow expressions. |
| Temperature | 0 to 2. Lower values are more repeatable; higher values permit more variation. |
| Max input tokens | Optional input cap; blank means unlimited. |
| Output Format | Text or JSON. JSON mode rejects prose-wrapped or malformed output. |
| Timeout | Provider timeout in milliseconds; default 30000. |
The example uses temperature 0 and asks for one JSON object containing acknowledgement and next_step. Its expected result mentions Lena Ortiz and sets next_step to reset_access.
Keep stable rules in AI instructions and the run-specific task in Prompt Template. If another action already has the contract you need—classification, translation, extraction, or summarization—prefer that focused action because its response shape is built in.
AI Decision
Section titled “AI Decision”AI Decision compares the current context with branch descriptions and emits a switch result. Connect downstream paths to the branch IDs it returns.

| Configuration | Details |
|---|---|
| Decision branches | At least two branch cards. Each has a human-readable label and an expression-capable description. |
| Add Branch | Adds another candidate route. Give every branch a distinct, concrete description. |
| Default Branch | Route used when confidence is below the threshold or the model’s selection cannot be matched. |
| Confidence Threshold | 0 to 1. Higher values make fallback to the default branch more likely. |
| Context Template | The evidence supplied to the model. It accepts expressions; when omitted, the action serializes its available context. |
| Max input tokens | Optional input cap; blank means unlimited. |
The test workflow defines Urgent access reset and Other request, sets the first branch as the default, and uses a 0.70 threshold. The expected result is branch_1 with confidence at or above 0.70.
The output includes the matched branch ID, confidence, short reasoning, and control: "switch". Describe decision criteria rather than desired business effects: the AI selects a route, while downstream workflow nodes perform the work.
Summarize Text
Section titled “Summarize Text”Summarize Text produces a faithful summary plus a list of key points.

| Configuration | Details |
|---|---|
| AI Provider | Required registered AI provider. |
| Text or expression | Required source text or workflow expression. |
| Summary style | Concise, Detailed, or Bullet points. |
| Maximum words | Integer from 25 to 2000; default 200. |
| Additional instructions | Optional facts to emphasize or formatting constraints. |
| Max input tokens | Optional input cap. |
| Timeout | Provider timeout; default 30000 ms. |
The example requests a concise summary of at most 40 words. The expected output includes Lena Ortiz, the Friday deadline, the payroll impact, and the access-reset next action. Read summary for the prose and keyPoints for the supporting array.
Classify Text
Section titled “Classify Text”Classify Text chooses from labels you provide. It never intentionally invents or renames a category.

| Configuration | Details |
|---|---|
| AI Provider | Required registered AI provider. |
| Text or expression | Required text to classify. |
| Categories | One allowed label per line; at least one is required. |
| Confidence threshold | 0 to 1. Results below it return no primary category. |
| Allow multiple categories | Off returns the highest-ranked item only; on can return several ranked matches. |
| Additional instructions | Optional boundary rules or tie-breaking guidance. |
| Max input tokens / Timeout | Optional input cap and provider timeout. |
The example categories are Access, Billing, Product Feedback, and General. It allows one category and expects Access at or above 0.70.
The output contains category, confidence, reasoning, the ranked classifications array, and belowThreshold. Branch on belowThreshold when low-confidence classification needs human review.
Translate Text
Section titled “Translate Text”Translate Text translates source text without answering or acting on instructions found inside it.

| Configuration | Details |
|---|---|
| AI Provider | Required registered AI provider. |
| Text or expression | Required source text. |
| Source language | A named language or auto for detection. |
| Target language | Required output language. |
| Preserve formatting | Keeps layout and formatting tokens where possible. Enabled by default. |
| Additional instructions | Terms, placeholders, product names, or IDs that must remain unchanged. |
| Max input tokens / Timeout | Optional input cap and provider timeout. |
The example translates English to Spanish while preserving [CUSTOMER_NAME] and ticket #341. Its result exposes translatedText, detectedSourceLanguage, and targetLanguage.
Analyze Sentiment
Section titled “Analyze Sentiment”Analyze Sentiment returns one normalized label: positive, neutral, negative, or mixed.

| Configuration | Details |
|---|---|
| AI Provider | Required registered AI provider. |
| Text or expression | Required source text. |
| Additional instructions | Optional guidance about the intended reading or expected degree of confidence. |
| Max input tokens | Optional input cap. |
| Timeout | Provider timeout; default 30000 ms. |
The example describes repeated failed sign-in attempts blocking payroll and expects negative with high confidence. The output includes sentiment, a confidence from 0 to 1, and brief reasoning.
Sentiment is about the attitude expressed in the supplied text. Do not use it to infer a person’s private traits, health, identity, or intent.
Extract Information
Section titled “Extract Information”Extract Information converts unstructured text into a typed data object whose fields you define.

Enter one field per line using this format:
name* | type | descriptionThe asterisk marks a required field. Supported types are string, number, boolean, array, and object.
| Configuration | Details |
|---|---|
| AI Provider | Required registered AI provider. |
| Text or expression | Required source text. |
| Fields to extract | Required line-based field definitions. Names become keys in data. |
| Additional instructions | Optional constraints, such as extracting only explicitly stated values. |
| Max input tokens / Timeout | Optional input cap and provider timeout. |
The example requests customer_name, email, ticket_id, deadline, and priority, with the first three required. The expected output contains Lena Ortiz, lena.ortiz@example.com, 341, before Friday, and urgent. Requested values that are absent or uncertain are returned as null rather than invented.
AI Brain
Section titled “AI Brain”AI Brain is a bounded controller for tasks that need planning, one or more approved capability calls, and an optional verification pass. It does not expose unrestricted tools and it cannot hide state-changing work inside a prompt.

Goal and registrations
Section titled “Goal and registrations”| Configuration | Details |
|---|---|
| Goal | Required objective. Define completion, the expected controller envelope, and when the Brain should stop or escalate. |
| Additional AI instructions | Guardrails and task-specific evidence rules. Do not request private chain-of-thought. |
| Orchestration mode | Single registration uses the primary registration for every role. Role router can assign different registrations to planner, worker, and critic. |
| Primary registration | Required default AI registration. |
| Planner / Worker / Critic | Optional role-specific registrations shown in Role router mode. Blank means use the primary registration. |
| Fallback 1–3 | Ordered alternative registrations used when the selected registration fails. A maximum of three can be configured. |
This is where one Brain can connect to multiple platform AI registrations. A typical arrangement uses a reasoning-oriented model as planner, a fast model as worker, a separate model as critic, and one or more fallbacks. Single-registration mode is easier to operate and is appropriate when one provider can perform every role.
Read-only capabilities
Section titled “Read-only capabilities”The Brain can use only configured query and pure-transform action templates. State-changing actions remain visible nodes in the workflow.
For each capability, configure:
| Field | Details |
|---|---|
| Workflow capability | An allowed action template selected from the service. |
| Capability key | Stable name the model uses in a tool decision. |
| Description and expected arguments | Explain when to call it and the argument names and meanings. |
| Fixed configuration JSON | Trusted configuration owned by the workflow. Model arguments can be inserted with {{ ctx.brain.arguments.* }}. |
A Brain can have at most eight capabilities. The model cannot replace the fixed configuration; it can only supply values at the argument insertion points you explicitly expose.
The example maps the pure Add action to count_actions:
{ "operands": [ "{{ ctx.brain.arguments.upstreamCount }}", "{{ ctx.brain.arguments.brainCount }}" ]}The goal requires the planner to supply 8 and 1, producing capability evidence with value 9 before the worker may finish.
Operating envelope and result contract
Section titled “Operating envelope and result contract”
| Configuration | Range and behavior |
|---|---|
| Maximum steps | 2 to 12; default 8. Counts planner, worker, and critic calls. |
| Overall timeout | 1000 to 600000 ms; default 120000. Covers the whole Brain execution. |
| Provider timeout | 1000 to 120000 ms; default 30000 for each provider call. |
| Max input tokens | Optional hard input cap; the example uses 64000. |
| Minimum confidence | 0 to 1; default 0.70. A lower-confidence result needs human review. |
| Temperature | 0 to 1; lower values make controller decisions more repeatable. |
| Optional result JSON Schema | Validates the user-facing value nested in the controller’s result property. It must be a JSON object schema. |
| Side-effect policy | Always deny. The Brain returns needsHuman when approval is required; connect an explicit Human Approval node downstream. |
The Brain returns the verified result plus evidence, confidence, needsHuman, step and stop information, token usage, and a providerTrace showing which registration handled each role.
Verified end-to-end result
Section titled “Verified end-to-end result”The documented workflow was saved and run after all nine actions were connected. Execution 83d3a140-5481-454d-b5de-4b1574dfd859 completed with every AI node marked Action passed.
The AI Brain result was:
{ "status": "pass", "summary": "Audit of 8 upstream AI stages passed.", "actionsChecked": [ "01 Normalize request", "02 Generate response", "03 Route request", "04 Summarize case", "05 Classify request", "06 Translate reply", "07 Score sentiment", "08 Extract fields" ]}The supporting execution metadata recorded capability value 9, confidence 0.92, needsHuman: false, and three controller steps handled by planner, worker, and critic roles.
Use this sequence to verify your own workflow:
- Test each AI action with representative remembered data.
- Compare the returned values with the expected values, not only the success indicator.
- Choose Save & Run and inspect every step in Run history.
- Confirm low-confidence and malformed-output paths fail or route to review as intended.
- Keep consequential side effects in explicit nodes and place Human Approval before them when needed.
