Trigger Actions Framework

Real work in orgs that use the open-source Trigger Actions Framework (TAF) by Mitch Spano: writing trigger action classes, registering them with custom metadata, ordering, bypass mechanisms, entry criteria, recursion control, DML finalizers, flow actions, migrating legacy triggers and testing actions. Each answer is deployed (check-only) with hidden Apex tests to a scratch org that has TAF 0.3.4 installed; the tests perform real DML and assert that the framework ran the model's actions as specified.

18
tasks
Execution
grading
100%
highest c@3 · Claude Sonnet 5.5, joint first with 7 others
78
configurations with results

How it's graded

Each answer is deployed as a check-only validation, with hidden Apex tests, to a scratch org with the Trigger Actions Framework installed. The tests do real DML and assert that the framework ran the model’s actions as specified: ordering, bypasses, entry criteria and recursion control.

Difficulty mix

5 easy8 medium5 hard

Who's best at Trigger Actions Framework

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 →

API: the best of each lab at Trigger Actions Framework
Within three attempts (c@3) on Trigger Actions Framework, on the API board (models reached through a hosted service). Bars whose intervals overlap are not clearly different.
  • 95% interval
=1Gemini 4 Argon low tie
100%, 95% interval 82–100%
=1Claude Sonnet 5.5 medium tie
100%, 95% interval 82–100%
=1GPT-5.6 Sol medium tie
100%, 95% interval 82–100%
=1Muse Wonder max tie
100%, 95% interval 82–100%
94%, 95% interval 74–99%
=5Grok 4.7 high tie
94%, 95% interval 74–99%
7MiMo V2.6 Pro thinking on
89%, 95% interval 67–97%
=8GLM-5.3 low tie
83%, 95% interval 61–94%
=8Nemotron 3 Ultra thinking on tie
83%, 95% interval 61–94%
=8Qwen3.8 Flash-Next thinking on tie
83%, 95% interval 61–94%
67%, 95% interval 44–84%
61%, 95% interval 39–80%
13Laguna S 2.1 thinking on
39%, 95% interval 20–61%
14Ling 3.0 Flash thinking on
28%, 95% interval 13–51%
    Show the numbers
    ModelScore95% CI
    Gemini 4 Argon low100%82–100
    Claude Sonnet 5.5 medium100%82–100
    GPT-5.6 Sol medium100%82–100
    Muse Wonder max100%82–100
    DeepSeek V4.1 Flash high94%74–99
    Grok 4.7 high94%74–99
    MiMo V2.6 Pro thinking on89%67–97
    GLM-5.3 low83%61–94
    Nemotron 3 Ultra thinking on83%61–94
    Qwen3.8 Flash-Next thinking on83%61–94
    Inkling Small high67%44–84
    Mistral Large 4 high61%39–80
    Laguna S 2.1 thinking on39%20–61
    Ling 3.0 Flash thinking on28%13–51
    Local: the best of each lab at Trigger Actions Framework
    Within three attempts (c@3) on Trigger Actions Framework, on the Local board (models served on Forcebench’s own hardware). Bars whose intervals overlap are not clearly different.
    • 95% interval
    =1Qwen3.8 Flash-Next medium · NVFP4 tie
    94%, 95% interval 74–99%
    =1DeepSeek V4.1 Flash high · EXL3 2.9bpw tie
    94%, 95% interval 74–99%
    =3GLM-5.3 Flash high · EXL3 4.0bpw experts, FP8 dense tie
    56%, 95% interval 34–75%
    =3MiMo V2.6 Flash thinking on · FP8 + MXFP4 experts tie
    56%, 95% interval 34–75%
    5MiniMax M3.1 Flash high · NVFP4 experts, MXFP8 (QAT)
    50%, 95% interval 29–71%
    =6Gemma 4 31B thinking on · QAT W4A16 tie
    39%, 95% interval 20–61%
    =6Muse Glimmer 30B high · NVFP4 + FP8 mixed (NVIDIA ModelOpt) tie
    39%, 95% interval 20–61%
    =6Nemotron 3.5 Super VL thinking on · NVFP4 mixed precision (NVIDIA ModelOpt) tie
    39%, 95% interval 20–61%
    9MiniCPM-V 4.7 35B-A3B thinking on · BF16
    22%, 95% interval 9–45%
    10Ornith 1.5 122B thinking on · NVFP4 experts, FP8 attention (NVIDIA ModelOpt)
    17%, 95% interval 6–39%
      Show the numbers
      ModelScore95% CI
      Qwen3.8 Flash-Next medium · NVFP494%74–99
      DeepSeek V4.1 Flash high · EXL3 2.9bpw94%74–99
      GLM-5.3 Flash high · EXL3 4.0bpw experts, FP8 dense56%34–75
      MiMo V2.6 Flash thinking on · FP8 + MXFP4 experts56%34–75
      MiniMax M3.1 Flash high · NVFP4 experts, MXFP8 (QAT)50%29–71
      Gemma 4 31B thinking on · QAT W4A1639%20–61
      Muse Glimmer 30B high · NVFP4 + FP8 mixed (NVIDIA ModelOpt)39%20–61
      Nemotron 3.5 Super VL thinking on · NVFP4 mixed precision (NVIDIA ModelOpt)39%20–61
      MiniCPM-V 4.7 35B-A3B thinking on · BF1622%9–45
      Ornith 1.5 122B thinking on · NVFP4 experts, FP8 attention (NVIDIA ModelOpt)17%6–39
      Trigger Actions Framework: c@3 by configuration with 95% confidence intervals
      #Model and configScore c@3 · 95% CITasks
      1Claude Sonnet 5.5 effort medium
      100%95% CI 82–100
      18
      1Gemini 4 Argon effort medium
      100%95% CI 82–100
      18
      1Gemini 4 Argon effort low
      100%95% CI 82–100
      18
      1Gemini 4 Argon effort high
      100%95% CI 82–100
      18
      1GPT-5.6 Sol effort medium
      100%95% CI 82–100
      18
      1GPT-6 Astra effort high
      100%95% CI 82–100
      18
      1GPT-6.1 Sol effort high
      100%95% CI 82–100
      18
      1Muse Wonder effort max
      100%95% CI 82–100
      18
      9Claude Fable 5.1 effort high
      94%95% CI 74–99
      18
      9Claude Opus 5.5 effort high
      94%95% CI 74–99
      18
      9Claude Opus 5.5 effort medium
      94%95% CI 74–99
      18
      9Claude Opus 5.5 effort low
      94%95% CI 74–99
      18
      9Claude Sonnet 5.5 effort high
      94%95% CI 74–99
      18
      9Claude Sonnet 5.5 effort low
      94%95% CI 74–99
      18
      9DeepSeek V4.1 Flash FP8 · effort high
      94%95% CI 74–99
      18
      9DeepSeek V4.1 Flash EXL3 2.9bpw · vLLM + ExLlamaV3 · effort high
      94%95% CI 74–99
      18
      9DeepSeek V4.1 Flash 1017 Native FP8, FP4 experts · SGLang · effort high
      94%95% CI 74–99
      18
      9Gemini 3.8 Flash effort medium
      94%95% CI 74–99
      18
      9GPT-6 Astra effort medium
      94%95% CI 74–99
      18
      9Grok 4.7 effort high
      94%95% CI 74–99
      18
      9Muse Wonder effort medium
      94%95% CI 74–99
      18
      9Muse Wonder effort low
      94%95% CI 74–99
      18
      9Muse Wonder effort high
      94%95% CI 74–99
      18
      9Qwen3.8 Flash-Next NVFP4 · vLLM · effort medium
      94%95% CI 74–99
      18
      25DeepSeek V4 Pro FP8 · effort high
      89%95% CI 67–97
      18
      25DeepSeek V4.1 Flash Native FP8, FP4 experts · SGLang · effort high
      89%95% CI 67–97
      18
      25GPT-6 Luna effort medium
      89%95% CI 67–97
      18
      25Grok 4.6 effort high
      89%95% CI 67–97
      18
      25MiMo V2.6 Pro FP8 · thinking on
      89%95% CI 67–97
      18
      25Qwen3.8 Flash-Next MLX 4-bit · MTPLX · effort medium
      89%95% CI 67–97
      18
      31GLM-5.3 FP8 · effort low
      83%95% CI 61–94
      18
      31Nemotron 3 Ultra thinking on
      83%95% CI 61–94
      18
      31Qwen3.8 Flash-Next thinking on
      83%95% CI 61–94
      18
      34GLM-5.3 Flash FP8 · effort high
      78%95% CI 55–91
      18
      34Qwen3.8 Flash-Next MLX 4-bit · TensorFold · effort medium
      78%95% CI 55–91
      18
      36Claude Opus 4.8 effort medium
      72%95% CI 49–88
      18
      36Qwen3.8 Flash-Next INT4-AutoRound, 5 of 10 experts · TensorFold (Zig) · effort medium
      72%95% CI 49–88
      18
      38Inkling Small FP8 · effort high
      67%95% CI 44–84
      18
      38Qwen3.8 Flash-Next INT4-AutoRound, 5 of 10 experts · TensorFold (Zig) · effort medium
      67%95% CI 44–84
      18
      40Claude Opus 4.8 effort high
      61%95% CI 39–80
      18
      40Mistral Large 4 effort high
      61%95% CI 39–80
      18
      42Claude Opus 4.8 effort low
      56%95% CI 34–75
      18
      42Claude Sonnet 5 effort high
      56%95% CI 34–75
      18
      42GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · effort high
      56%95% CI 34–75
      18
      42GLM-5.3 Flash EXL3 4.0bpw experts, 4-bit dense · TensorFold · effort high
      56%95% CI 34–75
      18
      42MiMo V2.6 Flash FP8 + MXFP4 experts · SGLang · thinking on
      56%95% CI 34–75
      18
      42MiMo V2.6 Flash FP8 · thinking on
      56%95% CI 34–75
      18
      42Qwen3.8 27B AWQ-INT4 · vLLM · effort xhigh
      56%95% CI 34–75
      18
      49Claude Haiku 5.5 effort medium
      50%95% CI 29–71
      18
      49Claude Haiku 5.5 effort high
      50%95% CI 29–71
      18
      49Claude Haiku 5.5 effort low
      50%95% CI 29–71
      18
      49Claude Opus 4.8 thinking off
      50%95% CI 29–71
      18
      49MiniMax M3.1 Flash NVFP4 experts, MXFP8 (QAT) · vLLM · effort high
      50%95% CI 29–71
      18
      54DeepSeek V4 Flash Vision experimental FP8 + FP4 experts · vLLM · effort high
      44%95% CI 25–66
      18
      54GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · thinking off
      44%95% CI 25–66
      18
      54Qwen3.8 27B MLX 8-bit · MTPLX · effort low
      44%95% CI 25–66
      18
      54Qwen3.8 27B MLX 4-bit · MTPLX · effort low
      44%95% CI 25–66
      18
      58Claude Sonnet 5 effort medium
      39%95% CI 20–61
      18
      58Gemma 4 31B QAT W4A16 · vLLM · thinking on
      39%95% CI 20–61
      18
      58GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · effort low
      39%95% CI 20–61
      18
      58Laguna S 2.1 FP4 · thinking on
      39%95% CI 20–61
      18
      58Muse Glimmer 30B NVFP4 + FP8 mixed (NVIDIA ModelOpt) · vLLM · effort high
      39%95% CI 20–61
      18
      58Nemotron 3.5 Super VL NVFP4 mixed precision (NVIDIA ModelOpt) · TensorFold (Zig) · thinking on
      39%95% CI 20–61
      18
      58Qwen3.6 35B-A3B NVFP4 · vLLM · thinking on
      39%95% CI 20–61
      18
      58Qwen3.8 27B Splash 4-bit · Splash · effort low
      39%95% CI 20–61
      18
      66Qwen3.8 27B AWQ-INT4 · vLLM · effort medium
      36%95% CI 18–59
      18
      67Claude Haiku 4.5 thinking off
      33%95% CI 16–56
      18
      67Claude Sonnet 5 thinking off
      33%95% CI 16–56
      18
      67Claude Sonnet 5 effort low
      33%95% CI 16–56
      18
      67Qwen3.8 27B AWQ-INT4 · vLLM · effort low
      33%95% CI 16–56
      18
      71Claude Haiku 4.5 thinking on
      28%95% CI 13–51
      18
      71Gemma 4 26B-A4B NVFP4 · vLLM · thinking on
      28%95% CI 13–51
      18
      71Ling 3.0 Flash BF16 · thinking on
      28%95% CI 13–51
      18
      74MiniCPM-V 4.7 35B-A3B BF16 · vLLM · thinking on
      22%95% CI 9–45
      18
      74Nemotron 3.5 Lightning NVFP4 · thinking on
      22%95% CI 9–45
      18
      76MiniCPM-V 4.7 35B-A3B INT4 W4A16 experts, BF16 dense · vLLM · thinking on
      17%95% CI 6–39
      18
      76Nemotron 3.5 Bolt IQ2_XXS + NVFP4 + Q8_0 mixed (NVIDIA ModelOpt) · TensorFold (Zig) · thinking on
      17%95% CI 6–39
      18
      76Ornith 1.5 122B NVFP4 experts, FP8 attention (NVIDIA ModelOpt) · vLLM · thinking on
      17%95% CI 6–39
      18

      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.

      Trigger Actions Framework tasks with difficulty and solve rate
      TaskDifficultyFrom resultsSolve rate
      Enable the framework on Opportunitytaf-enable-opportunityeasymedium
      41%
      Normalise new leads in a before-insert actiontaf-lead-normalize-before-inserteasyeasy
      82%
      Release a new action to pilot users onlytaf-required-permission-piloteasymedium
      38%
      Skip one action during a contact importtaf-bypass-action-in-importeasyeasy
      94%
      Switch off a misbehaving action without a code changetaf-disable-action-hotfixeasyeasy
      97%
      Audit amount changes once despite re-entrant updatestaf-recursion-amount-auditmediummedium
      39%
      Bypass all Account automation for the integration usertaf-bypass-permission-integrationmediummedium
      56%
      Bypass one object's actions inside a service, safelytaf-bypass-object-ownership-servicemediumeasy
      72%
      Create onboarding tasks from an after-insert actiontaf-after-insert-onboarding-taskmediummedium
      41%
      DML-less unit tests for a trigger actiontaf-dml-less-action-testmediummedium
      47%
      Filter an action with an entry criteria formulataf-entry-criteria-formulamediumhard
      10%
      One validation action registered for insert and updatetaf-duplicate-email-two-contextsmediumhard
      32%
      Run an admin's flow as an ordered trigger actiontaf-register-flow-actionmediummedium
      38%
      Build a TAF flow action and bypass only that flowtaf-flow-action-authoringhardhard
      25%
      Migrate a legacy fat Case trigger to trigger actionstaf-migrate-legacy-case-triggerhardmedium
      39%
      One async sync job per DML operation with a DML finalizertaf-dml-finalizer-erp-synchardmedium
      34%
      Roll up open cases to Account across all after contextstaf-open-case-rolluphardmedium
      35%
      Share one parent query across trigger actionstaf-shared-query-singletonhardmedium
      44%

      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