29 September 2026 · Stockholm

Agent Hack Stockholm

Build an Agent for Your Industry

Johann Nishant — Solution Architect, Cloudflare

Before we start

House 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 minutes

Watch 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 now

Two 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 trap

Why "assembled from parts" fails

Latency

A 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.

State

Where does "we already asked the human this" live? Glue code ends up owning consistency it was never designed to own.

Cost

A server sitting there waiting for a human to click approve, for a month, on someone's compute bill.

Cloudflare's answer

Durable 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 toolbox

The 6 primitives you'll use today

The tool

One tool

Something real for your industry — an API call, a lookup, an action.

1

A Workflow

Survives a crash, a retry, a human going to lunch.

2

A schedule

The trigger is a clock, not an event.

3

Browser Rendering

The source of truth lives on a page you don’t control.

4

AI Search

The answer must be grounded and citable, over your own docs.

5

Durable Object state

Two requests must never see two different versions of the same fact.

Live dashboard

Every 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 today

Agents 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 pod

Your industry

IKEA · Boozt · Electrolux

Retail & Commerce

Delivery-exception agent: detect, decide, compensate, notify.

Swedbank

Banking

Dispute triage with a mandatory human approval gate.

Polestar

Mobility

Telemetry anomaly, diagnose, book service.

ASSA ABLOY · Nibe

Industrial & IoT

Access-anomaly triage, or heat-pump fleet optimisation on a schedule.

Ericsson

Telco

Incident triage across runbooks, grounded with AI Search.

Spotify

Media

Rights and metadata research agent using Browser Rendering.

Optimizely

Platform & SaaS

Experiment-analysis agent that designs its own follow-up test.

Open track

Digital Natives

Open track. Bring your own pain point, or pick one of three suggested shapes.

The build task

Extend 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 works

25 points, 5 dimensions

5 pts

Works

Does the deployed agent actually respond and do the thing?

5 pts

Agentic depth

Tools, state, scheduling, durability — or is it a completion call in a trench coat?

5 pts

Industry relevance

Would someone in this industry recognise the problem as real?

5 pts

Path to production

Is there a credible route from this demo to something shippable?

5 pts

Human 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 show

Time 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 go

You used five agents today. All five are in this repo.

  • ScopingAgents reason about your domain.
  • MentorAgents need grounded knowledge and a human fallback.
  • MCP serverAgents act on your systems.
  • JudgeDurable execution and governance.
  • Bring-It-HomeThe business outcome.

https://gitlab.cfdata.org/jnishant/agenthack-stockholm