Inspiration

Support teams often need to reply quickly while staying accurate and kind. A blank reply box makes that harder, especially when the right answer is buried in a help article or the case needs a person to take over. I built RelayDesk as a practical support copilot: it gathers useful context, proposes a clear response, and keeps the human in control.

What it does

An agent pastes a customer message into RelayDesk. The app searches its help-center knowledge base and, when configured, calls Tavily for public web context. It sends the customer message and retrieved context to NVIDIA Nemotron through Nebius Token Factory, which returns a reply draft, suggested next steps, and a human-review cue. Company help articles and Tavily results appear in separate source sections so the agent can check the evidence before copying a draft. RelayDesk never sends a reply on the agent’s behalf.

How I built it

I built the interface as a responsive single-page app and the server as a small Python application with no third-party Python dependencies. The server ranks help-center articles locally, makes a runtime Tavily Search API request when TAVILY_API_KEY is configured, and calls Nebius Token Factory’s OpenAI-compatible chat-completions API when NEBIUS_API_KEY is configured. The default model is NVIDIA Nemotron-3.5-Lightning. The Tavily query is based on a matched help topic rather than the raw ticket text. A clearly labeled demo mode makes it possible to explore the local workflow without a Nebius key.

What I learned

The model is only one part of a useful support agent. Retrieval quality, source provenance, and a clear review step matter just as much as the generated wording. I also learned to keep company policy distinct from public web context: Tavily can help surface general information, but it should not override an organization’s approved guidance.

Challenges

One challenge was keeping the answer grounded while still making external search useful. RelayDesk handles this by labeling internal and web results separately and instructing Nemotron to rely on company excerpts for company-specific claims. Another challenge was making the project easy to try before credentials are available, so the app includes a transparent offline preview. API keys stay server-side in local environment files or deployment secrets; they are never embedded in the browser page.

What’s next

I’d like to add authenticated support-team accounts, a richer knowledge connector with permission-aware retrieval, and an evaluation set that measures answer quality, citation accuracy, multilingual performance, latency, and cost across real support scenarios.

Built With

  • ai-agents
  • css
  • customer-support
  • generative-ai
  • html
  • javascript
  • nebius-ai-cloud
  • nebius-token-factory
  • nvidia-nemotron
  • open-source-models
  • python
  • rag
  • tavily
Share this project:

Updates

Submission history