29 September 2026 · StockholmAgent Hack Stockholm
Build an Agent for Your Industry
Johann Nishant — Solution Architect, Cloudflare
Before we startHouse rules
- Synthetic data only. This is a shared Cloudflare account — never put real customer, employee or proprietary data into anything you build today.
- This is one shared Cloudflare account — your Worker name must be prefixed. The Scoping agent issues it.
- Deploy early, deploy often. A Worker that does nothing in minute 5 beats a perfect one you never shipped.
- Ask your agent to check current docs, not its training data — this platform moves fast.
Live — 4 minutesWatch this get built and deployed
One command, one chat agent, one real URL. No slides for this part.
npm create cloudflare@latest -- my-agent --template cloudflare/agents-starter
Why nowTwo things changed at the same time
- Models got good enough at calling tools reliably — the "reason" part stopped being the bottleneck.
- The infrastructure to run something stateful, durable and cheap at the edge just landed — the "run it for real" part stopped being the bottleneck too.
- What's left is the interesting part: deciding what your agent should be trusted to do on its own, and what it should ask a human about.
The trapWhy "assembled from parts" fails
LatencyA model call, a vector DB, a queue and a database — each in a different cloud, each a round trip. Your agent feels slow before it does anything useful.
StateWhere does "we already asked the human this" live? Glue code ends up owning consistency it was never designed to own.
CostA server sitting there waiting for a human to click approve, for a month, on someone's compute bill.
Cloudflare's answerDurable Objects + hibernation + Workflows
- Durable Objects — single-threaded, consistent state per id. Two requests never see two different versions of the same fact.
- WebSocket hibernation — a connection can sit open for hours at near-zero cost while nothing is happening.
- Workflows — every step checkpoints. A crash, a retry, or a human going to lunch for a week doesn't cost you the work already done.
Today's toolboxThe 6 primitives you'll use today
The toolOne tool
Something real for your industry — an API call, a lookup, an action.
1A Workflow
Survives a crash, a retry, a human going to lunch.
2A schedule
The trigger is a clock, not an event.
3Browser Rendering
The source of truth lives on a page you don’t control.
4AI Search
The answer must be grounded and citable, over your own docs.
5Durable Object state
Two requests must never see two different versions of the same fact.
Live dashboardEvery AI call in this room, live
Every model call today — the mentor, the scoping agent, every team's own build — routes through one AI Gateway: default.
Watch the request count climb as teams start building.
The theme of todayAgents don’t fail on capability. They fail on accountability.
Every agent you build today should know the difference between what it can do and what it should ask permission for.
Find your podYour industry
IKEA · Boozt · ElectroluxRetail & Commerce
Delivery-exception agent: detect, decide, compensate, notify.
SwedbankBanking
Dispute triage with a mandatory human approval gate.
PolestarMobility
Telemetry anomaly, diagnose, book service.
ASSA ABLOY · NibeIndustrial & IoT
Access-anomaly triage, or heat-pump fleet optimisation on a schedule.
EricssonTelco
Incident triage across runbooks, grounded with AI Search.
SpotifyMedia
Rights and metadata research agent using Browser Rendering.
OptimizelyPlatform & SaaS
Experiment-analysis agent that designs its own follow-up test.
Open trackDigital Natives
Open track. Bring your own pain point, or pick one of three suggested shapes.
The build taskExtend agents-starter, don't rewrite it
Start from agents-starter — a working chat agent. Add one tool that does something real for your industry, and one primitive that makes it more than a chat wrapper: a Workflow, a schedule, Browser Rendering, AI Search over your own docs, or persistent Durable Object state. Deploy it. Bonus: a human approval gate, and expose handle_request so it can join the finale.
How judging works25 points, 5 dimensions
5 ptsWorks
Does the deployed agent actually respond and do the thing?
5 ptsAgentic depth
Tools, state, scheduling, durability — or is it a completion call in a trench coat?
5 ptsIndustry relevance
Would someone in this industry recognise the problem as real?
5 ptsPath to production
Is there a credible route from this demo to something shippable?
5 ptsHuman approval gate
Does your agent have a human approval gate?
Final score = agent rubric (reviewed and approved by a human host) + room vote. Prizes: TBD.
The run of showTime TBC
- Pre-flight email: T-5 days. Link to /hack/preflight. Each team confirms one member can install wrangler.
- Setup desk — 20 min: Hosts catch locked-down laptops before the talk starts.
- Talk — 20 min: Opens with a live four-minute build and deploy of agents-starter.
- Scope — 5 min: Each team runs the Scoping agent: spec, paste-ready prompt, worker name.
- Build — 60 min: Countdown on /hack/build. Mentor dock live. Hosts work the escalation queue.
- Submit: Rolling. Form, or submit_project via MCP. Judge Workflow fires per submission.
- Showcase — 25 min: Eight teams, 2.5 minutes each, on /mission-control. Live human approval.
- Finale — 5 min: One cross-industry scenario fanned across registered team agents.
- Take home — 5 min: Bring-It-Home agent drafts a personalised internal pitch, emailed.
Before you goYou used five agents today. All five are in this repo.
- Scoping — Agents reason about your domain.
- Mentor — Agents need grounded knowledge and a human fallback.
- MCP server — Agents act on your systems.
- Judge — Durable execution and governance.
- Bring-It-Home — The business outcome.
https://gitlab.cfdata.org/jnishant/agenthack-stockholm