How channels work
A channel is any destination outside your WordPress site that Structura can push a newly published post to — LinkedIn, Slack, Discord, Telegram, IndexNow, an email to you, and so on. When a campaign publishes a post, Structura fans it out to every channel you’ve connected.
Think of your WordPress site as the home for the article and channels as the places it gets announced.
The three moving parts
A channel has three parts working together:
Your WordPress site. Runs the plugin. When a post publishes, the plugin tells the Structura cloud “a post just went live” — with the title, URL, summary, and image.
The Structura cloud. Receives that event and fans it out to every channel you’ve connected for this site. The cloud holds your channel credentials (OAuth tokens, webhook URLs, API keys) encrypted and scoped per site.
The channel itself. LinkedIn, Slack, Discord — the actual destination. The cloud calls the channel’s API with whatever the channel expects, using the credentials you authorized.
Why the cloud handles dispatch. Channel APIs require secrets we’d otherwise have to store on every WordPress site. Centralizing in the cloud means (a) your tokens don’t live on your server, (b) token refresh happens without touching your site, and (c) we can fix a channel bug without pushing a plugin update.
What gets sent to a channel
Every channel receives the same core payload:
- Post title.
- Post URL on your WordPress site.
- Summary or excerpt — typically the first paragraph or the post’s excerpt field.
- Featured image URL — if the post has one.
- Publish timestamp.
Each channel then formats those fields for its own surface. LinkedIn turns them into a link preview post; Slack turns them into a Block Kit card; IndexNow sends just the URL; Email sends a plain notification with the first paragraph inline. See each channel’s page for the specifics.
The Channels Store
All available channels live in the Channels Store, accessible from the main portal at app.structurawp.com and mirrored inside wp-admin. You browse what’s available, connect the ones you want, and they become active destinations for every site on your license.
See Browse the Channels Store to find channels, and Connecting a channel for the general connect flow.
Connection types
Channels connect in one of three ways, depending on what the destination service supports:
OAuth. You click Connect, get redirected to the channel’s sign-in page, and approve access. Used for: LinkedIn. (More OAuth channels are planned.)
Webhook URL. You paste a URL that Structura posts to. Used for: Slack, Discord.
Credentials / key. You enter an API key or similar identifier. Used for: IndexNow (your site’s key file), Telegram (bot token + chat ID).
No connection needed. A small number of “self-contained” channels work with nothing to connect. Used for: Email to owner (uses your WordPress admin email).
Which connection type applies is clearly shown when you click Connect in the store — you’ll either see an OAuth Connect button, a webhook-URL input, or an API-key form.
What you control per site
Connections are activation-scoped — meaning they’re tied to the specific site activation, not to your license broadly. If you activate Structura on two different sites, you manage their channel connections independently.
This lets you have, say, LinkedIn connected on your company site and Discord on your side-project site without cross-posting.
Channel lifecycle
A channel on your site goes through these states:
- Not installed. In the store, showing Connect.
- Installed / connected. Dispatches fire when posts publish.
- Needs attention. A dispatch failed (bad credential, revoked OAuth, channel outage). The UI surfaces an inline error.
- Disconnected. You explicitly removed it. Dispatches stop.
See Channel activity & errors for how to monitor state, and Disconnecting or reconnecting for how to move out of states 2 or 3.
When dispatches fire
A dispatch is attempted once per channel per post publish, at the moment the post goes live. There’s no retry queue for failed dispatches in the MVP — if Slack is down when your post publishes, that post doesn’t make it to Slack automatically.
What you can do:
- Watch the Logs page (Structura → System Logs, filter
CHANNELS.) to see dispatch outcomes. - Fix the underlying credential or wait for the channel’s outage to clear.
- Manually share the missed post from the channel itself if needed.
See Channel activity & errors.