Skip to main content

The Build Threshold Just Moved: Helpdesk in 7 Days

Petr Mikeska
CEO & Co-Founder

Internal apps were the easy part. Customer-facing was the threshold. Our customer help desk is live: a RAG-grounded bot answers in portal, email, and Slack. The first functional version took 7 days. The speed is not the point.

Why This Was the Real Test

For months we had been building agentically inside our own walls. Market Intel as a competitive intelligence pipeline. Internal helpers for sales and ops. Prototypes and utilities that proved we could ship working software with agents.

None of them met a customer.

That was the missing threshold. An internal app can tolerate a rough edge. The team knows the context, fills in gaps, and works around the tool while it improves. A customer-facing system has a different standard.

External users come with real expectations, not internal tolerance. Integration has to land in the channels they already use: their Slack workspaces, their emails, their portal sessions. And once a tool reaches a pilot, feedback becomes immediate. Customers tell you what does not work the day it does not work, not at a sprint review.

The customer help desk was that test.

What We Built

Customer-facing helpdesk portal: ticket list with statuses, welcome banner, and the AI bot widget docked in the corner
Click to enlarge
Agent helpdesk UI: ticket detail with reporter, conversation activity, ticket info sidebar, and AI Insights panel with sentiment, language, module, and clarification suggestions
Click to enlarge

The 7-day version. By the end of day 7, we had a first functional helpdesk the team could use end to end. It included a customer portal with authentication and registration, an agent UI with dashboard and ticket queues, ticket CRUD, comments, attachments, organizations, contacts, audit trail, and an SLA engine that respects business hours and holidays.

It also had bidirectional email through Microsoft Graph with threading and inline images, bidirectional Slack via the Events API, Knowledge Base infrastructure with schema, embedding service, search API, and auto-ingestion of closed tickets. The agent UI already included AI classification, an AI text improvement toolbar, dark mode, and a design token foundation.

It was the first working system.

What changed after day 7. Two months of evolution turned that foundation into the pilot system running today. The RAG-grounded helpdesk bot now ships in the portal as a ChatWidget, answering with native KB citations. The KB seed pipeline processed 577 articles from help.dawiso.com: 1,107 chunks and 620 images run through vision models. Slack Q/A Monitoring scans support channels daily, triaging and extracting useful Q/A threads into KB articles with personal data anonymized. @helpdesk remember saves any Slack thread as a KB article. An intent classifier decides when the bot should offer ticket creation instead of pushing every conversation toward support.

We also moved the stack from the initial Cloudflare Workers setup onto our standard Azure infrastructure: K8s, PostgreSQL, Redis/BullMQ, and Azure Blob Storage. Our infra team brought it onto Azure. We ran a security pass and rebuilt the design system.

Helpdesk commands inside Slack: ask, ticket, remember, status, stop
Click to enlarge

Numbers today. 564 commits over roughly two months. 701 tests across 54 test files. 16 PostgreSQL tables. 80+ React components. 3 bidirectional channels: portal, email, and Slack. 577 help articles plus 266 reviewed Q/A articles in the KB.

One person paired with AI agents drove the core build. The broader engineering work around infrastructure, security, and product quality made it fit for a customer pilot.

Helpdesk Build Timeline 7 DAYS TO FIRST WORKING SYSTEM, 2 MONTHS TO PILOT Day 1 Kickoff PRD, architecture, data model, design Day 7 First Working System Portal, agent UI, tickets, email, Slack, KB schema Month 2 RAG Bot in Pilot 577 KB articles, intent classifier, Azure stack May 2026 Rollout Customer base through May 564 commits · 701 tests · 80+ React components · 3 bidirectional channels
Click to enlarge

How Agents Ship Production Complexity

Typing speed was never the bottleneck.

Three things together made the work possible.

1. Preparation upfront. Detailed PRD, architecture, data model, and design identity came before the first line of agent-written code. The paradox of agentic development is that the more time you invest in preparation, the faster the agent works. Agents do not need meetings. They need clear context.

2. Test discipline as the safety net. 701 tests across 54 test files is what lets the agent edit boldly. We validate every change immediately. Without tests, agentic development at this scope becomes guesswork. Tests are how the agent learns whether its last change broke something three files away.

3. Session cadence. Each session had a focused shape: load the project context, run a bounded task, review the diff, merge. The skills, design tokens, type-safety, CI/CD, and review discipline around the agent are what make it productive. The agent is the executor. The system around it is the engineering practice.

"This is good engineering practice with a faster executor."

What Compounds

The system improves with every conversation it handles, without new feature work every time. That is the compounding part.

Helpdesk bot in the customer portal answering a question about connecting Dawiso to AI via MCP — with KB citations, thumbs-up feedback selected, and a contextual Create Ticket offer
Click to enlarge

The Knowledge Base sits at the center of the help desk and grows from five places at once.

  • Initial seed. 577 articles from help.dawiso.com processed into RAG: 1,107 chunks and 620 images run through vision models.
  • Continuous extraction. Slack Q/A Monitoring scans support channels daily. Heuristic scoring picks up real Q/A threads, AI triage decides whether to extract, the extraction pass writes the article, and dedup keeps the KB clean. Personal data goes through anonymization: names become role labels, customer names become "the client", and Slack mentions are stripped.
  • Manual quality gate. When 567 Slack-derived articles needed review, a long-context review pass ran the full help docs side by side and made calls: 301 delete, 156 improve with AI rewrite, 80 keep. Ongoing review keeps the bar.
  • Bot grounding. Answers ship with native KB citations, not free-form generation. Per-message thumbs up/down and end-chat star ratings feed signal back. An intent classifier decides whether to offer ticket creation, so chat does not push tickets when a question deserves an answer.
  • Agent shortcuts. @helpdesk remember saves any Slack thread as a KB article. Every closed ticket auto-ingests into the KB.

Every interaction has a path back into the system that handles the next interaction. That is the compounding part.

Knowledge Base Compounding Loop KNOWLEDGE BASE — FIVE PLACES AT ONCE Knowledge Base 577 + 266 articles Initial seed 577 articles · 1,107 chunks 620 images via vision Continuous extraction Slack Q/A monitoring PII anonymized Manual quality gate 567 reviewed: delete / improve / keep Bot grounding Native KB citations + thumbs/star feedback Agent shortcuts @helpdesk remember + closed-ticket ingestion
Click to enlarge

Implications, Live, Forward

For peer founders. Think about which systems in your stack are now in build range. The line between "build it" and "buy it" is not where it was 18 months ago. Tools that used to need a small team may now be reachable for one person paired with agents, if the surrounding engineering practice is strong enough.

For enterprise buyers. Simple line-of-business workflows are becoming buildable territory inside your own walls. That does not make vendors irrelevant. It changes what vendor value has to mean. The remaining moat is sophisticated integration, governance, compliance, scale, security, operational trust, and deep domain expertise.

Those are the places where agentic DIY still runs into walls.

Live now. Two customers have been in pilot for 14 days. The bot answers autonomously in customer Slack channels and the portal. We are rolling out to the rest of the customer base through May. The pilot is doing what pilots are supposed to do: surfacing what to build next.

Forward in helpdesk. More verticals across the existing customer base. More KB seeded by real customer interactions on top of the help-doc baseline. More channels as customers ask for them. The more it runs, the better the answers get.

The Build Threshold Just Moved

The build threshold just moved. Historically, open source held much of the line between "build it" and "buy it": many things that could be commoditized moved there, while the rest stayed in vendor territory. Agentic coding moves that line again.

For software companies, this is uncomfortable. More software can be built faster, with smaller teams. Some product surfaces that used to justify a vendor category will become internal workflows.

But the other side is a real opportunity. The same agents that lower the build cost also raise the bar for what a product needs to do to be worth buying.

A company's success comes from which business problem it solves, not from how it builds software.

The more agentic we work, the more data governance matters. That is where the next piece is heading.

FAQ

What is the customer help desk we built?

Omnichannel ticketing with an AI bot grounded in our knowledge base. The portal, email through Microsoft Graph, and Slack Events API all create and update the same ticket. The bot answers questions in any of those three places, cites the KB, and offers to open a ticket only when the conversation calls for it. The KB is built from help.dawiso.com and from Q/A patterns we extract from our support Slack channels.

Why did we not use an existing helpdesk SaaS?

Two reasons. First, what we had been using was not smooth enough across Slack and email, did not have the AI assist we wanted, and did not double as a knowledge base we could reuse. We had outgrown it. Second, the helpdesk was the right test of whether we could ship a customer-facing complex system end to end with agents. The result is both a tool that fits our workflow and a positive answer to the bigger question.

How does the bot stay accurate?

RAG with native citations on every answer. Initial KB seeded from our official help docs, augmented continuously by Q/A extracted from Slack with personal data scrubbed. Articles pass through a quality gate. Per-message thumbs and end-chat ratings feed signal back. Each customer interaction has a path back into the KB.

What stack does the help desk run on?

Built initially on Cloudflare Workers and D1, then migrated onto our standard Azure infrastructure: K8s, PostgreSQL, Redis with BullMQ for queues, and Azure Blob Storage for attachments. Frontend in React. Microsoft Graph for email, Slack Events API for Slack, and Claude models for AI features.

Dawiso
Built with love for our users
Make Data Simple for Everyone.
Try Dawiso for free today and discover its ease of use firsthand.
© Dawiso s.r.o. All rights reserved