Claude
Skills
← Back

flow-orchestrator-2025

Salesforce Flow Orchestrator for multi-user, multi-step business processes (2025). PROACTIVELY activate for: (1) building Flow Orchestrations (autolaunched and screen flows), (2) work assignment to users, queues, or roles, (3) interactive vs background steps, (4) approval-style workflows in Flow, (5) parallel and sequential stages, (6) Flow Orchestrator events (StageCompleted, OrchestrationCanceled), (7) error handling and resume patterns, (8) testing orchestrations, (9) migrating from legacy Process Builder/Workflow Rules, (10) Flow Orchestrator vs Approval Process tradeoffs. Provides: orchestration design patterns, stage/step templates, error-handling recipes, and migration guidance.

Design

What this skill does


## 🚨 CRITICAL GUIDELINES

### Windows File Path Requirements

**MANDATORY: Always Use Backslashes on Windows for File Paths**

When using Edit or Write tools on Windows, you MUST use backslashes (`\`) in file paths, NOT forward slashes (`/`).

**Examples:**
- āŒ WRONG: `D:/repos/project/file.tsx`
- āœ… CORRECT: `D:\repos\project\file.tsx`

This applies to:
- Edit tool file_path parameter
- Write tool file_path parameter
- All file operations on Windows systems


### Documentation Guidelines

**NEVER create new documentation files unless explicitly requested by the user.**

- **Priority**: Update existing README.md files rather than creating new documentation
- **Repository cleanliness**: Keep repository root clean - only README.md unless user requests otherwise
- **Style**: Documentation should be concise, direct, and professional - avoid AI-generated tone
- **User preference**: Only create additional .md files when user specifically asks for documentation


---

# Salesforce Flow Orchestrator (2025)

## What is Flow Orchestrator?

Flow Orchestrator coordinates multi-user, multi-step, multi-stage business processes without code. Different users complete sequential tasks in one workflow with built-in approvals, conditional logic, and error handling.

**Key Capabilities**:
- **Multi-User Workflows**: Assign tasks to different users/teams across stages
- **Stage-Based Execution**: Organize work into logical stages
- **Background Automation**: Combine user tasks with automated steps
- **Visual Progress Tracking**: Users see their position in the workflow
- **Fault Paths**: Handle errors gracefully (Summer '25)
- **No-Code**: Build complex processes without Apex

## When to Use Flow Orchestrator

| Use Case | Flow Orchestrator? | Why |
|----------|-------------------|-----|
| Employee Onboarding (HR → IT → Manager) | āœ… Yes | Multi-user, sequential stages |
| Quote-to-Cash (Sales → Finance → Operations) | āœ… Yes | Cross-functional approval process |
| Case Escalation (L1 → L2 → L3 Support) | āœ… Yes | Tiered assignment with SLAs |
| Simple record automation (create/update) | āŒ No | Use Record-Triggered Flow |
| Single-user process | āŒ No | Use Screen Flow |
| Batch data processing | āŒ No | Use Scheduled Flow or Apex Batch |

## Orchestration Architecture

```text
Orchestration = Stages → Steps → Background Automations

Stage 1: "HR Review"
ā”œā”€ Step 1.1: Interactive Step (HR Manager reviews)
ā”œā”€ Step 1.2: Background Automation (create records)
└─ Decision: Approved? → Next Stage : End

Stage 2: "IT Provisioning"
ā”œā”€ Step 2.1: Interactive Step (IT assigns equipment)
ā”œā”€ Step 2.2: Background Automation (provision accounts)
└─ Step 2.3: Interactive Step (IT confirms completion)

Stage 3: "Manager Onboarding"
ā”œā”€ Step 3.1: Interactive Step (Manager schedules 1:1)
└─ Step 3.2: Background Automation (send welcome email)
```

## Building an Orchestration (Step-by-Step)

### Example: Employee Onboarding Process

**Requirements**:
- HR reviews new hire documents → Approved/Rejected
- If approved, IT provisions accounts and equipment
- Manager schedules first day and assigns mentor
- System sends notifications at each stage

### Step 1: Create Orchestration

```yaml
Setup → Flows → New Flow → Orchestration
Name: Employee_Onboarding
Object: Employee__c (custom object)
Trigger: Record Created, Status = 'Pending Onboarding'
```

### Step 2: Design Stages

**Stage 1: HR Document Review**
```text
Stage Name: HR_Document_Review
Stage Description: HR verifies employee documentation
Run Mode: One at a Time (sequential)

Step 1.1 (Interactive):
- Name: Review_Documents
- Assigned To: Queue "HR_Onboarding_Queue"
- Due Date: 2 days from start
- Screen Flow: HR_Document_Review_Screen
- Inputs: Employee__c.Id

Step 1.2 (Background - Decision):
- If HR_Approved = true → Next Stage
- If HR_Approved = false → End + Send Rejection Email
```

**Stage 2: IT Provisioning**
```text
Stage Name: IT_Provisioning
Condition: Runs only if Stage 1 approved

Step 2.1 (Interactive):
- Name: Assign_Equipment
- Assigned To: Queue "IT_Provisioning_Queue"
- Due Date: 3 days from stage start
- Screen Flow: IT_Equipment_Assignment
- Inputs: Employee__c.Id

Step 2.2 (Background):
- Name: Create_AD_Account
- Autolaunched Flow: Create_Active_Directory_Account
- Inputs: Employee__c.Email, Employee__c.FirstName

Step 2.3 (Background):
- Name: Send_IT_Confirmation
- Action: Send Email Template
- Recipient: Employee__c.Email
- Template: Welcome_Email
```

**Stage 3: Manager Setup**
```text
Stage Name: Manager_Setup
Depends On: Stage 2 complete

Step 3.1 (Interactive):
- Name: Schedule_First_Day
- Assigned To: Employee__c.Manager__c
- Due Date: 1 day from stage start
- Screen Flow: Manager_Onboarding_Tasks

Step 3.2 (Background):
- Name: Update_Status
- Record Update: Employee__c.Status = 'Onboarding Complete'
```

### Step 3: Implement Fault Paths (Summer '25)

**Fault Path on IT Provisioning Failure**:
```text
If Step 2.2 (Create_AD_Account) fails:
ā”œā”€ Retry Step (1 attempt after 10 minutes)
ā”œā”€ If still fails:
│  ā”œā”€ Send email to IT Manager with error details
│  ā”œā”€ Create Task for manual provisioning
│  └─ Assign Interactive Step to IT Manager for resolution
└─ Continue to Stage 3 (don't block entire process)
```

**Configuration**:
```text
Step 2.2: Create_AD_Account
ā”œā”€ Fault Path Enabled: true
ā”œā”€ Retry Attempts: 1
ā”œā”€ Retry Delay: 10 minutes
└─ On Final Failure:
   ā”œā”€ Create Task
   │  ā”œā”€ Subject: "Manual AD Account Creation Needed"
   │  ā”œā”€ Assigned To: IT_Manager_Queue
   │  └─ Priority: High
   └─ Send Email Notification
      ā”œā”€ Template: IT_Provisioning_Failure
      └─ Recipients: IT Managers
```

## Interactive Steps vs Background Steps

### Interactive Steps

**Use for**: Actions requiring human judgment or input

```text
Interactive Step Configuration:
ā”œā”€ Screen Flow: Define UI for user input
ā”œā”€ Assigned To: User, Queue, or Role
ā”œā”€ Due Date: Formula (TODAY() + 2 for 2 days)
ā”œā”€ Instructions: What user should do
ā”œā”€ Input Variables: Data passed to screen flow
└─ Output Variables: Data returned from user
```

**Example Screen Flow** (HR Review):
```text
Screen: Review Documents
ā”œā”€ Display: Employee Name, Position, Documents Uploaded
ā”œā”€ Input: Radio Button (Approve / Reject)
ā”œā”€ Input: Text Area (Comments - required if reject)
└─ Action: Save & Submit

Output Variables:
- HR_Approved (Boolean)
- HR_Comments (Text)
```

### Background Steps

**Use for**: Automated actions without user interaction

```text
Background Step Types:
ā”œā”€ Autolaunched Flow: Call another flow
ā”œā”€ Apex Action: Invoke Apex method
ā”œā”€ Send Email: Email template or custom
ā”œā”€ Post to Chatter: Notify users
ā”œā”€ Create Records: DML operations
ā”œā”€ Update Records: Field updates
ā”œā”€ External Service: REST callout
└─ Wait: Pause for duration or until condition
```

## Advanced Patterns and Monitoring

Advanced Flow Orchestrator designs (parallel approvals, conditional branches, retry / escalation, record-triggered orchestration, external integration handoffs) plus monitoring, reporting, and operational dashboards live in `references/advanced-patterns-monitoring.md`. Load that reference for complex multi-stage implementations and production observability.

## Integration with Other Features

### Pattern: Orchestration + Approval Process

```text
Stage 2: Manager Approval
ā”œā”€ Step 2.1 (Interactive): Manager reviews
│  └─ Screen Flow with Approve/Reject buttons
ā”œā”€ Background Automation: Update approval status
└─ If Approved: Proceed to Stage 3
   If Rejected: Send rejection email, End orchestration
```

### Pattern: Orchestration + Platform Events

**Publish events at stage transitions**:
```apex
trigger OrchestrationStageTrigger on FlowOrchestrationStageInstance (after insert, after update) {
    List<OrchestrationStageEvent__e> events = new List<OrchestrationStageEvent__e>();

    for (FlowOrchestrationStageInstance stage : Trigger.new) {
        if (stage.Status == 'Completed') {
            events.add(new OrchestrationStageEvent__e(
                Orches

Related in Design