> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quivr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Résolvez des tickets complexes de bout en bout avec des instructions en langage naturel et des contrôles déterministes

export const WorkflowExample = ({title, whenToUse, steps = []}) => {
  const parseToolMentions = text => {
    if (!text) return text;
    const parts = text.split(/(@[\w-]+)/g);
    return parts.map((part, i) => {
      if (part.startsWith("@")) {
        const toolName = part.slice(1);
        return <span key={i} className="text-blue-500 dark:text-blue-400 font-semibold bg-blue-50 dark:bg-blue-950/50 px-1.5 py-0.5 rounded text-[0.9em] whitespace-nowrap">
            @{toolName}
          </span>;
      }
      return part;
    });
  };
  return <div className="my-6 border-2 border-dashed border-zinc-300 dark:border-zinc-600 rounded-xl p-6">
      {}
      <h3 className="text-xl font-semibold text-zinc-900 dark:text-zinc-100 m-0 mb-5">
        {title}
      </h3>

      {}
      <div className="mb-6">
        <span className="text-sm font-medium text-zinc-500 dark:text-zinc-400 block mb-2">
          When to use
        </span>
        <div className="border border-zinc-200 dark:border-zinc-700 rounded-lg p-4 bg-zinc-50/50 dark:bg-zinc-800/30">
          <p className="m-0 text-zinc-700 dark:text-zinc-300 leading-relaxed">
            {whenToUse}
          </p>
        </div>
      </div>

      {}
      <div>
        <span className="text-sm font-semibold text-zinc-900 dark:text-zinc-100 block mb-4">
          Steps
        </span>
        <div className="flex flex-col gap-4">
          {steps && steps.map((step, index) => <div key={index} className="flex gap-3 items-start">
              <span className="flex items-center gap-1.5 flex-shrink-0 pt-0.5">
                <span className="text-blue-500 dark:text-blue-400 font-medium text-sm tabular-nums">
                  {index + 1}.
                </span>
              </span>
              <span className="text-zinc-700 dark:text-zinc-300 leading-relaxed">
                {parseToolMentions(step)}
              </span>
            </div>)}
        </div>
      </div>
    </div>;
};

## C'est quoi un workflow ?

Les workflows permettent de résoudre des tickets complexes de bout en bout. Ils combinent **instructions en langage naturel et contrôles déterministes** pour rester flexibles tout en appliquant vos règles métier.

Contrairement aux scripts d'automatisation rigides, les workflows Quivr s'adaptent naturellement quand la conversation évolue. Si un client change de demande ou ajoute des infos en cours de route, le système s'ajuste sans casser.

<Tip>
  Voyez les workflows comme des procédures intelligentes écrites en français que votre agent IA suit pour résoudre les tickets.
</Tip>

## Création & Conception

### Basé sur le langage naturel

Les workflows s'écrivent comme des documents, accessibles aux non-techniques :

* **Écrire en français** - Pas besoin de coder pour les workflows basiques
* **Instructions centralisées** - Toute la logique dans un seul document plutôt qu'éparpillée

<WorkflowExample
  title="Suivi de commande"
  whenToUse="Quand un client demande le statut de sa commande"
  steps={[
"Recupere sa commande avec @get_ticket et @get_tickets_from_user_by_email",
"Verifie s'il y a un numero de suivi",
"Si oui, envoie-le avec la date de livraison estimee",
"Sinon, explique le statut actuel et quand le suivi sera dispo",
"Garde un ton rassurant et sympa"
]}
/>

### Exécution adaptative

Quivr s'adapte naturellement aux changements de conversation :

* Le client change de demande en cours → Le workflow s'ajuste
* De nouvelles infos arrivent → Le contexte se met à jour auto
* Le client pose des questions de suivi → Le workflow peut revenir en arrière

Pas de script rigide. Pas de plantage quand les clients ne suivent pas votre scénario.

## Contrôle & Logique

### Intégration d'outils

Intégrez des appels d'outils directement dans vos étapes de workflow :

* **Vérifications d'éligibilité** - Vérifiez les droits du client avant de continuer
* **Récupération de données** - Cherchez l'historique, les détails compte ou produit
* **Mises à jour** - Changez le statut, ajoutez des tags, modifiez des champs
* **Analyse de pièces jointes** - Traitez images, PDF et docs pour comprendre le problème

**Outils par défaut :** `get_ticket`, `get_tickets_from_user_by_email`, `set_ticket_status`, `escalate_to_agent`, et plus.

On propose aussi des **outils d'intégration clés en main** pour les systèmes business populaires (e-commerce, paiement, transporteurs, etc.). Consultez la liste complète et contactez notre équipe pour les activer ou demander des outils sur mesure.

<Card title="Tous les outils & intégrations" icon="wrench" href="/outils/index">
  Explorez les outils par défaut, intégrations prêtes à l'emploi, et demandez des outils personnalisés
</Card>

### Transfert vers un humain

Définissez des déclencheurs d'escalade pour les situations qui nécessitent un humain :

* **Sujets sensibles** - Routage auto vers la bonne équipe
* **Faible confiance** - L'IA reconnaît son incertitude et demande de l'aide
* **Demande du client** - Respecte les demandes explicites de parler à quelqu'un
* **Seuil de complexité** - Escalade les problèmes multi-étapes hors scope IA

## Tests & Validation

Testez toujours vos workflows avant de les mettre en prod pour détecter les problèmes tôt et assurer la qualité.

### Tests par scénarios

Testez les workflows en créant des scénarios de conversation qui simulent de vraies interactions clients :

* **Définir des scénarios** - Décrivez des situations clients et résultats attendus
* **Définir des critères de succès** - Ce qui définit une "réussite" pour chaque scénario
* **L'IA simule les clients** - Conversations réalistes avec variations naturelles
* **Évaluation auto** - Résultats réussite/échec basés sur vos critères
* **Tests de régression** - Relancez les scénarios après les modifs de workflow

**Pourquoi tester par scénarios :**

* Détectez les problèmes avant qu'ils touchent vos vrais clients
* Validez les cas limites et la gestion d'erreurs
* Prenez confiance dans le comportement du workflow
* Évitez les régressions lors des changements

<Card title="Guide complet des tests" icon="flask" href="/workflows/testing">
  Créez des scénarios efficaces, interprétez les résultats et résolvez les problèmes
</Card>

## Composants d'un workflow

Chaque workflow se compose de trois parties :

<AccordionGroup>
  <Accordion title="1. Déclencheurs - Ce qui active le workflow" icon="bolt">
    Les workflows détectent automatiquement quand démarrer selon l'intention du client. Pas de config complexe.

    **Exemple :** Un client écrit "Je ne reconnais pas ces frais sur ma carte." Le workflow détecte l'intention de contestation et lance immédiatement le processus de résolution.

    **Comment ça marche :**

    * L'IA comprend l'intention du client depuis son message
    * Les workflows s'activent selon ce que le client essaie de faire
    * Pas de listes de mots-clés manuelles ou règles rigides
    * Fonctionne dans toutes les formulations et langues
  </Accordion>

  <Accordion title="2. Instructions - Logique étape par étape" icon="list-ol">
    Utilisez le langage naturel pour définir les instructions étape par étape : collecter des infos, poser des questions, ou agir dans des systèmes externes.

    **Exemple :** "D'abord, demande au client les détails de la transaction et la raison de la contestation. Ensuite vérifie l'historique des transactions. Si les frais datent de moins de 30 jours, lance le processus de contestation standard. Sinon, escalade au spécialiste facturation."

    **Ce que vous pouvez définir :**

    * **Collecte d'infos** - Quelles données récupérer du client
    * **Appels d'outils** - Quand aller chercher des données dans vos systèmes
    * **Logique de décision** - Comment gérer les différents scénarios
    * **Style de réponse** - Ton, format et éléments requis
    * **Règles d'escalade** - Quand router vers des agents humains
  </Accordion>

  <Accordion title="3. Configuration - Paramètres de gestion des tickets" icon="gear">
    Configurez comment les tickets sont gérés après traitement par le workflow.

    **Paramètres disponibles :**

    * **Statut du ticket** - Définir auto le statut lors de l'envoi (Ouvert, En attente, Résolu, etc.)
    * **Répondre au nom de** - Choisir quel agent apparaît comme expéditeur (agent spécifique, membre d'équipe, ou assigné actuel)
    * **Délai de réponse** - Ajouter un délai avant de répondre (pour paraître plus humain ou grouper les réponses)

    **Exemple de config :** Après envoi → Statut "En attente" → Répondre comme assigné actuel → Attendre 2 minutes avant envoi
  </Accordion>
</AccordionGroup>

## Types de workflows

<Tabs>
  <Tab title="Réponse auto">
    **Générer et envoyer des réponses automatiquement pour les questions courantes**

    **Idéal pour :**

    * Réinit de mot de passe
    * Statut de livraison
    * Questions FAQ
    * Problèmes d'accès compte
    * Confirmations de commande

    **Exemple :** Client demande "Où est ma commande ?" → L'IA vérifie le statut → Envoie le lien de suivi auto
  </Tab>

  <Tab title="Mode brouillon">
    **Générer des brouillons de réponses pour validation humaine avant envoi**

    Utilisez le mode brouillon pour garder un contrôle humain tout en bénéficiant de l'assistance IA.

    **Idéal pour :**

    **Workflows sensibles nécessitant validation humaine :**

    * Litiges et remboursements
    * Questions juridiques ou conformité
    * Comptes clients à forte valeur
    * Dépannage technique complexe

    **Première étape de déploiement pour nouveaux workflows :**

    1. Démarrez en mode brouillon pour un lancement en sécurité
    2. Analysez les performances et la qualité des réponses
    3. Récoltez les retours de l'équipe sur les brouillons IA
    4. Une fois confiant, activez l'envoi auto pour automatisation complète

    **Exemple de progression :**

    * **Semaines 1-2 :** Mode brouillon → Réviser chaque réponse → Récolter les retours
    * **Semaine 3 :** Bonnes perfs (90%+ d'approbation) → Activer l'envoi auto
    * **En continu :** Surveiller les métriques, ajuster si besoin

    **Exemple :** Client signale un problème de facturation → L'IA rédige une réponse avec options de remboursement → L'agent révise, ajuste le ton et envoie
  </Tab>
</Tabs>

## Se lancer

<Steps>
  <Step title="Créer votre workflow">
    Écrivez des instructions étape par étape en français pour gérer des situations clients spécifiques. Définissez la voix de votre marque, le ton et les infos requises.
  </Step>

  <Step title="Tester avec des scénarios">
    Créez des scénarios de test qui simulent de vraies conversations clients. Définissez des critères de succès et lancez les tests pour valider le comportement avant déploiement.
  </Step>

  <Step title="Lancer en mode brouillon">
    Déployez d'abord en mode brouillon. L'IA génère des réponses montrées comme brouillons dans votre helpdesk, vos agents peuvent réviser. Aucun impact client pendant la validation.
  </Step>

  <Step title="Activer l'envoi auto">
    Une fois les perfs du brouillon solides (90%+ d'approbation agent), activez l'envoi auto pour laisser le workflow répondre directement aux clients.
  </Step>

  <Step title="Surveiller & améliorer">
    Suivez les métriques (taux de résolution, qualité des réponses, satisfaction client). Affinez les instructions selon les données de performance réelles.
  </Step>
</Steps>

<Card title="Créer votre premier workflow" icon="wand-magic-sparkles" href="/workflows/setup">
  Guide étape par étape pour construire et déployer votre workflow
</Card>

## Questions fréquentes

<AccordionGroup>
  <Accordion title="Je peux écrire mes workflows dans n'importe quelle langue ?" icon="language">
    Oui. Écrivez dans la langue avec laquelle vous êtes le plus à l'aise : français, espagnol, allemand, japonais... L'IA comprend les instructions dans toutes les langues, et utiliser une langue non-anglaise n'impacte pas les performances.
  </Accordion>

  <Accordion title="Les workflows gèrent des scénarios complexes multi-étapes ?" icon="diagram-nested">
    Oui. Vous pouvez appeler plusieurs outils en séquence et enchaîner les workflows pour des procédures complexes. Les workflows gèrent aussi bien les FAQs simples que les processus de retour multi-étapes.
  </Accordion>

  <Accordion title="Je peux tester sans impacter mes clients ?" icon="flask">
    Oui. Le mode test lance les workflows sur des vrais tickets ou tickets d'exemple sans envoyer de réponses. Vous voyez ce que l'IA ferait, quels outils elle appelle, et quelle réponse elle génère.
  </Accordion>

  <Accordion title="Que se passe-t-il si plusieurs workflows correspondent au même message ?" icon="diagram-project">
    Quivr sélectionne le workflow le plus approprié pour chaque message. En cas d'ambiguïté, le système escalade vers un agent humain plutôt que d'exécuter le mauvais workflow.

    **Important :** Un seul workflow s'exécute par message, jamais deux simultanément. Par contre, dans une même conversation, différents messages peuvent déclencher différents workflows.

    **Exemple de conversation :**

    * Message 1 : "Où est ma commande ?" → Déclenche le workflow Statut Commande
    * Message 2 : "En fait, je veux la retourner" → Déclenche le workflow Processus Retour

    Chaque message est associé à son workflow le plus pertinent indépendamment.
  </Accordion>

  <Accordion title="Je peux modifier un workflow déjà actif ?" icon="pen">
    Oui. Vous pouvez modifier, mettre en pause ou supprimer des workflows à tout moment. Les changements prennent effet immédiatement pour les nouveaux tickets. Les tickets déjà en cours continuent avec l'ancienne version.
  </Accordion>

  <Accordion title="Comment savoir si mon workflow fonctionne bien ?" icon="chart-line">
    Depuis n'importe quelle page de workflow, cliquez sur **"Analyser les conversations passées"** pour voir chaque exécution en détail. Vous verrez :

    * **Flux de conversation complet** - Chaque étape prise par le workflow
    * **Outils appelés** - Quelles intégrations ont été utilisées et quelles données récupérées
    * **Raisonnement de l'IA** - Comment les décisions ont été prises à chaque étape
    * **Réponse générée** - La sortie finale envoyée ou brouillonnée

    Ça vous permet d'identifier ce qui marche bien et où améliorer vos instructions de workflow.

    **Vue Analyser les conversations :**

    <img src="https://mintcdn.com/quivr/h2MKC8vnhvomNcDd/images/analyze-conversations.png?fit=max&auto=format&n=h2MKC8vnhvomNcDd&q=85&s=0bbf8cb5d7176c5c7d8cd4ab21e6cbb0" alt="Modal montrant la liste des exécutions passées de workflows" width="2378" height="1772" data-path="images/analyze-conversations.png" />

    **Vue détaillée d'une conversation :**

    <img src="https://mintcdn.com/quivr/h2MKC8vnhvomNcDd/images/conversation-detail.png?fit=max&auto=format&n=h2MKC8vnhvomNcDd&q=85&s=e6e10b790d4d08f3b5cc79b1b2367173" alt="Vue détaillée du ticket montrant le flux complet et le raisonnement IA" width="2378" height="1772" data-path="images/conversation-detail.png" />
  </Accordion>
</AccordionGroup>
