Docs / Automations

The automation editor

The editor lives under Automations in the Studio navigation. An automation opens as a document with three panels: Setup (name, description, trigger), Steps (the flow, as a numbered list or a graph), and History (versions).

The Setup panel with the trigger kind, workspace, node types and path filter
Setup: the trigger. Here a node event on raisin:Mail in the workplace workspace, under the support desk's inbox.

Build one in ten steps

This walks through the support desk triage automation as you would draw it yourself. The finished YAML is in the example.

  1. Create it. Automations → Create → Automation. Give it a name that says what it does: "Support desk triage".
  2. Pick the trigger. In Setup choose When something happens. Workspace: workplace. Node types: raisin:Mail. Under these paths: your mailbox's inbox folder — the editor appends /**. On: Created.
  3. Add the first step. Open Steps. The palette on the left lists the library ("Send an email", "Read an email", "Update a node", …), the agent steps and the control steps. Click Read an email. Its arguments already point at the subject — the mail that fired — because library steps carry subject defaults.
  4. Add the lookups. Click the + under the step and choose Find nodes: workspace taxonomy, node type studio:Term, under /support. Add a second one for tags. These give the agent the desk's own vocabulary so it can only pick what exists.
  5. Ask the agent. Add Ask an agent, pick the agent, and write the instruction. Wherever you need a value, click Insert… and pick it: the mail's body, the conversation so far, the attachment text, the category listing. Under What it must return define the answer's fields: category, tags, priority, summary, reply, and a yes/no "safe to send".
  6. File it. Add Triage a conversation. Its arguments form is generated from the step's schema; fill category, tags, priority and the note from the agent's answer with Insert….
  7. Branch. Select the filing step and click Add a branch. Choose Reply to an email with Send it on, and give the connection the condition steps.classify.structured_output.auto_reply == true — Insert… offers the field. The plain next connection is the "otherwise" arm.
  8. Draft and ask. On the otherwise arm add Reply to an email with Send it off (a draft), then Ask a person: assignee, kind Approval, the prompt (Insert… the summary and the suggested reply), and two choices: "Send the reply" → send, "Leave the draft" → keep. Set a deadline.
  9. Send on approval. From the person step add a branch with the condition steps.review.action == 'send' to a last Reply to an email, this time with Queue this draft instead pointing at the draft step's outbound node, so the same draft is sent rather than a second copy.
  10. Check, save, switch on. The Problems panel is empty when the automation compiles. Save. The automation is off until you flip Active at the top of the Steps view.

The two views

Steps is a numbered list, top to bottom, with branches shown inline as nested lanes and a loop shown as a back-reference. It is the view for reading and for adding steps in order: every + between cards inserts there and wires the connections for you.

The Steps view: trigger at the top, numbered step cards, a branch shown as an inline lane
Steps: numbered in reading order, with the conditional branch as a labelled lane.

Graph is the same automation as boxes and lines. Drag a card to move it, drag from a card’s output handle to another card to connect them, click a line to edit the connection. Loops are drawn as routed lines below the cards so they never cross the forward flow. The toolbar fits, zooms and tidies the layout.

The Graph view fitted to the window, showing the whole triage automation with its branch
Graph: the same automation, fitted to the window. The branch after "File the conversation" is visible as two lines.

The inspector

Selecting a step opens it on the right. Every step kind has its own fields; three controls recur:

  • Template fields (an instruction, a prompt, a task description) have Insert…. Whatever you insert is written as ${…} and rendered when the run reaches the step.
  • Argument forms for function steps are generated from the function’s input schema: required fields first, the right control per type, a JSON editor for objects.
  • “What it must return” on an agent or chat step is a small schema builder: field name, type, title, required. The fields you define are what later steps can Insert.
The agent step selected, with the agent picker and the instruction template in the inspector
An agent step in the inspector: the agent, the instruction with Insert…, and the options for routing, tools and structured answers below.

Selecting a connection opens its own inspector: its kind (next, if, on error, on timeout), a label, and, for an if, the condition — or, when the source is an agent that chooses, the sentence the agent reads.

Problems

The panel under the inspector lists what the compiler and the health check found: a step with no function, a branch with no condition, a loop with no exit, an error path without a timeout, a template that names a step that does not exist. Clicking a problem selects the step. An automation with errors does not compile and cannot be switched on; warnings compile but are worth reading.

Running and history

Run now at the top of the editor starts a run with a subject you pick — the way to test an automation without waiting for the real event. The run then behaves exactly as a triggered one: tasks land in the Inbox, agents are called, the outbox fills.

History lists every saved version with who saved it and what changed, and restores any of them. Automations are versioned content like pages.

The History panel listing versions of the automation with restore buttons
History: every version, restorable. Versions written by the compiler are attributed to the trigger that saved them.

Agents

Agents are managed under Automations → Agents: name, provider and model (from the tenant’s configured providers), system prompt, temperature, and the tools it may call. The same agent can be used by any number of steps and by conversations.

The agent editor with provider, model, description and system prompt
The support triage agent: a provider and model from tenant configuration, and the durable instructions every step builds on.

Pilot documentation. Studio is in a partner pilot. Screens and YAML shown here are current as of the version noted on each page; tell your Maravilla contact when something does not match what you see.