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

Beta dashboard section for Instagram and Threads — connect accounts, draft posts, approve with a schedule, and let Aveiro dispatch through Chirio. Agents can draft via API and MCP; humans approve.
Updated 6d ago
Connecting Social Accounts
In short
Social publishing is a beta dashboard section for Instagram and Threads. 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 and Threads 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.

Beta access

Social publishing is a beta, org-scoped feature. It is off by default. To turn it on:
  • Go to Organization → Features
  • Enable Social publishing
  • Reload the dashboard — Social appears in the sidebar
You also need the Audience manage capability (owners and admins have this by default). If Chirio is not configured on the deployment, the accounts strip shows a setup notice instead of connect buttons.

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 and Threads 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 and Threads accounts are linked. Use Add in its header and pick a platform to start Chirio's OAuth flow. You need at least one active account before approving a post.
See Connecting accounts for the full setup flow.

Post list

Each post is one compact row:
  • 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.
Use New post to create a blank draft from the dashboard.

Post editor

Inside an expanded row you can:
  • Write a base caption used on every platform without an override
  • Pick target accounts with checkboxes
  • Add per-platform caption overrides — required when Instagram (2,200 chars) and Threads (500 chars) need different copy
  • Attach media from the org library, upload, AI-generate, or register a public URL
  • Set a schedule datetime — approval copies this into the confirmed publish time

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. That is what the per-slide platform selector is for.
In the dashboard: the AI generator in the media picker includes an aspect ratio selector. Pick square, portrait, or landscape presets before 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, Supa Hub 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.

LinkedIn PDF carousels

What LinkedIn calls a carousel is a document post — one multi-page PDF the feed paginates into swipeable slides, and the format that reliably outreaches a plain image post there.
You never make the PDF. Attach the slides like any other carousel, tick Publish as PDF carousel under the LinkedIn account in the editor, and Aveiro composes the slides into a document at publish time.
What changes, and what does not:
  • The caption and first comment publish exactly as on a feed post.
  • A carousel title field appears; it is the headline LinkedIn shows above the slides. Leave it blank and the first line of the LinkedIn caption is used.
  • The 10-image cap does not apply — the slides become pages of one document instead.
  • Give the deck one aspect ratio (1:1 or 4:5 read best). A slide of a different shape is letterboxed onto the deck's page rather than cropped, so nothing on it is lost, but the band shows.
  • Video cannot be a slide. Approval refuses the post and says which target to fix.
  • Every other target still receives the same slides as images, so one post goes out as a LinkedIn carousel, an Instagram carousel and an X post from a single deck.
Agents do the same thing through postType: "document" on the LinkedIn target — see Agents and API.

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
PublishedAt least one target succeeded — includes partial publishes where one platform is live and another failed; use Retry on the failed target
FailedEvery target failed — fix the errors and retry
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
  • 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 and Threads
  • Approval workflow — submit, approve, schedule, and publish
  • Agents and API — social:write tokens, REST routes, and MCP tools