> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trypost.it/llms.txt
> Use this file to discover all available pages before exploring further.

# Social Accounts

> Connect and manage your social media accounts in TryPost.

## What are social accounts?

Social accounts are the connections between TryPost and your social media profiles or pages. When you connect an account, TryPost gets permission to create and publish posts on your behalf.

## Supported platforms

| Platform | Identifier | Account types | Auth method |
| - | - | - | - |
| **LinkedIn** | `linkedin` | Personal profiles | OAuth |
| **LinkedIn Page** | `linkedin-page` | Company pages | OAuth |
| **X (Twitter)** | `x` | Personal accounts | OAuth |
| **Facebook** | `facebook` | Pages | OAuth |
| **Instagram (Standalone)** | `instagram` | Personal IG via Instagram's own OAuth | OAuth |
| **Instagram (Facebook Business)** | `instagram-facebook` | Business / creator accounts linked to a Facebook page | OAuth (via Facebook) |
| **TikTok** | `tiktok` | Personal and business accounts | OAuth |
| **YouTube** | `youtube` | Channels | OAuth (via Google) |
| **Threads** | `threads` | Personal accounts | OAuth |
| **Pinterest** | `pinterest` | Personal and business accounts | OAuth |
| **Bluesky** | `bluesky` | Personal accounts | App Password |
| **Mastodon** | `mastodon` | Any instance | OAuth (per instance) |
| **Telegram** | `telegram` | Channels and groups | Bot (added as admin) |
| **Discord** | `discord` | Servers (channel chosen per post) | Bot + OAuth |

## Connecting an account

Go to **Accounts** in the dashboard and click the platform you want to connect. For most platforms, you'll be redirected to their authorization page. A few have extra steps:

* **LinkedIn** — one card covers both your personal profile and the company pages you administer. After authorizing, pick which identity to connect
* **Facebook** — after authorizing, pick which page to manage
* **Instagram** — one card offers both connection methods. **Standalone** uses Instagram's own OAuth (suitable for personal IG accounts); **Facebook Business** authorizes through Facebook and then picks the Instagram account linked to a page (required for first-party publishing of feed/reels/stories/carousels)
* **YouTube** — authorize with Google; the channel comes from the account you pick on Google's own screen
* **Bluesky** — enter your handle and an [App Password](https://bsky.app/settings/app-passwords) (not your main password)
* **Mastodon** — enter your instance URL first, then authorize on that instance
* **Telegram** — add the TryPost bot as an admin to your channel or group, then post the `/connect` command shown in the dialog
* **Discord** — authorize TryPost and choose which server to add the bot to (requires *Manage Server*); the whole server connects as one account and you pick the channel on each post

<Note>
  Facebook and Instagram only show their page picker when there is something to choose between — administer a single page and TryPost connects it without asking. If the login has nothing to offer, it says so rather than showing an empty list. LinkedIn always shows its identity screen, even when your profile is the only thing on it.
</Note>

<h2 id="connection-limits">
  Multiple accounts
</h2>

A workspace can connect as many accounts as you want on the same network — two LinkedIns, three Instagrams, and so on. There is no one-per-network cap.

Two platforms are still two ways into the **same identity** when they point at the same profile or page:

* LinkedIn profile and LinkedIn Page
* Instagram Standalone and Instagram (Facebook Business)

The same identity cannot sit twice under those two flavors. Connecting it the second way updates the existing card instead of creating another.

## Active vs. inactive

Each social account can be toggled between **active** and **inactive**:

* **Active** — The account is included when creating new posts. New posts will have a platform entry for this account.
* **Inactive** — The account is excluded from new posts. Existing scheduled posts are not affected.

Toggle an account's active state from the **Accounts** page or via the [API](/api-reference/endpoint/toggle-social-account).

Instagram and Facebook accounts can also be a [repurpose](/knowledge-base/repurposes) source. Switching a source off pauses that flow; reconnecting it resumes the flow automatically. Switching a destination off only skips that account for each new video.

<Tip>
  Use inactive mode when you want to temporarily pause posting to a specific account (e.g., during a holiday) without disconnecting it.
</Tip>

## Connection status

| Status | Description | Action needed |
| - | - | - |
| **Connected** | Working correctly, TryPost can publish posts | None |
| **Disconnected** | Authorization was revoked or token expired | Reconnect the account |
| **Token expired** | Access token expired and couldn't be refreshed | Reconnect the account |

TryPost runs three scheduled jobs to keep social connections healthy:

* **`social:refresh-expiring-tokens`** (hourly) — proactively refreshes OAuth tokens that are about to expire, before the platform forces them out
* **`social:check-connections`** (daily) — verifies every connected account still authenticates correctly
* **`social:recover-stuck-posts`** (every 30 minutes) — sweeps posts left in `publishing` and either retries or marks them failed

If any of these detects a disconnected or expired account, the workspace owner receives a notification (in-app and email).

### Why accounts get disconnected

* **Token expiration** — Some platforms issue short-lived tokens. TryPost automatically refreshes them, but if the refresh fails (e.g., the refresh token also expired), the account disconnects.
* **Password change** — Changing your password on the platform may revoke all OAuth tokens.
* **Permission revoked** — You manually revoked TryPost's access in the platform's settings.
* **Platform policy** — The platform may revoke tokens for inactivity or policy changes.

## Reconnecting an account

A card that needs attention shows a **Reconnect** button. Reconnecting refreshes that specific card — it keeps its posts and its scheduling history. It never creates a second card.

Because it is tied to one card, you have to authorize **the same account** you are reconnecting:

| What you'll see | What happened | What to do |
| - | - | - |
| *That is a different account. Authorize the one you are reconnecting.* | You signed in as someone else during the reconnect | Sign out of the platform, then reconnect and authorize the original account |
| *Page not found.* | The company page you are reconnecting is not administered by the login you used | Authorize with the account that administers that page |
| *This workspace already has an account for this network. Disconnect it first.* | A reconnect collided with an identity that is already connected | Reconnect the original card, or disconnect the duplicate first |
| *Another connection is still finishing. Please try again in a moment.* | Two connections to the same network overlapped | Wait a moment and try again |

<Note>
  On Telegram, a reconnect must be confirmed **from the same channel or group** the card points at. Posting the `/connect` command somewhere else is rejected — and the code is not consumed, so you can still post it in the right place.
</Note>

## Token security

* Access tokens and refresh tokens are **encrypted at rest** using Laravel's encryption
* Tokens are **never exposed** in API responses — the `access_token` and `refresh_token` fields are hidden
* Each account stores its token expiry date and TryPost proactively refreshes tokens before they expire

## Disconnecting an account

Go to **Accounts**, find the account, and click **Disconnect**. This:

* Removes the connection from TryPost
* Does not affect existing published posts
* Does not revoke TryPost's access on the platform (you can do that in the platform's settings)

## FAQ

<AccordionGroup>
  <Accordion title="Can I connect the same account twice?">
    The same identity cannot be connected twice in one workspace. You can connect several accounts on the same network (two Instagrams, for example). To refresh an account you already have, use [Reconnect](#reconnecting-an-account) on its card, which updates that card rather than creating another.
  </Accordion>

  <Accordion title="What happens to scheduled posts if an account disconnects?">
    Posts scheduled for a disconnected account will fail for that platform when the scheduled time arrives. Other platforms in the same post are not affected. You'll receive a notification about the failure.
  </Accordion>

  <Accordion title="Do I need to reconnect accounts periodically?">
    Usually no. TryPost automatically refreshes tokens. However, some platforms (like TikTok) have shorter token lifetimes and may occasionally require reconnection.
  </Accordion>

  <Accordion title="Can I connect accounts from different workspaces to the same social profile?">
    Yes. Each workspace manages its own connections independently. The same LinkedIn profile can be connected in multiple workspaces.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.