Demo snapshot with made-up demo data. It is read-only: buttons that change things are switched off here.

Connections

Connect each brand's social accounts once; posting and analytics then run from here. Demo accounts let you try everything without touching real profiles.

Buffer (posting and scheduling)needs BUFFER_API_KEY
Connect Instagram, Facebook, TikTok, YouTube, LinkedIn and X inside Buffer once. Approved posts here are sent to Buffer with their exact time, and Buffer publishes them. Post metrics come back from Buffer once a day.
  1. In Buffer, connect each brand's social accounts (publish.buffer.com).
  2. Go to Settings → API (publish.buffer.com/settings/api) and create an API key.
  3. Put it in ali-hq/.env.local as BUFFER_API_KEY=… and restart the app.
  4. Come back here, press “Sync channels from Buffer” and pick the brand for each channel.

Buffer fetches images and videos from a public link when the post goes out. Set up media hosting first: a public Supabase Storage bucket (SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY) is the simplest. Text-only posts work without it.

PickPackPro

InstagramDemo data
PickPackPro@pickpackpro.demo

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

100 API-published posts per 24 hours (carousels count as one).

FacebookDemo data
PickPackProPickPackPro (demo page)

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

30 API-published Reels per Page per rolling 24 hours.

TikTokDemo data
PickPackPro@pickpackpro.demo

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

Unaudited TikTok apps can only post privately (SELF_ONLY) until TikTok audits the app.

YouTubenot connected
Link it through Buffer above.
Paste a token instead

videos.insert has its own quota bucket of 100 uploads per day.

LinkedInDemo data
PickPackProcompany page (demo)

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

Company page posting needs the Community Management API product (w_organization_social).

Xnot connected
Link it through Buffer above.
Paste a token instead

Pay-per-use: $0.015 per post, $0.20 per post that contains a URL, $0.005 per post read.

Vefive Ltd

InstagramDemo data
Vefive Ltd@vefive.demo

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

100 API-published posts per 24 hours (carousels count as one).

FacebookDemo data
Vefive LtdVefive Ltd (demo page)

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

30 API-published Reels per Page per rolling 24 hours.

TikTokDemo data
Vefive@vefive.demo

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

Unaudited TikTok apps can only post privately (SELF_ONLY) until TikTok audits the app.

YouTubeDemo data
Vefive@vefive-demo

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

videos.insert has its own quota bucket of 100 uploads per day.

LinkedInDemo data
Vefive Ltdcompany page (demo)

Demo account (never posts) · synced 30 Oct, 02:13

Link it through Buffer above.
Paste a token instead

Company page posting needs the Community Management API product (w_organization_social).

XDemo data
Vefive@vefive_demo

Demo account (never posts) · synced 29 Oct, 04:28

Link it through Buffer above.
Paste a token instead

Pay-per-use: $0.015 per post, $0.20 per post that contains a URL, $0.005 per post read.

Optional: direct connections without Buffer
Only needed if you ever want to post without Buffer, or need follower counts that Buffer's API doesn't give. Each platform needs its own developer app; put its keys in .env.local and register these redirect URLs.
Facebook + Instagramneeds META_APP_ID, META_APP_SECRET

http://localhost:3430/api/oauth/facebook/callback

Needs a Page access token with pages_manage_posts and pages_read_engagement.

TikTokneeds TIKTOK_CLIENT_KEY, TIKTOK_CLIENT_SECRET

http://localhost:3430/api/oauth/tiktok/callback

Needs a TikTok developer app with video.publish. The creator picks the privacy level on every post.

YouTubeneeds GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET

http://localhost:3430/api/oauth/youtube/callback

Needs a Google Cloud OAuth client with the YouTube Data API and YouTube Analytics API enabled.

LinkedInneeds LINKEDIN_CLIENT_ID, LINKEDIN_CLIENT_SECRET

http://localhost:3430/api/oauth/linkedin/callback

Needs a LinkedIn app. Personal posting uses w_member_social; company pages need Community Management API approval.

Xneeds X_CLIENT_ID

http://localhost:3430/api/oauth/x/callback

Needs an X developer app (OAuth 2.0) and prepaid API credits.

Media hosting for Instagram

Instagram downloads media from a public URL. Not configured: set PUBLIC_BASE_URL (deployed app or tunnel) or SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY with a public bucket. Other platforms receive the file directly.