- Activate Social for the identity with
POST /v1/identities/{id}/social/activate. - Create a hosted portal link with
POST /v1/identities/{id}/social/portal. - Give the returned URL to the person who owns the accounts.
- Poll
GET /v1/identities/{id}/social/accounts; it reads the provider’s current state.
VETTA_SOCIAL_API_KEY configured. This is the social publishing provider’s
key, not the connections provider’s. Without it, activation fails closed
with feature_not_configured.
Agent tools
When a session selects an activated identity, its harness receives four tools:social.accountslists connected accounts.social.postpublishes or schedules a text post.social.statusreads one published post’s status and per-network analytics, by the idsocial.postreturned.social.post_metricsreads how the organization’s recent posts are doing, each metric against the identity’s usual.
social.post takes ai_generated: a post whose media was made with AI carries each network’s
AI-content label where it has one and ends its caption with #AIgenerated. A post that attaches a
character’s render is always labelled, and so is every post from an agent whose social.post config
is { "ai_generated": true } (see AI-generated posts).
social.post defaults to ask, including when the agent’s default tool policy is allow. Set an
explicit policy for social.post if the agent should always be allowed or denied. A session with no
selected identity receives none of them.
Publishing supports text and URL-backed media on Bluesky, Facebook, LinkedIn, Mastodon, Threads,
and X. The account portal also connects Instagram, TikTok, YouTube, Pinterest, and Reddit. The API
can read account/post analytics and post comments, and can delete a post after verifying it belongs
to the identity’s provider workspace.
Social API
Activate a workspace, connect accounts, and publish text posts.