Setup guide

Connect your social accounts

Post your videos, and answer messages and comments, from 37Studio. This page walks you through each platform in plain steps. No coding needed, except for WhatsApp.

Your system, your accounts

37Studio is software you run yourself. There's no 37Studio server in the middle. You create a free "developer app" on each platform, and its keys and your logins stay on your own computer, encrypted. Shaitrish, who makes 37Studio, can't see your accounts and never posts, replies or acts on them for you.

That also means your setup is yours to look after: your developer apps, your keys, backups of the data folder, and what you publish. If a platform blocks an app or a post, sort it out with that platform; we can't do it for you.

Get help from an AI assistant

Stuck on a screen that looks different? Copy this guide into ChatGPT, Claude or any other AI assistant, tell it which platforms you want, and it will walk you through one step at a time.

Open as text

Never paste an app secret, token or password into the chat. The assistant only needs to tell you where to click. Secrets go straight into 37Studio: Settings → Keys, or the Connect windows on a brand's Social tab.

What you can do once connected

PlatformPost videosAnswer commentsAnswer messagesTime to set up
Facebook PageYesYesYour team right away; customers after Meta approves your appAbout 20 minutes
Instagram (Business or Creator)Yes, ReelsYesYour team right away; customers after Meta approves your appSame app as Facebook
WhatsApp BusinessNoNoYesAbout an hour; needs a domain on Cloudflare
YouTubeYes (private until Google's check)NoNoAbout 15 minutes
TikTokYes ("Only me" or drafts until TikTok's check)NoNoAbout 15 minutes
LinkedInYes, to your profileNoNoAbout 10 minutes
XYes, on an X plan that allows postingNoNoAbout 10 minutes
PinterestYes, to the boards you pickNoNoAbout 10 minutes
Bluesky, MastodonYesNoNo2 minutes

Start with the ones you really use. Bluesky and Mastodon are the easiest; WhatsApp is the hardest, so leave it for last.

Words you'll see

  • Developer app: a free registration on the platform's developer website that lets a program, here your copy of 37Studio, post for you. You make it once, and every brand you manage can use it.
  • App ID and app secret (sometimes "client ID" and "client secret"): like a username and password for your developer app. The ID isn't secret; the secret is, so keep it private and paste it only into 37Studio.
  • Redirect URI (or "callback URL"): the address the platform sends you back to after you sign in. It always points at your own 37Studio, like http://localhost:8080/api/oauth/google/callback. Copy it exactly, with no slash at the end. If you run 37Studio on a server, start it with your server's https:// address instead of http://localhost:8080.
  • Development mode and App Review: a new app works right away for you and the people you add to it. For anything that touches the public, like messages from customers, some platforms first review your app. The table above says where.
  • Settings → Keys: the page in 37Studio where you paste app IDs and secrets. They're encrypted on your computer.

Facebook & Instagram

One Meta app covers your Facebook Pages and the Instagram accounts linked to them. Inside 37Studio, a brand's Social tab → Set up your Meta app shows these same steps.

Before you start

  • You need a Facebook account that manages the Page.
  • Your Instagram must be a Business or Creator account, linked to that Facebook Page. In the Instagram app: Settings → Account type and tools, then link the Page under Sharing to other apps or in the Page's settings.

Steps

  1. Go to developers.facebook.com/apps and click Create app. When it asks what the app is for, tick Manage everything on your Page and Manage messaging & content on Instagram. Also tick Engage with customers on Messenger if you want to answer messages. Connect your business portfolio when asked (it doesn't need to be verified).
  2. In each of those use cases, click Customize and add these permissions: pages_show_list, pages_read_engagement, pages_manage_posts, business_management, instagram_basic, instagram_content_publish. For messages and comments, also add pages_read_user_content, pages_manage_engagement, pages_manage_metadata, pages_messaging, instagram_manage_comments, instagram_manage_messages.
  3. In the left menu, open Facebook Login for Business → Configurations → Create. Choose User access token, select your Pages and Instagram accounts, and the same permissions. Save, and copy the Configuration ID.
  4. Open App settings → Basic and copy the App ID and App secret. If Meta asks for a redirect URI anywhere, use http://localhost:8080/api/oauth/meta/callback.
  5. In 37Studio, open a brand's Social tab → Set up your Meta app, paste the App ID, App secret and Configuration ID, and click Save.
  6. Click Connect Facebook & Instagram, sign in with Facebook, allow everything it asks, then tick the Pages and Instagram accounts that belong to this brand.
Leave the app in Development mode. That way it works right away for you, without Meta's review. Anyone else on your team who connects Pages needs a role on the app: App roles → Add people.

Answering messages and comments

Once Facebook and Instagram are connected, everything lands in Inbox in the sidebar. Click a message, press Draft with AI, check the reply, and press Send. Claude writes replies only from what you've put in the brand's knowledge base.

  1. Comments work as soon as you've added the comment permissions in step 2 above and connected again.
  2. Instagram messages: in the Instagram app, open Settings → Messages and story replies → Message controls → Connected tools and turn on Allow access to messages.
  3. Messages from customers (Messenger and Instagram) appear once Meta approves your app for those permissions in App Review. Until then you only see messages from people who have a role on your app or Page, which is enough to test.
  4. On the brand's Social tab, under Inbox replies, choose how replies go out: Off (you write them), Claude drafts, you approve (recommended), or Claude replies on its own. Add your own rules, like your sign-off or what never to promise, in How Claude should reply.
Platforms only allow replies within a time window: messages within 24 hours, and 37Studio answers comments up to 2 days old. Replies go out only while 37Studio is running.

YouTube

  1. At console.cloud.google.com, create a project. Search for YouTube Data API v3 and click Enable.
  2. Open OAuth consent screen: choose External, fill in the app name and your email, and add the scopes youtube.upload and youtube.readonly. Then click Publish app so it's In production; otherwise Google signs you out every 7 days.
  3. Open Credentials → Create credentials → OAuth client ID, choose Web application, and add the redirect URI http://localhost:8080/api/oauth/google/callback.
  4. Copy the Client ID and Client secret into 37Studio → Settings → Keys (Google OAuth client ID and secret).
  5. On the brand's Social tab, click Connect YouTube. Google warns that the app isn't verified: click Advanced → Go to … to continue, since it's your own app. Pick the channel.

Good to know: YouTube keeps every upload private until your project passes Google's free API audit (search "YouTube API Services audit and quota extension form"). You can make videos public by hand in YouTube Studio meanwhile.

TikTok

  1. At developers.tiktok.com, create an app. For the platform, choose Desktop (on a server with an https address, choose Web).
  2. Add the products Login Kit and Content Posting API (turn on Direct Post), with the scopes user.info.basic, video.publish and video.upload. Add the redirect URI http://localhost:8080/api/oauth/tiktok/callback.
  3. Copy the Client key and Client secret into Settings → Keys.
  4. Until TikTok reviews your app, use its Sandbox and add each TikTok account you'll post to as a target user.
  5. Click Connect TikTok on the brand's Social tab and sign in with that brand's TikTok account.

Good to know: until TikTok audits your app, posts can only be Only me. Or choose Send to TikTok drafts when publishing, and tap Post in the TikTok app yourself.

LinkedIn

  1. At linkedin.com/developers, click Create app (LinkedIn asks you to link a company Page to it).
  2. Under Products, add Sign In with LinkedIn using OpenID Connect and Share on LinkedIn.
  3. Under Auth, add the redirect URI http://localhost:8080/api/oauth/linkedin/callback, and copy the Client ID and Client secret into Settings → Keys.
  4. Click Connect LinkedIn on the brand's Social tab.

Good to know: this posts to your own profile. Posting to a company Page needs LinkedIn to approve your app for its Community Management API. LinkedIn logins last 60 days, then click Connect LinkedIn again.

X

  1. At developer.x.com, create a project and an app in it.
  2. In the app's User authentication settings, turn on OAuth 2.0, choose Web App, Automated App or Bot, set permissions to Read and write, and add the callback http://127.0.0.1:8080/api/oauth/x/callback (X doesn't accept localhost, so this one uses 127.0.0.1). It also asks for a website; any page about you works.
  3. Under Keys and tokens, copy the OAuth 2.0 Client ID and Client Secret into Settings → Keys.
  4. Click Connect X on the brand's Social tab.

Good to know: posting videos needs an X API plan that allows posting and media uploads. Check yours before you start.

Pinterest

  1. At developers.pinterest.com, create an app (it needs a Pinterest business account) and add the redirect URI http://localhost:8080/api/oauth/pinterest/callback.
  2. Copy the App ID and App secret into Settings → Keys.
  3. Click Connect Pinterest and tick the boards this brand posts to.

Good to know: new Pinterest apps start with "Trial" access, which only posts to Pinterest's test area. 37Studio needs a setting for that (PINTEREST_API); the technical details explain it. Once Pinterest grants Standard access, remove it.

Bluesky & Mastodon

  • Bluesky: in Bluesky, open Settings → Privacy and security → App passwords and create one. In 37Studio click Connect Bluesky and enter your handle (like yourshop.bsky.social) and that app password.
  • Mastodon: on your Mastodon server, open Preferences → Development → New application, tick read:accounts, write:media and write:statuses, save, and copy Your access token. In 37Studio click Connect Mastodon and enter your server's address and the token.

WhatsApp

WhatsApp is for answering customer messages in the Inbox; videos aren't posted to it. It's the most technical part: WhatsApp only sends messages to a public web address, and your computer doesn't have one. A free Cloudflare Tunnel gives it one, safely: it opens just the one door WhatsApp needs, and messages come straight to your computer. You need a website domain on Cloudflare (the free plan is enough). This is a good part to do with an AI assistant, or with someone technical.

  1. You need a phone number on the WhatsApp Business API. A number on the API can't be used in the WhatsApp Business phone app at the same time.
  2. In 37Studio, open Settings → Keys and set WhatsApp webhook verify token to any long random text, like a password you make up. Your Meta app's ID and secret must be there too.
  3. In the Cloudflare dashboard, open Zero Trust → Networks → Tunnels → Create a tunnel, choose Cloudflared, and run the command it shows on the computer that runs 37Studio.
  4. Add a route to the tunnel: a name like wa.yourdomain.com, the path ^/webhooks/meta$, and the service HTTP → localhost:8080. Don't skip the path: it keeps the rest of 37Studio private.
  5. In your Meta app, add Connect with customers through WhatsApp. Set its webhook to https://wa.yourdomain.com/webhooks/meta with the same verify token, and subscribe to messages.
  6. From WhatsApp → API Setup, copy the Phone number ID and WhatsApp Business Account ID. Make a permanent token under Business settings → System users.
  7. In 37Studio, click Connect WhatsApp on the brand's Social tab and paste the three.
Don't use a "quick tunnel" (cloudflared tunnel --url) for this. It puts your whole 37Studio on the internet, and its address changes every time it starts. Can't use a tunnel at all? The technical details describe a small relay you can deploy to your own Cloudflare account instead.

What isn't possible

  • Threads: it only takes videos from a public web address.
  • Facebook Groups and personal profiles: Meta removed posting to them for all apps.
  • Reddit and Snapchat: no usable way for apps to post videos.
Technical details (for developers and AI assistants)

Loading…

Stuck? Search or open an issue on GitHub. If you'd rather have it set up for you over a screen share, message us on WhatsApp or email jahangir@shaitrish.com.