Appearance
Onboarding
The first time you land on /app after signing up and verifying, Sosyabot redirects you to /app/onboarding. The wizard is gated by the onboarding_completed flag on your user record — once you finish it, you won't see it again unless an admin resets the flag.
The five steps
1. Welcome
A static screen introducing the product: 14 networks, AI captions, smart scheduling. Two buttons:
- Get started — advance to step 2.
- Skip — jump straight to the completion screen (step 5).
Skipping is non-destructive; you can connect channels and write posts at any time afterwards.
2. Connect your first channel
The wizard fetches your connected accounts via GET /api/v1/accounts. The screen shows:
- A count of currently-connected accounts.
- A Connect a channel button that links to
/app/channels.
The Next button is disabled while you have zero accounts. Click Connect a channel, complete the OAuth round-trip on the platform of your choice, and the channels page returns you to the wizard with the new account in the count.
You can connect more than one before continuing — the wizard re-checks /api/v1/accounts each time you focus the tab.
Skip with no channels
Choosing Skip for Now here lets you finish the wizard without a connected channel. Your first post (step 4) will then prompt for a channel before submission.
For the full per-platform setup (scopes, callback URLs, gotchas) see Connections Overview.
3. AI overview
Static information cards explaining AI captions and AI image generation. No input collected. Click Next to continue.
4. Write your first post
Two fields:
- Caption — required, trimmed before submit. Empty caption blocks the form (
Caption cannot be empty). - Post now / Save as draft — radio, default
Post now.
On submit the wizard issues POST /api/v1/posts with this exact shape (taken from the source):
json
{
"accounts": ["<firstAccountId>"],
"caption": "<your trimmed caption>",
"category": "profile",
"media": [],
"type": "text",
"labels": [],
"post_by": 0,
"time_posts": ["<now + 2 minutes>"]
}post_by: 0 is publish-now; post_by: 3 is schedule. If you picked Save as draft, post_by is 3 and the timestamp is two minutes in the future.
A toast confirms (Your first post is on its way! or Saved as draft) and the wizard advances to step 5. If accounts.length === 0 you'll see Connect at least one channel first. and you'll need to back up to step 2.
5. Done
A success screen with one button: Go to dashboard. Clicking it issues PATCH /api/v1/users/me/onboarding { completed: true } and routes you to /app. The onboarding wizard will not appear again on this account.
Re-running the wizard
There is no in-product "redo onboarding" affordance — by design. To intentionally re-trigger it for testing, an admin can reset the onboarding_completed flag on the user record from Admin → Users, then have the user reload /app.
What you have at this point
- A verified account.
- A workspace (TRY /
trdefaults; change in Workspace). - One connected channel (or zero, if you skipped step 2).
- One published post or one draft.
- The dashboard at
/app.
From here you'll typically: