Cette page t'a-t-elle aidé ?

Cette page t'a-t-elle aidé ?
Référence
Connecter Google, GitHub, LinkedIn à votre workspace. Les intégrations débloquent des tools dans les agents et les routines. Tokens chiffrés côté serveur, révocation à tout moment.
Dernière mise à jour : 23 mai 2026
Cette page s'adresse à l'IT lead qui déploie Gilbert dans une entreprise (équipe commerciale, agence, cabinet, opérations). Vous avez reçu les droits admin OAuth — votre rôle est de connecter les comptes provider qui alimentent les routines et les agents.
Cas typique : une agence immobilière connecte Google Workspace pour qu'une routine quotidienne lise les mails de l'équipe commerciale et prépare le briefing du matin. Optionnellement : GitHub pour lire un repo d'outils internes, LinkedIn pour publier des posts depuis une routine de communication.
Trois intégrations OAuth sont disponibles aujourd'hui. Toutes sont strictement rattachées au compte utilisateur qui a lancé le flow (user-strict) : si Alice et Bob veulent tous deux que Gilbert lise leur Gmail, ils ont chacun leur intégration.
| Intégration | Sert à | Mode | Setup |
|---|---|---|---|
| Google Workspace | Gmail (lecture, recherche, drafts) + Calendar (lecture agenda) | Lecture, drafts uniquement | /console/me/integrations/google |
| GitHub | Lire les repos liés au workspace (code, fichiers, recherche) | Lecture uniquement | /console/me/integrations/github |
| Publier un post UGC en votre nom depuis une routine | Écriture (confirmation requise) | /console/me/integrations/linkedin |
Le flow OAuth Google est lancé depuis votre console personnelle. Les scopes demandés sont gmail.modify (lire + drafter, jamais d'envoi automatique) et calendar.events (lecture agenda).
GitHub est strictement rattaché à votre compte utilisateur. Une fois connecté, vous pouvez lier des repos à n'importe quel workspace dont vous êtes membre — les routines de ce workspace utiliseront votreOAuth pour lire ces repos (sauf si un PAT par-repo est configuré pour les repos d'org).
repo est bien accordé.repo (lecture des repos publics + privés que vous voyez).public_repo est accordé, les repos privés ne seront pas lisibles — reconnectez avec repo complet./console/workspaces/{id} puis section Repos GitHub liés. Deux modes : picker OAuth (liste vos repos accessibles) ou PAT manuel(pour les repos d'une org sans OAuth installé).LinkedIn permet à une routine de publier un post UGC en votre nom. Les scopes demandés : identité (openid profile email, nécessaire pour récupérer l'URN LinkedIn qui sert d'auteur) et w_member_social (créer des posts).
publish_linkedin_post.Le modèle de sécurité est volontairement simple à auditer : une clé par intégration, chiffrement standard, lecture serveur uniquement.
GOOGLE_TOKEN_KEY, LINKEDIN_TOKEN_KEY, GITHUB_TOKEN_KEY. Compromettre une clé n'expose qu'un seul provider.openssl rand -hex 32.gilbert.user_integrations : une row n'est visible que par son propriétaire (user_id = auth.uid()). Le service role bypass uniquement pour les jobs serveur (refresh, exec routine).iv.tag.ciphertext hex, avec une colonne encryption_key_version pour faire tourner les clés sans casser les rows existantes.Chaque intégration porte les champs user_id (le propriétaire OAuth, immuable) et updated_at (dernier consent). Vous savez à tout moment : qui a connecté ce compte Google, à quelle date, avec quels scopes.
La page /console/me/integrations liste les intégrations actives de votre compte. La page d'un workspace, /console/workspaces/{id}/integrations, indique pour chaque provider si une intégration compatible est disponible parmi les membres du workspace.
Les rotations de tokens (refresh) et les révocations sont loggées dans la table gilbert.personal_events : oauth_token_refreshed à chaque refresh réussi, oauth_token_revokeddès qu'un refresh échoue côté provider. Trail conservé même après suppression de l'intégration.
Deux chemins, valables à tout moment :
| Chemin | Effet | Pour qui |
|---|---|---|
Bouton Déconnecter dans /console/me/integrations/{provider} | revoked_at = now(). Tous les tools dépendants retournent une erreur explicite ("intégration révoquée — reconnecte"). | L'utilisateur propriétaire (audit : action loggée dans personal_events). |
| Console provider (Google admin, GitHub settings, LinkedIn permissions) | OAuth app révoquée côté provider. Gilbert détecte la panne au prochain refresh, marque automatiquement revoked_at. | Admin Workspace Google / propriétaire du compte GitHub / utilisateur LinkedIn. Utile si le compte employé a quitté l'entreprise. |
Liens directs vers les consoles provider : myaccount.google.com/permissions, github.com/settings/applications, linkedin.com/psettings/permitted-services.
Dès qu'une intégration est active, les tools correspondants deviennent automatiquement disponibles aux routines et aux agents du workspace — pas de configuration manuelle par tool.
| Intégration | Tools auto-disponibles |
|---|---|
| Google Workspace | gmail_list_recent, gmail_search, gmail_read_message, gmail_create_draft, calendar_list_today, calendar_list_range |
| GitHub (repo lié au workspace) | repo_list_files (arbre via git/trees recursive), repo_read_file (UTF-8, max 100 KB), repo_search (Code Search API, token requis) |
publish_linkedin_post (UGC, confirmation requise) |
Pour la liste exhaustive des tools (avec arguments et exemples), voir Console · Routines et Console · Agents.
/console/me/integrations/{provider} avec consent forcé. Le précédent revoked_at reste loggé dans personal_eventspour l'audit.gmail.modifyn'est pas dans la liste, reconnectez. Sinon, c'est que le compte connecté n'a effectivement aucun mail récent matchant les filtres par défaut (boîte de réception, non lus, 30 derniers jours) — testez avec gmail_search sur une requête plus large.repocomplet ; (2) pour un repo d'org avec SSO obligatoire, configurer un PAT par-repo depuis /console/workspaces/{id} > Repos GitHub liés.Plus de cas : Troubleshooting (CSP, JWT rejeté, signature webhook, CORS, rate limit).