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

# Social Feeds

> Watch your organization's YouTube and Twitch channels and announce new uploads and streams in Discord with a Flow.

**Social Feeds** watches your organization's YouTube and Twitch channels. When a new video goes up or a Twitch channel goes live, SquadVault fires a Flow event, and a Flow posts it to Discord.

Open it under **Connections → Social Feeds** in the sidebar, from the **Social Feeds** card on [Integrations](https://docs.squadvault.xyz/user-guide/integrations.md), or search for "YouTube" or "Twitch" with **Ctrl K**. Anyone who can read Flows can see the page. Members who can create Flows can add and remove channels.

## Add a channel

1. Open **Social Feeds**.
2. Pick the platform: **YouTube** or **Twitch**.
3. Paste the channel:
   * **YouTube:** a channel URL, an `@handle`, or a channel ID (`UC…`)
   * **Twitch:** the channel name or URL (`twitch.tv/yourteam`)
4. Click **Add channel**.

If a YouTube handle cannot be resolved, paste the channel ID instead. You find it in the channel URL (`youtube.com/channel/UC…`).

> [!NOTE]
>
> Videos and streams that already exist when you add a channel are never announced. Only uploads published, and streams started, after that point trigger an event.

> [!NOTE]
>
> If **Twitch** is greyed out, Twitch is not configured on this server yet. A server admin needs to set `TWITCH_CLIENT_ID` and `TWITCH_CLIENT_SECRET` from a Twitch developer application.

## Post to Discord

Social Feeds does not post on its own. Use a Flow:

1. Go to **Flows → Templates** and activate **Announce New Social Post** (uploads) and/or **Announce Twitch Stream** (going live).
2. Pick the Discord channel to post in. The templates use your log channel by default.
3. Adjust the message if you like, for example with `{{feed.displayName}}`, `{{post.title}}`, `{{stream.title}}`, or `{{stream.gameName}}`.

Because they are normal Flows, you can add conditions (for example only one channel), embeds, or a [webhook](https://docs.squadvault.xyz/user-guide/webhooks.md) action.

## What you will see

1. **Status:** how many channels are connected and whether checks are failing
2. **Channels:** add form and the list of connected channels, with the last check time or the last error
3. **How it works:** a shortcut to the Flow templates

YouTube channels are checked about every 5 minutes, Twitch channels about every minute. If a check fails (for example the channel was deleted), the row shows the error and SquadVault retries on the next check.

## Flow events

| Event | Fires when | Variables |
| - | - | - |
| `social.post.published` | A connected channel publishes a new YouTube video or a Twitch highlight or upload | `feed.platform`, `feed.displayName`, `feed.accountUrl`, `post.id`, `post.url`, `post.title`, `post.thumbnailUrl`, `post.publishedAt` |
| `social.stream.started` | A connected Twitch channel goes live | `feed.platform`, `feed.displayName`, `feed.accountUrl`, `stream.id`, `stream.url`, `stream.title`, `stream.gameName`, `stream.thumbnailUrl`, `stream.startedAt` |

## Tips

* YouTube Shorts count as uploads and are announced like regular videos.
* Twitch past-broadcast VODs are not announced, since the live stream already was. Highlights and uploads are.
* Each video and each stream is announced at most once, even if checks overlap.
* Removing a channel stops announcements immediately. Adding it again does not re-announce old videos.
* TikTok and X are not supported yet.

## Next

* [Flows](https://docs.squadvault.xyz/user-guide/flows.md)
* [Flows reference](https://docs.squadvault.xyz/user-guide/flows-reference.md)
* [Discord](https://docs.squadvault.xyz/user-guide/discord.md)
* [Integrations](https://docs.squadvault.xyz/user-guide/integrations.md)


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