Dashboard section for Instagram, Threads, LinkedIn, X (paid plans), and Supa Hub — connect accounts, draft posts, approve with a schedule, and let Aveiro dispatch through Chirio. Agents can draft via API and MCP; humans approve.
Social publishing is a dashboard section for Instagram, Threads, LinkedIn, X (paid plans), and Orbit. Connect accounts through Chirio, compose posts with per-platform captions and media, submit for review, approve with a schedule, and let Aveiro dispatch at the right time. Publishing always requires a human click — agents can draft via API and MCP, not approve.
What social publishing is
Social is Aveiro's editorial pipeline for short-form social posts. It lives in the organization dashboard — separate from the site editor — and covers:
Connected accounts — Instagram, Threads, LinkedIn, X (paid plans), and Orbit linked through Chirio
Post drafts — captions, per-platform overrides, media, and target accounts
Review and approval — a human approves or rejects before anything publishes
Scheduling — pick a publish time; a background dispatcher sends due posts
Feedback thread — comments and rejection reasons agents can read when revising drafts
Open Social in the dashboard sidebar when the feature is enabled for your organization.
Availability
Social publishing is generally available for every organization — it is on by default and Social appears in the dashboard sidebar.You need the Audience manage capability (owners and admins have this by default). Org owners can turn the feature off under Organization → Features if you do not need social posting.If Chirio is not configured on the deployment, the Accounts page shows a setup notice and the Add button stays disabled.
How it differs from site publishing
Surface
What you publish
Approval
Site editor
MDX pages and site settings to your domain
You choose when to publish from the editor menu
Social dashboard
Instagram, Threads, LinkedIn, and X posts via Chirio
A human must approve; agents cannot publish autonomously
Audience
Email campaigns to subscribers
You send when ready; deliverability gates apply
Site SEO and social sharing settings control how links to your pages look when shared. The Social section publishes native posts to connected social accounts — a different channel with its own captions and media.
The Social page at a glance
Connected accounts
The Accounts page under Social lists which Instagram, Threads, LinkedIn, and X accounts are linked. Use Add in its header and pick a platform to start Chirio's OAuth flow. X is visible on every plan but connect and publish require a paid plan — the Add menu shows Paid plans with an upgrade link on free. You need at least one active account before approving a post.
The queue is grouped into four tabs — Review, Draft, Scheduled, and Published — each with a count badge. Review holds needs-review and rejected posts; Scheduled covers approved, scheduled, and in-flight publishing; Published includes successes and failures so you can retry without hunting.
Inside Review, Draft, and Scheduled, posts with the nearest deadline appear first — confirmed schedule, or an agent-proposed time when nothing is confirmed yet. Posts without any date sort after the dated ones (most recently touched first). Published reads newest-first by when targets actually went out, falling back to when the row was last updated.
Each post is one compact row inside its tab:
Status tag — Draft, Needs review, Scheduled, Published, and so on
Platform icons — which accounts the post targets
Caption preview — the base caption text
Schedule — confirmed time or an agent-proposed time (shown as proposed)
Click a row to expand the editor, action buttons, and feedback thread. Published and in-flight posts open a read-only summary instead — media plays inline (videos included), captions and first comments render as plain text, and each platform row shows a status icon plus handle. Click the icon to open a hover card with the full outcome and any per-platform errors (successful targets sort first). Use Activity and feedback to open the comment thread. On Published rows, each successful target shows a Repost control (share icon) that reshares that post from the same account after you confirm the credit cost — only X supports resharing today.
Use New post to open a composition dialog — nothing is saved until you click Save draft. Repost a link (next to New post) reshares any public post URL from your connected X accounts — it does not have to be one you published in Aveiro.
Post editor
Inside an expanded row you can:
Write a base caption used on every platform without an override
Pick target accounts with checkboxes
Open Platform override to edit per-platform captions and first comments in one dialog — required when Instagram (2,200 chars), Threads (500), or LinkedIn (3,000) need different copy
Attach media from the org library, upload, AI-generate, film a website into a 3D mockup video, or register a public URL — uploads and library picks get aspect-ratio tags at register time
AI disclosure on Instagram — assets Aveiro generated with AI are labelled as AI-generated at publish; Frametic website mockups register as rendered and are not labelled AI (they are pictures of real pages, not synthetic imagery)
Website mockup renders that finish but miss the completion webhook no longer stay pending forever — opening the renders list or polling the video API reconciles stale jobs against Frametic and refunds credits on failure
For Orbit targets, pick a space per hub account with a searchable picker — debounced search and pagination for large instances; Default space uses the slug from connect time
Click Set schedule to open a calendar and time picker; clear the adjacent control to approve without a future time
For Instagram targets, toggle Publish as story per account — stories publish one full-screen media item without the caption or first comment; 9:16 works best
Published post summary
Once a post has left the editable pipeline (Published or Publishing), expanding the row no longer shows the full editor. You get a compact summary: attached media (with inline video playback), the caption and first comment as read-only text, and one row per attempted platform with a hover-card status icon (successes listed first). Published rows also show engagement metrics — latest views, likes, comments, and related counts inline, with the full ~1h→7d snapshot curve in a hover card behind them. Metrics appear after the first collection pass (~1h after publish); targets without readable data say whether collection is still pending, unavailable, or unsupported rather than showing zeros. Failed posts stay editable so you can fix copy and retry — they remain in the Published tab for visibility but still open the editor.
Media, carousels, and per-platform crops
A post's media is a carousel: attach several images and every one publishes as a slide, in the order shown in the editor. Drag order is set with the arrows on each slide; the preview above the list shows the order the platforms will use.
Social posts also need different crops per platform — Instagram favors portrait (4:5), Threads often works best at 1:1, and landscape assets suit link previews elsewhere.
In the dashboard: the media picker can upload, AI-generate (with an aspect ratio selector), or film a website — paste a public URL and walk through Frametic's guided setup (probe the page, choose themes, format, backdrop, and capture). Credits are charged when the render is queued; the finished 3D mockup video lands in the library in a few minutes. Pending renders show as placeholders in the picker until the video is ready. Film a website is also available on Studio → Assets. For the full Frametic editor (projects, themes, and multi-format workflows), open Studio → Frametic Studio when your organization has the beta grant — see Frametic Studio. Pick square, portrait, or landscape presets before AI-generating. Each generation consumes org AI credits.
Via API and MCP: pass up to fouraspectRatios on POST /api/v1/social/media/generate (or aveiro_social_generate_media) to produce platform-fit crops from one prompt. Each ratio is billed separately and generated independently — reviewers see every asset before approval.
At publish: assets left on All platforms publish as the carousel, every slide, everywhere. Assets assigned to a platform become that platform's own set and replace the shared carousel for it — that is how one platform gets a different crop, or a different picture entirely.
Each platform caps the set: Instagram 10 slides, Threads 20, LinkedIn 10 images (or one video on its own), X 4, Orbit 10, Reddit a single image. Approval refuses a post over the limit and names the platform. An Instagram story publishes the first slide only — the rest still go out as a carousel on the feed.
Social publishing uses its own publishing credits pool — separate from email sends and AI generation. Each successful network write debits credits when Chirio posts to a platform:
one post to one platform = one write
that target's first comment = another write when it posts successfully
Failed targets and refused comments cost nothing. Retries never double-charge targets that already published.
In the dashboard:Social → Overview shows a Publishing credits card: credit readout and Top up on the left (moved from the pinned corner into the card), and 14-day activity sparklines on the right — posts per day from published posts, plus views per day when any connected platform reports them (LinkedIn does not report views, so the reach chart hides when no platform in the window reports views). Data comes from the same performance rollup used for per-post engagement metrics.
Platform
Credits per write
Notes
Instagram
5
Same rate as Threads and LinkedIn
Threads
5
LinkedIn
5
X
25
Posts without a link in the caption or comment
X (with URL)
325
When the caption or first comment contains a link
Monthly grants by plan:
Plan
Publishing credits / month
≈ Meta writes
Free
100
~20
Starter
250
~50
Creator
1,000
~200
Professional
4,000
~800
Enterprise
Unlimited
—
AI image generation in the social media picker still draws from AI credits, not publishing credits. Top-ups from Billing add to a shared wallet that covers overage across metered features.
When credits run out, scheduled posts fail at dispatch with a clear per-target error. Approve and Post now run a pre-flight check so you see the estimated cost before publishing.
X on paid plans
Publishing to X requires Starter or above. X charges per post — up to 13× more when the caption or first comment contains a link — so the free monthly grant cannot cover even one link post. Agents targeting X on a free plan receive 402 PLAN_LIMIT from the social API.
Aveiro owns the editorial pipeline; Chirio is the publish pipe. The guardrail is structural:
Approve, reject, and post now exist only in the dashboard UI
Editing a post someone else approved revokes approval and sends it back for review; editing your own re-stamps it and keeps the schedule. Use Move to review in the row menu when you want to demote without saving editor changes
The background dispatcher publishes only scheduled posts that were approved
Agent drafts (tagged agent on the row) can propose schedules and captions — they cannot bypass review
Agents and automation
AI agents and scripts can draft social posts through the REST API (/api/v1/social/*) or MCP tools (aveiro_social_*) when a token includes the social:write scope. Agents can list connected accounts, create and revise drafts, generate media, and read rejection feedback — but never approve or publish.