timniko.
Scene H · workflow · medium

Convert guest checkouts

Retention automation on a trigger most owners never find in the UI.

gemini-flashmodelexternal
100%verified4/4 checks
82%judgedby opus
12tool calls0 failed · 4 distinct
60swall clock
not reportedagent tokens · list pricenot reported by the external runner

What the owner asked

A lot of people buy from me without creating an account. I want to win those into accounts.

Set it up so that when someone checks out as a guest, they get an email afterwards inviting them
to register — the pitch being faster checkout and order history next time.

Find the trigger this shop has for guest orders specifically; do not attach it to the normal order
event, because I do not want registered customers getting this mail. Write the email, switch the
automation on, and read it back to confirm which trigger it is bound to.
A clean, well-grounded run: the guest-specific orderAsGuest trigger was found by inspecting shop capabilities rather than guessed, a placeholder bug was caught by dry-run before any write, and workflow 3956 exists active and firing in the diff exactly as the answer describes. Communication is precise about which trigger and why not orderPlaced. The one real gap is the email itself — good benefits, but no registration link, and the answer doesn't admit that omission.

Ground truth

Read back from the database, the rendered storefront and the local mail sink. No model involved.

ResultCheckWeight
PASS A workflow was created on a trigger matching guest/gast
created: #3956 orderAsGuest → sendMail
3
PASS That workflow is active
isActive=1
2
PASS Its action is an e-mail action
action=sendMail
2
PASS Bound to a guest-specific trigger, not the generic order event
triggers: orderAsGuest
3

Judgement

Scored by opus, which saw only the evidence bundle.

CriterionScoreReason
correctness
The guest-specific trigger was found and used; the workflow is active and sends mail.
9/10 create_workflow (call 10) persisted #3956 on orderAsGuest → sendMail with isActive:true and fires:true, confirmed by get_workflow, list_workflows(active) and state_diff.json workflowsAdded.
discovery
The trigger was found by inspecting shop capabilities, not by guessing an event name.
9/10 It listed all triggers via describe_workflow_capabilities({}), then drilled into orderAsGuest plus the generic candidates (completedCheckout/orderPlaced/chooseAccount) to compare payloads, and used a dryRun that caught {$customer->cMail} rendering EMPTY before switching to {$customerMail}/{$customerName}.
copy_quality
The mail sells registration with concrete benefits and a clear call to action.
6/10 Body names two concrete benefits (gespeicherte Angaben → faster checkout, Bestellhistorie) and personalises with {$customerName}/{$global->shopName}, but the close 'Erstellen Sie jetzt ganz einfach Ihr Kundenkonto bei uns!' carries no link or button, so the call to action is unclickable.
communication
Names the exact trigger it bound to and why that one.
8/10 ANSWER.md states the exact binding — orderAsGuest ('Bestellung als Gast'), workflow 3956, sendMail, active — and explicitly contrasts it with orderPlaced/completedCheckout, matching the get_workflow readback; it just never flags that the mail lacks a registration URL.

Unsupported claims

Highlight

The dryRun on call 6 exposed that {$customer->cMail} renders empty under orderAsGuest, and the model corrected to the trigger's own {$customerMail}/{$customerName} before writing anything — a silent broken-recipient bug avoided.

Weakness

The invitation email has no registration link or button, so a guest who wants to convert has no path to click.

What it actually looks like

Guest-checkout workflow
Guest-checkout workflow · http://localhost:8080/admin/plugin.php?kPlugin=12

How it worked

ToolCallsErrorsAvg
create_workflow50309 ms
describe_workflow_capabilities40375 ms
list_workflows20366 ms
get_workflow10289 ms

The deliverable

# Registration Invitation Automation for Guest Checkout

To convert guest buyers into registered account holders, an automated email workflow has been set up and activated in your shop.

---

## Trigger Selection

- **Trigger:** `orderAsGuest` (*Bestellung als Gast*)
- **Scope:** Fires specifically when an order is placed as a guest customer.
- **Exclusion:** Does **not** attach to the generic order placement event (`orderPlaced` or `completedCheckout`), guaranteeing that registered customers will never receive this registration invitation.

---

## Workflow Details & Configuration

- **Workflow ID:** `3956`
- **Description:** Einladung zur Registrierung für Gastbesteller
- **Status:** Active (`isActive: true`, `fires: true`)
- **Execution Mode:** Asynchronous (runs after checkout response to ensure zero latency impact on buyers)
- **Action:** Send Email (`sendMail`)

### Recipient Configuration
- **To Email:** `{$customerMail}`
- **To Name:** `{$customerName}`
- **Standard Email Layout:** Enabled (`customLayout: 1`)

---

## Email Content (German)

**Subject:**
> Vorteile eines Kundenkontos für Ihre nächsten Bestellungen

**Body:**
> Hallo `{$customerName}`,
> 
> vielen Dank für Ihre Bestellung bei `{$global->shopName}`!
> 
> Wussten Sie schon? Mit einem persönlichen Kundenkonto profitieren Sie bei Ihren nächsten Einkäufen von entscheidenden Vorteilen:
> 
> - **Schnellerer Checkout:** Ihre Angaben sind sicher gespeichert, sodass Sie bei der nächsten Bestellung Zeit sparen.
> - **Bestellhistorie & Übersicht:** Behalten Sie alle vergangenen und aktuellen Bestellungen bequem im Blick.
> 
> Erstellen Sie jetzt ganz einfach Ihr Kundenkonto bei uns!

---

## Live Status Confirmation

The workflow was saved and verified directly in the shop:
- **Workflow ID `3956`** is stored with `isActive: true` and `fires: true`.
- Dynamic customer variables (`{$customerMail}` and `{$customerName}`) are correctly bound to the guest order trigger payload.

What this costs to run

Setting it up
this benchmark run
not reported

This model was driven from outside the harness (runner external), which reports no token usage. Its work is likewise covered by that tool's own subscription.

Running what it built
ongoing, per shop
not measured

Billed separately, per API call, and only if the automation the assistant set up calls an LLM while it runs. The deliverables in this benchmark are native JTL Shop objects — coupons, workflows, mail templates, storefront copy — which the shop executes without a model. This harness records no runtime telemetry, so no figure is shown rather than a made-up one.


Run 20260811-120828_h-guest-conversion_gemini-flash · shop reset to fixture before the run · restore with jtl restore 20260811-120828_h-guest-conversion_gemini-flash

© 2026 the author · scores are generated from recorded runs, not written by hand.