Aveiro Documentation
Getting Started
What Is Aveiro?
Create Your Account
Create Your First Site
Dashboard Tour
Key Concepts
Members and Permissions
API Tokens
Aveiro MCP server
Organization
Affiliate Program
Sites
Sites Overview
Choosing a Template
Managing Sites
Preview and Live URLs
Social
Social Publishing Overview
Connecting Social Accounts
Social Approval Workflow
Social Agents and API
Audience
Audience Overview
Campaigns
Automation
Segments
Deliverability
Sending Domains
Embed Forms
Subscribers
Audience Agents and API
Messaging
Messaging Overview
Visitor Support Chat
Inbox
Analytics
Analytics Overview
Events
Live Visitors
Page Analytics
Editor
Editor Overview
Media Library
Pages
Pages Overview
File Tree and Collections
Creating and Organizing Pages
Page Settings
Publishing Pages
Version History
Ai
AI Overview
Chat and Suggestions
Working with AI Changes
Translations
Translations Overview
Layout
Layout Overview
Site Layouts
Collection Layouts
Header, Footer, and Sidebars
Ad Placements
Components
Components Overview
Adding and Editing Components
Component Categories
Writing with MDX
Editing
Keyboard Shortcuts
Preview, Visual, and Source
Styles
Styles Overview
Block Styles
Site Theme and Branding
Settings
Visitor Login
Analytics and Privacy
Custom Domains
Settings Overview
Publishing Settings vs Content
SEO and Social Sharing
Site Name and URL
Visitor Assistant
Site Ad Settings
Integrations
Integrations Overview
Fourthwall Integration
Studio
Studio Overview
Frametic Studio
Monetization
Monetization Overview
Products
Merchant of Record
Ads
Ads Overview
Managing Ad Inventory
TrademarkTrademark
Ctrl k
Search…
Sign up
Aveiro Documentation
Getting Started
What Is Aveiro?
Create Your Account
Create Your First Site
Dashboard Tour
Key Concepts
Members and Permissions
API Tokens
Aveiro MCP server
Organization
Affiliate Program
Sites
Sites Overview
Choosing a Template
Managing Sites
Preview and Live URLs
Social
Social Publishing Overview
Connecting Social Accounts
Social Approval Workflow
Social Agents and API
Audience
Audience Overview
Campaigns
Automation
Segments
Deliverability
Sending Domains
Embed Forms
Subscribers
Audience Agents and API
Messaging
Messaging Overview
Visitor Support Chat
Inbox
Analytics
Analytics Overview
Events
Live Visitors
Page Analytics
Editor
Editor Overview
Media Library
Pages
Pages Overview
File Tree and Collections
Creating and Organizing Pages
Page Settings
Publishing Pages
Version History
Ai
AI Overview
Chat and Suggestions
Working with AI Changes
Translations
Translations Overview
Layout
Layout Overview
Site Layouts
Collection Layouts
Header, Footer, and Sidebars
Ad Placements
Components
Components Overview
Adding and Editing Components
Component Categories
Writing with MDX
Editing
Keyboard Shortcuts
Preview, Visual, and Source
Styles
Styles Overview
Block Styles
Site Theme and Branding
Settings
Visitor Login
Analytics and Privacy
Custom Domains
Settings Overview
Publishing Settings vs Content
SEO and Social Sharing
Site Name and URL
Visitor Assistant
Site Ad Settings
Integrations
Integrations Overview
Fourthwall Integration
Studio
Studio Overview
Frametic Studio
Monetization
Monetization Overview
Products
Merchant of Record
Ads
Ads Overview
Managing Ad Inventory
TrademarkTrademark
AveiroBlogContact
© Aveiro. All rights reserved.
Built with Aveiro

Social Publishing Overview

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.
Updated 8d ago
Connecting Social Accounts
In short
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 editorMDX pages and site settings to your domainYou choose when to publish from the editor menu
Social dashboardInstagram, Threads, LinkedIn, and X posts via ChirioA human must approve; agents cannot publish autonomously
AudienceEmail campaigns to subscribersYou 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.
See Connecting accounts for the full setup flow.

Post list

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 four aspectRatios 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.
Details: Agents and API and Social media API.

Publishing credits

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
Instagram5Same rate as Threads and LinkedIn
Threads5
LinkedIn5
X25Posts without a link in the caption or comment
X (with URL)325When the caption or first comment contains a link
Monthly grants by plan:
Plan
Publishing credits / month
≈ Meta writes
Free100~20
Starter250~50
Creator1,000~200
Professional4,000~800
EnterpriseUnlimited—
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.
Details: Approval workflow.

Status lifecycle

Posts move through a fixed pipeline. A proposed schedule from an agent is a suggestion only — it never publishes until a human approves.
Status
Meaning
DraftWork in progress — not yet submitted for review
Needs reviewWaiting for a human to approve or reject
ApprovedReady to publish — waiting for schedule time or Post now
ScheduledApproved with a future publish time
PublishingDispatcher is sending to Chirio
PublishedAll targets succeeded
FailedOne or more targets failed — retry after fixing
RejectedSent back with feedback — edit and resubmit
Full workflow details: Approval workflow.

Human-in-the-loop by design

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.
See Agents and API for token setup, endpoints, and MCP tool names. API reference: Social API overview.

Guides in this section

  • Connecting accounts — link Instagram, Threads, LinkedIn, and X
  • Approval workflow — submit, approve, schedule, and publish
  • Agents and API — social:write tokens, REST routes, and MCP tools