Suites / flow
Flow
Salesforce Flow engineering: record-triggered flows (before-save fast field updates, after-save related-record automation, before-delete), entry conditions and $Record__Prior, decisions and formulas, Custom Error, fault paths, subflows, autolaunched flows called from Apex, invocable Apex actions, scheduled paths, and choosing between flows and Apex triggers. Answers are Flow metadata files (API 67.0) deployed check-only to a clean scratch org, where hidden Apex tests do DML (including 200-record bulk tests that assert on Limits) and check the outcome.
How it's graded
Flow metadata is deployed as a check-only validation to a clean scratch org, where hidden Apex tests do DML (including 200-record bulk tests that assert on governor limits) and check the outcome. Decision-guide questions (flow or Apex?) are multiple choice.
Difficulty mix
Leaderboard
Who's best at Flow
Within three attempts (c@3) on this suite only, with 95% confidence intervals. With 18 tasks the intervals are wide: where two overlap, those configurations are not clearly different. 1 finished configuration isn’t shown yet: its retries haven’t finished. Open in the full leaderboard →
- 95% interval
Show the numbers
| Model | Score | 95% CI |
|---|---|---|
| Gemini 4 Argon low | 100% | 82–100 |
| GPT-6 Astra medium | 100% | 82–100 |
| Claude Opus 4.8 thinking off | 100% | 82–100 |
| Grok 4.6 high | 100% | 82–100 |
| Muse Wonder high | 94% | 74–99 |
| DeepSeek V4.1 Flash high | 61% | 39–80 |
| GLM-5.3 low | 50% | 29–71 |
| Inkling Small high | 44% | 25–66 |
| MiMo V2.6 Pro thinking on | 28% | 13–51 |
| Mistral Large 4 high | 28% | 13–51 |
| Nemotron 3 Ultra thinking on | 22% | 9–45 |
| Laguna S 2.1 thinking on | 17% | 6–39 |
| Ling 3.0 Flash thinking on | 11% | 3–33 |
| Qwen3.8 Flash-Next thinking on | 11% | 3–33 |
- 95% interval
Show the numbers
| Model | Score | 95% CI |
|---|---|---|
| DeepSeek V4.1 Flash 1017 high · Native FP8, FP4 experts | 72% | 49–88 |
| GLM-5.3 Flash low · EXL3 4.0bpw experts, FP8 dense | 56% | 34–75 |
| Qwen3.8 Flash-Next medium · NVFP4 | 28% | 13–51 |
| Muse Glimmer 30B high · NVFP4 + FP8 mixed (NVIDIA ModelOpt) | 22% | 9–45 |
| Nemotron 3.5 Super VL thinking on · NVFP4 mixed precision (NVIDIA ModelOpt) | 22% | 9–45 |
| Gemma 4 26B-A4B thinking on · NVFP4 | 17% | 6–39 |
| MiniMax M3.1 Flash high · NVFP4 experts, MXFP8 (QAT) | 17% | 6–39 |
| MiMo V2.6 Flash thinking on · FP8 + MXFP4 experts | 17% | 6–39 |
| MiniCPM-V 4.7 35B-A3B thinking on · BF16 | 11% | 3–33 |
| Ornith 1.5 122B thinking on · NVFP4 experts, FP8 attention (NVIDIA ModelOpt) | 11% | 3–33 |
| # | Model and config | Score c@3 · 95% CI | Tasks |
|---|---|---|---|
| 1 | Claude Fable 5.1 effort high | 100%95% CI 82–100 | 18 |
| 1 | Claude Opus 4.8 effort high | 100%95% CI 82–100 | 18 |
| 1 | Claude Opus 4.8 effort medium | 100%95% CI 82–100 | 18 |
| 1 | Claude Opus 4.8 effort low | 100%95% CI 82–100 | 18 |
| 1 | Claude Opus 4.8 thinking off | 100%95% CI 82–100 | 18 |
| 1 | Claude Opus 5.5 effort medium | 100%95% CI 82–100 | 18 |
| 1 | Claude Opus 5.5 effort low | 100%95% CI 82–100 | 18 |
| 1 | Claude Sonnet 5 effort high | 100%95% CI 82–100 | 18 |
| 1 | Claude Sonnet 5.5 effort high | 100%95% CI 82–100 | 18 |
| 1 | Gemini 4 Argon effort low | 100%95% CI 82–100 | 18 |
| 1 | GPT-5.6 Sol effort medium | 100%95% CI 82–100 | 18 |
| 1 | GPT-6 Astra effort medium | 100%95% CI 82–100 | 18 |
| 1 | GPT-6 Astra effort high | 100%95% CI 82–100 | 18 |
| 1 | GPT-6.1 Sol effort high | 100%95% CI 82–100 | 18 |
| 1 | Grok 4.6 effort high | 100%95% CI 82–100 | 18 |
| 1 | Grok 4.7 effort high | 100%95% CI 82–100 | 18 |
| 17 | Claude Haiku 5.5 effort high | 94%95% CI 74–99 | 18 |
| 17 | Claude Opus 5.5 effort high | 94%95% CI 74–99 | 18 |
| 17 | Claude Sonnet 5 effort medium | 94%95% CI 74–99 | 18 |
| 17 | Claude Sonnet 5.5 effort low | 94%95% CI 74–99 | 18 |
| 17 | Claude Sonnet 5.5 effort medium | 94%95% CI 74–99 | 18 |
| 17 | Gemini 4 Argon effort medium | 94%95% CI 74–99 | 18 |
| 17 | Gemini 4 Argon effort high | 94%95% CI 74–99 | 18 |
| 17 | GPT-6 Luna effort medium | 94%95% CI 74–99 | 18 |
| 17 | Muse Wonder effort high | 94%95% CI 74–99 | 18 |
| 26 | Claude Sonnet 5 thinking off | 89%95% CI 67–97 | 18 |
| 26 | Gemini 3.8 Flash effort medium | 89%95% CI 67–97 | 18 |
| 28 | Muse Wonder effort low | 83%95% CI 61–94 | 18 |
| 29 | Claude Haiku 5.5 effort medium | 78%95% CI 55–91 | 18 |
| 29 | Claude Haiku 5.5 effort low | 78%95% CI 55–91 | 18 |
| 29 | Claude Sonnet 5 effort low | 78%95% CI 55–91 | 18 |
| 29 | Muse Wonder effort medium | 78%95% CI 55–91 | 18 |
| 29 | Muse Wonder effort max | 78%95% CI 55–91 | 18 |
| 34 | DeepSeek V4.1 Flash 1017 Native FP8, FP4 experts · SGLang · effort high | 72%95% CI 49–88 | 18 |
| 35 | DeepSeek V4.1 Flash FP8 · effort high | 61%95% CI 39–80 | 18 |
| 35 | DeepSeek V4.1 Flash EXL3 2.9bpw · vLLM + ExLlamaV3 · effort high | 61%95% CI 39–80 | 18 |
| 37 | DeepSeek V4.1 Flash Native FP8, FP4 experts · SGLang · effort high | 56%95% CI 34–75 | 18 |
| 37 | GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · effort low | 56%95% CI 34–75 | 18 |
| 39 | GLM-5.3 FP8 · effort low | 50%95% CI 29–71 | 18 |
| 40 | Inkling Small FP8 · effort high | 44%95% CI 25–66 | 18 |
| 41 | GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · effort high | 33%95% CI 16–56 | 18 |
| 42 | GLM-5.3 Flash EXL3 4.0bpw experts, 4-bit dense · TensorFold · effort high | 28%95% CI 13–51 | 18 |
| 42 | MiMo V2.6 Pro FP8 · thinking on | 28%95% CI 13–51 | 18 |
| 42 | Mistral Large 4 effort high | 28%95% CI 13–51 | 18 |
| 42 | Qwen3.8 Flash-Next NVFP4 · vLLM · effort medium | 28%95% CI 13–51 | 18 |
| 46 | GLM-5.3 Flash FP8 · effort high | 22%95% CI 9–45 | 18 |
| 46 | GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · thinking off | 22%95% CI 9–45 | 18 |
| 46 | Muse Glimmer 30B NVFP4 + FP8 mixed (NVIDIA ModelOpt) · vLLM · effort high | 22%95% CI 9–45 | 18 |
| 46 | Nemotron 3 Ultra thinking on | 22%95% CI 9–45 | 18 |
| 46 | Nemotron 3.5 Super VL NVFP4 mixed precision (NVIDIA ModelOpt) · TensorFold (Zig) · thinking on | 22%95% CI 9–45 | 18 |
| 46 | Qwen3.8 Flash-Next MLX 4-bit · MTPLX · effort medium | 22%95% CI 9–45 | 18 |
| 52 | Qwen3.8 27B AWQ-INT4 · vLLM · effort medium | 19%95% CI 7–42 | 18 |
| 53 | Claude Haiku 4.5 thinking on | 17%95% CI 6–39 | 18 |
| 53 | Claude Haiku 4.5 thinking off | 17%95% CI 6–39 | 18 |
| 53 | DeepSeek V4 Flash Vision experimental FP8 + FP4 experts · vLLM · effort high | 17%95% CI 6–39 | 18 |
| 53 | DeepSeek V4 Pro FP8 · effort high | 17%95% CI 6–39 | 18 |
| 53 | Gemma 4 26B-A4B NVFP4 · vLLM · thinking on | 17%95% CI 6–39 | 18 |
| 53 | Laguna S 2.1 FP4 · thinking on | 17%95% CI 6–39 | 18 |
| 53 | MiMo V2.6 Flash FP8 + MXFP4 experts · SGLang · thinking on | 17%95% CI 6–39 | 18 |
| 53 | MiMo V2.6 Flash FP8 · thinking on | 17%95% CI 6–39 | 18 |
| 53 | MiniMax M3.1 Flash NVFP4 experts, MXFP8 (QAT) · vLLM · effort high | 17%95% CI 6–39 | 18 |
| 53 | Qwen3.8 27B MLX 8-bit · MTPLX · effort low | 17%95% CI 6–39 | 18 |
| 53 | Qwen3.8 27B MLX 4-bit · MTPLX · effort low | 17%95% CI 6–39 | 18 |
| 53 | Qwen3.8 Flash-Next MLX 4-bit · TensorFold · effort medium | 17%95% CI 6–39 | 18 |
| 53 | Qwen3.8 Flash-Next INT4-AutoRound, 5 of 10 experts · TensorFold (Zig) · effort medium | 17%95% CI 6–39 | 18 |
| 53 | Qwen3.8 Flash-Next INT4-AutoRound, 5 of 10 experts · TensorFold (Zig) · effort medium | 17%95% CI 6–39 | 18 |
| 67 | Gemma 4 31B QAT W4A16 · vLLM · thinking on | 11%95% CI 3–33 | 18 |
| 67 | Ling 3.0 Flash BF16 · thinking on | 11%95% CI 3–33 | 18 |
| 67 | MiniCPM-V 4.7 35B-A3B BF16 · vLLM · thinking on | 11%95% CI 3–33 | 18 |
| 67 | MiniCPM-V 4.7 35B-A3B INT4 W4A16 experts, BF16 dense · vLLM · thinking on | 11%95% CI 3–33 | 18 |
| 67 | Nemotron 3.5 Bolt IQ2_XXS + NVFP4 + Q8_0 mixed (NVIDIA ModelOpt) · TensorFold (Zig) · thinking on | 11%95% CI 3–33 | 18 |
| 67 | Nemotron 3.5 Lightning NVFP4 · thinking on | 11%95% CI 3–33 | 18 |
| 67 | Ornith 1.5 122B NVFP4 experts, FP8 attention (NVIDIA ModelOpt) · vLLM · thinking on | 11%95% CI 3–33 | 18 |
| 67 | Qwen3.6 35B-A3B NVFP4 · vLLM · thinking on | 11%95% CI 3–33 | 18 |
| 67 | Qwen3.8 27B AWQ-INT4 · vLLM · effort low | 11%95% CI 3–33 | 18 |
| 67 | Qwen3.8 27B Splash 4-bit · Splash · effort low | 11%95% CI 3–33 | 18 |
| 67 | Qwen3.8 27B AWQ-INT4 · vLLM · effort xhigh | 11%95% CI 3–33 | 18 |
| 67 | Qwen3.8 Flash-Next thinking on | 11%95% CI 3–33 | 18 |
Tasks
What's in the suite
Solve rate is the share of finished runs whose first answer to the task passed (pass@1), a rough guide to how hard models find it. Difficulty is the task author’s label; from results is what the solve rate says: easy when two thirds or more of the finished runs pass it, hard at a third or fewer, once five have graded it.
| Task | Difficulty | From results | Solve rate |
|---|---|---|---|
| Autolaunched shipping quote flow called from Apexflow-shipping-quote-autolaunched | easy | medium | 38% |
| Choose the tool for a reminder relative to a record dateflow-choice-close-date-reminder | easy | easy | 100% |
| Choose the tool for a same-record field updateflow-choice-same-record-update | easy | easy | 100% |
| Escalate breakdown cases with a fast field updateflow-case-breakdown-escalation | easy | medium | 37% |
| Welcome-call task for new customer accountsflow-account-customer-welcome-task | easy | medium | 35% |
| Automation when a record is restored from the Recycle Binflow-choice-undelete-restore | medium | easy | 84% |
| Block closing a case that still has open tasksflow-case-close-open-tasks | medium | hard | 30% |
| Call an invocable Apex credit check from a record-triggered flowflow-account-credit-check-action | medium | hard | 23% |
| Close-date reminder on a scheduled pathflow-opportunity-close-reminder-scheduled | medium | hard | 28% |
| Create a delivery project when an opportunity is wonflow-opportunity-won-project | medium | hard | 32% |
| Flag large opportunity amount swings using $Record__Priorflow-opportunity-amount-swing | medium | medium | 38% |
| Set a case SLA due date/time from its priorityflow-case-sla-due | medium | hard | 20% |
| Cascade an account discount to its open opportunities in bulkflow-account-discount-cascade | hard | hard | 20% |
| Fault path that logs failed shipment creationflow-order-shipment-fault-path | hard | hard | 29% |
| Fix a flow that syncs account addresses to contactsflow-fix-account-address-sync | hard | hard | 27% |
| Invocable Apex contact matcher orchestrated by a flowflow-web-signup-contact-match | hard | hard | 27% |
| Record-Triggered Automation decision guide principlesflow-choice-guide-statements | hard | medium | 41% |
| Reusable onboarding subflow called from a record-triggered flowflow-account-onboarding-subflow | hard | hard | 24% |
Private evaluations
Want this for your team?
Azul Labs runs Forcebench privately for two kinds of Salesforce team.
Choosing a model to run yourself?
A private benchmark of your shortlist
Open-weight models at the quantisations and reasoning efforts you could run on infrastructure you control, tested on your kind of Salesforce work, with a written recommendation.
- Private tasks written from your work only ever run on local models; they are never sent to an API.
- Re-testing after any change of model, quantisation or engine is available.
- Typical turnaround is 2–3 weeks; large models take about a day of machine time per configuration.
Building or buying a Salesforce AI tool?
A private evaluation of your tool
Your tool on held-out tasks it has never seen, against API baselines (models reached through a hosted service) and Local ones (served on Forcebench’s own hardware), with a written report on where it holds up and where it fails.
- It can start as a smaller pilot, about 30 held-out tasks with your tool against two baselines, before a full evaluation.
- Repeat evaluations after your releases are available.
- Typical turnaround is 2–3 weeks.
Fixed fee, quoted up front. The quote depends on the number of tasks and the number of models, tools or configurations tested.
Or email leo@azl.au · azl.au