Galet
Utiliser

Apps et canaux

Créer une app, la décrire, et choisir par où arrivent ses retours.

Où : Apps dans la navigation. La liste montre vos apps, la page détail les configure.

Une app est un produit dont vous recevez des retours. C'est ici que vous décrivez ce qu'il fait, et que vous branchez ses canaux. Pour la vue d'ensemble des niveaux, voir Organisation, apps et canaux.

La liste

Elle affiche le catalogue de vos apps : nom, type (web, mobile, desktop, API ou IoT) et accès (adresse ou lien de store). Elle n'expose pas les chiffres internes.

La page d'une app

Quatre onglets.

OngletCe qu'on y règle
GénéralNom, description, type, adresses autorisées, comptes VIP
FonctionnalitésCarte des fonctionnalités, dépôt GitHub
TrackerRoutage des tickets propre à l'app
CanauxLes points d'entrée des retours

Général

RéglageDescription
DescriptionCe que fait l'app. Galet AI s'en sert pour comprendre le contexte
URL autoriséesLes adresses d'où le widget et le lien public ont le droit d'envoyer des retours
Comptes VIPDes e-mails ou des domaines à traiter en priorité lors de la qualification

Dépôt GitHub

Liez un dépôt pour que Galet AI propose une première carte des fonctionnalités à partir du code.

RéglageDescription
DépôtPropriétaire et nom du dépôt, à choisir parmi ceux auxquels vous avez accès
AnalyseGénère l'arbre initial à partir du code

Prérequis : l'intégration GitHub est connectée dans Paramètres → Intégrations, et un modèle d'IA est configuré côté serveur.

Les canaux

Un canal est un point d'entrée. Chaque canal appartient à une app : c'est ce qui indique de quel produit parle un message. L'onglet Canaux les liste. Activez celui qui vous intéresse, puis Configurer.

CanalPourPlan minimum
WidgetLes retours depuis votre app, avec contexte techniqueGratuit
APIVos propres systèmesGratuit
Lien publicUn formulaire sans installationGratuit
SlackLes retours internes et clients B2BÉquipe
E-mailUn transfert ou un domaine dédiéGratuit
Microsoft TeamsÉquipes MicrosoftGratuit

Slack

ParamètreValeur
Écouter les canauxActif ou non. Une liste de canaux (#support) ou * pour tous les canaux publics
Mentions @botActif ou non. Galet réagit quand on le mentionne, dans tout canal où il est invité
Messages directsLes conversations privées avec Galet sont ingérées comme des conversations

Tout le comportement de Slack est décrit dans Slack.

API

Pour envoyer des retours depuis vos serveurs, avec POST /v1/reports et la clé du canal API (distincte de celle du widget). Appelez cette route depuis un serveur, jamais depuis un navigateur : quiconque connaît la clé peut envoyer des retours sur ce canal. Les URL autorisées de l'app ne s'appliquent pas à ce canal.

Avec qualify: true, Galet AI pose d'abord les questions qui manquent, comme dans le widget. Vous affichez chaque question à la personne et renvoyez sa réponse avec POST /v1/reports/{id}/answers. Le retour est enregistré quand il est assez précis.

Les champs, la réponse et les codes d'erreur sont dans la référence de l'API, générée depuis le code.

Lien public et iframe

Un formulaire hébergé par Galet sur /f/:publicKey. Aucune installation : partagez le lien, ou intégrez-le dans une iframe. Après l'envoi, Galet AI pose les questions qui manquent ; la personne peut aussi envoyer son retour tel quel.

L'iframe tourne sur le domaine de Galet. Elle ne lit ni la page, ni la console, ni le réseau, ni les cookies de l'app qui l'héberge. Pour capturer ce contexte, utilisez le widget, qui s'exécute dans la page.

SourceDonnées reçues
Sans script côté pageNavigateur, origine de la page parente, champs du formulaire
Message galet:contexturl, user et metadata, envoyés par la page hôte avec postMessage, de préférence en réponse à galet:ready
Après envoiLa page hôte reçoit galet:submitted

Le formulaire envoie galet:ready à la page hôte dès qu'il écoute. Un galet:context envoyé plus tôt, par exemple sur l'événement load de l'iframe, peut se perdre. Répondez donc à galet:ready :

<iframe id="galet" src="https://app.galet.dev/f/VOTRE_CLE"></iframe>
<script>
  const frame = document.getElementById("galet")
  window.addEventListener("message", (event) => {
    if (event.source !== frame.contentWindow) return
    if (event.data?.type === "galet:ready") {
      frame.contentWindow.postMessage(
        { type: "galet:context", url: location.href, user: { name: "Léa", email: "lea@acme.com" } },
        "*"
      )
    }
    if (event.data?.type === "galet:submitted") console.log(event.data.ticketId)
  })
</script>

Avec l'e-mail transmis dans user, le formulaire ne le redemande pas après l'envoi.

E-mail

ModeFonctionnement
TransfertVous redirigez une boîte existante vers l'adresse d'ingestion de Galet
DomaineGalet reçoit directement le courrier d'un domaine dédié (enregistrements MX et SPF)

Pour aller plus loin

On this page