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

# Intégration : Pushover

> Connectez Pushover à Bookivox pour que vos agents envoient une notification push sur votre compte pendant l'appel.

## À quoi ça sert

L'intégration **Pushover** permet à vos agents d'**envoyer une notification push**
sur votre compte, pendant l'appel. Par exemple : prévenir l'équipe qu'un client
demande un rappel, ou alerter un responsable qu'une demande urgente vient d'être
prise.

Comme pour les autres intégrations, vous branchez **votre propre compte** :
Bookivox ne fournit aucun identifiant. Vous créez une **application** dans
Pushover pour obtenir son jeton, puis vous copiez votre **clé de destinataire**.

> [!NOTE]
>
> Le **destinataire est figé** dans la connexion : une fois la clé enregistrée,
> l'agent ne peut pas notifier un autre compte. Seul le texte de la notification
> varie d'un appel à l'autre.

## Ce qu'il faut préparer

| Élément | D'où il vient | Format attendu |
| - | - | - |
| **Jeton d'application** | Pushover : **Your Applications**, après création d'une application | 30 caractères alphanumériques |
| **Clé du destinataire** | Page d'accueil de Pushover, ou clé d'un groupe | 30 caractères alphanumériques |
| **Application installée** | Application mobile ou bureau du destinataire | L'application doit être autorisée sur l'appareil |

> [!NOTE]
>
> Le jeton d'application identifie **qui envoie**, la clé du destinataire identifie
> **qui reçoit**. Les deux sont nécessaires : Pushover n'accepte jamais une
> notification sans l'un des deux.

## Connecter Pushover

**1. Créer l'application**

Dans Pushover, ouvrez **Your Applications** et créez une application dédiée à
Bookivox. Copiez son **jeton**.

**2. Copier la clé du destinataire**

Sur la page d'accueil de Pushover, copiez votre **clé utilisateur**. Pour
notifier un groupe, utilisez la clé du groupe.

**3. Saisir les deux valeurs**

Dans **Intégrations → Pushover**, collez le jeton et la clé. Le formulaire
vérifie qu'il s'agit bien de 30 caractères alphanumériques.

**4. Cocher l'action**

Sélectionnez **Envoyer une notification**. Elle devient un **outil
indépendant**.

**5. Vérifier la connexion**

Cliquez sur **Créer les outils**. Bookivox valide le jeton et la clé avec
`POST /1/users/validate.json`, **sans envoyer de notification** : un bandeau
**vert** confirme la création, une erreur est affichée sinon.

**6. Attacher l'outil**

Rattachez l'outil à un nœud agent. Il s'exécute **pendant l'appel**.

## Ce que l'agent peut faire

| Action | Usage | Exemple de demande |
| - | - | - |
| **Envoyer une notification** (`send_notification`) | Envoie une notification push au compte enregistré | « Prévenez l'équipe que je dois être rappelé. » |

L'agent fournit `message`, et s'il le souhaite `title` et `priority`. Le jeton et
la clé du destinataire ne sont **jamais** des paramètres : ils sont injectés par
la credential.

> [!NOTE]
>
> La priorité va de `-2` (silencieuse) à `1` (haute). La priorité **d'urgence 2**
> exige des champs supplémentaires (`retry`, `expire`) et n'est **pas exposée** :
> elle ne peut pas être déclenchée par l'agent.

## Cas d'usage

| Cas d'usage | Ce que fait l'agent | Résultat pour le client |
| - | - | - |
| **Demander un rappel** | L'agent appelle `send_notification` avec le nom et le numéro du client. | L'équipe reçoit la demande de rappel immédiatement sur son téléphone. |
| **Escalader une urgence** | L'agent appelle `send_notification` avec `priority: 1` et un message explicite. | L'alerte passe devant les notifications ordinaires. |
| **Prévenir l'astreinte hors horaires** | L'agent envoie une notification dont le `title` indique l'appel et l'heure. | L'astreinte sait de quoi il s'agit avant d'ouvrir l'application. |
| **Tracer un événement non urgent** | L'agent appelle `send_notification` avec `priority: -2`. | L'information est consignée sans faire sonner les téléphones. |

## Comment ça marche

1. Bookivox crée une **credential** `custom_header` qui ne contient **aucun
   en-tête**, seulement deux champs de corps : `token` et `user`.
2. À chaque appel, ces deux champs **écrasent** les arguments produits par le
   modèle : l'agent ne peut pas viser un autre compte.
3. La requête part vers l'URL fixe `https://api.pushover.net/1/messages.json` en
   `POST`, en JSON, avec un **timeout de 10 000 ms**.
4. Un **outil `http_api`** est créé avec `config.provider = "pushover"` et
   `config.operation = "send_notification"`.
5. Pushover renvoie un statut et un identifiant de requête que l'outil restitue à
   l'agent.

## Rédiger la description de l'outil

La description décide **quand** l'agent envoie la notification. Rédigez-la comme
une consigne :

```
Utiliser cet outil quand le client demande un rappel ou lorsqu'une demande
urgente doit être signalée à l'équipe. Résumer la demande en une phrase
et confirmer au client que l'équipe est prévenue.
```

> [!WARNING]
>
> Une notification est **irréversible** et arrive immédiatement sur l'appareil du
> destinataire. Précisez dans le prompt que l'agent doit **confirmer à voix haute**
> avant d'envoyer.

## Sécurité

| Risque | Ce que fait le preset |
| - | - |
| **Jeton ou clé exposés** | Ils vivent dans une **credential** chiffrée, jamais dans la définition de l'outil ni dans un prompt. Ils ne sont jamais réaffichés. |
| **Mauvais destinataire** | `token` et `user` sont figés dans la credential et **écrasent** toujours les arguments du modèle. |
| **Priorité d'urgence** | La priorité `2` est volontairement absente : l'agent ne peut pas déclencher une alerte persistante. |
| **Mauvais service** | L'URL est figée sur `https://api.pushover.net` : l'outil ne peut pas viser un autre service. |
| **Erreur silencieuse** | La connexion est **testée avant validation** avec `POST /1/users/validate.json`, sans envoyer de notification. |

> [!WARNING]
>
> **Créez une application dédiée à Bookivox** et **supprimez-la** en cas de doute
> depuis Pushover. Une application partagée avec un autre usage ne peut pas être
> supprimée sans interrompre cet autre usage.

## Ce qui est déconseillé

| Usage | Pourquoi |
| - | - |
| **Clé de groupe non maîtrisée** | Une clé de groupe notifie **tous** ses membres : vérifiez qui le compose. |
| **Priorité d'urgence** | Elle n'est pas exposée et exige des champs supplémentaires non fournis. |
| **Messages très longs** | Pushover plafonne le texte à 1 024 caractères ; au-delà, il est tronqué. |
| **Notifications répétées** | Un agent bavard peut saturer le destinataire ; cadrez la description de l'outil. |
| **Tâches planifiées** | Un outil d'agent s'exécute **pendant l'appel**, pas en tâche de fond. |

## Limites et dépannage

| Symptôme | Cause probable | Correction |
| - | - | - |
| Erreur `400` | Jeton, clé de destinataire ou paramètre invalide. | Vérifier les 30 caractères du jeton et de la clé. |
| Erreur `401` | Jeton d'application invalide. | Recopier le jeton depuis **Your Applications**. |
| Erreur `429` | Trop de requêtes. | Espacer les envois ; Pushover applique ses propres quotas. |
| Erreur `5xx` | Incident côté Pushover. | Réessayer plus tard ; contacter Pushover si cela dure. |
| Aucune notification reçue | L'application n'est pas autorisée sur l'appareil, ou la clé ne correspond pas à ce compte. | Vérifier l'application installée et la clé utilisateur. |
| Le test de connexion échoue | Le jeton et la clé n'appartiennent pas au même compte. | Recréer une application et recopier la clé du même compte. |
| L'agent répond « de tête » | L'outil n'est pas attaché à l'agent, ou il est inactif. | L'activer et l'attacher au nœud agent. |

> [card] [Intégrations](https://docs.bookivox.com/integrations/overview.md)
>
> Toutes les intégrations et les catégories d'outils.

> [card] [API HTTP](https://docs.bookivox.com/integrations/http-api.md)
>
> Comprendre les outils HTTP : paramètres, presets, credentials.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.