MokonyxSocial
Social media publishing and Open Graph meta tag management for Joomla — a unified extension that cross-posts your content to social, email-marketing and chat platforms, and controls how your pages render as link previews (Open Graph, Twitter Card, JSON-LD). Merges the former MokoSuiteCross and MokoSuiteOpenGraph.
ActivityPub (Fediverse) — Connect it to MokonyxSocial
- Details
- Category: MokonyxSocial
- Applicable Software: MokonyxSocial
- Min Version Number: 01.03.00 and later
- Max Version Number: Not Applicable
Connect ActivityPub and MokonyxSocial will publish your content as a Create/Note activity into your actor's outbox, so it federates out to your followers on Mastodon, Pleroma, and the wider Fediverse. One heads-up before you start: ActivityPub is a raw federation protocol, not a hosted API, so you'll need an actor whose outbox you can actually write to — a plain hosted Mastodon account usually won't expose one.
What you need
- An ActivityPub actor you control on a server that exposes a writable outbox.
- A bearer token allowed to POST activities to that outbox.
- The full HTTPS URL of your actor's outbox.
Get your credentials
Access token access_token (required)
This is the bearer token that lets MokonyxSocial post to your outbox on your behalf. How you get it depends on where your actor lives:
- On a Mastodon-compatible instance: log in, head to Preferences → Development → New application (
https://), tick the/settings/applications write:statusesandreadscopes, save, and copy the Your access token value it shows you. - On your own server / custom actor: mint a bearer token through your admin panel or OAuth flow that's allowed to post to the outbox.
Paste just the raw token — no Bearer in front.
Actor outbox URL actor_outbox (required)
This is the exact address your posts get delivered to. To find it, fetch your actor object (your profile URL requested with Accept: application/activity+json) and look for the "outbox" field in the JSON — it'll look like https://. Copy that value in verbatim.
Set it up in MokonyxSocial
- In Joomla admin, go to Components → MokonyxSocial → Services → New.
- Choose ActivityPub.
- Enter the credentials above.
- Click Send Test to check it, then Save & Close and make sure it's Published.
Verify
Once Send Test goes green, look at your actor's public timeline or ask a follower to check their Fediverse app for the test note. When you publish something real, confirm it shows in the outbox and lands on remote instances.
Troubleshooting
- Getting 401 or 403? Your token probably lacks
write:statusesor has expired — regenerate it with write scope. - 404 on the outbox? The
actor_outboxURL is off — re-fetch your actor JSON and copy theoutboxfield exactly. - Posted but nobody sees it? Remote folks may not follow your actor yet, or your server's HTTP signature delivery needs attention.
- 415 error? Your host wants
application/activity+json— that's a server-side setting on your instance.
Notes & limits
- Your home instance sets the character cap (Mastodon defaults to 500); anything longer gets trimmed by the receiver.
- Whether media attaches depends on your actor's host.
- Federation is asynchronous, so give it a few seconds to minutes to reach other servers.
- This is the most technical connector here — if all you have is a standard hosted Mastodon login without outbox access, a dedicated Mastodon connector will be far easier.
- Hits: 0
Blogger — Connect it to MokonyxSocial
- Details
- Category: MokonyxSocial
- Applicable Software: MokonyxSocial
- Min Version Number: 01.03.00 and later
- Max Version Number: Not Applicable
Once connected, MokonyxSocial posts your Joomla content straight to your Google Blogger blog using the Blogger v3 API. One thing to know up front: Blogger's API needs a Google OAuth 2.0 access token with the blogger scope — a plain API key only reads, it can't create posts, so we'll walk through getting a proper token.
What you need
- A Google account with a Blogger blog already set up.
- A Google Cloud project with Blogger API v3 turned on.
- An OAuth 2.0 access token with the
https://www.googleapis.com/auth/bloggerscope.
Get your credentials
Access token access_token (required)
This is your Google OAuth 2.0 bearer token, scoped for Blogger. Here's how to get one:
- Open the Google Cloud Console (
https://console.cloud.google.com/), pick or create a project, then under APIs & Services → Library enable Blogger API v3. - Go to APIs & Services → Credentials → Create credentials → OAuth client ID and set up an OAuth client (you may need to fill in the consent screen first).
- Run the OAuth authorization-code flow asking for the
https://www.googleapis.com/auth/bloggerscope and swap the code for an access token. The quickest path is the OAuth 2.0 Playground (https://developers.google.com/oauthplayground/): pick the Blogger scope, authorize with your Google account, and copy the Access token it hands back.
Paste the raw token in.
Blog ID blog_id (optional)
This is the numeric ID of the blog you want to post to. Leave it blank and we'll use the first blog on your account. To grab it, sign in at https://www.blogger.com/, open your blog, and read the blogID= number in your browser's address bar. (Or call GET /v3/users/self/blogs and copy the id.) Just the number, please.
Set it up in MokonyxSocial
- In Joomla admin, go to Components → MokonyxSocial → Services → New.
- Choose Blogger.
- Enter the credentials above.
- Click Send Test to check it, then Save & Close and make sure it's Published.
Verify
When Send Test succeeds, pop over to your Blogger dashboard and look for the test post. Then publish a Joomla article and confirm it lands on the blog.
Troubleshooting
- 401 Invalid Credentials? Google access tokens only live about an hour — regenerate it, or make sure your setup refreshes it.
- 403 Insufficient Permission? Your token is missing the
bloggerscope — redo the OAuth flow with the right scope. - 404 Blog not found? Double-check the
blog_idagainstGET /v3/users/self/blogs. - Everything saves as a draft? Check Blogger's publish setting for API-created posts.
Notes & limits
- Access tokens expire every hour, so for ongoing use you'll want a refresh token to auto-renew.
- Google Cloud sets per-project daily and per-minute quotas.
- Post bodies accept HTML, so your formatting carries over; make sure images are on public URLs.
- Hits: 0
Bluesky — Connect it to MokonyxSocial
- Details
- Category: MokonyxSocial
- Applicable Software: MokonyxSocial
- Min Version Number: 01.03.00 and later
- Max Version Number: Not Applicable
Hook up Bluesky and MokonyxSocial will post your content to your account over the AT Protocol. Keep in mind Bluesky caps posts at 300 characters, so anything longer from Joomla gets trimmed — usually down to a title and a link.
What you need
- A Bluesky account.
- An App Password created in Bluesky settings (not your normal login password).
- Your handle and the PDS service URL (almost always
https://bsky.social).
Get your credentials
Handle handle (required)
This is your full Bluesky name including the domain, like yourname.bsky.social — or a custom-domain handle such as blog.example.com if you've configured one. You'll see it on your profile or under Settings; it's whatever follows the @. Type it in without the @.
App password app_password (required)
This is a separate, revocable password so you never have to hand over your real one. To make one, sign in at https://bsky.app/, go to Settings → Privacy and Security → App Passwords → Add App Password (shortcut: https://bsky.app/settings/app-passwords), name it something like "MokonyxSocial", and copy the xxxx-xxxx-xxxx-xxxx password it generates. It only shows once, so grab it — dashes and all.
Service URL service_url (required)
This is your Personal Data Server (PDS) address. If you're on the regular Bluesky network, it's https://bsky.social. Only change it if you self-host a PDS or your account lives on a third-party one. Unsure? Use https://bsky.social.
Set it up in MokonyxSocial
- In Joomla admin, go to Components → MokonyxSocial → Services → New.
- Choose Bluesky.
- Enter the credentials above.
- Click Send Test to check it, then Save & Close and make sure it's Published.
Verify
Once Send Test goes green, check your Bluesky feed for the test post. After that, publishing a Joomla article should drop a matching post with a link card.
Troubleshooting
- "Invalid identifier or password"? You probably left an
@on the handle, or used your main password — make an App Password and re-enter the handle without the@. - "Could not resolve handle"? Your
service_urldoesn't match your account's PDS — the default ishttps://bsky.social. - Post rejected as too long? You're over 300 characters — shorten your template.
- Rate limited? Bluesky throttles fast posting; spread your publishes out.
Notes & limits
- Hard cap of 300 characters per post.
- Link cards come from the shared URL's Open Graph tags, so running MokonyxOpenGraph alongside gives you nicer previews.
- You can revoke an App Password anytime without touching your main password.
- Images can attach but must fit Bluesky's size and count rules.
- Hits: 0
Brevo (email) — Connect it to MokonyxSocial
- Details
- Category: MokonyxSocial
- Applicable Software: MokonyxSocial
- Min Version Number: 01.03.00 and later
- Max Version Number: Not Applicable
Connect Brevo (the platform formerly called Sendinblue) and MokonyxSocial will send your content out as an email campaign to a contact list through the Brevo v3 API. Just so you know, this one's an email connector rather than a social feed — your readers get the Joomla content in their inbox, and how much you can send depends on your Brevo plan's quota.
What you need
- A Brevo account (
https://www.brevo.com/). - A verified sender email or domain in Brevo.
- A v3 API key that can create and send campaigns.
- Optionally, the numeric ID of the list you want to email.
Get your credentials
API key api_key (required)
This key is what lets MokonyxSocial talk to Brevo. To make one, sign in, click your account name in the top-right and pick SMTP & API (or jump straight to https://app.brevo.com/settings/keys/api). On the API Keys tab, hit Generate a new API key, name it something like "MokonyxSocial", and copy the value — it begins with xkeysib- and only appears once, so grab the whole thing.
List ID list_id (optional)
This is the numeric ID of the contact list that should get the campaign. Leave it out and we'll use your default. To find it, go to Contacts → Lists in Brevo (https://app.brevo.com/contact/list-listing), open your list, and note the ID shown in the details or URL. Just the number.
Set it up in MokonyxSocial
- In Joomla admin, go to Components → MokonyxSocial → Services → New.
- Choose Brevo.
- Enter the credentials above.
- Click Send Test to check it, then Save & Close and make sure it's Published.
Verify
After Send Test succeeds, look under Campaigns in your Brevo dashboard for the new campaign and confirm a test recipient got the email. Then publish a Joomla article and watch the campaign go out.
Troubleshooting
- 401 Unauthorized? Your
api_keyis wrong or revoked — generate a fresh v3 key. - "Sender not valid"? You need a verified sender first — set one up under Senders in Brevo.
- "List does not exist"? Check the
list_idunder Contacts → Lists. - Campaign created but nothing arrived? Check your plan's daily send limit and your account's standing.
Notes & limits
- Your Brevo plan's quota caps how much you can send (free plans are pretty low).
- You must verify a sender before anything will go out.
- Email HTML supports rich formatting; keep images on absolute public URLs.
- Brevo adds a required unsubscribe link so recipients can opt out.
- Hits: 1
Constant Contact (email) — Connect it to MokonyxSocial
- Details
- Category: MokonyxSocial
- Applicable Software: MokonyxSocial
- Min Version Number: 01.03.00 and later
- Max Version Number: Not Applicable
Connect Constant Contact and MokonyxSocial will send your content out as an email campaign to your contacts through the Constant Contact v3 API. Heads-up: this is an email connector, and Constant Contact uses OAuth 2.0, so your credential is a short-lived access token you'll need to refresh now and then.
What you need
- A Constant Contact account (
https://www.constantcontact.com/). - A developer app registered on their developer portal.
- An OAuth 2.0 access token with the
campaign_data(andcontact_data) scopes.
Get your credentials
Access token access_token (required)
This is the OAuth 2.0 bearer token that lets MokonyxSocial create and send campaigns for you. Here's how to get one:
- Sign in to the Constant Contact Developer Portal (
https://developer.constantcontact.com/), go to My Applications, and create an app to get a Client ID (API key) and Client Secret. - Add a redirect URI to the app.
- Run the OAuth authorization-code flow (authorize at
https://authz.constantcontact.com/oauth2/default/v1/authorize), asking for scopes likecampaign_data,contact_data, andoffline_access, then trade the code at the token endpoint for an access token (plus a refresh token).
Paste the raw access token in.
Set it up in MokonyxSocial
- In Joomla admin, go to Components → MokonyxSocial → Services → New.
- Choose Constant Contact.
- Enter the credentials above.
- Click Send Test to check it, then Save & Close and make sure it's Published.
Verify
Once Send Test succeeds, check Campaigns in your Constant Contact dashboard for the new campaign and confirm a test recipient got it. Then publish a Joomla article and watch the email go out.
Troubleshooting
- 401 Unauthorized? Your access token expired — refresh it with your stored refresh token, or re-run the OAuth flow.
- 403 / insufficient scope? The token's missing
campaign_data— re-authorize with the right scopes. - Sender error? You need a verified from-address in Constant Contact.
- No recipients? Attach a valid contact list to the campaign in your account.
Notes & limits
- Access tokens are short-lived — grab the
offline_accessscope and a refresh token so sending keeps working unattended. - Your plan sets the API and sending limits.
- CAN-SPAM means you need a verified from-address and a physical mailing address on file first.
- Email HTML supports formatting; keep images on absolute public URLs.
- Hits: 1