GenieOS · Social for developers

Post to every network from one call.

create_social_post takes a brief and returns a variant per network, reshaped for each audience and cropped for each canvas. Schedule it, publish it, read the numbers back over the same surface. And when an event fires in your system, a post can go out without anyone opening a composer.

create.tsts
// one brief. a variant per network comes backconst post = await create_social_post({  brief: "Fueld launch: your health data finally has a home",  campaign: "the-directory",  networks: ["linkedin", "x", "instagram"],}); // post.variants: copy, crop and caption fitted per network
The surface
  • create_social_postone brief in, per-network variants back
  • schedule_social_postqueue it for the moment it should land
  • publish_social_postnow, to every connected network
  • delete_social_posttake it down, everywhere it went
  • get_social_post_analyticsreach, engagement and clicks, as data
  • list_social_networks · refresh_social_networkswhat is connected, kept fresh
  • list_social_event_templatesthe transactional social kit, listed
  • browse_social_event_kitwhat an event can trigger
  • preview_social_eventthe post an event would produce
  • trigger_social_eventan event in, a post out
  • list_social_event_runsevery run, accounted for
IN-APP · JUDGEThe agent drafted it. You look at it.
← LIBRARYLinkedInXInstagramFacebook4 VARIANTSUnify message & hashtags ⌄

LinkedIn

auto crop

LandscapeSquarePortrait

X

auto crop

LandscapeSquarePortrait

Instagram

auto crop

SquarePortraitLandscape

Facebook

auto crop

LandscapeSquarePortrait

Fueld · 1st

Health intelligence platform

5,284 followers · 2h

+ Follow

Your health data finally has a home.

You track your sleep, your HRV, your blood work, your steps — and it lives in six different apps that never talk to each other. When you actually need the full picture, it’s nowhere.

The Fueld Directory brings it all together …see more

#health #wellness #fueld

draftIgnite featureSonnet ⌄⟳ Regenerate

CAPTION

Your health data finally has a home.

You track your sleep, your HRV, your blood work, your steps — and it lives in six different apps that never talk to each other. When you actually need the full picture, it’s nowhere.

Bring it together. See the full picture. Act with context.

512 / 1300 · Professional warmth — open with a hook, end with a soft prompt.

ALT TEXT

A woman enjoying a fresh fruit bowl at home — everyday health, in context…

CALL-TO-ACTION URL

https://

Here's the image I generated for this post — it's saved to your asset library so you can reuse it anywhere.

⏎ to send

One call in. Every variant out.

The response to create_social_post lists a variant per network: copy reshaped for each audience, crops fitted to each canvas, captions and tags where they belong. It tells your agent everything except the thing that matters most, which is whether each one looks right.

That is a judgement, so it happens in the app. The variants sit side by side, each previewed the way its network will render it. Approve the set, or fix the one crop that fights the image and let the rest go.

events.tsts
// an event in your system becomes a post, templatedconst kit = await browse_social_event_kit(); // see exactly what would go out before it doesawait preview_social_event({  event: "release-shipped",  data: { version: "2.4.0", highlight: "Wearable sync, three times faster" },}); // happy? fire itawait trigger_social_event({  event: "release-shipped",  data: { version: "2.4.0", highlight: "Wearable sync, three times faster" },}); // and every run stays on the recordconst runs = await list_social_event_runs();

Transactional social.

Transactional email is a solved category: an event fires in your system and a message goes out, templated, immediate, accountable. Nobody offers that shape for social. GenieOS does. An event kit binds post templates to events, so a release shipping or a milestone landing becomes a post the moment it happens.

browse_social_event_kit shows what is available, preview_social_event renders exactly what an event would publish, and trigger_social_event fires it. list_social_event_runs keeps the history readable, because a post nobody briefed still has to be a post everyone can account for.

IN-APP · SUPERVISEWhat your agent has queued.
CalendarFueld
Calendar149 to make · 119 derived
EmailsSocialsMessagesCampaignsSequencesXLinkedInInstagramFacebookAllSourceDerived
THU 9FRI 10SAT 11SUN 12MON 13
09X09:30Sleep, training and food in one view
10LinkedIn10:00The Directory is live
11LinkedIn11:21Your health data finally has a homeInstagram11:23One place for every metric you track
12
13Facebook13:15What your numbers were trying to tell you
14LinkedIn14:45Most people are world-class at collecting health data
15

Fourteen posts is a spatial problem.

One post reads fine in a tool response. Fourteen queued across three networks and the next fortnight do not, and no amount of pagination fixes that. The calendar is built for the question your agent's output actually raises: what is going out, where, and when.

Filter to socials, scan the week, move the one that collides with the launch. Supervision at that scale is a reading problem, and the app is the better reader.

When this happens
  • WhenA PR merges with feat:

    ThenLaunch posts drafted for every network, held for approval

    • create_social_post
    • list_pending_approvals
  • WhenA new docs page merges

    ThenA social post, and a line in the next newsletter

    • create_social_post
  • WhenA status-page incident opens

    ThenSMS to enterprise contacts, a post to X and LinkedIn

    • send_transactional_sms
    • trigger_social_event

Ship the post with the release.