# Projet Agent Vocal IA & Migration Téléphonie — Sprint 1
## Assigné à : Mohamed Boucetta | 8 jours (15→25 avril 2026)

---

## 1. Contexte & Objectif

### Situation actuelle
- MCM Academy utilise **Ringover** comme solution téléphonie
- Pas d'agent IA — commerciaux humains uniquement
- ~50 numéros à migrer
- Aucune automatisation post-appel
- Pas de connexion entre téléphonie et Odoo CRM

### Objectif Sprint 1
Mettre en place un **agent vocal IA inbound** qui répond 24/7, qualifie les prospects et les oriente, connecté à **Odoo** en temps réel via un **RAG** (base de connaissances formations). Migrer l'infrastructure téléphonie vers **3CX PRO + OVH SIP**.

### Ce qui est hors scope Sprint 1
- Séquence de relance automatique J+1 → J+14
- Dashboard analytics NocoDB
- Portabilité des 50 numéros (processus 5-10 semaines)
- Résiliation Ringover

---

## 2. Architecture cible

```
Prospect appelle
    ↓
OVH SIP Trunk (numéros France)
    ↓
3CX PRO (PBX cloud, transfert humain si besoin)
    ↓
Retell AI (agent vocal)
├── ElevenLabs Charlotte FR (voix)
├── Claude Sonnet (raisonnement)
├── Deepgram Nova 3 (transcription FR)
└── RAG (base de connaissances formations)
    ├── Formations Odoo (noms, prix, dates, CPF)
    ├── FAQ commerciale
    └── Infos prospects (historique, statut)
    ↓
Post-appel automatique (n8n)
├── WhatsApp → Prospect
├── Slack → Commercial
├── Odoo → Mise à jour lead
└── Email + devis → Prospect
```

---

## 3. Sprint Plan — 8 jours

### Phase 1 : Infrastructure téléphonie (Jour 1-2)

| # | Tâche | Diff. | Temps | Outil |
|---|---|---|---|---|
| 1.1 | Créer compte 3CX PRO 8SC cloud (trial 2 mois gratuit) | ⭐ | 1h | Navigateur |
| 1.2 | Commander OVH SIP Trunk + 5 DID France de test | ⭐ | 1h | Console OVH |
| 1.3 | Configurer SIP Trunk OVH dans 3CX | ⭐⭐ | 2h | Claude Code + 3CX Admin |
| 1.4 | Configurer les extensions commerciaux (5 users) | ⭐ | 1h | 3CX Admin |
| 1.5 | Créer compte Retell AI + configurer voix ElevenLabs Charlotte FR | ⭐⭐ | 2h | Retell Dashboard |
| 1.6 | Connecter SIP OVH → Retell AI (route inbound) | ⭐⭐⭐ | 3h | Claude Code + Retell + 3CX |
| 1.7 | Premier appel test : appeler un DID → l'agent répond | ⭐⭐ | 2h | Téléphone + logs |
| 1.8 | Configurer transfert vers commercial humain via 3CX | ⭐⭐ | 2h | Claude Code + 3CX |

**Livrable J1-2** : Agent vocal qui décroche et parle + transfert humain fonctionnel

---

### Phase 2 : RAG — Base de connaissances formations (Jour 3-4)

| # | Tâche | Diff. | Temps | Outil |
|---|---|---|---|---|
| 2.1 | Étudier l'API Odoo 17 SH : formations, sessions, prospects, statuts CPF | ⭐⭐ | 2h | Claude Code — Agent Explore |
| 2.2 | Extraire les données Odoo : catalogue formations, dates sessions, prix, éligibilité CPF | ⭐⭐ | 2h | Claude Code — script Python |
| 2.3 | Construire la base vectorielle RAG (embeddings des formations + FAQ commerciale) | ⭐⭐⭐ | 4h | Claude Code — ChromaDB ou Qdrant |
| 2.4 | Créer l'API RAG : endpoint de recherche pour l'agent vocal | ⭐⭐⭐ | 3h | Claude Code — FastAPI |
| 2.5 | Connecter le RAG à Retell AI via custom functions | ⭐⭐⭐ | 3h | Claude Code + Retell Functions |
| 2.6 | Tester : l'agent répond avec les vraies infos formations en live | ⭐⭐ | 2h | Appel test |

**Livrable J3-4** : Agent vocal qui connaît toutes les formations, prix, dates en temps réel

---

### Phase 3 : Connexion Odoo — Identification prospect en live (Jour 5-6)

| # | Tâche | Diff. | Temps | Outil |
|---|---|---|---|---|
| 3.1 | Créer la fonction Retell `get_prospect(phone)` → API Odoo | ⭐⭐⭐ | 3h | Claude Code — Python |
| 3.2 | Créer la fonction `get_formations()` → catalogue Odoo en live | ⭐⭐ | 2h | Claude Code — Python |
| 3.3 | Créer la fonction `book_rdv(slot)` → Google Calendar API | ⭐⭐⭐ | 3h | Claude Code — Python |
| 3.4 | Créer la fonction `send_sms(link)` → envoi lien inscription | ⭐⭐ | 2h | Claude Code — Twilio/OVH SMS |
| 3.5 | Créer la fonction `escalate_to_human(extension)` → transfert 3CX | ⭐⭐ | 1h | Claude Code |
| 3.6 | Écrire le prompt commercial v2 (personnalisé avec données Odoo + RAG) | ⭐⭐⭐ | 3h | Claude Code — prompt engineering |
| 3.7 | Tester le parcours complet : appel → identification → pitch personnalisé → closing/RDV | ⭐⭐ | 2h | Appels tests |

**Livrable J5-6** : Agent vocal connecté à Odoo, identifie le prospect, pitch personnalisé

---

### Phase 4 : Pipeline post-appel + Documentation (Jour 7-8)

| # | Tâche | Diff. | Temps | Outil |
|---|---|---|---|---|
| 4.1 | Configurer webhook Retell → n8n (transcript + métadonnées) | ⭐⭐ | 2h | n8n + Claude Code |
| 4.2 | Workflow n8n : résumé IA de l'appel via Claude Sonnet | ⭐⭐ | 2h | n8n + Claude API |
| 4.3 | Workflow n8n : WhatsApp au prospect (template Meta approuvé) | ⭐⭐⭐ | 3h | n8n + WhatsApp Business API |
| 4.4 | Workflow n8n : notification Slack au commercial (Block Kit) | ⭐⭐ | 2h | n8n + Slack API |
| 4.5 | Workflow n8n : mise à jour Odoo (lead + log activité + résumé) | ⭐⭐ | 2h | n8n + Odoo API |
| 4.6 | Workflow n8n : email prospect + devis PDF via Brevo | ⭐⭐ | 2h | n8n + Brevo |
| 4.7 | Documentation technique complète | ⭐ | 2h | Claude Code |
| 4.8 | Démo : appel réel avec pipeline complet | ⭐ | 1h | Visio / Présentiel |

**Livrable J7-8** : Pipeline post-appel 100% automatique + documentation + démo

---

## 4. Focus RAG — Base de connaissances en détail

### Pourquoi un RAG ?
L'agent vocal doit répondre en temps réel avec des infos précises et à jour :
- Quelles formations sont disponibles ?
- Quelles sont les prochaines dates de session ?
- Combien ça coûte ? Est-ce éligible CPF ?
- Quels sont les prérequis ?
- Quel est l'historique de ce prospect dans Odoo ?

### Sources de données
| Source | Données | Mise à jour |
|---|---|---|
| Odoo 17 SH | Formations, sessions, prix, prospects, statuts CPF | Sync toutes les heures |
| FAQ commerciale | Objections courantes, argumentaire, infos CPF | Manuelle |
| Site web MCM Academy | Pages formations, témoignages | Hebdomadaire |

### Stack RAG
| Composant | Choix | Pourquoi |
|---|---|---|
| Embeddings | Claude / OpenAI text-embedding | Qualité FR |
| Base vectorielle | ChromaDB (simple) ou Qdrant (scalable) | Déploiement Docker rapide |
| API | FastAPI sur VPS | Déjà en place |
| Sync Odoo | Cron job Python toutes les heures | Données à jour |

---

## 5. Récapitulatif des livrables

| # | Livrable | Date | Critère de validation |
|---|---|---|---|
| L1 | 3CX + OVH SIP + Retell opérationnels | 17 avril | Agent décroche un appel test |
| L2 | RAG formations connecté à l'agent | 18 avril | Agent répond avec les vraies infos |
| L3 | Agent connecté à Odoo (prospect + formations + RDV) | 22 avril | Parcours complet personnalisé |
| L4 | Pipeline post-appel (WA + Slack + Odoo + Email) | 24 avril | Post-appel automatique < 60s |
| L5 | Documentation + démo | 25 avril | Démo devant Nasser |

---

## 6. Outils à disposition

### Claude Code (principal)
- Connexion : `tailscale ssh mboucetta@srv1533748` → `tmux attach -t mboucetta-session` → `claude`
- Utiliser pour : tout le dev Python, prompt engineering, debug, documentation

### Agents Claude Code
| Agent | Usage | Quand |
|---|---|---|
| Agent Explore | Explorer API Odoo, doc Retell, doc 3CX | Phase 1, 2, 3 |
| Agent Plan | Architecture RAG, design des fonctions Retell | Phase 2, 3 |
| Agent général | Recherche web, debug, automatisation | Tout le sprint |

### APIs & Services
| Service | Usage | Accès |
|---|---|---|
| Retell AI | Agent vocal | Créer compte (trial $10) |
| ElevenLabs | Voix Charlotte FR | Inclus dans Retell |
| Deepgram | Transcription FR | Inclus dans Retell |
| Claude API | LLM raisonnement + résumés post-appel | Clé dans Infisical |
| OVH SIP | Trunk téléphonie | Console OVH |
| 3CX PRO | PBX cloud | Trial 2 mois |
| Odoo 17 SH | CRM, formations, prospects | API existante |
| n8n | Orchestration post-appel | Déjà sur VPS |
| WhatsApp Business | Messages post-appel | Meta Business Manager |
| Brevo | Emails | Déjà configuré (Infisical) |
| Slack | Notifications commerciaux | Workspace existant |

---

## 7. Risques & Mitigations

| Risque | Impact | Mitigation |
|---|---|---|
| Voix FR sonne robot | Prospect raccroche | Tester ElevenLabs Charlotte dès J1, ajuster les paramètres |
| API Odoo lente | Agent met du temps à répondre | Cache local des données fréquentes dans le RAG |
| SIP OVH ↔ Retell instable | Appels coupés | Fallback 3CX vers commerciaux humains |
| Conformité CPF | Risque légal | Prompt validé par responsable péda avant prod |
| Qualité RAG insuffisante | Mauvaises réponses | Tester avec 20 questions types, itérer sur les embeddings |
| n8n surchargé | Post-appel en retard | Queue avec retry, monitoring |

---

## 8. Prompt commercial — Structure v1

```
Tu es l'assistant commercial de MCM Academy, un centre de formation
spécialisé dans le transport et la logistique.

TON RÔLE :
- Répondre aux appels entrants de prospects intéressés par nos formations
- Les qualifier (statut professionnel, éligibilité CPF, formation souhaitée)
- Présenter la formation adaptée avec les infos du RAG
- Proposer un closing direct ou un RDV avec un conseiller

RÈGLES :
- Parle en français naturel, ton chaleureux et professionnel
- Ne promets JAMAIS un financement CPF à 100% sans vérification
- Si le prospect est hésitant, propose un RDV plutôt que forcer
- Si la question est trop technique, transfère à un humain
- Utilise les données Odoo pour personnaliser (prénom, historique)

FONCTIONS DISPONIBLES :
- get_prospect(phone) → infos prospect Odoo
- get_formations() → catalogue complet via RAG
- book_rdv(slot) → réserver un créneau
- send_sms(link) → envoyer un lien d'inscription
- escalate_to_human(extension) → transférer à un commercial
```
