チャネルの接続
ContentFlows は、接続後にあなたのSNSチャネルへ自動で公開します。各チャネルには 2つの値 が必要です。アクセスを許可するアクセストークンと、公開先のアカウント / ページ / チャネルを示すIDです。どちらもダッシュボードに貼り付けられ、AWS Secrets Manager に暗号化されてアカウント単位で分離して保存されます。
接続場所
管理ダッシュボードの Integrations タブに移動してください。対応チャネルごとにカードが表示され、各プラットフォームに必要な値を入力できます。入力後、Save をクリックします。
チャネルごとに一度だけ設定
各プラットフォームにつき一度設定すれば十分です。ContentFlows は、トークンが期限切れになるか置き換えるまで、保存された値を今後の公開に使い続けます。
ContentFlows は LinkedIn UGC Posts API を使って投稿します。必要なのは 2つの項目 です:
- Access token (
LINKEDIN_ACCESS_TOKEN) —w_member_socialスコープを持つOAuth 2.0トークン。 - Member URN (
LINKEDIN_AUTHOR_ID) — 投稿を表示するプロフィールまたはCompany Pageを識別します。urn:li:person:またはurn:li:organization:で始まります。
手順ガイド: LinkedInトークンとURNを取得する →
トークンの期限切れ
LinkedIn のアクセストークンは 60日 ごとに期限切れになります。URN は永続的です。再生成が必要なのはトークンだけです。
ContentFlows は Facebook Page に公開します(個人プロフィールではありません)。必要なのは 2つの項目 です:
- Page access token (
FB_PAGE_ACCESS_TOKEN) —pages_manage_postsスコープを含む必要があります(最も見落とされやすい項目です)。長期有効なユーザートークンから派生させた場合、Pageトークンは 期限切れになりません。 - Page ID (
FB_PAGE_ID) — Pageの数値ID(例:123456789012345)。人が読みやすいユーザー名ではありません。
Page の管理者である必要があります。
手順ガイド: Facebook Page トークンとIDを取得する →
Instagram の公開には、Facebook Page にリンクされた Professionalアカウント(Business または Creator)が必要です。個人のInstagramアカウントはAPI公開に使用できません。
- Access token (
IG_ACCESS_TOKEN) — 任意。空欄のままにすると、すでに設定済みのFacebook Pageトークンが再利用されます。 - Business Account ID (
IG_BUSINESS_ACCOUNT_ID) — あなたのFacebook PageにリンクされたInstagram Business Accountの数値ID(例:17841412345678901)。
手順ガイド: Instagram Business Account ID を取得する →
Professionalアカウントへの切り替え
Instagramアプリで Settings → Account → Switch to Professional Account に移動します。Business または Creator を選択し、Settings → Account → Linked Accounts から Facebook Page にリンクしてください。
YouTube
ContentFlows は YouTube Data API v3 を使って、コンテンツカレンダー用のメタデータ(タイトル、説明、タグ)を生成します。
- API key (
YOUTUBE_API_KEY) — YouTube Data API v3 を有効にした Google Cloud Console から取得します。 - Channel ID (
YOUTUBE_CHANNEL_ID) — チャンネルの一意のID(UCで始まります)。YouTube Studio → Settings → Channel → Advanced settings で確認できます。
手順ガイド: YouTube APIキーとChannel IDを取得する →
メールニュースレター
ContentFlows は Amazon SES を使って、テナントごとの購読者リストにニュースレターを送信します。トークンは不要です。アカウント作成時に自動設定されます。
購読者の管理
ダッシュボードの Newsletter タブには、次の項目を含む購読者パネルがあります:
- Stats header — active / pending / unsubscribed / bounced / complained の件数
- Import — CSVアップロード、Mailchimp APIキー、または ConvertKit APIキー
- List view — 検索、ステータスでのフィルタ、行ごとの削除、一括削除、CSVエクスポート
- Re-subscribe — 配信停止またはバウンスした連絡先を再登録
公開登録URLは https://YOUR-SLUG.contentflows.cc/subscribe です。YOUR-SLUG はテナントに設定されたDNS安全な識別子(初期値: 会社名を整形したもの)です。登録はダブルオプトイン(確認メール)を使用します。CSV / Mailchimp / ConvertKit のインポートは、アップロード時に同意を確認しているため検証をスキップします。
DNSの初回設定(運用担当のみ)
サブドメインの登録ページをどのテナントでも解決できるようにするには、プラットフォーム運用者が一度だけワイルドカードDNSを設定する必要があります。*.contentflows.cc を、ルートの contentflows.cc サイトを配信するオリジンを指す CNAME にします。これが設定されるまで、フォールバックURL https://contentflows.cc/subscribe?tenant=YOUR-SLUG はどこでも機能します。
配信停止リンクは HMAC-SHA256 で署名され、送信されるすべてのニュースレターに埋め込まれます(Gmail / Yahoo のワンクリック準拠のため、RFC-8058 の List-Unsubscribe-Post ヘッダーが含まれます)。
送信ドメイン(DKIM + SPF + DMARC)
メールの差出人はデフォルトで noreply@contentflows.cc です。配信到達率を大幅に向上させるには、ご自身のドメインを認証して、ニュースレターの差出人を newsletter@your-business.com にします。
Brand タブを開き、Sending domain カードを見つけて、ドメインを入力し、表示される5つのDNSレコードをコピーしてDNSプロバイダに貼り付け、Verify をクリックしてください。DKIM と DMARC が検証されるまで、カードは10分間 SES をポーリングします。
5つのレコードの内容
- DKIM署名用の CNAME ×3(SES生成トークン)
- SPF 用のルートドメインの TXT ×1(
v=spf1 include:amazonses.com -all) - DMARC 用の
_dmarc.your-domain.comの TXT ×1(v=DMARC1; p=none; rua=mailto:dmarc@your-domain.com)
認証情報の保存方法
テナント内のすべてのプラットフォームの値は、AWS Secrets Manager の contentflows/tenants/YOUR_TENANT_ID/social-tokens にある1つの暗号化JSON blobとして保存されます。シークレットはログに出力されることも、保存後に再表示されることもなく、アカウント内で分離されます。ContentFlows がSNSのパスワードを保存することはありません。
値の置き換え
トークンやIDを更新するには(例: トークン期限切れ後)、Integrations タブに移動し、該当フィールドに新しい値を貼り付けて Save をクリックします。変更したフィールドのみが更新され、blob の残りはそのまま保持されます。
接続後に起こること
チャネルが接続されると、ContentFlows はスケジュールに従って承認済みコンテンツを自動公開します。公開前に、Content Queue タブで各コンテンツを確認して承認してください。
対応チャネル
- LinkedIn — 個人またはCompany Pageの投稿(UGC Posts API)
- Facebook — Pageの投稿(Graph API)
- Instagram — Professionalアカウントのフィード投稿(Graph API)
- YouTube — メタデータ検索(Data API v3)
- Email newsletter — Amazon SES 経由(自動設定)