# Platforms

Every platform Pozy connects to, what each one supports, its API id, and how one post request reaches all of them.

Pozy connects to social networks, messaging apps, phone channels, ad networks, stores, blogs, a CRM and the big productivity suites. You connect each account once, and then the same endpoints work across all of them: one post request for every network, one inbox for every conversation, one analytics call for every account. This page is the map. Each platform page covers what that platform supports, how to connect it, the post types and fields it takes, media limits, analytics and inbox details.

## Capability matrix

| Platform | Publish | Analytics | DMs | Comments | Reviews | Connect |
| --- | --- | --- | --- | --- | --- | --- |
| Instagram | Yes | Yes | Yes | Yes | – | OAuth |
| TikTok | Yes | Yes | Yes | Yes | – | OAuth |
| YouTube | Yes | Yes | – | Yes | – | OAuth |
| Facebook | Yes | Yes | Yes | Yes | Yes | OAuth |
| LinkedIn | Yes | Yes | – | Yes | – | OAuth |
| X | Yes | Yes | Yes | Yes | – | OAuth |
| Threads | Yes | Yes | – | Yes | – | OAuth |
| Pinterest | Yes | Yes | – | – | – | OAuth |
| Bluesky | Yes | Yes | Yes | Yes | – | Credentials |
| Google Business Profile | Yes | Yes | – | – | Yes | OAuth |
| Snapchat (beta) | Yes | Yes | – | – | – | OAuth |
| Reddit (paused) | Yes | Yes | Yes | Yes | – | OAuth |
| WhatsApp | Yes | – | Yes | – | – | Credentials |
| Telegram (coming soon) | Yes | – | Yes | – | – | Bot token |
| Discord (coming soon) | Yes | – | – | – | – | Bot token |
| Slack | Yes | – | Yes | – | – | Bot token |
| iMessage | – | – | Yes | – | – | Phone number |
| SMS | – | – | Yes | – | – | Phone number |
| RCS | – | – | Yes | – | – | Phone number |
| Shopify | – | – | – | – | – | OAuth |
| WooCommerce | – | – | – | – | – | Credentials |
| WordPress | – | – | – | – | – | OAuth |
| Wix | – | – | – | – | – | OAuth |
| Webflow | – | – | – | – | – | API token |
| HubSpot | – | – | – | – | – | OAuth |
| Google Analytics | – | – | – | – | – | OAuth |
| Google Workspace | – | – | – | – | – | OAuth |
| Microsoft 365 | – | – | – | – | – | OAuth |

Ad networks are listed on [Ads](https://pozy.ai/docs/ads).

"Paused" means the platform has switched off third-party access for now. Reddit closed its API to outside apps, so publishing, Reddit DMs and comments are paused; [Reddit Ads](https://pozy.ai/docs/ads/reddit-ads) keep working.

## Platform ids

Requests and responses use a short id per platform. Use these ids in `platforms[].platform`, in `?platform=` filters and in connect URLs such as `/v1/connect/{platform}`.

| Id | Shown as | Id | Shown as |
| --- | --- | --- | --- |
| `instagram` | Instagram | `whatsapp` | WhatsApp |
| `tiktok` | TikTok | `telegram` | Telegram |
| `youtube` | YouTube | `discord` | Discord |
| `facebook` | Facebook | `slack` | Slack |
| `linkedin` | LinkedIn | `imessage` | iMessage |
| `twitter` | **X** | `sms` | SMS |
| `threads` | Threads | `rcs` | RCS |
| `pinterest` | Pinterest | `shopify` | Shopify |
| `bluesky` | Bluesky | `wordpress` | WordPress |
| `googlebusiness` | Google Business Profile | `wix` | Wix |
| `snapchat` | Snapchat | `webflow` | Webflow |
| `reddit` | Reddit | `hubspot` | HubSpot |
| `googleanalytics` | Google Analytics | `google` | Google Workspace |
| `microsoft` | Microsoft 365 | `woocommerce` | WooCommerce |

> **X keeps its old id:**
> 
> X's id is still `twitter`, for compatibility. Show "X" to people and send `twitter` to the API.

Ad networks have their own ids (`metaads`, `googleads`, `tiktokads`, `linkedinads`, `pinterestads`, `xads`, `redditads`, `openaiads`) because an ad account is a separate connection from the organic account. See [Ads](https://pozy.ai/docs/ads).

## One request for every network

A post lists its targets in `platforms`. Each entry names a connected account, and can override the text, the media, the time and the platform options for that account only. Everything else is shared.

```bash cURL
curl -X POST https://api.pozy.ai/v1/posts \
  -H "Authorization: Bearer $POZY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Our spring menu is here. Twelve new dishes, all from farms within 50 km. Book a table this week and the dessert is on us.",
    "mediaItems": [{ "type": "image", "url": "https://cdn.example.com/spring-menu.jpg" }],
    "platforms": [
      { "platform": "instagram", "accountId": "6720c1a94f3b2e0018d4a7f1" },
      { "platform": "facebook", "accountId": "6720c1a94f3b2e0018d4a7f4" },
      { "platform": "twitter", "accountId": "6720c1a94f3b2e0018d4a7f6", "customContent": "Spring menu is live: 12 new dishes from local farms. Dessert on us this week." },
      { "platform": "linkedin", "accountId": "6720c1a94f3b2e0018d4a7f5", "platformSpecificData": { "firstComment": "Reservations: https://example.com/book" } }
    ],
    "scheduledFor": "2026-11-03T09:00:00",
    "timezone": "Europe/Madrid"
  }'
```
```ts Node
const res = await fetch("https://api.pozy.ai/v1/posts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.POZY_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    content: "Our spring menu is here. Twelve new dishes, all from farms within 50 km. Book a table this week and the dessert is on us.",
    mediaItems: [{ type: "image", url: "https://cdn.example.com/spring-menu.jpg" }],
    platforms: [
      { platform: "instagram", accountId: "6720c1a94f3b2e0018d4a7f1" },
      { platform: "facebook", accountId: "6720c1a94f3b2e0018d4a7f4" },
      { platform: "twitter", accountId: "6720c1a94f3b2e0018d4a7f6", customContent: "Spring menu is live: 12 new dishes from local farms. Dessert on us this week." },
      { platform: "linkedin", accountId: "6720c1a94f3b2e0018d4a7f5", platformSpecificData: { firstComment: "Reservations: https://example.com/book" } },
    ],
    scheduledFor: "2026-11-03T09:00:00",
    timezone: "Europe/Madrid",
  }),
});
const data = await res.json();
if (!res.ok) throw new Error(data.error);

console.log(data.post.status); // "scheduled"
```
```python Python
import os, requests

resp = requests.post(
    "https://api.pozy.ai/v1/posts",
    headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
    json={
        "content": "Our spring menu is here. Twelve new dishes, all from farms within 50 km. Book a table this week and the dessert is on us.",
        "mediaItems": [{"type": "image", "url": "https://cdn.example.com/spring-menu.jpg"}],
        "platforms": [
            {"platform": "instagram", "accountId": "6720c1a94f3b2e0018d4a7f1"},
            {"platform": "facebook", "accountId": "6720c1a94f3b2e0018d4a7f4"},
            {"platform": "twitter", "accountId": "6720c1a94f3b2e0018d4a7f6", "customContent": "Spring menu is live: 12 new dishes from local farms. Dessert on us this week."},
            {"platform": "linkedin", "accountId": "6720c1a94f3b2e0018d4a7f5", "platformSpecificData": {"firstComment": "Reservations: https://example.com/book"}},
        ],
        "scheduledFor": "2026-11-03T09:00:00",
        "timezone": "Europe/Madrid",
    },
)
print(resp.json()["post"]["status"])
```

Per-entry overrides:

| Field on a `platforms` entry | Use it for |
| --- | --- |
| `customContent` | Different text for one account, usually to fit a shorter limit |
| `customMedia` | Different media for one account, such as a 9:16 crop for a Story |
| `scheduledFor` | A different time for one account |
| `platformSpecificData` | Options only that platform understands. Each platform page lists its fields. |

Each entry publishes on its own and reports its own `status`, so one network failing does not stop the others. A post where some entries failed ends as `partial`. See [Post lifecycle](https://pozy.ai/docs/publishing/lifecycle).

## Compare text and media limits

The limits that most often break a cross-post. Full tables are on each platform page.

| Platform | Text limit | Images per post | Videos per post | Text-only posts |
| --- | --- | --- | --- | --- |
| Instagram | 2,200 | 1, or 10 in a carousel | 1 | No |
| TikTok | 2,200 (video), 4,000 (photo description) | Up to 35 | 1 | No |
| YouTube | 100 title, 5,000 description | None | 1 | No |
| Facebook | 63,206 | 10 | 1 | Yes |
| LinkedIn | 3,000 | 20 (or 1 document) | 1 | Yes |
| X | 280, or 25,000 with Premium | 4 (or 1 GIF) | 1 | Yes |
| Threads | 500 | 10 | 1 | Yes |
| Pinterest | 100 title, 800 description | 1 | 1 | No |
| Bluesky | 300 | 4 | 1 | Yes |
| Google Business Profile | 1,500 | 1 | None | Yes |
| Snapchat | 160 (Spotlight) | 1 | 1 | No |

Before you schedule a large batch, run it through [validation](https://pozy.ai/docs/publishing/validation) to catch these limits without publishing anything.

## Social networks

- [Instagram](https://pozy.ai/docs/platforms/instagram): Feed posts, carousels, Stories and Reels, insights, DMs and comment automations.
- [TikTok](https://pozy.ai/docs/platforms/tiktok): Videos, photo carousels and Creator Inbox drafts, with privacy and disclosure settings.
- [YouTube](https://pozy.ai/docs/platforms/youtube): Videos and Shorts with thumbnails, playlists, metadata edits and transcripts.
- [Facebook](https://pozy.ai/docs/platforms/facebook): Page posts, link carousels, Stories, Reels, Messenger, comments and reviews.
- [LinkedIn](https://pozy.ai/docs/platforms/linkedin): Profiles and company pages, documents, polls, mentions and audience targeting.
- [X](https://pozy.ai/docs/platforms/x): Posts, threads, replies, quotes, polls, engagement actions and DMs.
- [Threads](https://pozy.ai/docs/platforms/threads): Text, media, carousels and thread sequences with topic tags.
- [Pinterest](https://pozy.ai/docs/platforms/pinterest): Image and video Pins on boards you choose.
- [Bluesky](https://pozy.ai/docs/platforms/bluesky): Posts, threads and DMs with an app password.
- [Google Business Profile](https://pozy.ai/docs/platforms/google-business-profile): Updates, offers and events for one or many locations, plus reviews.
- [Snapchat](https://pozy.ai/docs/platforms/snapchat): Stories, Saved Stories and Spotlight.
- [Reddit](https://pozy.ai/docs/platforms/reddit): Posting is paused while Reddit's API is closed. Reddit Ads still work.

## Messaging

- [WhatsApp](https://pozy.ai/docs/platforms/whatsapp): Business messaging with templates, flows, broadcasts and calling.
- [Telegram](https://pozy.ai/docs/platforms/telegram): Coming soon. Post to channels and groups and answer chats with a bot.
- [Discord](https://pozy.ai/docs/platforms/discord): Coming soon. Messages, embeds, polls and forum posts in your server.
- [Slack](https://pozy.ai/docs/platforms/slack): Messages and thread replies in the channels you pick.
- [iMessage](https://pozy.ai/docs/platforms/imessage): Blue-bubble conversations from a dedicated sender.
- [SMS](https://pozy.ai/docs/platforms/sms): Two-way texting from numbers you buy or port.
- [RCS](https://pozy.ai/docs/platforms/rcs): Branded, rich messages on Android with your own agent.

## Commerce, blogs and CRM

- [Shopify](https://pozy.ai/docs/platforms/shopify): Products, orders and blog articles from your store.
- [WordPress](https://pozy.ai/docs/platforms/wordpress): Publish articles to WordPress.com or a self-hosted site.
- [Wix](https://pozy.ai/docs/platforms/wix): Publish blog posts to a Wix site.
- [Webflow](https://pozy.ai/docs/platforms/webflow): Publish articles to a Webflow CMS collection.
- [HubSpot](https://pozy.ai/docs/platforms/hubspot): Sync inbox contacts and conversations into your CRM.
- [Google Analytics](https://pozy.ai/docs/platforms/google-analytics): Run GA4 reports next to your social numbers.

## Email, calendar and files

- [Google Workspace](https://pozy.ai/docs/platforms/google): Gmail, Google Calendar, Drive and Contacts.
- [Microsoft 365](https://pozy.ai/docs/platforms/microsoft): Outlook mail and calendar, OneDrive and contacts.

## Before you connect anything

- Every account belongs to a **profile**. If you are building for your own customers, create one profile per customer first. See [Build a platform](https://pozy.ai/docs/build).
- Most platforms connect through the platform's own sign-in screen. A few use credentials, a bot token or a phone number. See [Connecting accounts](https://pozy.ai/docs/connect).
- The first 2 connected accounts are free. After that each account is billed per day it stays connected. See [Pricing](https://pozy.ai/docs/billing).
