
AI Support Agent for Fitness App
AI support agent that processes tickets from customer support system via webhooks, handling refund and cancellation requests instantly at scale. Currently email-based, with Instagram and website widget planned. Prevents chargebacks through 24/7 responses, intelligently escalates complex cases, and retains customers with personalized offers. Built with GPT-4 at $0.02 per conversation.
π―The Challenge
A fitness app with thousands of daily users faced a critical chargeback problem. Their Ukraine-based support team couldn't respond fast enough to US customers requesting refunds. When responses took 4+ hours due to time zones, frustrated customers filed chargebacks instead of waiting β costing the company lost revenue, processor fees, and potential account restrictions.
Manual 24/7 support wasn't financially viable. The solution needed to check refund eligibility based on usage data, provide policy-compliant responses, and create tickets for human review β all while responding in seconds to prevent chargebacks.
π‘Our Solution
We built a production-ready AI support agent that receives tickets from the customer support system via webhooks. The agent uses GPT-4 to analyze requests, syncs deeply with internal backend systems to validate user data, and intelligently escalates complex cases to humans while auto-resolving simple inquiries.
We worked closely with the client's support department to crystallize business processes, SOPs, and knowledge base β brainstorming how to handle edge cases and retention scenarios. Our backend development team built an admin panel with conversation monitoring, cost tracking, and prompt management. The system handles thousands of conversations daily at $0.02 per conversation.
How It Works
Get Customer Message
Webhook from support system triggers processing
AI agent receives tickets via webhooks from the customer support system. Currently email-based, with Instagram and website widget channels planned. Spam is filtered and duplicate tickets are detected automatically.
Analyze & Categorize
Auto-tag based on SOPs, check user data
System categorizes tickets according to company SOPs, sets appropriate tags, and syncs with backend to validate user data (subscription status, usage history). Previous conversation history β even from before AI launch β is loaded for context.
Generate Response
AI creates policy-compliant reply in user's language
GPT-4 generates a response following SOPs and conversation guidelines. If the message contains multiple questions, the agent combines relevant prompts to address each one. Responses are sent in the customer's language.
Resolve or Escalate
Auto-resolve simple cases, escalate complex ones
Simple inquiries are resolved automatically. Cases are escalated to humans when: context is insufficient, actions require approval (refunds, cancellations, discounts), or the customer is frustrated or angry. CRM ticket includes full history and AI recommendation.
What We Built
π CRM Webhook Integration
Receives tickets from customer support system via webhooks. Currently email-based, with Instagram and website widget channels planned.
π¨ Smart Escalation
AI escalates to humans when context is missing, actions need approval (refunds, discounts, email changes), or customer is frustrated or angry.
π·οΈ Auto-Categorization
Automatically categorizes and tags tickets based on company SOPs. Detects duplicate tickets and filters spam messages.
π° Retention Flow
Proactively offers trials and discounts to retain customers considering cancellation. Personalized offers based on user history.
β° Automatic Follow-ups
Schedules follow-up messages based on business logic to activate users or complete unfinished conversations.
π§© Multi-Intent Processing
When a message contains multiple questions, AI combines relevant SOPs to craft a comprehensive response addressing each one.
π Multi-Language Support
Automatically detects customer language and responds accordingly. Follows English-language policies while communicating in user's native language.
π Historical Context
Loads previous conversation history β even from before AI agent was launched β to provide contextually aware responses.
π Deep Backend Sync
Real-time sync with internal systems ensures user data (subscription status, usage) is always present and valid during case processing.
π Prompt Templates
Manage different templates for cancellation requests, technical issues, user feedback, and more. Version control included.
π Token Usage Dashboard
Monitor LLM token consumption and costs across all API calls. Analyze spending and predict future costs.
π Data Privacy
Sensitive user data is removed before sending to the LLM. PII stripping ensures compliance and security.
Email Conversations Dashboard
View and manage all AI-handled conversations. See user messages, AI responses, and conversation status in real-time.

Technology Stack
NestJS
TypeScript
PostgreSQL
Redis
React
OpenAI GPT-4
Backend & AI Infrastructure
NestJS backend with TypeScript, OpenAI GPT-4 for response generation, PostgreSQL for data storage, Redis for caching, and BullMQ for job queues. Gmail API integration for email handling, Amplitude for user analytics.
Admin Dashboard
React with TypeScript, Ant Design components, real-time updates via WebSockets, and responsive design for all devices. Token usage monitoring and cost tracking.
The Team

Bohdan
Full-Stack Developer
Backend architecture and AI integration.

Victoria
QA Engineer
Testing and quality assurance.
Need AI-Powered Customer Support?
Get a free consultation and fixed-price estimate in 48 hours. No commitment required.
FaQ

Your Free Trial Sprint
Meet your team
Slack channel, assigned developer, daily standups. First code committed to your GitHub.Working prototype delivered
Technical spike or prototype complete. Architecture + budget roadmap for the full build.You keep everything. Zero cost. Zero commitment.

Oleg Kalyta
Founder & AI Lead- 1.You submitβWe review within 24 hours
- 2.15-minute scoping callβWe align on trial goals
- 3.Developer assignedβWithin 48 hours
- 4.Working code in your repoβBy end of Week 1


