Skip to content

Analyze with AI

Analyze with AI classifies content, assigns a score, or produces text for later automation steps. Each new analysis returns one structured variable. List of options, yes/no, and score also select an output directly on the canvas; text uses the Continue output.

Availability: the single-result format has been validated and published in Dev. Its production release is still pending. If your editor shows Output fields, see Nodes using the legacy format.

The step does not send messages to customers or invoke tools. The model receives Content to analyze and the instructions you configure, after variable substitution. The conversation is not included automatically: to evaluate a conversation, insert {{conversation.transcript}} when that variable is available on the path.

In the automation editor:

  1. add Analyze with AI from the palette’s Actions tab;
  2. under Result, choose the Output type and enter the Variable name;
  3. describe What should AI evaluate? and configure options or the number of scores when needed;
  4. under Context, fill in Content to analyze using the available variables;
  5. under Model, choose an available model for this result;
  6. connect each output to one destination on the canvas and click Save.

Variable names accept unaccented letters, numbers, and _, starting with a letter or _. Use a stable name such as intent, urgent, score, or summary. You do not need a second variable to identify the selected output.

The selector separates types into PREDEFINED OPTIONS and FREE RESPONSE. Free text is still structured: the text is stored in the field you named.

TypeVariable valueCanvas outputs
List of optionsthe selected option’s nameone per option
Yes/notrue or falseYes and No
Scorea value from 1 to the configured count, including fractions2 to 10 numbered outputs
Free textthe generated textContinue

Enter at least two options with unique names. Use When to choose option to explain what each option means. For example: Sales for buying intent, Billing for billing questions, and Support for problems using the product.

You can add, rename, and reorder options. Renaming or moving an option preserves its connection. To remove a connected option, resolve its connection on the canvas first.

Write a verifiable rule in What should AI evaluate?, such as “Did the customer request human assistance?”. The result is true or false, and only the corresponding Yes or No output advances.

Use Number of scores to choose between 2 and 10 scores and outputs. With ten scores, the scale runs from 1 to 10, and the node displays ten outputs. Explain what a low or high score means in one instruction; you do not need to write a rule for every level.

The variable preserves the original score. A score of 7.3 uses output 7; 7.8 uses output 8. A tie such as 7.5 uses output 8. Connect these outputs to the same destination or to different destinations as your flow requires.

Define the expected content, such as “Summarize the request in one factual sentence”. The text is stored in the variable, and the automation follows Continue. Use a Condition after the analysis if you need an additional comparison against the text.

Separate the evaluation rule from the material being evaluated. For a list of options, you can enter:

  • What should AI evaluate?: “Classify the main subject of the request. Consider what the person is asking for now.”
  • Content to analyze: {{conversation.transcript}}.
  • When to choose option: the criterion for each option.

Not every trigger provides a conversation. In List, Schedule, or Audience flows, use the groups available in the picker, such as contact, list, or trigger payload. If no transcript is available, obtain the conversation before analysis or provide other suitable content.

Fill in the evaluation and content before saving. The node does not search knowledge bases or send messages; add the required steps to the flow for those actions.

For List of options, Yes/no, and Score, the selector may offer Decision models and LLMs groups. You choose which model performs the analysis. Free text offers only LLMs.

The list depends on active public models, your plan, and availability for your organization. An internal, unavailable, or incompatible model cannot be used in a new analysis. An explicit choice is required: there is no silent replacement with a default model or another family.

Changing the model while keeping the type preserves the variable, outputs, and connections. When switching from a predefined result using a decision model to Free text, choose an LLM; the decision model is cleared from the selection.

Decision models may use fewer credits, but this does not guarantee better classification. Compare examples from your flow. Score availability in a model such as JEV does not establish its accuracy; the initial quality evaluation did not validate generic Score use for the tested cases. Define clear criteria and check representative cases before activating the automation.

Connections are configured only on the canvas. Each output needs one valid destination; several outputs may reach the same next step. Only the chosen path advances during each run. You do not need a Condition node just to split this analysis’s options, yes/no, or scores.

The editor blocks type or count changes that would remove outputs that are still connected. Resolve those connections first. Renaming the variable requires updating references in later steps that use it.

After success, the result is available as {{node_id.variable_name}}. For example, the score variable from node n5 is {{n5.score}}. It can only be used in later steps that pass through the analysis; it does not exist on a parallel branch, in the producing node, or above it.

In Activity, the result is separate from Analysis details, which show the selected path and available model and usage information. Those details do not create additional flow variables.

Save publishes a new graph version. Publication rejects incomplete results, invalid variable names, empty or duplicate options, a score count outside 2–10, ineligible models, and outputs with missing or ambiguous destinations. Previous versions are not rewritten.

Test mode simulates send and write actions, but Analyze with AI runs for real and consumes credits. See Runs and tests. Check the variable and selected output, including ambiguous cases, scale limits, and insufficient content.

If the model returns invalid structured output, the node may retry up to twice, for three attempts in total. Each attempt has its own Activity record and its own charge when billed. Network, authentication, and provider errors do not receive that automatic retry. A failure does not select an output or advance through an alternative connection. Billing failure also stops the step.

With your own OpenRouter key, the call uses that key and SquadOS charges 1 fixed credit per attempt. Provider costs are charged to that key’s account. Model savings do not reduce the platform’s fixed fee.

Without your own key, SquadOS uses the platform key and converts the cost into credits. If the provider does not report the actual cost, billing may use an estimate based on tokens and configured prices. A processed attempt can cost money even when its result is invalid. In automations with Always re-entry, new events may run and charge for the analysis again.

Existing nodes retain Output fields, their results, connections, and previous behavior. They may have multiple fields, including Number; this type is not automatically converted to Score. A legacy configuration without an explicit model continues to use the platform’s active global default.

To update an edit, use Convert to a single result and choose the variable to keep. Conversion changes only the draft. Update references to discarded fields and resolve incompatible connections before converting; then choose the model, complete the evaluation, and connect the new outputs. For a Number field, explicitly choose the new type.