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

# OpenClaw

> Pilotez votre espace de travail Social media studio depuis l'agent IA personnel OpenClaw

Social media studio est fourni sous forme de **skill OpenClaw inclus dans le package npm [`@social-media-scheduler/cli`](https://www.npmjs.com/package/@social-media-scheduler/cli)** — installez la CLI une fois et OpenClaw découvre automatiquement la skill.

## Installation

**1. Installer OpenClaw sur votre machine**

Suivez le [guide d'installation d'OpenClaw](https://github.com/openclaw/openclaw). Nécessite Node.js 22+.

```bash theme={null}
npm install -g openclaw@latest
openclaw onboard --install-daemon
```

**2. Installer la CLI Social media studio (qui fournit la skill)**

```bash theme={null}
npm install -g @social-media-scheduler/cli
```

Le package `@social-media-scheduler/cli` inclut :

* Le binaire CLI `so-me`
* `SKILL.md` — le corps de la skill OpenClaw
* `tools.md` — catalogue généré automatiquement des 205 outils
* `examples/` — trois transcriptions commentées (`schedule-post.md`, `reply-dm.md`, `weekly-report.md`)

**3. S'authentifier**

Créez une clé d'API sur [so-me.studio/settings?tab=api](https://so-me.studio/settings?tab=api), puis exportez-la :

```bash theme={null}
export SOME_API_KEY=sk_live_...
```

OpenClaw vérifie automatiquement l'éligibilité. Vérifiez avec :

```bash theme={null}
openclaw skills list --eligible | grep so-me-studio
```

Une fois l'appairage effectué, vous pouvez discuter avec l'agent depuis Discord, Slack, WhatsApp, Telegram ou l'une des [22 messageries prises en charge](#discutez-depuis-toutes-les-messageries).

## Ou via ClawHub

La skill est publiée sur ClawHub. Installez-la avec l'une des commandes de référence :

```bash theme={null}
# OpenClaw-native (recommended)
openclaw skills install yasin047/so-me-studio

# ClawHub package-manager path
npx clawhub@latest install so-me-studio
```

Les deux récupèrent le même bundle de skill. Le mécanisme sous-jacent est `@social-media-scheduler/cli` sur npm — ClawHub indexe le package npm publié.

Page de la skill : [clawhub.ai/yasin047/so-me-studio](https://clawhub.ai/yasin047/so-me-studio)

## Ce que vous pouvez demander

Après l'installation, donnez vos instructions à l'agent en langage courant :

| Prompt | Ce qui se passe |
| - | - |
| *« Quels comptes sociaux ai-je connectés ? »* | Appelle `accounts:list`, résume par plateforme. |
| *« Programme un tweet disant bonjour demain à 17 h. »* | Calcule l'horodatage ISO, appelle `posts:create`. |
| *« Réponds à ce message privé avec mon modèle enregistré "tarifs". »* | Recherche la réponse enregistrée, appelle `inbox:reply`. |
| *« Comment mes publications Twitter ont-elles performé la semaine dernière ? »* | Appelle `analytics:platform` avec `--days 7`. |
| *« Génère une légende de lancement produit pour vendredi sur LinkedIn et programme-la. »* | Appelle `ai:generate-and-schedule` de bout en bout. |

L'agent a accès aux **205 outils MCP de Social media studio** — toutes les actions disponibles dans le tableau de bord le sont ici.

## Discutez depuis toutes les messageries

OpenClaw prend en charge **22 canaux de messagerie** — écrivez à l'agent depuis celui que vous utilisez déjà. Une fois l'appairage effectué, chaque canal utilise le même agent et la même skill `so-me-studio` ; vous obtenez donc les mêmes réponses depuis Discord, WhatsApp ou Slack.

### Prérequis à la première utilisation

Avant de pouvoir ajouter un canal, OpenClaw a besoin d'une configuration initiale dans `~/.openclaw/openclaw.json` :

```bash theme={null}
openclaw onboard          # interactive — recommended
# or:  openclaw setup --non-interactive --accept-risk
```

Si vous sautez cette étape, `openclaw gateway` échoue avec `Missing config. Run openclaw setup or set gateway.mode=local`.

### Le schéma (valable pour tout canal)

```bash theme={null}
# 1. Get a credential from the platform you want to use
# 2. Wire it into OpenClaw
openclaw config set channels.<slug>.<field> <value>
openclaw config set channels.<slug>.enabled true --strict-json

# 3. Register the channel + run the gateway
openclaw channels add --channel <slug>
openclaw gateway
```

La commande `gateway` démarre un daemon local qui écoute chaque canal activé et achemine les messages vers vos skills installées.

### Les 7 principaux — configuration complète

**Discord**

**1. Créer une application Discord**

1. Rendez-vous sur [discord.com/developers/applications](https://discord.com/developers/applications) → **New Application**
2. Onglet **Bot** → **Add Bot** → cliquez sur « Copy » sous TOKEN (gardez-le secret)
3. Onglet **Bot** → **INTENT SETTINGS** → activez **Message Content Intent** ⚠️ obligatoire
4. *(Facultatif, pour une utilisation sur un serveur)* **OAuth2 → URL Generator** → scope `bot`, permissions `Send Messages`, `Read Message History`, `Embed Links`, `Attach Files` → ouvrez l'URL pour inviter le bot sur un serveur. Pour une utilisation en messages privés uniquement, passez cette étape.

**2. Relier le jeton à OpenClaw**

```bash theme={null}
export DISCORD_BOT_TOKEN="your_bot_token_here"

openclaw config set channels.discord.token \
  --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
openclaw config set channels.discord.enabled true --strict-json
```

**3. Enregistrer le canal**

```bash theme={null}
openclaw channels add --channel discord
```

L'assistant demande un identifiant de compte — utilisez votre ID ou nom d'utilisateur Discord.

**4. Lancer la passerelle et faire un test rapide**

```bash theme={null}
openclaw gateway
```

Puis, dans Discord, envoyez un message privé à votre bot :

> « Liste mes comptes sociaux connectés »

Le premier message déclenche un code d'appairage affiché dans le terminal OpenClaw. Approuvez-le avec `openclaw admin pair-code <code>`.

**Slack**

**1. Créer une application Slack**

1. Rendez-vous sur [api.slack.com/apps](https://api.slack.com/apps) → **Create New App** → **From scratch** → choisissez votre espace de travail
2. **OAuth & Permissions** → ajoutez ces **Bot Token Scopes** :
   * `app_mentions:read`, `chat:write`, `channels:read`, `groups:read`, `im:read`
   * `channels:history`, `groups:history`, `im:history`, `mpim:history`
   * `files:read`, `files:write`
3. Onglet **Socket Mode** → activez-le (recommandé — aucune URL de webhook publique nécessaire)
4. **Basic Information** → générez un **App-Level Token** avec le scope `connections:write` (`xapp-…`)
5. **Install to Workspace** → copiez le **Bot User OAuth Token** (`xoxb-…`)

**2. Relier les jetons à OpenClaw**

```bash theme={null}
export SLACK_BOT_TOKEN="xoxb-..."
export SLACK_APP_TOKEN="xapp-..."

openclaw config set channels.slack.botToken "$SLACK_BOT_TOKEN"
openclaw config set channels.slack.appToken "$SLACK_APP_TOKEN"
openclaw config set channels.slack.mode "socket"
openclaw config set channels.slack.enabled true --strict-json
```

**3. Enregistrer le canal**

```bash theme={null}
openclaw channels add --channel slack
```

**4. Lancer la passerelle et faire un test rapide**

```bash theme={null}
openclaw gateway
```

Envoyez un message privé à votre bot Slack :

> « Liste mes comptes sociaux connectés »

Approuvez le code d'appairage (même procédure que pour Discord).

**WhatsApp**

WhatsApp utilise [Baileys](https://github.com/WhiskeySockets/Baileys) pour l'appairage par QR code — vous n'avez pas besoin d'un compte Meta Business API, seulement d'un téléphone avec WhatsApp installé.

**1. Activer le canal**

```bash theme={null}
openclaw config set channels.whatsapp.enabled true --strict-json
```

**2. Enregistrer et scanner le QR code**

```bash theme={null}
openclaw channels add --channel whatsapp
```

OpenClaw affiche un QR code dans le terminal. Sur votre téléphone :

1. Ouvrez WhatsApp → **Paramètres** → **Appareils connectés** → **Connecter un appareil**
2. Scannez le QR code affiché dans votre terminal

Une fois appairé, votre compte devient le pont OpenClaw — les messages que vous vous envoyez ou ceux envoyés à vos contacts seront acheminés vers l'agent.

**3. Lancer la passerelle et faire un test rapide**

```bash theme={null}
openclaw gateway
```

Écrivez-vous à vous-même ou demandez à un ami de vous écrire :

> « Liste mes comptes sociaux connectés »

Le premier message déclenche une invite de code d'appairage dans le terminal. Approuvez-le avec `openclaw admin pair-code <code>`.

> [!TIP]
>
> L'intégration Baileys de WhatsApp fonctionne avec un vrai compte — traitez-la comme une session de téléphone personnelle. Ne partagez pas votre session de terminal et n'exécutez pas plusieurs instances OpenClaw sur le même compte WhatsApp.

**Telegram**

Telegram est le canal **le plus rapide** à configurer — un seul jeton de bot, sans scopes ni intents.

**1. Créer un bot avec @BotFather**

1. Ouvrez Telegram, écrivez à [@BotFather](https://t.me/BotFather)
2. Envoyez `/newbot` et suivez les instructions (nom + nom d'utilisateur)
3. Copiez le jeton du bot envoyé par BotFather (de la forme `1234567890:ABC...`)

**2. Relier le jeton**

```bash theme={null}
export TELEGRAM_BOT_TOKEN="1234567890:ABC..."

openclaw config set channels.telegram.token \
  --ref-provider default --ref-source env --ref-id TELEGRAM_BOT_TOKEN
openclaw config set channels.telegram.enabled true --strict-json
```

**3. Enregistrer le canal**

```bash theme={null}
openclaw channels add --channel telegram
```

**4. Lancer la passerelle et faire un test rapide**

```bash theme={null}
openclaw gateway
```

Retrouvez votre bot dans Telegram (recherche par le nom d'utilisateur choisi), appuyez sur **Start**, puis envoyez :

> « Liste mes comptes sociaux connectés »

Approuvez le code d'appairage dans le terminal.

**iMessage**

La prise en charge d'iMessage nécessite un Mac exécutant [BlueBubbles Server](https://bluebubbles.app) — Apple n'expose pas iMessage sur d'autres plateformes ; le seul moyen est donc de passer par un pont sur un Mac que vous contrôlez.

**1. Installer BlueBubbles Server sur votre Mac**

1. Téléchargez-le depuis [bluebubbles.app](https://bluebubbles.app) et suivez l'installateur
2. Connectez-vous avec l'identifiant Apple associé à iMessage sur ce Mac
3. Dans les paramètres de BlueBubbles Server, copiez l'**URL du serveur** (par ex. `http://192.168.1.20:1234`) et le **mot de passe**

**2. Relier BlueBubbles à OpenClaw**

```bash theme={null}
export BLUEBUBBLES_SERVER_URL="http://192.168.1.20:1234"
export BLUEBUBBLES_PASSWORD="your-bluebubbles-password"

openclaw config set channels.bluebubbles.serverUrl "$BLUEBUBBLES_SERVER_URL"
openclaw config set channels.bluebubbles.password "$BLUEBUBBLES_PASSWORD"
openclaw config set channels.bluebubbles.enabled true --strict-json
```

**3. Enregistrer le canal**

```bash theme={null}
openclaw channels add --channel bluebubbles
```

**4. Lancer la passerelle et faire un test rapide**

```bash theme={null}
openclaw gateway
```

Envoyez un iMessage à vous-même ou à un autre contact :

> « Liste mes comptes sociaux connectés »

Approuvez le code d'appairage dans le terminal.

> [!NOTE]
>
> Le Mac exécutant BlueBubbles doit rester allumé et connecté pour que l'acheminement iMessage fonctionne. L'ancien slug de canal `imessage` est **obsolète** — utilisez `bluebubbles`.

**MS Teams**

Microsoft Teams utilise le [Bot Framework](https://dev.botframework.com/) — enregistrez votre bot une fois, puis connectez Teams comme canal.

**1. Enregistrer une ressource Azure Bot**

1. Dans le [portail Azure](https://portal.azure.com/), créez une nouvelle ressource **Azure Bot**
2. Notez le **Microsoft App ID** et créez un nouveau **secret client** sous **Certificates & secrets**
3. Sous **Channels**, ajoutez **Microsoft Teams** comme canal activé
4. Sous **Configuration**, définissez le point de terminaison de messagerie — pour la passerelle OpenClaw, utilisez l'URL publique de votre instance locale exposée par tunnel (par ex. via [ngrok](https://ngrok.com) : `https://abc.ngrok.io/teams/messages`)

**2. Relier les identifiants à OpenClaw**

```bash theme={null}
export MSTEAMS_APP_ID="<your-app-id>"
export MSTEAMS_APP_PASSWORD="<your-client-secret>"

openclaw config set channels.msteams.appId "$MSTEAMS_APP_ID"
openclaw config set channels.msteams.appPassword "$MSTEAMS_APP_PASSWORD"
openclaw config set channels.msteams.enabled true --strict-json
```

**3. Enregistrer et lancer**

```bash theme={null}
openclaw channels add --channel msteams
openclaw gateway
```

**4. Ajouter le bot à une conversation Teams**

Depuis votre client Teams, recherchez votre bot par son nom et démarrez une conversation individuelle. Envoyez :

> « Liste mes comptes sociaux connectés »

Approuvez le code d'appairage dans le terminal.

> [!TIP]
>
> Microsoft Teams nécessite un point de terminaison HTTPS accessible publiquement. En développement, utilisez ngrok ou Cloudflare Tunnel ; en production, hébergez la passerelle derrière une URL stable.

**Google Chat**

Google Chat utilise un webhook HTTP — pas d'OAuth, juste une URL de webhook.

**1. Créer une application Google Chat**

1. Dans la [Google Cloud Console](https://console.cloud.google.com), activez la **Google Chat API**
2. Allez dans **Google Chat API → Configuration** et définissez :
   * Nom de l'application + avatar
   * **Connection settings** → HTTP endpoint → collez l'URL publique de votre passerelle OpenClaw (par ex. `https://abc.ngrok.io/googlechat/messages`)
   * **Visibility** → rendez-la disponible pour votre organisation ou des utilisateurs précis

**2. Relier le secret du webhook à OpenClaw**

```bash theme={null}
export GOOGLECHAT_WEBHOOK_SECRET="<your-shared-secret>"

openclaw config set channels.googlechat.webhookSecret "$GOOGLECHAT_WEBHOOK_SECRET"
openclaw config set channels.googlechat.enabled true --strict-json
```

**3. Enregistrer et lancer**

```bash theme={null}
openclaw channels add --channel googlechat
openclaw gateway
```

**4. Écrire au bot depuis Google Chat**

Dans Google Chat, retrouvez votre application sous **Applications** et démarrez un message direct :

> « Liste mes comptes sociaux connectés »

Approuvez le code d'appairage dans le terminal.

> [!NOTE]
>
> **Pourquoi pas de WebChat ?** D'anciens tutoriels OpenClaw mentionnaient un canal `webchat` — ce n'est pas un vrai canal destiné aux utilisateurs dans la CLI actuelle (c'est une constante de routage interne). `openclaw channels add --channel webchat` renvoie `unknown channel id: webchat`. Pour un test rapide sans compte à créer, utilisez **Telegram** ci-dessus (\~1 minute via [@BotFather](https://t.me/BotFather)).

### 15 autres canaux (+ 1 à venir)

> **Canaux de longue traîne (indications de configuration en une ligne)**
>
> | Canal | Slug | Configuration |
> | - | - | - |
> | Feishu / Lark | `feishu` | Bot WebSocket — [docs](https://docs.openclaw.ai/channels/feishu) |
> | LINE | `line` | Identifiants du bot Messaging API — [docs](https://docs.openclaw.ai/channels/line) |
> | Matrix | `matrix` | URL du homeserver + jeton d'accès — [docs](https://docs.openclaw.ai/channels/matrix) |
> | Mattermost | `mattermost` | API de bot + WebSocket — [docs](https://docs.openclaw.ai/channels/mattermost) |
> | Nextcloud Talk | `nextcloud-talk` | Nextcloud auto-hébergé — [docs](https://docs.openclaw.ai/channels/nextcloud-talk) |
> | Signal | `signal` | Appairage `signal-cli` — [docs](https://docs.openclaw.ai/channels/signal) |
> | Twitch | `twitch` | Pont IRC — [docs](https://docs.openclaw.ai/channels/twitch) |
> | Zalo | `zalo` | API de bot — [docs](https://docs.openclaw.ai/channels/zalo) |
> | Zalo Personal | `zalouser` | Connexion par QR code — [docs](https://docs.openclaw.ai/channels/zalouser) |
> | Tlon | `tlon` | Compte basé sur Urbit — [docs](https://docs.openclaw.ai/channels/tlon) |
> | QQ | `qqbot` | API Tencent QQ Bot — [docs](https://docs.openclaw.ai/channels/qqbot) |
> | Nostr | `nostr` | Messages privés NIP-04 — [docs](https://docs.openclaw.ai/channels/nostr) |
> | IRC | `irc` | Adresse du serveur + appairage — [docs](https://docs.openclaw.ai/channels/irc) |
> | Synology Chat | `synology-chat` | Webhook NAS — [docs](https://docs.openclaw.ai/channels/synology-chat) |
> | iMessage (ancien) | `imessage` | **Obsolète** — utilisez `bluebubbles` à la place |
> | WeChat | `wechat` | 🚧 **Absent de la CLI actuelle** — listé dans le README d'OpenClaw mais `openclaw channels add --channel wechat` renvoie `Unknown channel`. Suivez la prise en charge sur le [dépôt OpenClaw](https://github.com/openclaw/openclaw). |

### Ce que vous pouvez demander après l'appairage

Les mêmes prompts fonctionnent sur tous les canaux :

* *« Quels comptes sociaux ai-je connectés ? »*
* *« Programme un tweet "lancement aujourd'hui" pour demain à 9 h UTC. »*
* *« Génère une légende de lancement produit pour vendredi sur LinkedIn et programme-la pour 17 h. »*
* *« Comment mes publications Twitter ont-elles performé la semaine dernière ? »*
* *« Réponds à ce message privé avec mon modèle enregistré "tarifs". »*

Voir la liste complète des prompts sous [Ce que vous pouvez demander](#ce-que-vous-pouvez-demander).

### Dépannage général

* **`Missing config` sur `openclaw gateway` :** vous avez sauté le prérequis — exécutez `openclaw onboard` (ou `openclaw setup --non-interactive --accept-risk`) avant d'ajouter un canal.
* **Le bot ne répond pas du tout :** vérifiez que `openclaw gateway` est en cours d'exécution. C'est le daemon qui écoute chaque canal — s'il ne tourne pas, aucun message ne passe.
* **Premier message bloqué :** OpenClaw exige un appairage à la première utilisation. Le premier message privé déclenche un code affiché dans le terminal ; approuvez-le avec `openclaw admin pair-code <code>`.
* **Spécifique à Discord :** le *Message Content Intent* doit être activé dans le portail développeur, sinon le bot ne peut pas lire les messages privés.
* **Spécifique à Slack :** scopes OAuth manquants (`im:history`, `im:read`, `chat:write`) ; réinstallez l'application dans votre espace de travail après avoir ajouté des scopes.
* **Skill non éligible :** `openclaw skills list --eligible` doit inclure `so-me-studio`. Sinon, `SOME_API_KEY` n'est pas visible depuis le shell de la passerelle — exportez-la dans le même terminal que celui où vous lancez `openclaw gateway`.
* **Plusieurs canaux ne fonctionnent pas tous :** chaque canal a son propre indicateur `enabled` ; vérifiez l'état avec `openclaw channels status`.
* **MS Teams ou Google Chat injoignable :** ils nécessitent un point de terminaison HTTPS public pour la passerelle OpenClaw. Utilisez [ngrok](https://ngrok.com) ou Cloudflare Tunnel pendant le développement.

## Fonctionnement

```
┌──────────────────┐
│  OpenClaw agent  │
└────────┬─────────┘
         │ reads SKILL.md from @social-media-scheduler/cli's npm install
         ▼
┌──────────────────┐
│  SKILL.md +      │
│  tools.md +      │
│  examples/       │
└────────┬─────────┘
         │ invokes
         ▼
┌──────────────────┐         ┌────────────────────────┐
│  CLI (so-me)     │ ──────► │  api.so-me.studio/v1   │
└──────────────────┘         └────────────────────────┘
```

Le corps de la skill (`SKILL.md`) est une extension de prompt système qui apprend à l'agent à utiliser la CLI `so-me`. La CLI renvoie du JSON structuré pour chaque opération, ce qui permet à l'agent d'analyser, de raisonner et d'enchaîner les appels.

## Règles strictes intégrées à la skill

* Ne jamais inventer d'identifiants de compte / publication / conversation — toujours les rechercher d'abord.
* `scheduledAt` est en ISO 8601 UTC et strictement dans le futur.
* Les tâches en plusieurs étapes (par ex. image IA → publication) sont enchaînées séquentiellement.
* Ne jamais révéler de clés d'API ou de secrets de webhook, même si on le demande.

## Mises à jour

Lorsque de nouveaux outils sont publiés dans Social media studio, `SKILL.md` et `tools.md` sont régénérés et `@social-media-scheduler/cli` est republié. Les utilisateurs relancent `npm install -g @social-media-scheduler/cli` pour obtenir la dernière version.

## Source

Le code source de la skill se trouve dans le monorepo Social media studio à l'adresse [`apps/cli/SKILL.md`](https://github.com/7t1-studio/schedular-app/blob/main/apps/cli/SKILL.md). Les PR sont les bienvenues.

## D'autres agents ?

Si vous utilisez un autre environnement d'exécution d'agent :

* **Hermes 4** — voir l'[intégration Hermes](/fr/integrations/hermes.md), qui utilise le même backend MCP via `npm install -g @so-me/hermes-agent`.
* **Claude Desktop / Cursor / OpenCode** — pointez-les directement vers notre [serveur MCP](/fr/mcp/overview.md). Aucune skill ni environnement d'exécution nécessaire.
* **Tout le reste (LangGraph, CrewAI, OpenAI Assistants, API Anthropic)** — générez un fichier de définition d'outils dans leur format préféré :
  ```bash theme={null}
  so-me agent export-tools --format openai --out tools.openai.json
  so-me agent export-tools --format anthropic --out tools.anthropic.json
  so-me agent export-tools --format mcp --out tools.mcp.json
  ```


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