The message appeared in the #deployments channel of the Slack twin at 2:33 PM on a Friday.
It was formatted perfectly. The bot username was factory-deploy-bot. The avatar was the default gear icon. The message body was a structured block with three sections: a header reading Deployment Successful, a body containing the service name, version hash, environment tag, and timestamp, and a footer with a link to the scenario run that had triggered the deployment. The link even used Slack's markup syntax correctly, angle brackets and pipes and all.
Navan saw it first. He'd been running a scenario that tested the full deployment notification pipeline: agent commits code, CI twin runs the build, the build succeeds, and a notification fires to the Slack twin. He'd been working on the Slack twin's incoming webhook handler for days, getting the message formatting to match real Slack's rendering engine, handling the edge cases around block kit components and markdown-within-JSON.
And there it was. A perfectly formatted deployment notification in a channel that didn't exist in the real world, sent by a bot that wasn't a bot, about a deployment that had happened entirely inside the Digital Twin Universe.
He screenshot it.
Then he walked over to Jay's desk and held up his phone. "Look."
Jay looked. He read the message. He read it again. "That's from the twin."
"That's from the twin."
"It looks exactly like a real Slack notification."
"That's the point." Navan was grinning. He couldn't help it. Two weeks of work on webhook parsing and block kit rendering and here it was, a message that was indistinguishable from the real thing. A behavioral clone that had just cloned its first behavior.
Jay squinted at the screenshot. "The timestamp format is wrong."
Navan's grin disappeared. He looked at his phone. The timestamp read 2025-11-22T14:33:07Z. ISO 8601. Technically correct, universally parseable, and absolutely not what Slack displays to users. Real Slack would show 2:33 PM or Today at 2:33 PM, depending on the client's locale settings.
"The API response is right," Navan said slowly. "The epoch timestamp in the payload is correct. But the display formatting—"
"The twin is thinking in API time, not human time."
Navan sat back down at his desk, still holding his phone with the screenshot. "I'm keeping this," he said. "This is the 'before' picture. First message, wrong timestamp. I want to remember what it looked like before we fixed it."
He pinned the screenshot to the real Slack—the actual, human Slack workspace they used for team communication—in the #factory-wins channel. He added a caption: The Slack twin's first autonomous message. It's beautiful. The timestamp is wrong. We'll get there.
Justin reacted with a single emoji. A gear icon. It was, Navan realized, the same icon the deploy bot used as its avatar.
Jay's fix—described as a scenario, implemented by agents—landed three hours later. The next deployment notification displayed its timestamp as 5:41 PM. Human time. Navan screenshot that one too.
"The twin is thinking in API time, not human time" is such a good line. Also Navan pinning the imperfect screenshot to #factory-wins is the most engineer thing I've ever read. We celebrate the broken first version because it WORKED, just not perfectly.