Inspiration

African telecom operators handle hundreds of FTTH (fiber) support requests every day — through email, internal tickets, and customer messages. Each request requires a manual platform lookup, taking 5 to 15 minutes per case. We wanted to automate this entire workflow end-to-end, using Qwen's reasoning and language understanding to turn raw, unstructured messages into accurate, ready-to-send technical responses.

What it does

TelecomAI Agent is an autopilot agent that processes two types of incoming requests:

  1. Internal support requests (from sales agencies and field teams, via email): the agent reads the message in any natural language format, extracts the subscriber number and the request type (status check, password issue, connection history), queries a mock AAA-style subscriber platform, and drafts the appropriate response — including a human-in-the-loop password reset workflow when needed.
  2. Customer-facing requests (via a WhatsApp-style channel): the same diagnostic engine produces a simplified, jargon-free response with a tracking ticket, so customers get instant, friendly support without exposing internal technical details. The agent doesn't just relay what the requester claims — it queries the underlying platform data and lets that data determine the real diagnosis, which then drives two structurally different email workflows (a single informational email, or a two-step password-reset workflow with a CC'd field team). ## How we built it Qwen (via Alibaba Cloud's dashscope API) powers all natural language understanding: extracting subscriber numbers, request types, and date ranges from unstructured text, and drafting professional email responses. A Python core agent simulates a fictional AAA-style telecom subscriber platform with a realistic error-code-to-diagnosis mapping (password issues, suspensions, authentication failures, billing blocks). An ETL layer records every interaction into a structured, deduplicated customer history for reporting and trend analysis. Two separate front-ends share the same core engine: an internal NOC interface and a customer WhatsApp-style interface. ## Challenges we ran into Detecting the true request type independent of how the sender phrased it was tricky — agencies often guess wrong (e.g. assuming "password issue" when the platform actually shows something else). We solved this by always letting the mocked platform data be the final authority on diagnosis, regardless of the original wording. We also had to balance two very different tones: precise, technical language for internal teams, and warm, jargon-free language for end customers — using the same diagnostic data as input to two different Qwen prompts. ## Accomplishments that we're proud of A single, reusable core engine that serves both an internal operations workflow and a direct customer support channel — demonstrating real production-readiness rather than a narrow demo. ## What we learned We learned how much of a difference letting the platform data be the single source of truth makes, instead of trusting how a request is initially phrased — a lesson that applies far beyond telecom support, to any agent that mediates between human claims and ground-truth systems. We also learned how the same diagnostic payload can power two very different Qwen prompts — one precise and technical, one warm and jargon-free — without duplicating any business logic, simply by separating the "what happened" layer from the "how to phrase it" layer. Finally, working with real-world inspired data taught us the importance of fully anonymizing identifying details (company names, internal team names, email domains) before publishing a demo publicly — a good practice for any project built from real operational context. ## What's next for TelecomAI Agent Deploying the backend as a live Alibaba Cloud Function Compute service Adding a Slack interface for internal teams (parallel submission to the Slack Agent Builder Challenge) Expanding the diagnostic engine with richer network-quality troubleshooting for end customers

Built With

Share this project:

Updates