Supported networks
X (Twitter)
Posts with images or video, and a first comment as a reply.
Personal profiles, and company Pages with the Community Management API.
Facebook Pages
Feed posts, Reels and Stories on Pages you manage.
Feed posts, Reels and Stories on professional accounts.
Threads
Text, image and video posts with reply control.
TikTok
Direct-posted videos and photo posts.
YouTube
Videos and Shorts, with title and visibility.
Image, carousel and video pins on a board.
Groups, WhatsApp Channels and Status through WAHA, Whapi.Cloud or the official Cloud API.
Telegram
Channels and groups through a bot you create with @BotFather.
The first comment needs the network permission named on each network’s page. A connection that lacks it does not show the First comment field. Telegram has no permission to grant. A Telegram channel takes a first comment only when it has a discussion group with the bot as an admin. A Telegram group needs nothing extra. See Telegram channels.
How connecting works
1
You register an app on the network
Each network has its own developer console. The network’s page in this section lists the steps and the permissions to request.
2
You store the keys in MagicPost
Go to Admin → Publishing → Platforms and add the keys on the network’s card. See Channel credentials.
3
Users connect their accounts
Users open Publishing → Channels, click the network, and approve access on the network’s own sign-in page.
4
MagicPost keeps the connection alive
It renews tokens ahead of time, checks channels that have posts coming up, and asks the owner to reconnect when a network turns the authorisation down.
Store the keys in MagicPost
1
Open the Platforms page
Go to Admin → Publishing → Platforms. Each network has a card.
2
Open the setup panel
Click Add credentials on the card. The button reads Edit credentials once keys are stored. A panel titled Set up and the network name opens.
3
Copy the redirect URI
Under What to register, copy the Redirect URI and add it to the app in the network’s developer console. Under Permissions asked for, Copy all copies the permission list.
4
Paste the keys
Paste the app’s ID into Client ID and its secret into Client secret. Tick Available to users, then click Save.
5
Run the checks
Click Run checks on the card. The Configuration checks window lists what was verified.
Remove deletes the stored ID and secret and switches the network off.
The WhatsApp and Telegram panels ask for different fields. See WhatsApp channels and Set up Telegram.
Card badges
The counter at the top of the page shows how many networks are available to users.
What Run checks verifies
For the networks that connect through a sign-in page, Run checks does not call the network. It checks what MagicPost holds. The WhatsApp and Telegram checks do ask the provider or Telegram, and are described on their pages.
When every check passes, the card shows Last checked with the time.
Redirect URIs
Every network that connects through a sign-in page uses the same address pattern. It is built from your site address and has no language prefix, because networks compare it character for character.
Copy the value from the Redirect URI field in the setup panel instead of typing it. WhatsApp and Telegram do not use a redirect URI. They receive webhooks instead, see WhatsApp channels and Set up Telegram. The Telegram address is
/webhooks/telegram.
Make sure your site address is correct before you register apps. If you move the site to another domain, add the new redirect URI to every app.
Connect an account
Users connect accounts themselves.1
Open Channels
In the sidebar, under Publishing, click Channels.
2
Add a channel
In the Add a channel card, click the network. You are sent to the network to authorise access. WhatsApp and Telegram open a MagicPost page instead, where you link a number or a Telegram account.
3
Approve access
Sign in on the network and approve the permissions. You return to Channels and a message confirms that the account is connected.
Plan limits
Each connected account counts toward the plan’s channel limit. The Connected tile on the Channels page shows the used and allowed numbers.- When the limit is reached, the message reads You have connected the maximum of N channels. Upgrade your plan to add more. The number is your plan’s limit.
- A plan can restrict which networks it includes. A network outside the plan appears as Not in your plan and cannot be connected. See Pricing plans.
- Reconnecting a channel that already exists never counts against the limit, so a user at the limit can always recover an expired connection.
- Reconnecting an account that was disconnected earlier brings back the same channel with its history, but it counts against the limit again.
Channel states
The Filters menu on the Channels page filters by Active, Needs reconnect and Paused. The channel actions menu also has Check connection, Open profile and Disconnect.
Reconnect
Choose Reconnect on the channel, or use the link in the banner that appears when a channel needs it. You must sign in with the account you originally linked. Otherwise MagicPost answers That is a different account. Reconnect using the account you originally linked.Disconnect
Disconnect removes the channel from your list. Anything still waiting to go out through it is skipped with the reason The channel was disconnected. Posts it already published and their analytics stay in MagicPost and come back if you reconnect the same account.Connection checks
Click Check (or Check again) on a channel, or Check connection in its actions menu. MagicPost asks the network whether the channel can still post and stores the answer. The channel then shows one of:
Click the badge to open Connection check. It lists each item with its explanation and a Reconnect button when one is needed. Each network page lists the items its check produces.
If the network turns the authorisation down, the check marks the channel Expired. If the network accepts it again, an expired channel goes back to Active.
What runs automatically
These tasks need the scheduler to run every minute, see Cron and queue.- Every hour, MagicPost renews tokens that expire within 24 hours, for connections that can renew themselves.
- Every hour, at half past, it checks active channels that have a post due within two days and were last checked more than 20 hours ago. It checks up to 25 channels per run.
- When a channel becomes Expired, the owner receives a Reconnect notification. In-app and email delivery are on by default, see Notifications.
When a channel is not ready
A post that is due while its channel cannot publish waits instead of failing at once.
The waiting time is set in Admin → Publishing → Settings, in the Retries and waiting card, under Wait for a channel for up to. The default is 24 hours and the allowed range is 1 to 168 hours. The same card has Tries before a post fails. See Publishing settings and Failed posts.
Where limits come from
Per-network limits are declared once, inconfig/publishing.php, under platforms. The composer, the content checks and the publishers all read from that one place. Each network page lists the limits as the application ships them.
- When a post breaks a rule, the channel shows an issue in the composer. Read the message and fix the post before you schedule it.
- An image that does not meet a network’s format, size, shape or dimension rule is converted automatically. MagicPost re-encodes it to JPEG, PNG or WebP, compresses it, pads it to an accepted shape or shrinks it as needed. The original in the media library is not changed. Animated GIFs are sent as they are on networks that accept GIF.
- Video is never converted. It is checked against the network’s format, size and length, and flagged when it does not fit.
- Some limits depend on the account. Examples are the longer posts of an X subscriber, the video length a TikTok creator is allowed, the larger videos of a Telegram channel when you run your own Bot API server, and the first comment, which is hidden when the connection lacks the permission for it.
Upload ceilings
Before any network rule applies, the media library enforces its own ceilings. Set them in Admin → Publishing → Settings, in the Uploads card.
The library accepts these formats:
A network can list a format the library does not accept, for example flv for YouTube. Such a file cannot be uploaded to the library in the first place. See Media library.
Analytics
Every network on this page reads engagement and audience figures back into Analytics. An administrator can switch the hourly read on or off with Collect analytics in Admin → Publishing → Settings. Each network page lists the figures it provides. See Analytics.Next steps
Channel credentials
The admin page where keys are stored.
Connect channels
The user’s view of the Channels page.
Composer
Where per-channel text, options and first comments are set.
Channel connection problems
Redirect mismatches, expired tokens and missing permissions.

