# Workflows N8N pour Keep Notes MCP

## 📚 Introduction

Ce dossier contient 6 workflows N8N prêts à l'emploi pour votre serveur MCP Keep Notes. Chaque workflow est conçu pour une fonctionnalité spécifique et peut être importé directement dans N8N.

## 🚀 Workflows disponibles

### 1. **Create Note with Classification** (`n8n-workflow-create-note.json`)

**Description:** Crée des notes dans Keep Notes avec classification automatique par IA.

**Fonctionnalités:**
- Création de notes avec titres, contenus, labels, notebooks
- Classification automatique par IA pour suggérer:
  - Titres pertinents
  - Labels appropriés
  - Notebook optimal
  - Catégorie (work/personal/idea)

**Cas d'usage:**
- Création rapide de notes depuis des conversations
- Capture d'idées avec auto-organisation
- Génération automatique de métadonnées

**Utilisation:**
```json
{
  "content": "Meeting with client next week to discuss project timeline",
  "color": "blue",
  "labels": ["work"]
}
```

---

### 2. **Search & Summary** (`n8n-workflow-search-summary.json`)

**Description:** Recherche des notes et génère un résumé avec IA.

**Fonctionnalités:**
- Recherche par mot-clé dans titres et contenus
- Filtrage intelligent des résultats
- Génération de résumés par IA
- Extraction des thèmes principaux
- Identification des action items
- Groupement de notes par thème

**Cas d'usage:**
- Rapports hebdomadaires d'activité
- Analyse de thématiques
- Synthèse rapide de projets

**Utilisation:**
```json
{
  "searchQuery": "project timeline"
}
```

---

### 3. **Notebook Manager** (`n8n-workflow-notebook-management.json`)

**Description:** Gestion complète des notebooks (créer, lister, modifier, supprimer).

**Fonctionnalités:**
- **Create**: Créer de nouveaux notebooks avec icône et couleur
- **List**: Récupérer tous les notebooks avec leurs notes
- **Update**: Modifier nom, icône, couleur d'un notebook
- **Delete**: Supprimer un notebook et son contenu

**Cas d'usage:**
- Organisation thématique des notes
- Restructuration de l'espace de travail
- Archivage de projets terminés

**Utilisation:**
```json
{
  "action": "create",
  "name": "Work Projects",
  "icon": "💼",
  "color": "#3B82F6"
}
```

---

### 4. **Reminder Notifications** (`n8n-workflow-reminder-notifications.json`)

**Description:** Automatisation des rappels et notifications pour les notes.

**Fonctionnalités:**
- Vérification automatique des rappels (toutes les 30 min)
- Notifications Slack/Email
- Marquage des rappels comme terminés
- Gestion des rappels récurrents (daily, weekly, monthly, yearly)
- Mise à jour automatique des dates de rappel

**Cas d'usage:**
- Gestion de tâches avec échéances
- Rappels de réunions importantes
- Notifications d'événements récurrents

**Configuration:**
- Déclencheur: Schedule (cron: `0 */30 * * * *`)
- Canaux: Slack et Email (configurable)
- Récurrences: daily, weekly, monthly, yearly

---

### 5. **Label Manager** (`n8n-workflow-label-management.json`)

**Description:** Gestion complète des labels avec suggestion automatique par IA.

**Fonctionnalités:**
- **Create**: Créer des labels avec couleur et notebook
- **List**: Récupérer tous les labels (optionnel par notebook)
- **Update**: Modifier nom et couleur d'un label
- **Delete**: Supprimer un label
- **Suggest**: Suggestion automatique de labels par IA

**Cas d'usage:**
- Organisation avancée par tags
- Classification automatique de contenu
- Gestion de taxonomie dynamique

**Utilisation:**
```json
{
  "action": "suggest",
  "title": "Budget planning for Q4",
  "content": "Need to plan budget for the next quarter..."
}
```

**Réponse IA:**
```json
{
  "labels": ["finance", "budget", "quarterly", "planning"]
}
```

---

### 6. **Email to Note** (`n8n-workflow-email-integration.json`)

**Description:** Conversion automatique d'emails en notes avec classification.

**Fonctionnalités:**
- Déclenchement sur nouveaux emails (IMAP)
- Extraction automatique de données email
- Classification par IA:
  - Thème principal
  - Détection d'urgence
  - Suggestion de labels et notebooks
- Gestion des emails urgents (pinned, couleur rouge)
- Notification Slack après création

**Cas d'usage:**
- Capture automatique d'emails importants
- Gestion de boîte de réception
- Intégration email → notes intelligentes

**Configuration:**
- Déclencheur: Email Trigger (IMAP)
- Filtre: Emails non lus uniquement
- Urgence: Détection automatique par IA

---

## 📥 Importation des Workflows

### Méthode 1: Import direct

1. Ouvrir N8N
2. Cliquer sur **"Import from File"**
3. Sélectionner le fichier JSON souhaité
4. Configurer les paramètres nécessaires (Slack, Email, etc.)
5. Activer le workflow

### Méthode 2: Import via API

```bash
curl -X POST http://localhost:5678/rest/workflows/import \
  -H "Content-Type: application/json" \
  -d @n8n-workflow-create-note.json
```

---

## ⚙️ Configuration requise

### Variables d'environnement

Dans N8N, configurez les variables suivantes:

```bash
KEEP_NOTES_API_URL=http://localhost:3000
SLACK_WEBHOOK_URL=votre_slack_webhook_url
EMAIL_ADDRESS=votre_email@gmail.com
EMAIL_PASSWORD=votre_mot_de_passe_app
OPENAI_API_KEY=votre_clé_openai
```

### Connexions requises

1. **Keep Notes API**
   - URL: `http://localhost:3000/api`
   - Authentification: Si nécessaire

2. **Slack**
   - Webhook URL ou OAuth token

3. **Email (IMAP)**
   - Serveur IMAP (ex: `imap.gmail.com`)
   - Email et mot de passe/application password

4. **OpenAI API**
   - Pour la classification et la génération de résumés

---

## 🔧 Personnalisation

### Modifier les délais de rappel

Dans "Reminder Notifications", modifiez l'expression cron:

```cron
# Toutes les 15 minutes
0 */15 * * * *

# Toutes les heures
0 * * * *

# Toutes les 2 heures
0 */2 * * *
```

### Changer les couleurs par défaut

Dans "Create Note", modifiez la valeur par défaut:

```json
{
  "color": "purple"
}
```

### Adapter les catégories de classification

Dans "Email to Note", modifiez le prompt IA pour inclure vos catégories personnalisées.

---

## 🎯 Combinaison de Workflows

### Exemple: Pipeline complet Email → Classification → Rappel

```
Email Trigger 
  → Extract Email Data 
  → AI Classify 
  → Create Note 
  → Set Reminder 
  → Notify Slack
```

### Exemple: Recherche intelligente avec labels

```
MCP Trigger (search) 
  → Get Notes 
  → Filter 
  → AI Suggest Labels 
  → Apply Labels 
  → Return Summary
```

---

## 📊 Monitoring et Logs

Activer les logs dans N8N pour suivre l'exécution:

1. Aller dans **Settings** → **Executions**
2. Filtrer par workflow
3. Voir les détails de chaque exécution
4. Déboguer les erreurs éventuelles

---

## 🔒 Sécurité

### Bonnes pratiques

1. **Ne jamais** exposer des données sensibles dans les workflows
2. Utiliser des **variables d'environnement** pour les clés API
3. **Limiter** l'accès aux workflows MCP avec authentification
4. **Valider** toutes les entrées utilisateur
5. **Auditer** régulièrement les exécutions

### Accès MCP

Pour sécuriser l'accès MCP aux workflows:

1. Configurer l'authentification dans le **MCP Server Trigger**
2. Utiliser des **Bearer tokens** ou **OAuth**
3. Restreindre l'accès par IP si nécessaire

---

## 🐛 Dépannage

### Erreur: "Connection refused to localhost:3000"

**Solution:** Vérifiez que Keep Notes est démarré sur le port 3000.

### Erreur: "AI classification failed"

**Solution:** Vérifiez votre clé OpenAI API et vos crédits.

### Erreur: "Email trigger not working"

**Solution:** 
- Activez l'accès "less secure apps" pour Gmail
- Utilisez un "App Password" si 2FA activé

### Erreur: "Slack notification failed"

**Solution:** Vérifiez l'URL du webhook Slack et les permissions.

---

## 📚 Documentation complémentaire

- [N8N Documentation](https://docs.n8n.io)
- [MCP Protocol](https://modelcontextprotocol.io)
- [Keep Notes API](./README.md)

---

## 🤝 Contribution

Pour ajouter de nouveaux workflows:

1. Créez le fichier JSON correspondant
2. Ajoutez la documentation dans ce fichier
3. Testez le workflow en local
4. Partagez-le avec l'équipe

---

## 📝 Notes importantes

- Tous les workflows utilisent le protocole MCP
- L'URL de l'API Keep Notes doit être configurée correctement
- Les workflows nécessitent que le serveur Keep Notes soit en cours d'exécution
- Les coûts OpenAI s'appliquent pour la classification et la génération de résumés

---

## 🎉 Résumé

| Workflow | Utilisation principale | Complexité |
|----------|----------------------|-------------|
| Create Note | Création avec IA | ⭐⭐ |
| Search & Summary | Analyse de contenu | ⭐⭐⭐ |
| Notebook Manager | Gestion notebooks | ⭐ |
| Reminder Notifications | Automatisation rappels | ⭐⭐⭐ |
| Label Manager | Gestion labels | ⭐⭐ |
| Email to Note | Intégration email | ⭐⭐⭐⭐ |

**Total:** 6 workflows prêts à l'emploi! 🚀
