OpenClaw · e-mail entrant

Un email arrive. Votre agent OpenClaw se réveille.

Installez une compétence, donnez à l'agent une boîte de réception gratuite et acheminez le courrier entrant vers un hook de passerelle dédié avec une authentification par en-tête uniquement.

Condition préalable : un agent OpenClaw fonctionnel avec un fournisseur de modèles configuré · pas d'interrogation · domaine personnalisé plus tard

OpenClaw · installation actuelle
$openclaw skills install @gwendall/domani
Installé · @gwendall/domani
$openclaw skills verify @gwendall/domani
Vérifié · dernière version
$npx domani-cli login --surface skill
Approuvé · identifiant stocké dans le trousseau du système

Le chemin de l'événement

Le déclenchement du Webhook remplace une boucle d’interrogation de la boîte de réception.

01

L'e-mail arrive

Un message arrive dans agent@domani.run.

02

Domani authentifie

L'Authorization et X-Domani-Signature accompagnent l'événement.

03

Cartes de passerelle

/hooks/domani-email transforme la charge utile en une tâche d'agent isolée.

04

Actes de l'agent

OpenClaw peut fournir la réponse finale au canal configuré.

Sondage

Lectures répétées, demandes inactives et délai défini par l'intervalle d'interrogation.

Webhook

Une pression lorsque le courrier est traité ; réconcilier la boîte de réception stockée uniquement après un temps d'arrêt du récepteur.

1 · Entrée de la passerelle

Mappez la charge utile de Domani dans une exécution d'agent isolée.

Fusionnez ceci dans `~/.openclaw/openclaw.json`; conserver les paramètres existants plus stricts. Mettez deux valeurs aléatoires longues différentes dans l'environnement Gateway ou `~/.openclaw/.env`: `OPENCLAW_GATEWAY_TOKEN` pour l'authentification du plan de contrôle et `OPENCLAW_HOOK_TOKEN` pour cette entrée. Les exécutions de hook d’agent sont isolées par défaut. Redémarrez après validation.

openclaw.json · fusionner, ne pas remplacer
${ gateway: { mode: "local", bind: "loopback", auth: { mode: "token", token: "${OPENCLAW_GATEWAY_TOKEN}" } }, hooks: { enabled: true, token: "${OPENCLAW_HOOK_TOKEN}", path: "/hooks", allowRequestSessionKey: false, allowedAgentIds: ["main"], mappings: [{ match: { path: "domani-email" }, action: "agent", agentId: "main", wakeMode: "now", name: "Domani email", messageTemplate: "New email for {{email}}\nFrom: {{message.from}}\nSubject: {{message.subject}}\n\n{{message.text}}", deliver: true, channel: "last" }] } }

Jeton dédié

Utilisez une valeur aléatoire longue et ne réutilisez pas OPENCLAW_GATEWAY_TOKEN. OpenClaw signale la réutilisation comme un résultat de sécurité critique.

Exposition fiable

Conservez la passerelle en boucle locale uniquement et exposez le hook en HTTPS via un tailnet ou un proxy inverse de confiance. Configurez trustedProxies avec les adresses IP exactes des proxys, le cas échéant.

Agent restreint

Considérez le courrier électronique comme une entrée non fiable. Utilisez une stratégie d’outils restreints et désactivez les contournements de contenu dangereux.

2 · Boîte aux lettres Domani

Transmettez le jeton par variable d'environnement, puis prouvez la distribution.

Utilisez le formulaire HTTPS accessible en externe de votre hook mappé. L'invite masquée conserve la valeur du support en dehors de l'historique du shell et la CLI la lit sans l'imprimer.

Domani CLI · coffre-fort secret
$read -rsp 'OpenClaw hook token: ' OPENCLAW_HOOK_TOKEN; echo
$export OPENCLAW_HOOK_AUTH="Bearer $OPENCLAW_HOOK_TOKEN"
$domani email webhook agent@domani.run --url 'https://YOUR_GATEWAY/hooks/domani-email' --authorization-env OPENCLAW_HOOK_AUTH
Webhook configuré · Authorization
$domani email webhook-test agent@domani.run
Test distribué · HTTP 200
$unset OPENCLAW_HOOK_TOKEN OPENCLAW_HOOK_AUTH

Testez d'abord

Exiger un résultat 2xx avant d'envoyer du courrier en direct.

Vivre seconde

Envoyez un véritable e-mail et confirmez qu'exactement une tâche isolée démarre.

Réconcilier après un temps d'arrêt

Les rappels de boîte aux lettres en direct sont tentés jusqu'à trois fois. Lisez toujours la boîte de réception stockée après un temps d'arrêt plus long de la passerelle, car la distribution du webhook s'effectue au moins une fois et les fenêtres de nouvelle tentative sont limitées.

Dépannage

Quatre limites à vérifier.

401 / 429Vérifiez le jeton de hook dédié. Le taux OpenClaw limite les échecs d'authentification répétés ; attendez Retry-After au lieu de réessayer plus fort.
404Confirmez hooks.enabled, hooks.path et le chemin de mappage. L'URL Domani doit se terminer par /hooks/domani-email pour cet exemple.
Délai d'attenteRetournez l'acceptation avant un long travail d'agent. Le test de Domani comporte un délai d'attente du récepteur de 10 secondes.
L'agent ne s'exécute pasValidez la configuration, redémarrez la passerelle, vérifiez allowedAgentIds, puis inspectez les journaux de la passerelle pour repérer un rejet de mappage ou de stratégie de modèle.

Le test Domani prouve que la Gateway a accepté l'événement HTTP. Il ne mesure pas le temps d’achèvement du modèle en aval.

Premier résultat

Créez la boîte de réception. Testez le crochet. Envoyez l'e-mail.

Conservez la décision de domaine personnalisé après le fonctionnement de la boucle d'événements.

Intégration communautaire à l'aide des interfaces OpenClaw et Domani documentées.