> ## 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.

# Relances

> Le système de relance (follow-up) de Fanify : reprise de contact automatique quand un utilisateur ne répond plus. Paliers, planning, timing intelligent, cycle de vie et configuration.

Une **relance** (follow-up) est un message envoyé automatiquement au nom du créateur lorsqu'un utilisateur **cesse de répondre**. Son but est de raviver la conversation au bon moment, comme le ferait un chatteur humain qui relance un fan silencieux.

Une relance n'est pas un message à part : elle **déclenche un [job AutoReply](/fr/advanced/jobs/autoreply)** particulier qui génère et envoie un message texte au nom du créateur. La relance fournit le *quand* (le moment) et le *quoi* (une instruction optionnelle) ; AutoReply se charge de la rédaction et de l'envoi humanisé.

<Note>
  Cette page décrit les **relances automatiques** pilotées par les paliers. Les relances peuvent aussi être **planifiées par une stratégie** pour des scénarios sur mesure : voir l'action [Planifier une relance](/fr/advanced/strategy/actions/schedule_follow_up).
</Note>

## Principe : les paliers

Les relances automatiques fonctionnent par **paliers** (étapes). Un palier décrit **une** relance : son délai et, éventuellement, une instruction pour l'IA.

Les paliers forment une **séquence ordonnée**. Chaque utilisateur avance dans cette séquence grâce à un **index de palier** :

| Index | Relance                       |
| ----- | ----------------------------- |
| **0** | 1ᵉ relance (premier palier)   |
| **1** | 2ᵉ relance (deuxième palier)  |
| **2** | 3ᵉ relance (troisième palier) |
| ...   | ...                           |

L'index progresse à chaque relance envoyée. **Après le dernier palier, plus aucune relance n'est planifiée** : la conversation reste silencieuse jusqu'à ce que l'utilisateur réagisse.

<Note>
  Quand l'utilisateur **répond**, l'index est **remis à zéro** et la relance en attente est annulée. La prochaine fois qu'il deviendra silencieux, la séquence recommencera depuis le premier palier.
</Note>

### Exemple

```
[Fan 17h00]      oui pourquoi pas
[Créateur 17h02] ça te dirait que je te montre ?
        ↓ 10 min sans réponse (palier 0)
[Créateur 17h12] t'es encore là ? 👀
        ↓ heure de contact optimale (palier 1)
[Créateur 15h00 le lendemain] coucou, ça va ?
        ↓ plus de palier → silence
```

## Configuration d'un palier

Chaque palier se configure avec les propriétés suivantes.

<AccordionGroup>
  <Accordion title="Délai" icon="clock">
    Temps d'attente avant l'envoi de cette relance, en minutes, **décompté depuis le dernier message du créateur**. C'est le mode de planification par défaut d'un palier.
  </Accordion>

  <Accordion title="Timing intelligent" icon="brain">
    Au lieu d'un délai fixe, la relance est envoyée à l'**heure de contact optimale** de l'utilisateur — le moment où il est historiquement le plus actif. Le **Délai** devient alors un **écart minimum** : la relance ne partira jamais avant ce délai, même si l'heure optimale tombe plus tôt.

    L'heure optimale est calculée à partir de l'historique d'activité de l'utilisateur. **Sans données suffisantes**, le système retombe sur le délai fixe configuré.
  </Accordion>

  <Accordion title="Instruction IA" icon="message-pen">
    Instruction optionnelle injectée dans la génération pour guider le **contenu** de la relance (ce que le créateur doit dire, sur quel ton). Si elle est laissée vide, l'IA détecte naturellement qu'il s'agit d'une relance et improvise.

    L'instruction supporte les **jetons** dynamiques (par exemple `{{USERINFO_Firstname}}`, `{{USER_Name}}`, `{{CREATORPERSONA_CustomperType}}`, `{{ENVIRONMENT_NowLocal}}`), résolus juste avant l'envoi.
  </Accordion>

  <Accordion title="Utiliser le ThinkingAgent" icon="route">
    Détermine comment l'instruction est traitée par le moteur de réponse :

    * **Désactivé** *(par défaut)* : l'instruction est transmise **directement** à l'agent de rédaction. Plus **fidèle** à l'instruction et plus **économique** en tokens.
    * **Activé** : l'instruction passe par le **pipeline complet** (réflexion stratégique via le [ThinkingAgent](/fr/advanced/agents/thinking-agent) en moteur V1, ou le [ReplyAgent](/fr/advanced/agents/reply-agent) en moteur V2). Plus contextuel, mais plus coûteux.
  </Accordion>
</AccordionGroup>

### Paliers par défaut

À défaut de configuration, deux paliers sont prévus :

| Palier | Délai                   | Timing intelligent | Effet                                                                             |
| ------ | ----------------------- | ------------------ | --------------------------------------------------------------------------------- |
| **0**  | 10 min                  | Non                | Relance courte pour vérifier que l'utilisateur est toujours là.                   |
| **1**  | 120 min (écart minimum) | Oui                | Reprise à l'heure de contact optimale, sans tenir compte des messages précédents. |

<Tip>
  Adaptez le ton de l'instruction à la position du palier : léger sur le premier, plus engageant ensuite, patient sur les derniers. Évitez d'enchaîner trop de paliers à délai court — un utilisateur qui reçoit une rafale de messages risque de se braquer.
</Tip>

## Où configurer les relances

Les paramètres de relance existent à deux niveaux, avec une **priorité** claire.

| Niveau                    | Emplacement                                                    | Portée                                                                |
| ------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------- |
| **Global**                | **Admin** > **Chatting Auto** > **Relances**                   | S'applique à tous les utilisateurs par défaut.                        |
| **Surcharge utilisateur** | Page de l'utilisateur > onglet **Relances** (`Relances auto.`) | Remplace **entièrement** les paramètres globaux pour cet utilisateur. |

La surcharge utilisateur, lorsqu'elle est définie, **prend le dessus** sur les paramètres globaux. Le bouton **Supprimer la surcharge** rétablit l'usage des paramètres globaux.

L'interrupteur **Activer les relances** pilote le système :

<Warning>
  Désactiver les relances empêche uniquement la **création** de nouvelles relances automatiques. Une relance **déjà planifiée** s'exécutera quand même, sauf si elle est annulée explicitement.
</Warning>

## Cycle de vie d'une relance

```mermaid theme={null}
flowchart TD
    A[Le créateur envoie un message<br/>IA ou manuel] --> B[Planification de la relance<br/>selon le palier courant]
    B --> C{Avant l'échéance}
    C -- "L'utilisateur répond" --> X[Annulation<br/>+ remise à zéro de l'index]
    C -- "Échéance atteinte" --> D[Vérifications pré-envoi]
    D -- "IA / AutoReply désactivés" --> X2[Annulation]
    D -- "Pause active" --> P[Report ou annulation]
    D -- "Tout est OK" --> E[Job AutoReply en mode relance]
    E --> F[Message envoyé]
    F --> G[Palier suivant planifié]
    G --> C
```

<Steps>
  <Step title="Planification">
    Dès que le créateur envoie un message (généré par l'IA **ou** envoyé manuellement par un opérateur), le système planifie la **prochaine relance** selon le palier courant de l'utilisateur. Toute relance automatique précédemment en attente est remplacée.
  </Step>

  <Step title="Attente de l'échéance">
    La relance reste **en attente** jusqu'à sa date d'exécution. Un service de surveillance vérifie régulièrement (toutes les 30 secondes) les relances arrivées à échéance.
  </Step>

  <Step title="Vérifications avant envoi">
    Au moment de partir, la relance est validée :

    * **IA ou AutoReply désactivés** (globalement ou pour l'utilisateur) → la relance est **annulée**.
    * **L'utilisateur a répondu entre-temps** → la relance est **annulée** et l'index remis à zéro.
    * **Une [pause](/fr/advanced/jobs/autoreply#fin-et-pause-de-conversation) est active** (la conversation est suspendue jusqu'à une date future) → la relance automatique est **reportée** à la fin de la pause.
    * **Un job AutoReply tourne déjà** pour cet utilisateur → la relance est **reportée** de quelques instants.
  </Step>

  <Step title="Exécution">
    Un [job AutoReply](/fr/advanced/jobs/autoreply) est lancé en **mode relance** :

    * L'intention est forcée sur **texte** (une relance n'envoie ni média ni contenu payant).
    * L'**instruction** du palier est injectée dans la génération.
    * La vérification « le dernier message vient déjà du créateur » est **ignorée** (c'est normal pour une relance).

    Le message est ensuite rédigé et envoyé selon le [workflow AutoReply standard](/fr/advanced/jobs/autoreply#workflow) (fenêtre de contrôle opérateur, envoi humanisé, etc.).
  </Step>

  <Step title="Passage au palier suivant">
    Après l'envoi réussi, l'**index est incrémenté** et la **relance du palier suivant** est planifiée automatiquement. S'il n'y a plus de palier, aucune nouvelle relance n'est créée.
  </Step>
</Steps>

## Interaction avec les pauses de conversation

Une conversation peut être **suspendue** jusqu'à une date de reprise — par exemple lorsque l'IA décide de [laisser l'utilisateur sur « vu »](/fr/advanced/jobs/autoreply#fin-et-pause-de-conversation) ou de mettre la conversation en pause, ou via une action de stratégie.

Tant que cette pause est active, **aucune réponse automatique** ne part. Les relances automatiques tiennent compte de cette pause : au lieu d'être annulées, elles sont **reportées** à la fin de la pause. Ainsi, si un opérateur repousse manuellement la date de reprise, la relance s'adapte automatiquement à la nouvelle échéance.

<Note>
  C'est ce mécanisme qui permet à une conversation « endormie » de **repartir** d'elle-même : à la fin de la pause, une relance ravive l'échange au moment opportun.
</Note>

## Suivi et contrôle par l'opérateur

Depuis la page de l'utilisateur, onglet **Relances**, un opérateur peut :

* Consulter la **relance en attente** et le délai restant avant son envoi.
* **Annuler** la relance en attente (**Annuler cette relance**).
* **Programmer une relance** manuellement (**Programmer une relance**) : date et heure, instruction, et options de comportement.

Des actions **en masse** sont également disponibles depuis la liste de conversations pour un lot d'utilisateurs : activer ou désactiver les relances, annuler les relances en cours, réinitialiser l'index de palier, ou programmer une relance commune.

<Note>
  Le **Mode relance** disponible lors d'un lancement manuel d'AutoReply produit le même comportement qu'une relance (intention texte, instruction injectée), de façon ponctuelle et immédiate.
</Note>

## Bon à savoir

* **Une seule relance active par utilisateur** : il ne peut exister qu'une relance en attente à la fois pour un même utilisateur. Une nouvelle planification remplace la précédente.
* **Réponse de l'utilisateur = remise à zéro** : tout message de l'utilisateur annule la relance automatique en attente et réinitialise la séquence au premier palier.
* **Fin de séquence** : une fois le dernier palier atteint, le système n'insiste plus. La séquence ne reprendra qu'après un nouveau message du créateur (qui replanifie depuis le palier courant) ou un message de l'utilisateur (qui remet l'index à zéro).
* **Arrêt définitif** : pour qu'un utilisateur ne reçoive **plus aucune** réponse ni relance automatique, désactivez `Enable AutoReply` sur sa fiche.
* **Relances et stratégie** : une stratégie peut créer des relances totalement personnalisées (survie aux messages de l'utilisateur, planning sur mesure) et conditionner ses règles sur l'état des relances. Voir l'action [Planifier une relance](/fr/advanced/strategy/actions/schedule_follow_up).

## Voir aussi

* [Planifier une relance](/fr/advanced/strategy/actions/schedule_follow_up) — L'action de stratégie pour des relances sur mesure.
* [Réponses automatiques](/fr/advanced/jobs/autoreply) — Le job déclenché par chaque relance.
* [Agent de réflexion](/fr/advanced/agents/thinking-agent#décisions-de-fin-et-de-pause) — Les décisions de fin et de pause qui programment une reprise.
