Skip to content

Other Platforms Setup ​

Configuration guides for Reddit, Mastodon, and Bluesky.

Reddit ​

Prerequisites ​

  • Reddit account
  • Created Reddit app (script or web app type)

Create Reddit App ​

  1. Go to Reddit App Preferences
  2. Click Create App or Create Another App
  3. Select web app type
  4. Set redirect URI to your callback URL
  5. Note the client ID (under app name) and client secret

Required Scopes ​

ScopePurpose
identityRead username
readRead posts/comments
submitSubmit posts
editEdit own posts
saveSave/unsave posts when using saved-content workflows

Callback URL ​

text
https://api.tendsocial.com/api/company/social-accounts/callback/REDDIT

Environment Variables ​

bash
REDDIT_CLIENT_ID=your_client_id
REDDIT_CLIENT_SECRET=your_client_secret

Platform Limitations ​

FeatureStatus
Text posts✅ Supported
Link posts✅ Supported
Image posts✅ Supported
Video posts✅ Supported
Cross-posting❌ Not available via API
Polls❌ Not available via API
Comments✅ Read/write supported
Karma requirements⚠️ Some subreddits require minimum karma

Mastodon ​

Authentication Method ​

Mastodon is federated, meaning each instance has separate OAuth:

  1. User provides their instance URL (e.g., mastodon.social)
  2. TendSocial registers as an app on that instance (dynamically)
  3. User authorizes through their instance

Current Implementation ​

Users enter their Mastodon instance before OAuth. TendSocial carries that instance through OAuth state and stores it in account metadata for publishing. The launch flow uses configured client credentials for the selected instance; do not promise automatic dynamic app registration for every Mastodon instance until per-instance client registration is implemented and verified end to end.

Required Scopes ​

ScopePurpose
readRead account info
writePost toots
followFollow, boost, and favorite workflows
pushReceive notifications (future optional scope)

Callback URL ​

text
https://api.tendsocial.com/api/company/social-accounts/callback/MASTODON

Environment Variables ​

Mastodon credentials are per-instance, stored in database per connection.

Optional default instance:

bash
MASTODON_CLIENT_ID=your_client_id
MASTODON_CLIENT_SECRET=your_client_secret
MASTODON_INSTANCE_URL=mastodon.social

Platform Limitations ​

FeatureStatus
Text posts (toots)✅ 500 chars (instance-dependent)
Images✅ Up to 4
Videos✅ Supported
Polls✅ Supported
Content warnings✅ Supported
Visibility✅ Public/unlisted/private/direct
Boosting (retoots)✅ Supported
Threads✅ Supported

Bluesky ​

Authentication Method ​

Bluesky uses App Passwords (not OAuth):

  1. Go to Bluesky Settings
  2. Click Add App Password
  3. Name it (e.g., "TendSocial")
  4. Copy the generated password

IMPORTANT

Bluesky does not support OAuth. Users provide their handle and app password directly.

API Endpoint ​

https://bsky.social/xrpc/

Or the user's PDS if self-hosted:

https://{user-pds}/xrpc/

Required Credentials ​

CredentialFormat
Handleusername.bsky.social or custom domain
App PasswordGenerated app-specific password

Environment Variables ​

Bluesky credentials are per-user, stored in database.

No global environment variables needed.

Platform Limitations ​

FeatureStatus
Text posts✅ 300 chars (graphemes)
Images✅ Up to 4
Videos✅ Supported
Link cards✅ Auto-generated
Quote posts✅ Supported
Replies✅ Supported
Likes✅ Supported
Reposts✅ Supported
Lists✅ Supported
Feeds⚠️ Requires custom feed generator

Character Counting ​

Bluesky counts graphemes, not bytes or characters:

  • Emoji = 1 grapheme (regardless of modifiers)
  • Links are counted at full length
  • Mentions/hashtags counted at full length

TendSocial handles grapheme counting automatically.

TendSocial Documentation