Each network has its own setup page with the developer-console steps, scopes and posting limits. This page covers the MagicPost side. Start with Publishing channels.
What a card shows
Add credentials
1
Open the setup panel
Click Add credentials on the network’s card. For a network that already has keys the button reads Edit credentials. A panel titled Set up followed by the network name opens on the right.
2
Choose the kind of app (LinkedIn and WhatsApp only)
Where the network offers more than one setup, Kind of app appears first. The console steps, permissions and fields below change to match your choice. Changing it later means everyone reconnects their channels for that network.
3
Register the app in the network's console
Open the section titled In the followed by the console’s name, for example In the X Developer Portal, and follow its numbered steps. The Open the button below the steps takes you to that console. The section starts expanded until keys are stored.
4
Copy the values MagicPost gives you
Under What to register, copy the Redirect URI (the callback URL) with Copy and paste it into the app exactly. Permissions asked for lists the scopes to request, and Copy all copies them in one go.
5
Paste the keys back
Enter the Client ID and Client secret from the console. The labels follow the console’s own wording, see the table below. Stored secrets are encrypted, and the secret field then reads “Leave blank to keep the stored secret”.
6
Save and switch on
Tick Available to users and click Save. You can also leave it unticked and use the switch on the card later.
What to copy from each console
Per-network details: X, LinkedIn, Facebook Pages, Instagram, Threads, TikTok, YouTube, Pinterest, WhatsApp and Telegram.
Callback URL
Every OAuth network uses one callback URL pattern, built from your Website URL in Global settings (theAPP_URL value):
PLATFORM is the network key from the table below. The URL has no language prefix, so it matches character for character on every callback.
Always copy the value from the setup panel instead of typing it, because it reflects your current site address.
If your site is reached through a different address than the one in
APP_URL, set Custom redirect URI in the panel. It must be a full URL up to 255 characters, and it replaces the default. Leave it empty otherwise.
Run checks
Click Run checks on a card to open Configuration checks. For an OAuth network it verifies, without contacting the network:
When every check passes, the card shows Last checked. The checks cannot detect a wrong secret. The real test is connecting a channel yourself under Channels, see Connect channels.
Switch a network on or off
Use the switch on the card. MagicPost confirms with “is now available to users” or “is hidden from users”.- You can only switch a network on after the client ID and secret are stored. Otherwise MagicPost asks you to add them first.
- A network that is off cannot be connected, and posts to channels on it wait. How long they wait before they are skipped is Wait for a channel for up to in Publishing settings.
- The Networks health check fails when no network is switched on.
Field limits
Pinterest sandbox
New Pinterest apps start on Trial access, which can create pins only in the Pinterest sandbox. Pinterest is the one network with a sandbox option. Tick Use the Pinterest sandbox to test on Trial access, then untick it once Pinterest grants Standard access. In sandbox mode pins are visible only to the account that created them.WhatsApp setups
WhatsApp is linked through a provider, so its panel asks for different fields. Choose a Kind of app:- The URL you register replaces the Redirect URI. It is labelled Webhook URL for WAHA and Whapi and Callback URL for the official setup. It is
APP_URL/webhooks/whatsapp/waha,APP_URL/webhooks/whatsapp/whapiorAPP_URL/webhooks/whatsapp/official, depending on the setup. Custom webhook URL overrides it for a server that reaches your site by another address. - With the official setup, the panel pre-fills the App ID from your Facebook or Instagram app when one is saved. Leave App secret blank to reuse that app’s secret.
- Webhook signing key is 16 to 255 characters. Leave it blank to have MagicPost generate one. Webhooks signed with a key you just replaced are still accepted for 15 minutes.
- Verify token (official setup) is 16 to 100 characters, letters, digits, dots, hyphens and underscores. MagicPost pre-fills a random one.
- App ID (official setup) is 5 to 20 digits.
- Shortest gap is 1 to 300 seconds and Longest gap is at least the shortest and at most 600. Each number waits a random time between them before its next message. The defaults are 5 and 15 seconds.
- WAHA and Whapi are not official WhatsApp APIs. The panel shows a note that numbers used this way can be restricted by WhatsApp.
- The Whapi API address must start with
https://.
Telegram setup
Telegram posts through a bot, so its panel asks for different fields. The guide section is titled In the @BotFather chat.- The Webhook URL under What to register is
APP_URL/webhooks/telegram. You do not paste it anywhere, because MagicPost registers it with Telegram when you save. The panel has no Custom redirect URI field for Telegram. - Saving checks the token with Telegram first, and a webhook needs an https address on port 443, 80, 88 or 8443. Choose Polling for a site on localhost or without https.
- A bot that already sends its updates to another address is not taken over until you tick Move this bot’s updates here.
- The card shows the badges Channel and Group, and Message under the name.
- Remove also removes the bot’s webhook at Telegram. While people may use their own bots, the button reads Remove the site’s bot and keeps their bots running.
- Run checks asks Telegram about the token and the delivery of updates, unlike the checks for OAuth networks.

