Setup guide

Create and connect your X (Twitter) app

The X API is now paid and quota is per-app. So each workspace brings its OWN X app (BYO) — keeping cost and quota on your side. This guide walks you through creating your own X app and connecting it to SocialToWeb, step by step.

About 10–15 minutesAn X (Twitter) account
Cost stays on your app

X works on a pay-per-use (credit) model. Since you use your own app, charges come from your X credits: a tweet ≈ $0.015 ($0.20 if it contains a link), DM/mention reads a few cents each. You top up credits at console.x.com.

1

Create an X Developer account

Go to developer.x.com and sign in with your X account. If you don’t have a developer account yet, complete the short sign-up.

developer.x.com
X Developer Portal landing screen
2

Create a project and app

In the Developer Portal → “Projects & Apps”, create a new App. Give it a recognizable name, e.g. “Company Name – SocialToWeb”.

Apps in Pay Per Use — app list and “Create App”
3

User authentication settings

App → Settings → “User authentication settings” → Set up / Edit. Configure the following:

  • App permissions: Choose “Read and write and Direct message”. (REQUIRED for DM and comment management; if you pick only “Read and write”, DMs won’t work.)
  • Type of App: “Web App, Automated App or Bot” (Confidential client).
  • Callback URI: Paste the callback address SocialToWeb gives you, EXACTLY: https://app.socialtoweb.com/api/auth/x/callback
  • Website URL: enter your company website (e.g. https://socialtoweb.com).

The callback address must match EXACTLY; otherwise you’ll get a “redirect_uri mismatch” error when connecting.

App permissions = “Read and write and Direct message” and Type of App = Web App
App info — Callback URI and Website URL filled in
4

Get your keys (Keys & Tokens)

From App → “Keys & Tokens”, copy the values below. Secrets are usually shown ONLY ONCE; if you lose one, use “Regenerate”.

Where in X ConsoleSocialToWeb fieldUsed for
OAuth 2.0 → Client IDClient IDConnecting (required)
OAuth 2.0 → Client SecretClient SecretConnecting (required)
App-Only → Bearer TokenBearer TokenWebhook (real-time)
OAuth 1.0 → API Key SecretAPI Key SecretWebhook signature/CRC

“API Key Secret” (Consumer Secret) is a DIFFERENT value than the OAuth 2.0 “Client Secret”. If you won’t use webhooks, Bearer Token and API Key Secret are optional.

OAuth 2.0 Keys — Client ID + Client Secret
App-Only Authentication — Bearer Token
OAuth 1.0 Keys — Consumer Key / API Key Secret
5

Top up credits

Because X is pay-per-use, you must add credits before publishing/DM works. console.x.com → Billing / Credits → “Buy Credits”.

console.x.com

Without credits you’ll get a “does not have any credits to fulfill this request” error when publishing.

Developer Console — Credits / balance and “Purchase credits”
6

Connect to SocialToWeb

  1. SocialToWeb → Channels → “Connect channel” → X.
  2. On the “Connect Your X App” screen enter Client ID, Client Secret (and Bearer Token + API Key Secret if you want webhooks) → “Save & Continue”.
  3. In the X window that opens, authorize your app via “Authorize app”.
  4. Your account is added to your channel list. You can now publish from the Content Manager. 🎉

To edit the details later, use the ⚙ (gear) icon on the corner of the X card in Channels.

SocialToWeb “Connect Your X App” form
X “Authorize app” screen
7

(Optional) Real-time webhook

If you want DMs and mentions to arrive instantly without manual “Sync”, enable the webhook: Channels → X row → ⚡ (lightning) icon.

Prerequisites:

  • X app permission: “Read and write and Direct message”.
  • Bearer Token and API Key Secret must be entered in SocialToWeb.

Tapping ⚡ registers the webhook with your X app automatically and subscribes your account. After that, DMs/mentions arrive in real time.

The ⚡ webhook icon on the X row in Channels
Troubleshooting

Common errors

redirect_uri mismatch

The callback address doesn’t match exactly. Make the Callback URI in step 3 identical to the one shown in SocialToWeb.

invalid scope

App permission isn’t “Read and write and Direct message”. Update it and reconnect the channel.

does not have any credits

No X credits. Top up in step 5.

Webhook / Bearer Token required

Bearer Token and API Key Secret are required for webhooks. Get them in step 4 and enter them in the form.

DMs not arriving

A DM from someone who doesn’t follow you may land in “Message requests” on X and not appear via the API. Accept the request in the X app.

Ready?

Once you have your keys, connect your X channel now.