On a Saturday in July we handed Claude Cowork, running on Claude Fable 5, a task on the always-on Mac mini that runs our agency's back office. The prompt, lightly trimmed: "Set up Home Assistant on this Mac mini to control my 6 Amazon Echo devices, so I can control Apple Music playback on them from a dashboard instead of voice commands."
Ninety minutes later there was a dashboard on every phone in the house. Eleven speakers, one card each, five playlist buttons, a speaker picker, the whole thing surviving reboots on its own. Total human time spent: about ten minutes, almost all of it typing passwords the agent is not allowed to touch.
This piece is the build log. We publish it for two audiences. The first is anyone evaluating what "agentic AI" means when it leaves the slide deck, because the interesting part was the division of labor. The second is anyone who found this page by pasting a Home Assistant error into a search bar. Your fixes are in the second half. They are real, we hit all four of them, and the agent found every fix.
What the agent did without us
The unsupervised portion covered more ground than most people expect from a chat window.
It researched the Docker question and made a defensible infrastructure call (colima over Docker Desktop, reasoning below). It wrote a bootstrap script, a docker-compose file with a persistent config volume, and a restart policy. It pre-installed HACS and the Alexa Media Player integration by writing files straight into the config volume, which skipped an entire GitHub sign-in later. It diagnosed a Docker networking bug from a screenshot. It read entity registries, built the dashboard YAML, validated the config, restarted the server, and verified the result in a browser it was driving itself. When it finished, it posted a heartbeat to Slack with the dashboard URL and wrote a status line to the ops log, because on this machine the rule is that nothing fails silently.
The whole run followed a pattern we have come to rely on: the agent moves fast through everything reversible, then stops cold at anything that is not.
Where the human stayed in the loop
The agent paused and handed the keyboard back exactly four times: the one-line terminal command that installed Docker, the Amazon sign-in with two-factor authentication, the Home Assistant admin account creation, and the go-ahead on each irreversible step. It never saw a password. It watched the results and picked the work back up on the other side of each gate.
If you have read how Next Best Action works, that shape will look familiar. It is the Approve pattern: the machine does the hours, the human spends seconds on the decisions that matter, and every consequential action has a named person attached. We did not design our smart-home Saturday to mirror our product. The pattern shows up on its own wherever agents do real work, because it is the only shape that survives contact with credentials, money, and things you cannot undo.
"The agent moves fast through everything reversible, then stops cold at anything that is not."
The four potholes, with fixes
Every one of these has a graveyard of forum threads behind it. Here is what actually worked, in the order we hit them.
1. Docker Desktop or colima on a headless Mac?
Colima. It is a CLI-only Docker runtime installed with Homebrew. No GUI app to babysit, no license prompts, no update dialog stealing focus on a machine nobody is looking at. brew services start colima registers it as a LaunchAgent, so it comes back at every login, and with auto-login enabled it survives power failures. Docker Desktop wants an interactive session and periodically asks for clicks, which makes it the classic silent-failure source on an unattended machine. One note: publish your ports explicitly (-p 8123:8123), and they will be reachable from the rest of your network.
2. The Amazon login page is blank, and the URL says 172.18.0.2
You start the Alexa Media Player setup, a login page opens, and it is empty, with an address like 172.18.0.2:8123 in the bar. That is Home Assistant advertising its internal Docker IP instead of its real LAN address, so the login proxy redirects your browser somewhere it cannot reach. The fix is one setting: Settings → System → Network → Home Assistant URL, turn off Automatic on the local network URL, and set it to the address you actually browse to (for example http://192.168.1.50:8123). Restart the integration setup and the proxy renders Amazon's real sign-in page.
3. "We're unable to verify your mobile number. Try signing in again."
The most misleading error in the whole flow. It appears whether you sign in with a phone number or an email, and retrying does nothing. Per the integration's maintainers, Amazon shows this on proxy logins when it actually wants a two-factor code. The fix is to give the integration the ability to answer that challenge itself. On amazon.com, go to Login & security → 2-Step Verification, add an authenticator app, and click "Can't scan the barcode?" to reveal a 52-character key. Finish enrolling with any authenticator app, then paste that same 52-character key into the Alexa Media Player field labeled Authenticator App Key and submit. The login completes, and as a bonus Amazon stops forcing surprise re-logins every few days.
4. The music plays on the wrong speaker
Dashboard says Echo Upstairs. Music starts in the family room. Alexa routes music commands to the preferred speaker of whatever device group the target Echo belongs to, and it will cheerfully override your entity targeting. The fix is to put the destination inside the spoken command itself. Instead of sending play the playlist Friday Feeling from Apple Music to a device, send play the playlist Friday Feeling from Apple Music on Echo Upstairs. Naming the speaker in the text overrides preferred-speaker routing, and the same trick addresses multi-room groups ("on Everywhere").
What a smart-home Saturday has to do with your agency
Strip away the Echos and the YAML and what happened was this: a business handed an agent an outcome, the agent did the research, made infrastructure decisions it could defend, recovered from four undocumented failures, and consumed ten minutes of human attention, all of it at the moments that legally and practically required a human. Then it left an audit trail.
That is the labor shape we think mid-market marketing is moving to, and it is the one Next Best Action is built around. The agent runs against your data and our playbook layer. The strategist reviews what is high-stakes. You approve what costs money. Nothing fails silently. Whether the surface under the agent is a smart home or a $4M media budget, the winning pattern is the same one that showed up uninvited on a Saturday afternoon.
The dashboard, for the record, is excellent. The 2000s Club Hits button gets more use than we planned.