Connexion des canaux
ContentFlows publie automatiquement sur vos canaux sociaux une fois qu’ils sont connectés. Chaque canal nécessite deux valeurs : un jeton d’accès (qui autorise) et un ID (le compte / la page / le canal de publication). Les deux sont saisis dans votre tableau de bord et stockés chiffrés dans AWS Secrets Manager, isolés à votre compte.
Où connecter
Dans votre tableau de bord administrateur, allez dans l’onglet Integrations. Vous verrez une carte pour chaque canal pris en charge avec des champs de saisie pour chaque valeur requise par la plateforme. Renseignez-les puis cliquez sur Save.
Configuration unique par canal
Il suffit de le faire une fois par plateforme. ContentFlows utilise les valeurs enregistrées pour toutes les publications futures jusqu’à l’expiration d’un jeton ou son remplacement.
ContentFlows publie via l’API LinkedIn UGC Posts. Vous avez besoin de deux champs :
- Access token (
LINKEDIN_ACCESS_TOKEN) — jeton OAuth 2.0 avec le scopew_member_social. - Member URN (
LINKEDIN_AUTHOR_ID) — identifie le profil ou la Page d’entreprise sous lequel les publications apparaîtront ; commence parurn:li:person:ouurn:li:organization:.
Guide étape par étape : obtenir un jeton LinkedIn et une URN →
Expiration du jeton
Les jetons d’accès LinkedIn expirent tous les 60 days. L’URN est permanente — vous n’avez qu’à régénérer le jeton.
ContentFlows publie sur une Facebook Page (et non sur un profil personnel). Vous avez besoin de deux champs :
- Page access token (
FB_PAGE_ACCESS_TOKEN) — doit inclure le scopepages_manage_posts(celui qui est le plus souvent oublié). Lorsqu’il est dérivé d’un jeton utilisateur longue durée, les jetons de Page n’expirent jamais. - Page ID (
FB_PAGE_ID) — l’identifiant numérique de la Page (par ex.123456789012345), et NON le nom d’utilisateur lisible.
Vous devez être administrateur de la Page.
Guide étape par étape : obtenir le jeton et l’ID de la Page Facebook →
La publication sur Instagram nécessite un compte professionnel (Business ou Creator) lié à une Page Facebook. Les comptes Instagram personnels ne peuvent pas être utilisés pour la publication via API.
- Access token (
IG_ACCESS_TOKEN) — facultatif. Laissez vide pour réutiliser le jeton de la Page Facebook déjà configuré. - Business Account ID (
IG_BUSINESS_ACCOUNT_ID) — ID numérique du compte Instagram Business lié à votre Page Facebook (par ex.17841412345678901).
Guide étape par étape : obtenir l’ID du compte Instagram Business →
Passer à un compte professionnel
Dans l’application Instagram : allez dans Settings → Account → Switch to Professional Account. Choisissez Business ou Creator. Puis liez-le à votre Page Facebook via Settings → Account → Linked Accounts.
YouTube
ContentFlows utilise l’API YouTube Data v3 pour générer des métadonnées (titres, descriptions, balises) pour votre calendrier de contenu.
- API key (
YOUTUBE_API_KEY) — depuis Google Cloud Console avec l’API YouTube Data v3 activée. - Channel ID (
YOUTUBE_CHANNEL_ID) — l’identifiant unique de votre chaîne (commence parUC), trouvé dans YouTube Studio → Settings → Channel → Advanced settings.
Guide étape par étape : obtenir la clé API YouTube et l’ID de chaîne →
Email newsletter
ContentFlows envoie les newsletters via Amazon SES à votre liste d’abonnés propre au tenant. Aucun jeton n’est requis — la configuration se fait lors du provisionnement de votre compte.
Gestion des abonnés
L’onglet Newsletter de votre tableau de bord propose un panneau complet des abonnés avec :
- Stats header — compteurs actifs / en attente / désabonnés / rebondis / en plainte
- Import — import CSV, clé API Mailchimp ou clé API ConvertKit
- List view — recherche, filtre par statut, suppression par ligne, suppression en masse, export CSV
- Re-subscribe — réactiver un contact désabonné ou rebondi
Votre URL publique d’inscription est https://YOUR-SLUG.contentflows.cc/subscribe, où YOUR-SLUG est l’identifiant compatible DNS défini sur votre tenant (par défaut : une version nettoyée du nom de votre entreprise). Les inscriptions utilisent le double opt-in (e-mail de confirmation) ; les importations CSV / Mailchimp / ConvertKit contournent la vérification car vous attestez du consentement lors de l’envoi.
Configuration DNS unique (opérateur uniquement)
Pour que la page d’inscription du sous-domaine fonctionne pour n’importe quel tenant, l’opérateur de la plateforme doit configurer une seule fois le DNS wildcard : *.contentflows.cc comme CNAME pointant vers l’origine qui sert le site racine contentflows.cc. Tant que ce n’est pas en place, l’URL de secours https://contentflows.cc/subscribe?tenant=YOUR-SLUG fonctionne partout.
Les liens de désinscription sont signés avec HMAC-SHA256 et intégrés dans chaque newsletter envoyée (l’en-tête RFC-8058 List-Unsubscribe-Post est inclus pour la conformité au clic unique Gmail / Yahoo).
Domaine d’envoi (DKIM + SPF + DMARC)
Par défaut, les e-mails sont envoyés depuis noreply@contentflows.cc. Pour une bien meilleure délivrabilité, authentifiez votre propre domaine afin que les newsletters proviennent de newsletter@your-business.com.
Ouvrez l’onglet Brand, trouvez la carte Sending domain, saisissez votre domaine, copiez les 5 enregistrements DNS affichés, collez-les chez votre fournisseur DNS, puis cliquez sur Verify. La carte interroge SES pendant 10 minutes jusqu’à validation de DKIM + DMARC.
Quels sont les 5 enregistrements
- 3 × CNAME pour la signature DKIM (jetons générés par SES)
- 1 × TXT à la racine du domaine pour SPF (
v=spf1 include:amazonses.com -all) - 1 × TXT à
_dmarc.your-domain.compour DMARC (v=DMARC1; p=none; rua=mailto:dmarc@your-domain.com)
Comment les identifiants sont stockés
Tous les champs de toutes les plateformes pour votre tenant sont enregistrés sous forme d’un seul blob JSON chiffré dans AWS Secrets Manager à contentflows/tenants/YOUR_TENANT_ID/social-tokens. Les secrets ne sont jamais consignés, ne sont plus jamais affichés après enregistrement, et sont isolés à votre compte. ContentFlows ne stocke jamais votre mot de passe de réseau social.
Remplacer une valeur
Pour mettre à jour un jeton ou un ID (par ex. après expiration du jeton), allez dans l’onglet Integrations, collez la ou les nouvelles valeurs dans les champs concernés, puis cliquez sur Save. Seuls les champs modifiés sont mis à jour — le reste du blob reste intact.
Ce qui se passe après la connexion
Une fois un canal connecté, ContentFlows publie automatiquement le contenu approuvé selon votre calendrier. Vérifiez et validez chaque élément depuis l’onglet Content Queue avant sa mise en ligne.
Canaux pris en charge
- LinkedIn — publications personnelles ou de page d’entreprise (UGC Posts API)
- Facebook — publications de Page (Graph API)
- Instagram — publications du fil sur comptes professionnels (Graph API)
- YouTube — recherches de métadonnées (Data API v3)
- Email newsletter — via Amazon SES (configuré automatiquement)