Connect Postiz to Fondoo
Postiz is a social media scheduler you can run yourself or use as a cloud service at postiz.com. If you already use Postiz, Fondoo can post through your own Postiz account instead of its default provider, Upload-Post. You connect your social channels inside Postiz, give Fondoo your Postiz API key, and your AI agent then drafts, schedules and publishes through it under your approval rules.
What Fondoo can do with it
- Read your channels.
refresh_social_accountsreads the channels connected in Postiz. Postiz calls them "integrations" in its API. Fondoo can post to these networks through Postiz: Instagram, TikTok, LinkedIn, YouTube, Facebook, Threads, Pinterest, Bluesky, Mastodon and X. LinkedIn Pages and standalone Instagram channels count as LinkedIn and Instagram. Channels you've disabled in Postiz are skipped. Other Postiz channel types are listed, but Fondoo can't post to them. - Draft, schedule and publish. The same posting flow works with any provider:
draft_social_postsorsave_social_draft, thenschedule_social_posts, thenapprove_social_posts. Fondoo's background publisher then sends each due post to Postiz as a "post now" request, checks its status and retries if needed. - Media. Real images and videos registered with
register_social_mediaare uploaded to Postiz first. - Stats. The hourly stats worker reads Postiz's post analytics (last 30 days). You read them with
get_social_stats. - Cancel.
cancel_postcancels unsent posts. For posts already sent, it asks Postiz to delete them. Whether the post also disappears from the network depends on Postiz, so this may differ for your account.
Threads (multi-part posts) aren't supported through Postiz. X posts with links still need your own X key or confirmed Fondoo billing, see x.md.
What needs your approval: only the workspace owner can save Postiz credentials (configure_social_connection), choose the provider (set_provider), set per-channel options (configure_social_account) and change posting rules (update_distribution_rules). Posts on networks set to review (the default) or manual wait in your approval queue, and so does cancel_post.
Before you start
- A Postiz account. On Postiz Cloud, API keys come with the Standard plan and above. Every self-hosted install has them (Postiz developer settings). See postiz.com/pricing for current prices.
- Your channels connected in Postiz first. In Postiz, go to the Calendar and click Add Channel in the left sidebar (connecting channels). Finish any "continue integration" step, such as picking a Facebook Page.
- A Fondoo social set. It counts against your plan's social-set allowance.
- Self-hosted Postiz on Fondoo's hosted service: Fondoo only accepts Postiz addresses that the Fondoo operator has allowed. The default list contains only
https://api.postiz.com. If you run your own Postiz, ask Fondoo support to allow your address first. If you self-host Fondoo itself, Postiz is the hosted social provider you can use, because Upload-Post isn't available there.
Step by step: get your credentials
- Sign in to Postiz and open Settings → Developers. Find the Public API section with your API key (developer settings). If the label looks different in your version, look for the API key on the Developers tab.
- Copy the API key. It acts as you and doesn't expire on its own. If it leaks, rotate it in the same place.
- Work out your base URL:
- Postiz Cloud:
https://api.postiz.com/public/v1. This is Fondoo's default, so you can leave it out. - Self-hosted: your Postiz backend address (the
NEXT_PUBLIC_BACKEND_URLvalue) followed by/public/v1. Many Docker installs serve the backend under/api, giving something likehttps://postiz.example.com/api/public/v1. This may differ for your install (configuration reference). Leave out usernames, passwords,?queryand#fragmentparts.
- Postiz Cloud:
- Optional: if you use Postiz customers (client groups), copy the customer's ID. It goes in
groupso Fondoo sees only that customer's channels. Postiz's integrations list accepts this filter (list integrations). Use a separate group per brand.
Fondoo's credential fields are apiKey (required), baseUrl (optional) and group (optional).
Connect it in Fondoo
To get the setup steps as a link, your agent can call connect_service({provider:"postiz", siteId}) (REST: POST /v1/ops/connect_service). It returns a signed link, valid for 15 minutes, plus a QR code and these setup steps. That link only shows instructions. Your Postiz URL and API key are saved with configure_social_connection, below.
(a) Dashboard. Postiz is not in the Connections → Available list. Use the agent or REST route. Once refreshed, your channels appear in the Connected card.
(b) Ask your agent. Your API key shouldn't be pasted into a chat. The credential step is owner-only, so run it yourself over REST or through an owner session. Then you can ask your agent:
"For site YOUR-SITE-ID, switch social posting to Postiz, refresh my Postiz channels and list them."
The calls, in order:
configure_social_connection({ siteId, provider: "postiz", set: 1,
credential: { apiKey: "<Postiz key>", baseUrl: "https://api.postiz.com/public/v1", group?: "<customer id>" } })
→ { configured: true, connectionId }
set_provider({ siteId, capability: "social", provider: "postiz" })
refresh_social_accounts({ siteId, connectionId })
list_social_accounts({ siteId })Optional: for OAuth networks, connect_social({siteId, provider:"postiz", network:"linkedin", redirectUrl}) returns a Postiz authorization link that adds a new channel to Postiz. Postiz doesn't support networks that need an instance address, such as Mastodon, through this link. It allows 30 link requests per hour (connect endpoint). Adding channels inside Postiz is simpler.
Some networks need extra Postiz options before they can post. Set them with configure_social_account({siteId, accountId, settings}):
- Pinterest:
board - YouTube:
title,type - TikTok:
privacy_level,duet,stitch,comment,autoAddMusic,brand_content_toggle,brand_organic_toggle,content_posting_method
settings replaces the stored settings. Copy the existing __type value from list_social_accounts into your new settings, so Fondoo keeps the right Postiz channel type.
Finally, the owner turns on each network with update_distribution_rules.
REST equivalent: POST https://api.getfondoo.com/v1/ops/configure_social_connection with Authorization: Bearer <Fondoo API key> and the JSON body above. Every other operation works the same way at /v1/ops/<operation>.
Test that it works
get_providers({siteId})should showselected.socialaspostiz.refresh_social_accountsshould return your Postiz channels.get_connection_health({siteId})asks Postiz for them again and reports the status.- Run
schedule_social_postswith"dryRun": trueand a short text post. Then schedule and approve one real post, and check it appears in Postiz and on the network.
Troubleshooting
- "Social provider request failed (401)". The API key is wrong or was rotated. Copy it again from Settings → Developers and save it with
configure_social_connectionusing your existingconnectionId. - "Provider origin must be explicitly allowed by the server operator". Your self-hosted address isn't on Fondoo's allowed list, or it contains a query or login. Ask Fondoo support, or fix the URL.
- "Account does not use the selected social provider". The account belongs to a different provider than the one chosen with
set_provider. Switch the provider or use the matching account. - "Postiz requires board" (or title, type, privacy_level ...). Set that option with
configure_social_account. - "Postiz asynchronous media processing". Postiz hadn't finished processing the upload. Try a smaller file or a different format.
- Duplicate connections. Each
configure_social_connectioncall withprovidercreates a new connection. To change a key, passconnectionIdinstead.
Limits, data and security
- Rate limits: Postiz limits its create-post endpoint to 100 requests per hour on Postiz Cloud. Self-hosted installs default to 90, set by
API_LIMIT, and the shipped Docker setup uses 30 (Postiz public API). Each Fondoo publish uses one create-post request. Connect links are limited to 30 per hour. Your Postiz plan's channel and monthly post quotas also apply. Fondoo's own rules (default 1 post a day per account, 09:00 to 17:00 UTC) apply on top. Seeget_publishing_capacity. - What Fondoo stores: your API key, base URL and group, encrypted (AES-GCM, bound to your site and connection) and never returned by any operation. Fondoo also keeps channel names and IDs, your posts and their metrics.
- Rotate: rotate the key in Postiz, then run
configure_social_connectionwith yourconnectionIdand the newapiKey. - Disconnect: rotate or revoke the key in Postiz. To go back to Upload-Post, run
set_provider({siteId, capability:"social", provider:"upload_post"}).
Official links
- Postiz public API: https://docs.postiz.com/public-api/introduction.md
- Developer settings and API key: https://docs.postiz.com/general/settings/developers
- Connecting channels: https://docs.postiz.com/general/channels/connect.md
- Self-host configuration: https://docs.postiz.com/self-host/configuration/reference.md
- Choosing a social provider in Fondoo: social.md
