> For the complete documentation index, see [llms.txt](https://docs.rubica.au/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rubica.au/workflow-automation.md).

# Workflow Automation

How Jobs get created and progressed automatically — Workflow Triggers, Job stages, and the conditions that gate them.

rubica can create and progress Jobs for you automatically, instead of an adviser manually starting one for every review, renewal, or follow-up. Three separate builders do this, and they work together — all three live under **Home → Settings → Workflow Templates**:

| Builder                 | Where                                                                                         | What it does                                                                                                                |
| ----------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Workflow Triggers**   | Home → Settings → Workflow Templates → a template → **Workflow Triggers** tab                 | Watches Accounts for an event (like an upcoming Review Date) and **creates a brand-new Job**.                               |
| **Service Mappings**    | Home → Settings → Workflow Templates → a template → **Service Mappings** tab                  | Creates a Job when a client is sold a specific Service/Product.                                                             |
| **Stages → Add Action** | Home → Settings → Workflow Templates → a template → **Stages** tab → a stage → **Add Action** | Fires actions (emails, tasks, notifications, etc.) **while a Job is already running**, timed off stage entry/exit/due date. |

A fourth piece, **Automation Triggers**, reacts to something happening outside Salesforce (a Calendly booking, a payment) to move an already-open Job forward.

Both Workflow Triggers and Stage Actions support **Conditions** — rules that check a field on the client's Account before anything fires, so a trigger or action only applies to the right clients (e.g. "only if this client is on an ongoing service").

***

## 🆕 New: three ways to see what the engine is doing

Building the automation is only half the story — these three views (all new) are how you actually *watch* it work, from a single Job up to the whole firm:

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-inbox" style="color:$primary;">:inbox:</i></h3></td><td><strong>The Action Tray</strong></td><td>Every pending action across every Job you (or your Pod, or the firm) own — one inbox, not forty Job records to click through.</td><td><a href="/workflow-automation/the-action-tray.md">The Action Tray</a></td></tr><tr><td><h3><i class="fa-rocket" style="color:$primary;">:rocket:</i></h3></td><td><strong>Launch Workflow</strong></td><td>Start a Job or Task template manually, on demand, with a full preview before anything is created.</td><td><a href="/workflow-automation/launch-workflow.md">Launch Workflow</a></td></tr><tr><td><h3><i class="fa-satellite-dish" style="color:$primary;">:satellite-dish:</i></h3></td><td><strong>Workflow Radar</strong></td><td>Firm-wide: what fired today, what's due on the next engine run, what's coming tomorrow.</td><td><a href="/workflow-automation/workflow-radar.md">Workflow Radar</a></td></tr></tbody></table>

## How it all fits together

```mermaid
flowchart TB
    subgraph Create["1 · Something creates a Job"]
        WT["Workflow Trigger\n(date-based Account event)"]
        SM["Service Mapping\n(Opportunity/sale-based)"]
        LW["Launch Workflow\n(manual, on demand)"]
    end
    J["rubica__Job__c\nsitting in a Stage"]
    subgraph Run["2 · While the Job is open"]
        SA["Stage Actions\n(timed: email, task, etc.)"]
        OC["Outcome picked\n(adviser clicks a button)"]
    end
    LOG["Job_Automation_Log__c\none row per fired/pending action"]
    NEXT["Next Stage — or Close Job"]

    WT --> J
    SM --> J
    LW --> J
    J --> SA --> LOG
    J --> OC --> LOG
    OC --> NEXT --> J

    subgraph Watch["3 · Watching it happen"]
        AT["Action Tray\n(your pending actions)"]
        RD["Workflow Radar\n(firm-wide, today/next-run/tomorrow)"]
    end
    LOG -.-> AT
    LOG -.-> RD
```

## Pick the right builder

* **"14 days before their Review Date, start the Review Workflow"** → Workflow Trigger (creates the Job, timed off a date).
* **"When they buy our Ongoing Advice service, start onboarding"** → Service Mapping (creates the Job, timed off a sale).
* **"3 days after this Job enters the Prepare stage, email the client"** → Stage Action (the Job already exists).
* **"When they book via Calendly, jump the Job to Meeting Booked"** → Automation Trigger (reacts to a real-time external event).
* **"Start this one client on the Review Workflow right now"** → Launch Workflow (manual, no trigger needed).

## Building a workflow, end to end

1. **Already have something 90% similar?** Duplicate it instead of starting from scratch.
2. [Building Job Stages](/workflow-automation/building-job-stages.md) — lay out the stages a Job moves through.
3. [Stage Outcomes](/workflow-automation/stage-outcomes.md) — how each stage ends, and what happens automatically when it does.
4. [Stage Actions — Overview](/workflow-automation/stage-actions-overview.md) and the [Action Types Reference](/workflow-automation/action-types-reference.md) — automate what happens while a Job runs.
5. [Merge Fields](/workflow-automation/merge-fields.md) — personalise email/text content.
6. [Workflow Triggers — Creating a Trigger](/workflow-automation/workflow-triggers-creating-a-trigger.md) and [Setting Conditions on a Workflow Trigger](/workflow-automation/setting-conditions-on-a-workflow-trigger.md) — get Jobs created automatically, only for the right clients.
7. [Service Mappings and Automation Triggers](/workflow-automation/service-mappings-and-automation-triggers.md) — the sale-based and external-event alternatives to a date-based trigger.
8. [Estimated Effort & Role Split](/workflow-automation/estimated-effort-and-role-split.md) — plan capacity for the template as a whole.
9. [Testing & Previewing](/workflow-automation/testing-and-previewing.md) — check everything above before it touches a real client.

Done with a template, or need to start over? See [Duplicating & Deleting Templates](/workflow-automation/duplicating-and-deleting-templates.md).

Need to start a Job right now, without waiting for a trigger? See [Launch Workflow](/workflow-automation/launch-workflow.md).

Admins: see [Admin & Troubleshooting](/workflow-automation/admin-and-troubleshooting.md) for rollout status and one-time setup steps.

***

## Things to know before you start

* **Conditions are AND-only.** Every condition you add on a trigger or action must ALL be true — there's no "match any of these" option yet.
* **Three operators**: Equals, Not Equals, Contains. Contains is a case-insensitive text search — useful for a field like Service Category where the exact wording might be "Ongoing Fee Arrangement (OFA)" and you just want to catch anything containing "Ongoing".
* **No conditions = always applies.** A trigger or action with zero conditions behaves exactly as it always has — conditions are opt-in, not a new requirement.
* **Conditions only look at the Account.** Not the Job, not the Contact — the household/person/business Account record the Job or trigger is tied to.
