Workflows
Build routing rules on a visual canvas that automatically assign contracts, change owners, and override SLAs based on contract content, type, role, and value.
Workflows are organization-wide routing rules that run automatically against your contracts. You build each rule on a drag-and-drop canvas as a flow of Trigger → Conditions → Actions: when an uploaded contract matches a rule's conditions, Fusial applies one or more actions — assign the contract to a teammate, change its owner, and/or override the auto-matched SLA rule.
Only admins and owners can create, edit, delete, or pause workflows. Members and viewers can't manage them.
At a glance
- Trigger — a contract is uploaded. Each rule is evaluated once per contract, on the contract's first version only, after Fusial finishes analyzing it (as long as analysis didn't fail — a partial analysis still runs workflows).
- Conditions decide whether a contract matches. A contract must satisfy every condition you add (AND). Within a single condition that allows several values — such as multiple contract types — matching any one of them is enough (OR).
- Actions are what happens on a match: assign, change owner, override SLA.
The Workflows list
Open Automation → Workflows from the sidebar to see your routing rules. Each rule appears as a row with a status dot (green when active, grey when paused), its name, a priority badge, a Paused badge when disabled, and one-line summaries of its conditions and actions. Paused rules are dimmed.
Click any row to open it in the builder, or click New workflow to create one. If you have no rules yet, an empty state invites you to create your first.
Building a workflow
A workflow always reads top to bottom across three columns on the canvas: trigger → conditions → actions. Nodes are labeled by their role — When for the trigger, If for conditions, Then for actions — and connected by animated edges.
- Every workflow starts from a single Contract uploaded trigger. It runs after Fusial analyzes the contract and can't be removed.
- Use the Add step menu to drop condition and action nodes onto the canvas. Steps are grouped under Conditions and Actions, and each step can only be added once — the menu only offers the ones you haven't used yet, and is disabled once every step is on the canvas.
- Select a node to edit its value in the inspector on the side. With nothing selected, the inspector shows Nothing selected. Each node also displays a short summary of its current value (the selected types, the assignee's name, the value range, and so on).
- You can pan, zoom, and drag nodes to tidy up the layout, but connections are fixed — you add and remove steps through the Add step menu and the inspector, not by drawing or deleting edges on the canvas.
- A node is flagged incomplete when it's on the canvas but still empty — for example, an AI-condition node with no text. Fill it in or remove it before saving.
Name, priority, and status
- Name — a short description of what the workflow does (e.g., Route data privacy contracts to legal). Required, 1–120 characters.
- Priority — a number from 0 to 10,000 (default 100). Workflows run from lowest number to highest, so a lower priority number runs first. This decides which rule wins when more than one acts on the same contract.
- Active — turn the workflow on or off without deleting it. Only active workflows run.
Saving
You can save once the workflow has a name, at least one condition, and at least one action. Until then, the builder shows a hint for what's still missing — such as Name this workflow, Add at least one condition, or Add at least one action. If you leave with unsaved changes, Fusial asks you to confirm before discarding them.
Conditions
A rule must have at least one condition — an AI condition or any of the structured filters below. A rule with no conditions would match every contract, so Fusial won't let you save one.
AI condition
Describe in plain language what the AI should look for in the contract text — for example, Contract contains substantial data privacy provisions, e.g. processing of personal data, GDPR/CCPA references, or DPA-style obligations. The text can be up to 2,000 characters.
Fusial evaluates this against the contract's text and is deliberately conservative: it matches only when the contract substantively satisfies your description, never invents language that isn't there, and records a short rationale explaining why a contract matched.
Contract type
Select one or more types the workflow should apply to: NDA, MSA, SOW, DPA, Order form, Employment, or Other. The condition matches if the contract is any of the selected types.
Our role
The role your organization plays in the contract: Counterparty, Customer, Vendor, Employer, Employee, Party A, Party B, or Other. Select one or more.
Counterparty relationship
How you classify the other side: Customer, Vendor, or Partner. Select one or more; the condition matches if the counterparty carries at least one of the relationships you selected.
Contract value
Filter by contract value with Min, Max, and Currency fields:
- A currency is required whenever you set a minimum or maximum, and it must match the contract's currency exactly. Fusial does not apply FX conversion.
- Bounds are inclusive, and you can leave either one blank to make that end open. The minimum can't be greater than the maximum.
- A contract with no value, no currency, or a different currency than the rule does not match this condition.
Actions
A rule must have at least one action. When a contract matches, Fusial runs the actions you've added:
- Assign to — assign the contract to a teammate, with an optional note explaining why it was routed to them. Only members who can be assigned contracts are offered.
- Change owner — transfer ownership of the contract to a teammate. Skipped if that teammate already owns the contract.
- Override SLA — replace the contract's SLA with a specific SLA rule. Only active SLA rules are offered, and the override applies only if no override has been set yet (see below).
How workflows run
A workflow runs once per contract, after Fusial finishes analyzing it. It runs only on a contract's first version, and as long as analysis didn't fail — a partial analysis still runs workflows. When that happens, Fusial:
- Evaluates every active workflow in priority order — lowest number first. When two workflows share the same priority number, the older one runs first.
- Checks the structured conditions first — type, role, relationship, and value. These are quick and exact, so workflows that fail them are dropped immediately, before any AI evaluation.
- Evaluates the AI condition for the workflows still in the running. The AI is told to be conservative and to match only when the contract genuinely satisfies the description, returning a one- to two-sentence rationale for each match.
- For each matching workflow, runs its actions in this order: assign → change owner → override SLA.
A few rules govern how actions resolve:
- Each workflow fires at most once per contract. If it already acted on a contract, it won't run again.
- Change owner is skipped if the contract is already owned by the target teammate.
- The first matching workflow wins the SLA. An SLA override only applies if no override has been set yet; once one workflow sets it, later (lower priority) workflows leave it in place.
If routing ever fails, it never blocks contract analysis — the failure is recorded and analysis continues.
Workflow activity is recorded in your audit log: Created workflow, Updated workflow (which includes pausing or reactivating a rule), Deleted workflow, and Triggered workflow. A Triggered workflow entry captures the AI's rationale and the outcome of each action — applied, skipped (with a reason), or nothing to do.
Editing, pausing, and removing workflows
From Automation → Workflows, open a rule to edit it. To pause or reactivate a workflow, open it and flip the Active switch, then save — the list rows themselves are just links, with no inline toggle. Deleting a workflow asks you to confirm; contracts the rule already acted on are not affected. To reorder which workflow runs first, change its Priority — lower numbers run first.