What We Built
A fully functional AI chat assistant embedded directly inside ServiceNow's Employee Service Portal. Employees can open the widget, ask natural language questions, and instantly get answers about their open incidents, service requests, and available catalog items — no forms, no navigation, no waiting.
The bot is powered by Claude (Anthropic's AI) and deployed as a scoped, Store-ready ServiceNow application. It reads each user's live data in real time, understands context across a conversation, and surfaces clickable catalog item suggestions alongside its responses.

How It Works
The architecture connects three layers: the ServiceNow portal, a custom REST API, and the Claude AI model.
Data layer — On each message, the backend queries the user's live ServiceNow records: open incidents, active requests, assigned tasks, and the full catalog item list. This context is assembled server-side and never exposed to the client.
AI layer — The context and user message are sent to Claude Haiku via a secure outbound REST connection. The API key is stored in a ServiceNow Connection Alias — encrypted at rest, never hardcoded, compliant with ServiceNow Store security requirements.
Widget layer — An AngularJS Service Portal widget renders the response with full markdown formatting, clickable catalog suggestion cards, and conversation history across the session. Three quick-reply chips on first open guide users toward the most common queries.
Employee types question
→ AngularJS widget (Service Portal)
→ POST /api/.../ai_chat_api/message
→ Server reads incidents + requests + catalog
→ Context + history sent to Claude Haiku
→ Answer + catalog suggestions returned
→ Widget renders with bold, bullets, suggestion cards
What This Replaces
ServiceNow sells Now Assist — their native GenAI employee self-service product — as a premium add-on, typically priced at $25–$50 per user per year. For a 1,000-user organization, that's $25,000–$50,000 annually just for the AI layer.
This implementation delivers the same core employee experience at a fraction of the cost:
- Claude Haiku: ~$0.25 per million input tokens
- A typical conversation: ~2,000 tokens
- 10,000 employee conversations per month: ~$5
The cost difference isn't marginal — it's two to three orders of magnitude.
What It Does (and Doesn't Do)
The bot is intentionally read-only. It surfaces data and suggests catalog items, but does not create, modify, or delete records. Prompt injection attempts, off-topic requests, and data escalation attempts are all handled with graceful refusals — validated through an 11-scenario QA test suite.
It is not a replacement for a full virtual agent with live human escalation and multi-channel support. It's the right tool for the most common self-service use case: an employee who wants a fast answer without navigating three menus.
Skills Demonstrated
- ServiceNow platform development — Scoped app architecture, Scripted REST API, Script Include, Service Portal widget, Connection Alias credential pattern
- AI/LLM integration — Anthropic Claude API, system prompt engineering, conversation history, context injection, output quality QA
- Frontend development — AngularJS, real-time markdown rendering, XSS-safe HTML injection via `$sce`, responsive chat UI
- Security — Encrypted credential storage, read-only access pattern, prompt injection hardening, no credential exposure to client
- Product thinking — Identified cost arbitrage opportunity vs. vendor solution, scoped feature set to high-value use case, QA tested edge cases before shipping