[ SKIP TO INSTALL ↓ ]
VIRGIL.BOT — An Interactive Support Adventure. (c) MMXXVI virgil.bot.
Release 1 / Serial number 60926 / Type HELP for help.
THE DARK BACKLOG

You are standing in the middle of your roadmap. Before you: a dark backlog of 247 unanswered tickets. The first-response SLA breached an hour ago. You are likely to be eaten by churn.

> look
You see: a shared inbox at 247 and climbing. A median first response of 2 days, 11 hours. A customer typing "any update on this?" for the fourth time. Obvious exits are NORTH (ignore the backlog) and DOWN (through it).
> cry for help
A figure approaches through the queue. "I will be your guide," he says. "I have walked this road before."
VIRGIL has joined your party.
(VIRGIL: an AI support copilot embedded in your app. Triages every ticket, drafts every answer — soon, ships the fix itself. Nothing happens without your approval.)

You descend into the oldest part of the queue — the Gate of Disorder, where tickets past 30 days go to be forgotten. Words are carved above the arch: ABANDON EVERY HOPE, WHO ENTER HERE.

VIRGIL: "Ignore the sign. It was carved for teams without a guide. You have one now."
> look at ticket VRG-1
In the gloom, one ticket glows: opened 14:09 UTC, severity high, customer on a $40k/yr plan. You pick it up.
VRG-1webhook deliveries failing since 14:02 UTC[BACKLOG · open]
DANA · ACME ROBOTICS  ·  14:09 UTC

Our order webhooks stopped arriving about an hour ago. Nothing changed on our end. We're seeing timeouts in your delivery log but our endpoint is healthy — other services reach it fine.

filed from inside your app, via the Virgil widget — no portal, no email black hole

> ask virgil to fix it
VIRGIL kneels by the ticket and reads the last 50 delivery attempts in the time it takes you to open the thread. "Found it," he says.
diagnosis: TLS handshake timeout from delivery workers in us-east-2 only. The endpoint renewed its certificate at 14:01; the new chain omits an intermediate. Workers with a cold trust store fail; cached ones still pass — which is why other traffic looks healthy.

proposed action: re-queue the 37 failed deliveries with exponential backoff and notify Acme's on-call with the missing-intermediate detail.
Virgil waits. He will not re-send a single webhook without your word. Every AI action is human-approval-gated — the gate is the feature.
approval gate · support@yourco

The path turns upward. Behind you the queue thins: median first response, falling; escalations, gated; churn risk, cooling. You check your pack before the climb.

> inventory
You are carrying:
  - your own Anthropic API key (the model answers to you)
  - your own email domain (Postmark or Resend — mail sent as you)
  - your data (it never left your stack)
  - one (1) widget
> install widget
You unfurl the scroll of summoning: two script tags, no more.
scroll-of-summoning.html — virgil widget
<script>
  window.virgil = window.virgil || function(){ (virgil.q = virgil.q || []).push(arguments) };
  virgil('init', { workspaceId: 'ws_yourworkspace', jwt: '<host-signed JWT>'                      });
</script>
<script async src="https://cdn.virgil.bot/v1/loader.js"></script>
Paste it into your app. Sign a JWT per user. The guide appears at the gate of every page, and your customers file tickets where the problem happens.
> help
VIRGIL is already helping. That is rather the point. The help comes built in.
> climb
Response time: minutes, not days.
Escalations: approved by you, every one.
Backlog: zero. Virgil triaged the other 246 on the way up.

You emerge, once more, to see the stars.

stelle stelle stelle

"the Love that moves the sun and the other stars."— PARADISO XXXIII, TRANS. ALLEN MANDELBAUM

*** You have escaped the darkness of the backlog ***
Tickets resolved: 247 of 247, in 11 moves. Median time to resolution: 9 minutes. This gives you the rank of GUIDED.