How to connect your social accounts
Per-platform walkthroughs for every network Content Drifter supports. Each section covers what you need before you click Connect, the step-by-step OAuth flow, and the most common fixes if something goes wrong.
X
OAuth (one click)OAuth via Outstand. Free X dev tier works for low-volume text; media + high-volume needs Basic+.
You'll need
- •An active X (Twitter) account — personal or business is fine.
- •No dev portal sign-up required for basic posting; you only need a paid X API tier if you want to attach media or post at high frequency.
Steps
- 1Click "Connect" on the X card. You'll be redirected to Outstand's connect screen, then onward to X to sign in and authorize Content Drifter to post on your behalf.
- 2Authorize the requested permissions. Outstand requests `tweet.read`, `tweet.write`, `users.read`, `offline.access`, `follows.read`, and `dm.write`. Approve all of them — we use them to post, refresh your token automatically, and (if you enable Inbox) reply to mentions.
- 3You'll land back on the Platforms page with X marked Connected. A green checkmark appears on the X card and your @handle is shown under the platform name. You're done — schedule your first post.
Common issues
"X/Twitter rejected this post — free API tier caps writes at 1 per 15 min + 500/month and blocks media uploads"
You're on the free X API tier. Two options: (1) Upgrade to Basic ($100/mo) at developer.x.com for 10k writes/month + media uploads, or (2) spread campaign posts apart (1 per 15 min) and drop media — Content Drifter auto-retries as text-only when media is blocked.
"Invalid session — please try again" on Outstand's connect screen
Outstand's session URL expired (they're short-lived for security). Close that tab, return to Dashboard → Platforms, and click Connect on the X card again to mint a fresh URL.
"Token expired" warning on the connected X card
X tokens last 2 hours but refresh automatically as long as you stay connected. If the warning persists for more than a day, click Reconnect on the card to refresh.
OAuth via Outstand. Needs admin role on a Facebook Page (not a personal profile).
You'll need
- •A Facebook account that admins at least one Facebook Page (Pages are the only thing the Facebook API can post to — personal profiles are blocked by Meta).
- •If you don't have a Page yet: facebook.com → Menu → Pages → Create new Page. Takes ~2 minutes.
Steps
- 1Click "Connect" on the Facebook card. You'll redirect through Outstand to Facebook's OAuth screen. Sign in with the account that admins your Page.
- 2Approve all requested Page permissions. Facebook will ask for `pages_show_list`, `pages_read_engagement`, `pages_manage_posts`, and `pages_manage_metadata`. Approve all of them — declining `pages_manage_posts` will silently break publishing.
- 3Pick the right Page if you admin more than one. If you admin multiple Pages, Content Drifter shows a picker so you choose the one to connect (e.g. your brand Page, not your side project). You can reconnect later to switch.
Common issues
"No pages available" or the picker is empty
Your Facebook account doesn't admin any Pages, OR you declined the `pages_show_list` permission. Visit facebook.com/pages/?category=your_pages to confirm admin status, then disconnect and reconnect.
Posts publish to the wrong Page
You picked the wrong row in the page picker. Disconnect Facebook on the Platforms page, click Connect again, and choose the correct Page.
"Facebook rejected the image as too large"
Facebook's practical image cap is ~4 MB (the docs say 10 MB but Graph rejects above 4). Content Drifter auto-compresses for new posts; for an older failing post, re-upload a smaller image and click Retry.
OAuth via Facebook. Needs an Instagram Business or Creator account linked to a Facebook Page.
You'll need
- •Instagram Business or Creator account (Personal accounts cannot publish via API — Meta's rule, not ours).
- •Your Instagram account must be linked to a Facebook Page you admin (Instagram's API is owned by Meta and routed via Facebook).
- •To convert a Personal account: Instagram app → Settings → Account → Switch to Professional Account.
- •To link to a Facebook Page: Facebook Page Settings → Linked Accounts → Instagram.
Steps
- 1Click "Connect" on the Instagram card. Even though you're connecting Instagram, the OAuth flow goes through Facebook because Meta owns the Instagram Graph API.
- 2Approve all requested permissions. Facebook will ask for `instagram_basic`, `instagram_content_publish`, `pages_show_list`, and `pages_read_engagement`. All four are required for publishing — declining any of them breaks the connection silently.
- 3Pick the right Facebook Page (and its linked Instagram account). If you admin multiple Pages, pick the one linked to the Instagram account you want to publish to. Content Drifter will auto-detect the linked Instagram handle.
Common issues
"Instagram requires a Business or Creator account"
Your Instagram account is set to Personal. Open Instagram → Settings → Account → Switch to Professional Account. Pick Business or Creator (both work the same for publishing). Then disconnect + reconnect on the Platforms page.
"Instagram account not linked to any Facebook Page"
Open the Facebook Page Settings → Linked Accounts → Instagram, and link your Instagram Business account. Disconnect + reconnect on the Platforms page after linking.
"Instagram requires media"
Instagram's API only accepts posts with at least one image or video — text-only posts aren't supported by Meta. Attach media and try again.
OAuth via Outstand. Can connect your personal profile OR a Company / Showcase Page you admin.
You'll need
- •A LinkedIn account.
- •If you want to post to a Company or Showcase Page, you must have at least one admin role on it (Super Admin, Content Admin, or Page Admin all work).
Steps
- 1Click "Connect" on the LinkedIn card. Outstand redirects you to LinkedIn's OAuth screen. Sign in with the LinkedIn account that admins the destination Page (or your personal profile if you're posting personally).
- 2Approve all requested permissions. LinkedIn will ask for `r_liteprofile`, `r_emailaddress`, `w_member_social`, and `w_organization_social`. The first two identify you, the last two let Content Drifter post on your behalf — all are required.
- 3Pick your personal profile OR a Company Page. If you admin one or more Company / Showcase Pages, Content Drifter shows a picker. Choose the destination — you can reconnect later to switch.
Common issues
"LinkedIn temporarily rejected this post (upstream API version slip)"
This is an upstream issue between Outstand and LinkedIn — LinkedIn occasionally deprecates an API version before Outstand has bumped their client. Content Drifter now auto-retries every 24h for up to 5 days, so the post will eventually ship without you doing anything. To try sooner, click Retry on the post.
Posts publish to the wrong identity (personal vs Company Page)
You picked the wrong row in the page picker. Disconnect LinkedIn on the Platforms page, click Connect again, and choose the correct identity.
"Could not load any pages"
Either you don't admin any Company Pages (in which case Content Drifter will connect your personal profile by default), OR you declined the `w_organization_social` permission. Disconnect + reconnect and approve all permissions.
Threads
OAuth via MetaOAuth via Meta. Your Threads account must be linked to an Instagram Business or Creator account.
You'll need
- •A Threads account (created via your Instagram account — Threads requires Instagram).
- •The linked Instagram account must be Business or Creator (Personal IG accounts can't publish to Threads via API).
Steps
- 1Click "Connect" on the Threads card. OAuth routes through Meta because Threads sits on top of Instagram. Sign in with the account that owns your Threads profile.
- 2Approve Threads publishing permissions. Meta will ask for `threads_basic` and `threads_content_publish`. Both are required — declining either silently breaks publishing.
- 3Confirm the Threads handle that gets connected. Content Drifter will detect your Threads handle from the linked Instagram account. If you have multiple Instagram accounts, pick the right one in the picker.
Common issues
"Threads connection requires a Business or Creator Instagram"
Same fix as Instagram: open Instagram → Settings → Account → Switch to Professional Account. Once your Instagram is Business or Creator, retry the Threads connection.
"Content exceeds Threads 500-character limit"
Threads enforces a 500-character cap on post bodies. Trim the post in the calendar editor and click Retry — Content Drifter's AI engine will respect the cap on regenerations.
A post with 6+ links fails on Threads
Threads enforces a 5-unique-link cap per post (added in late 2025). Trim the link count or split the post.
YouTube
OAuth via GoogleOAuth via Google. Needs a YouTube channel (Brand Account or Personal both work).
You'll need
- •A Google account with at least one YouTube channel.
- •If you manage multiple channels under the same Google account (Brand Accounts), have the right one in mind so you pick it during OAuth.
Steps
- 1Click "Connect" on the YouTube card. Outstand redirects you to Google's OAuth screen. Sign in with the Google account that owns the YouTube channel.
- 2Pick the channel (if you have multiple). Google will show a channel picker if you manage multiple Brand Accounts. Choose the channel you want Content Drifter to publish to — you can reconnect later to switch.
- 3Approve the YouTube upload scope. Google will ask for the `youtube.upload` scope. This is required — without it, Content Drifter can't publish videos to your channel.
- 4Set your default privacy + category in the Settings modal. After connecting, click the Settings (gear icon) on the YouTube card. Pick the default privacy (Public, Unlisted, Private) and category (e.g. People & Blogs, Education) for new uploads. Both can be overridden per video at compose time.
Common issues
Videos publish to the wrong channel
You picked the wrong channel during OAuth, OR your Google account defaulted to your Personal YouTube channel instead of a Brand Account. Disconnect on the Platforms page, click Connect again, and pick the right channel in Google's picker.
"Quota exceeded" on YouTube uploads
YouTube's upload quota resets daily at midnight Pacific. Content Drifter now auto-retries quota errors with a 24h delay for up to 5 days, so the upload will eventually go through. To try sooner, click Retry on the post.
Video gets marked as "made for kids" unexpectedly
You enabled the "Made for kids (COPPA-compliant)" toggle in the YouTube Settings modal. Only enable it if your content targets children under 13 — it disables personalised ads, comments, and several community features.
Ready to connect?
Open the Platforms tab in your dashboard, pick a network, and follow the in-product walkthrough — every card has the same guide inline so you don't have to flip back to this page.
Go to Platforms