2026-04-23 · DATA ROOM
SwiftSupport AI
SwiftSupport AI: ¡Adiós caos! Soporte inteligente, clientes felices.
ELEVATOR PITCH
SwiftSupport AI automatiza el triaje de tickets para equipos de soporte de 5-50 agentes en SaaS y e-commerce, transformando el caos en eficiencia. Con un Health Score del 87% y un Margen de Beneficio del 79%, nuestra solución garantiza respuestas rápidas y clientes satisfechos, optimizando costos.
VALUE PROPOSITION
Ofrecemos una solución de IA simple, asequible y de implementación rápida, diseñada específicamente para pymes, que garantiza un ROI inmediato sin la complejidad de las herramientas enterprise.
EXPLAINER.md
SwiftSupport AI — MVP Explainer
Concept
SwiftSupport AI is a B2B SaaS triage engine for customer support teams. It connects to Zendesk via OAuth 2.0, processes incoming tickets through an LLM, and automatically assigns categories, priorities, and routes tickets to the right agent or team — eliminating manual triage for up to 90% of incoming volume.
Problem: Support teams waste hours manually reading, categorizing, and routing tickets. Urgent issues get buried. Agents burn time on repetitive classification instead of resolving problems.
Solution: Every new ticket is analyzed by AI within seconds. Rules-based routing then assigns it to the right team instantly. Managers monitor everything via a dashboard and can correct misclassifications to improve accuracy over time.
Architecture
Zendesk Webhook
│
▼
WebhookController (POST /api/webhooks/zendesk/{tenantId})
│ — responds 202 immediately
▼
WebhookProcessingService [@Async on Virtual Thread]
│
├── ZendeskClient (Feign) ──► GET /api/v2/tickets/{id}
│
├── TriageService ──────────► POST /chat/completions (OpenAI)
│ ◄── { category, priority, reasoning }
│
├── RoutingService ─────────► Match routing rules (DB)
│
├── TicketAuditRepository ──► INSERT ticket_audit
│
└── ZendeskClient (Feign) ──► PUT /api/v2/tickets/{id} (update priority + tags)
Multi-Tenant Isolation
Every data entity (%%INLINE0%%, %%INLINE1%%, %%INLINE2%%) carries a %%INLINE3%% foreign key. All repository queries are scoped to the authenticated tenant's ID, extracted from the JWT claim tenantId.
Virtual Threads (Java 25)
%%INLINE5%% is annotated %%INLINE6%%. The executor is backed by %%INLINE7%%. Webhooks return %%INLINE8%% in < 5 ms while the I/O-heavy triage pipeline runs on a lightweight virtual thread — no thread pool exhaustion under burst load.
Endpoints
Auth (Public)
| Method | Path | Description |
|---|---|---|
| POST | /api/auth/register | Create company account + admin user, returns JWT |
| POST | /api/auth/login | Validate credentials, returns JWT |
OAuth 2.0 — Zendesk Integration (Authenticated)
| Method | Path | Description |
|---|---|---|
| GET | /oauth/zendesk/connect?subdomain=acme | Redirects browser to Zendesk authorization page |
| GET | /oauth/zendesk/callback?code=…&state=… | Exchanges code for token, activates connection |
| GET | /oauth/zendesk/status | Check if tenant has active Zendesk connection |
Webhooks (Public — Zendesk calls these)
| Method | Path | Description |
|---|---|---|
| POST | /api/webhooks/zendesk/{tenantId} | Receive ticket notification, trigger async triage |
Routing Rules (Authenticated — Manager)
| Method | Path | Description |
|---|---|---|
| GET | /api/rules | List all routing rules |
| POST | /api/rules | Create a routing rule |
| PUT | /api/rules/{ruleId} | Update a routing rule |
| DELETE | /api/rules/{ruleId} | Delete a routing rule |
Dashboard (Authenticated — Manager)
| Method | Path | Description |
|---|---|---|
| GET | /api/dashboard/tickets?page=0&size=20 | Paginated AI-processed ticket audit log |
| GET | /api/dashboard/stats | Total processed, correction rate, quota usage |
| PUT | /api/dashboard/tickets/{auditId}/correction | Override AI classification |
Triage AI — LLM Prompt
The AI is called with a structured user prompt and instructed to return pure JSON:
Ticket Subject: {subject}
Ticket Description: {description}
Categories: BILLING, TECHNICAL_BUG, SALES_INQUIRY, ACCOUNT_MANAGEMENT, FEATURE_REQUEST, GENERAL_QUESTION, UNKNOWN
Priorities: URGENT, HIGH, NORMAL, LOW
Respond with ONLY: {"category": "...", "priority": "...", "reasoning": "one sentence"}
Priority rules baked into the prompt:
URGENT→ outage, data loss, security breach, payment failureHIGH→ broken core feature, billing disputeNORMAL→ general questions, minor bugsLOW→ feature requests, feedback
UNKNOWN / NORMAL so the pipeline never blocks.
Routing Rules Engine
Rules are evaluated highest priority first (DESC). First match wins.
| Field | Description |
|---|---|
| %%INLINE27%% | %%INLINE28%% = wildcard (match any category) |
| %%INLINE29%% | %%INLINE30%% = wildcard (match any priority) |
assigneeTarget | Agent email or team name |
zendeskGroupId | Zendesk Group ID to set on the ticket |
priority | Rule evaluation order (higher = checked first) |
{
"name": "Urgent → On-Call",
"matchCategory": null,
"matchPriority": "URGENT",
"assigneeTarget": "oncall@acme.com",
"zendeskGroupId": 12345,
"priority": 100
}
Data Model
CustomerAccount (tenant)
├── User (M:1) — email, passwordHash, role (ADMIN|MANAGER|AGENT)
├── HelpdeskConnection (M:1) — OAuth tokens per platform (ZENDESK|INTERCOM|FRESHDESK)
├── RoutingRule (M:1) — category/priority → assignee mapping
└── TicketAudit (M:1) — immutable AI processing record with optional correction
Monetization
| Tier | Monthly Ticket Quota | Price |
|---|---|---|
| Starter | 1,000 tickets/month | $49/month |
| Pro | 5,000 tickets/month | $149/month |
| Enterprise | Unlimited | Custom |
CustomerAccount.currentMonthTicketCount, incremented after each processed ticket. Overage handling (warn → block → upsell) is a post-MVP feature.
Business Analysis
TAM: The global customer service software market is $11B+ (2024) growing at 12% CAGR. ICP: SaaS/e-commerce companies with 5–50 support agents on Zendesk, Intercom, or Freshdesk. ROI for customer: Median first-response time drops from hours to seconds for auto-triaged tickets. Agents focus on resolution, not sorting. CSAT improves. Competitive moat: Routing rules tied to correction feedback loop creates a flywheel — the more corrections a tenant submits, the more accurate their routing becomes (future: fine-tuning per tenant).
Risks:
- LLM latency/cost at scale → mitigated by async processing + model selection (GPT-4o-mini is ~10× cheaper than GPT-4o)
- Zendesk API rate limits → mitigated by async queue (future: Kafka/SQS)
- Hallucinated categories → mitigated by enum validation + correction loop
How to Run
Prerequisites
- Java 25
- Maven 3.9+
- PostgreSQL 16+ running locally (or Docker)
- OpenAI API key (or compatible LLM endpoint)
- Zendesk developer account (for OAuth)
1. Database
CREATE DATABASE swiftsupport;
2. Configuration
Add to src/main/resources/application.yml:
spring:
datasource:
url: jdbc:postgresql://localhost:5432/swiftsupport
username: postgres
password: yourpassword
jpa:
hibernate:
ddl-auto: update
show-sql: false
swiftsupport:
jwt-secret: "your-32-char-secret-key-here!!!!!"
jwt-expiration-ms: 86400000 # 24h
zendesk:
client-id: your-zendesk-client-id
client-secret: your-zendesk-client-secret
redirect-uri: http://localhost:8080/oauth/zendesk/callback
base-url: https://placeholder.zendesk.com
llm:
api-key: sk-your-openai-key
model: gpt-4o-mini
base-url: https://api.openai.com/v1
3. Build & Run
mvn clean package -DskipTests
java -jar target/swift-support-ai-0.0.1-SNAPSHOT.jar
4. Quick Smoke Test
# Register tenant
curl -X POST http://localhost:8080/api/auth/register \
-H "Content-Type: application/json" \
-d '{"companyName":"Acme Corp","domain":"acme.com","email":"admin@acme.com","password":"secret123"}'
# Login → get JWT
TOKEN=$(curl -s -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@acme.com","password":"secret123"}' | jq -r .token)
# Create routing rule
curl -X POST http://localhost:8080/api/rules \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Billing → Finance","matchCategory":"BILLING","assigneeTarget":"billing@acme.com","priority":10}'
# View dashboard stats
curl http://localhost:8080/api/dashboard/stats \
-H "Authorization: Bearer $TOKEN"
References
- AI-Powered SaaS Ideas — BigIdeasDB
- Zendesk OAuth 2.0 Docs
- OpenAI Chat Completions API
- Spring Boot 4.0 Reference
- JJWT 0.12.x Reference
- Java Virtual Threads (JEP 444)
Análisis FinOps para SwiftSupport AI
Visión General de Costos y Rentabilidad
SwiftSupport AI, en su fase inicial como micro-startup, demuestra un modelo de negocio con un margen de beneficio saludable, incluso con una base de clientes modesta. Los costos operativos se centran principalmente en el consumo de LLM y la infraestructura cloud básica. La clave para mantener la rentabilidad a medida que la startup escala será la gestión proactiva de estos dos pilares.
Estimación de Costos Mensuales
Basado en un escenario inicial de 5 clientes en el plan 'Starter' (hasta 1000 tickets/mes) y 1 cliente en el plan 'Pro' (hasta 5000 tickets/mes), el volumen total de tickets procesados es de aproximadamente 10,000 tickets/mes.
- Consumo de LLM (OpenAI gpt-4-turbo):
- Infraestructura Cloud (AWS):
t3.small de EC2 (2 vCPU, 2 GiB RAM) es adecuada para la carga inicial con Virtual Threads. Costo: ~$18/mes.
* Base de Datos (PostgreSQL): Una instancia db.t3.micro de AWS RDS (2 vCPU, 1 GiB RAM) para PostgreSQL. Costo: ~$18/mes.
* Networking y Monitoreo: Costos básicos asociados a transferencia de datos, CloudWatch, etc. Costo: ~$18/mes.
* Total Infraestructura Cloud: $54/mes.
- Otros Costos: Un pequeño colchón para herramientas, logs, etc. ~$5/mes.
Estimación de Ingresos Mensuales
Considerando los planes de monetización:
- Plan Starter: $99/mes (hasta 1000 tickets).
- Plan Pro: $299/mes (hasta 5000 tickets).
Ingreso Mensual Total Estimado: $495 + $299 = $794/mes.
Margen de Beneficio
- Ingresos: $794/mes
- Costos: $164/mes
- Beneficio Bruto: $794 - $164 = $630/mes
Este margen es excelente para una fase inicial, indicando un modelo de negocio viable con buen potencial de crecimiento.
Estrategias de Optimización FinOps
Para garantizar la sostenibilidad y escalar eficientemente, SwiftSupport AI debe implementar las siguientes estrategias FinOps:
- Optimización del Consumo de LLM:
gpt-4-turbo para casos más complejos o donde la precisión sea crítica. Esto puede reducir drásticamente los costos de LLM sin comprometer la calidad general.
* Caché de Respuestas: Almacenar en caché las respuestas del LLM para tickets con contenido idéntico o muy similar (ej. preguntas frecuentes). Esto evita llamadas redundantes a la API del LLM.
* Ingeniería de Prompts: Refinar continuamente los prompts para que sean concisos y extraer solo la información necesaria, minimizando el conteo de tokens de entrada y salida.
* Validación de Salida: Si el LLM devuelve un formato inesperado, reintentar con un modelo más barato o un prompt simplificado antes de escalar a un modelo más caro o fallar.
- Optimización de Infraestructura Cloud:
- Monitoreo y Alertas:
db.t3.micro sea suficiente o para planificar una actualización proactivamente si es necesario.
Estas optimizaciones permitirán a SwiftSupport AI mantener un control estricto sobre sus gastos operativos mientras escala su base de clientes y expande sus capacidades.
MVP FEATURES
- 01Integración segura (OAuth 2.0) con al menos una plataforma de helpdesk principal (ej. Zendesk).
- 02Clasificación automática de tickets por IA para determinar categoría (ej. 'Facturación', 'Bug Técnico', 'Consulta de Ventas') y prioridad ('Urgente', 'Alta', 'Normal').
- 03Motor de reglas para el enrutamiento inteligente de tickets al agente o equipo correcto basado en la clasificación de la IA.
- 04Dashboard simple para que los managers de soporte vean los tickets procesados por la IA, las acciones tomadas y puedan auditar/corregir las clasificaciones.
“SwiftSupport AI: Transforma el caos de tickets en eficiencia, deleitando a tus clientes con respuestas instantáneas y precisas.”
Revisad el código y la API para optimizar el manejo de errores y la documentación, preparando el producto para su lanzamiento.
LexiGuard AI
87LexiGuard AI revoluciona la creación de contenido para industrias reguladas, permitiendo a equipos de marketing y cumplimiento generar textos conformes al instante y con riesgo cero. Con un sólido Health Score del 87% y una UX del 91%, nuestra solución elimina errores costosos, acelera la agilidad del negocio y asegura auditorías impecables.
CompliWrite AI
86CompliWrite AI automatiza la creación de contenido y garantiza el cumplimiento normativo en tiempo real para equipos de marketing y cumplimiento en industrias reguladas como FinTech y Pharma. Con un Health Score del 87% y un margen de beneficio del 91%, la solución reduce drásticamente los ciclos de revisión legal y el riesgo de multas, mientras que su API ofrece una UX robusta (86%) y alta escalabilidad (95%).
ClauseCraft AI
85ClauseCraft AI automatiza la revisión de contratos para equipos legales en PYMES y startups, liberándolos para el trabajo estratégico. Con una calidad de código sólida (Health Score 87%) y una UX consistente (85%), ofrecemos una solución escalable y rentable (Profit Margin 88%) que optimiza flujos de trabajo legales.