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

# Extraire info → Variable

> Action de stratégie qui extrait une information précise de la conversation via l'IA et la stocke dans une variable utilisateur. Idéal pour capturer une date, un prénom, une préférence ou tout détail réutilisable ensuite.

L'action **"Extraire info → Variable"** s'utilise dans une règle de [stratégie](/fr/advanced/jobs/autoreply#workflow) pour **lire la conversation avec l'IA, en extraire une information précise, et la ranger dans une [variable utilisateur](/fr/advanced/strategy/actions/create_user_var)** quand la règle matche. Vous décrivez en langage naturel ce qu'il faut chercher et comment le formater ; l'action s'occupe du reste.

La variable ainsi remplie devient réutilisable partout : dans les [jetons dynamiques](/fr/advanced/strategy/tokens), dans les conditions sur [variables utilisateur](/fr/advanced/strategy/conditions/user-variables/uservar_equals), ou comme date d'une [relance planifiée](/fr/advanced/strategy/actions/schedule_follow_up).

## Cas d'usage typiques

* **Capturer une date annoncée** : l'utilisateur dit « je reçois ma paye jeudi » → extraire la date et la stocker pour planifier une relance dessus.
* **Mémoriser une préférence** : extraire la couleur, le prénom, la ville ou le centre d'intérêt mentionné par l'utilisateur.
* **Qualifier un profil** : extraire un métier, une tranche d'âge ou une intention exprimée dans la discussion.
* **Alimenter la personnalisation** : ranger un détail dans une variable puis le réinjecter dans les messages via un jeton.

## Ce qu'il faut renseigner

### Nom de la variable

Le champ **"Nom de la variable"** *(obligatoire)* indique la variable utilisateur où sera écrit le résultat. Si la variable n'existe pas encore, elle est créée ; si elle existe, sa valeur est **remplacée** par l'information extraite.

### Prompt d'extraction

Le champ **"Prompt d'extraction"** *(obligatoire)* décrit en langage naturel **quelle information chercher** et **comment formater le résultat**. Soyez précis sur le format attendu : l'IA suit vos consignes à la lettre.

> Exemple : « Extraire la couleur préférée de l'utilisateur. Retourner uniquement le nom de la couleur en minuscules. »

Ce champ supporte les [jetons dynamiques](/fr/advanced/strategy/tokens) (par exemple `{{USERINFO_Firstname}}`, `{{USER_Name}}`), résolus avant l'analyse.

<Tip>
  Demandez un format simple et normalisé (une date au format ISO, un mot en minuscules, un nombre seul). Plus le format de sortie est précis, plus la variable est facile à réutiliser dans une condition ou un jeton.
</Tip>

## Options avancées

| Option                                | Valeur par défaut | Effet                                                                                                                                                                                                                       |
| ------------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Autoriser accès mémoire**           | Activé            | L'IA peut consulter la [mémoire long-terme](/fr/basics/configuration/memories) de l'utilisateur (via l'[agent Search RAG](/fr/advanced/agents/search-rag-agent)) si l'information n'apparaît pas dans les messages récents. |
| **Rechercher dans messages systèmes** | Désactivé         | Inclut les messages système dans l'analyse en plus des échanges entre l'utilisateur et le créateur.                                                                                                                         |
| **Nombre de messages à analyser**     | Pas de limite     | Limite l'analyse aux **N messages les plus récents**. Laissé vide, toute la conversation disponible est analysée.                                                                                                           |

<Note>
  La limite de messages s'applique **après** le filtrage des messages système : si **"Rechercher dans messages systèmes"** est désactivé, les N messages retenus sont les plus récents parmi les seuls échanges utilisateur / créateur.
</Note>

## Comportement à l'exécution

<Steps>
  <Step title="Vérification des champs">
    Si le **nom de la variable** ou le **prompt d'extraction** est vide, l'action ne fait rien et la stratégie continue avec les actions suivantes.
  </Step>

  <Step title="Analyse par l'IA">
    L'IA lit la conversation (dans les limites configurées) et, si l'accès mémoire est autorisé, peut interroger la mémoire long-terme pour retrouver un détail plus ancien.
  </Step>

  <Step title="Écriture de la variable">
    Si une information est trouvée, elle est stockée (sous forme de texte) dans la variable. Sinon, la variable **n'est pas modifiée**.
  </Step>
</Steps>

L'IA a pour consigne de **ne jamais inventer** : si l'information demandée n'est pas présente, elle ne renvoie rien plutôt que de deviner.

<Warning>
  Quand aucune information n'est trouvée, la variable existante **reste inchangée** (elle n'est ni vidée ni remise à zéro). Si vous avez besoin de repartir d'un état propre, videz la variable au préalable avec l'action [Supprimer une variable](/fr/advanced/strategy/actions/drop_user_var).
</Warning>

## Cas limites

* **Champ obligatoire manquant** : sans nom de variable ou sans prompt, l'action est ignorée et la stratégie poursuit son cours. L'éditeur affiche un avertissement sur la carte d'action à l'import.
* **Analyse impossible ou information absente** : la stratégie **continue** normalement et la variable reste inchangée. Aucune erreur n'interrompt le job.
* **Résultat toujours textuel** : la valeur extraite est stockée comme texte. Pour l'exploiter comme date ou nombre, demandez explicitement le format voulu dans le prompt.
* **Écrasement** : chaque exécution réussie remplace la valeur précédente de la variable.

## Voir aussi

* [Créer une variable](/fr/advanced/strategy/actions/create_user_var) — Définir manuellement une variable utilisateur.
* [Supprimer une variable](/fr/advanced/strategy/actions/drop_user_var) — Vider une variable avant une nouvelle extraction.
* [Jetons dynamiques](/fr/advanced/strategy/tokens) — Réutiliser la variable extraite dans vos messages et instructions.
* [Condition sur variable utilisateur](/fr/advanced/strategy/conditions/user-variables/uservar_equals) — Déclencher une règle selon la valeur extraite.
* [Planifier une relance](/fr/advanced/strategy/actions/schedule_follow_up) — Utiliser une date extraite comme échéance de relance.
