Coordination Zero OSby Audra Carpenter
Content Studio Playbook

Social Post

Build one reusable workflow for standalone posts and posts derived from approved content. Every platform variation becomes its own controlled record, so you generate only what you actually need.

Two intake paths One record per variation Manual or automated publishing
00
OverviewOne workflow. Two starting points. No automatic content explosion.
Listen to the playbookSections 00–01 · Overview and Social Post Record
0:00 / 5:20

A social post can begin as a standalone idea or as a selected variation of something that already exists. The record structure should support both without forcing every blog post, podcast episode, or YouTube video into a full batch of social content.

For a standalone post, the author supplies the context and direction. For a parent-derived post, the automation retrieves the approved article or final transcript and combines it with the selected Brand, audience, platform, goal, angle, type, tone, prompt, and Style Guide.

The output is still one Social Post record for one destination and one creative direction. If you want three platforms, create three independently editable records. If you want two angles for LinkedIn, create two LinkedIn records. Selection creates the work; the existence of a parent does not.

Build before this playbook
  • Brand records: voice, positioning, rules, and connected social accounts
  • Persona records: the audience context passed into generation
  • A shared Prompts table: active Social Content prompts for the formats and platforms you use
  • Approved parent workflows, when using the parent-derived path: build the relevant Blog Post, Podcast, YouTube, or General Content record with a stable approved draft or transcript field
  • A database and AI tool: the record system and model used to generate and store each post
  • Optional publishing connection: a platform integration, automation tool, or social planner
The portable pattern

The field names shown here are one working example, not a required schema. Preserve the source relationship, generation inputs, review checkpoint, destination state, and publishing return data in whatever tools you choose.

01

Record

Create one place for every platform-ready post.

02

Direct

Choose the source, platform, goal, angle, type, tone, and prompt.

03

Generate

Create one variation from the current saved inputs.

04

Review

Edit, regenerate, approve, or archive the record.

05

Publish

Send it live and return destination data and metrics.

The operating principle

Create every social asset on purpose. A source provides material, but the platform and angle determine the post.

What this builds
One Social Posts table that supports standalone and parent-derived creation
Direct links to Blog Post, Podcast, YouTube, or General Content records
Platform, goal, angle, type, tone, prompt, CTA, and media direction
One editable generated record for every selected variation
Approval, scheduling, publishing, archival, and failure states
Optional destination post ID, live URL, and optional performance syncing
01
Social Post RecordGive each platform variation its own record.
↑ Audio for this section is included with Section 00

Create one Social Posts table or add Social Post as a type inside a shared Content table. One record should hold one final platform-specific asset from its initial direction through publishing and measurement.

Do not place LinkedIn, Instagram, Facebook, and X copy in four columns on one record. Separate records let each variation carry its own length, format, media, approval state, schedule, live URL, and metrics.

Channel versus account

Use Social Channel for the network, such as LinkedIn or Instagram. Add Destination Account when the same Brand publishes to multiple profiles or pages on that network. Smaller systems can use one field until they need that distinction.

Identity and destination
Internal HeadlineSingle-line textRequired

A short internal label for finding the post. It does not need to appear in the published copy.

BrandLinked recordRequired

The Brand whose voice, business context, language rules, and connected accounts apply.

Intended AudienceLinked PersonaRequired

The full audience profile the AI should write toward, not only the Persona name.

Social ChannelSingle selectRequired

The platform this exact record is written for. Examples include LinkedIn, Instagram, Facebook, X, Threads, TikTok, Pinterest, YouTube, or another active destination.

Destination AccountLinked account or IDWhen needed

The specific connected page, profile, board, or channel that should receive the post.

Creative direction
Content GoalSingle selectRequired

The result this post should support, such as awareness, engagement, traffic, authority, lead generation, conversation, or offer response.

Post AngleSingle selectRequired

The single perspective this variation will take. Examples: Pain / Problem Agitation, Transformation Story, Behind the Scenes, Case Study / Proof, Mechanism / How It Works, Hot Take / Contrarian, Quick Tip / Value, and Offer / CTA.

Post StyleSingle selectRequired

The structural approach, such as short insight, story, teaching post, list, observation, recap, or direct offer.

Post TypeSingle selectRequired

The destination format, such as text post, image post, carousel, reel, story, short video, link post, or poll.

Writing ToneSingle selectRequired

The delivery for this post inside the broader Brand voice. Examples: direct, conversational, analytical, contrarian, encouraging, or instructional.

Social Content PromptLinked Prompt recordRequired

Select from the shared Prompts table, filtered to Active Social Content prompts. The prompt controls the writing job; Brand and Persona stay linked separately.

Style GuideLinked recordOptional

A platform-specific guide built from approved examples. If it is blank, use the Brand voice and selected Social Content Prompt.

CTA and Destination LinkText and URLOptional

The action and destination the post should support. Do not force a link or CTA into posts whose goal does not require one.

Media DirectionLong text or linked mediaOptional

The required image, carousel, clip, aspect ratio, alt text, or production note. Instagram and video formats may require media before publishing.

Source and generation
Source TypeSingle selectRequired

Standalone, Blog Post, Podcast Episode, YouTube Video, General Content, or another parent type your system supports.

Parent ContentLinked recordRequired for parent path

The exact approved source record. Use typed relationships or a Parent Type plus Parent ID pattern so the source remains traceable.

Standalone Source NotesLong textRequired without a parent

The point, story, draft, observation, offer, or raw material used when no parent content exists.

AI Tool to UseSingle selectRecommended

The model used for generation and regeneration. Saving it makes output differences traceable.

Final ContentRich or long textGenerated + editable

The exact platform-ready copy after review. A manually written standalone post can be saved here without using AI.

Publishing and performance
StatusSingle selectRequired

At minimum: Draft, Approved, Scheduled, Published, Failed, and Archived.

Scheduled / Published DateDate and timeWhen applicable

The planned time before publishing and the confirmed time after the destination reports success.

Destination Post IDSingle-line textReturned after publishing

The platform or planner identifier used to update the post and retrieve its state or metrics later.

Live Post URLURLReturned after publishing

The public destination. Save it back instead of asking future workflows or team members to find the post again.

Performance MetricsFields or related snapshotsOptional layer

Store the metrics the destination actually returns, such as reach, impressions, views, reactions, comments, shares, saves, and clicks. Add Last Synced At when retrieval is automated.

Prompt 01 / Build the Social Posts table
Show the full prompt
I want to build a reusable Social Post workflow in [AIRTABLE / NOTION / GOOGLE SHEETS / SUPABASE / MY OWN APP]. Help me create the database structure. I am building my own operating system, not recreating a specific interface.

Create one Social Posts table. One record represents one platform-specific post from direction through publishing and measurement.

IDENTITY AND DESTINATION
- Internal Headline: single-line text, required
- Brand: linked Brand record, required
- Intended Audience: linked Persona record, required
- Social Channel: single select, required
- Destination Account: linked account or destination ID, optional until publishing

CREATIVE DIRECTION
- Content Goal: single select, required
- Post Angle: single select, required
- Post Style: single select, required
- Post Type: single select, required
- Writing Tone: single select, required
- Social Content Prompt: linked record from the shared Prompts table, filtered to Active and Social Content, required
- Style Guide: linked record, optional
- CTA and Destination Link: text and URL, optional
- Media Direction: long text or linked media, optional

SOURCE AND GENERATION
- Source Type: Standalone, Blog Post, Podcast Episode, YouTube Video, General Content, or Other, required
- Parent Content: linked source record or Parent Type plus Parent ID, required when Source Type is not Standalone
- Standalone Source Notes: long text, required when Source Type is Standalone and Final Content is empty
- AI Tool to Use: single select, recommended
- Final Content: rich text or long text, generated and editable

PUBLISHING AND PERFORMANCE
- Status: Draft, Approved, Scheduled, Published, Failed, Archived
- Scheduled / Published Date: date and time
- Destination Post ID: single-line text
- Live Post URL: URL
- Reach, Impressions, Views, Reactions, Comments, Shares, Saves, Clicks: numbers, optional
- Last Synced At: date and time, optional

Then show me:
1. The table structure and relationships
2. A standalone post form
3. A parent-derived generation action
4. Views for Draft, Approved, Scheduled, Published, Failed, and Archived
5. How to create one independent record for every selected platform and angle
6. How to prevent retries from duplicating records
7. How to return the destination post ID, live URL, and metrics after publishing
Section 01 is complete when

One record can hold either a standalone post or one selected parent-derived variation without mixing multiple platforms into the same content field.

02
Source & DirectionUse the same record shape for both intake paths.
Listen to this sectionSection 02 · Source and Direction
0:00 / 2:27

Standalone path

Create a Social Post record directly. Select the Brand, Persona, Social Channel, goal, angle, style, type, tone, prompt, and optional Style Guide. Add source notes or write the Final Content manually. Nothing must be linked to a parent.

Parent-derived path

Begin on an approved parent record. Select only the platforms, angles, and prompts you want. The automation retrieves the parent source and creates one linked Social Post record for each explicit variation.

Map each parent to its trusted source
Blog PostUse the approved or published final draft, title, relevant CTA, and Blog Post URL.
Podcast EpisodeUse the final transcript, episode title, guest context when relevant, and public episode URL.
YouTube VideoUse the final transcript, video title, approved description context, and public video URL.
General ContentUse the approved body, notes, framework, research, or other saved source material.
StandaloneUse the author’s source notes, rough draft, observation, story, offer, or manually written Final Content.
Other parent typesAdd them only when your system has a reliable approved field that the automation can retrieve.
Two example records

Standalone LinkedIn post

Source: Standalone notes about why chat should not be a permanent decision log. Direction: LinkedIn, thought leadership goal, Hot Take / Contrarian angle, text post, direct tone, and an active LinkedIn point-of-view prompt. Result: one Draft LinkedIn record with no parent.

Instagram post from a blog

Source: the approved draft of “How to Stop Losing Client Decisions in Slack.” Direction: Instagram, education goal, Quick Tip / Value angle, carousel type, conversational tone, and an active Instagram teaching prompt. Result: one linked Draft Instagram record. No other platform is created.

Avoid the accidental matrix

Do not multiply every selected platform by every selected angle and prompt unless the author explicitly chose each combination. Show the planned variations before generation or create them one at a time. Control is more important than batch size.

Automation recipe / Parent content to selected records
Show the trigger and action map
TRIGGER
Event: Author requests social posts from a parent record
Input: {{parent_type}}, {{parent_record_id}}, {{selected_variations}}

RUN CONDITIONS
- The parent record exists
- The parent source field is approved and not empty
- At least one explicit platform and direction combination is selected

ACTIONS
1. Retrieve the current parent record by ID
2. Retrieve the approved draft or final transcript for that parent type
3. Retrieve the parent Brand and its full voice context
4. Retrieve the selected Persona, prompt, Style Guide, goal, angle, type, tone, CTA, and media direction
5. Show or validate the exact variation list
6. Create one Social Post record for each selected variation
7. Save the parent relationship, source type, platform, and direction on every record
8. Send each record through Prompt 03 independently
9. Save each returned post to its own Final Content field
10. Keep every new record in Draft for human review

ON RETRY
- Use a stable variation key made from parent ID, platform, angle, and prompt ID
- Do not create a duplicate record when that key already exists unless the author explicitly requests another version

ON FAILURE
- Preserve every successful record
- Mark only the failed variation as Failed or leave it available for retry
- Do not regenerate completed variations automatically
Section 02 is complete when

The workflow can retrieve the correct source and create exactly the requested platform records, with no unrequested batch.

03
GenerateWrite one post for one destination at a time.
Listen to this sectionSection 03 · Generate
0:00 / 1:28

The generation step should receive one complete Social Post record and one trusted source. It should not decide which platform, angle, or goal to use. Those are human selections made before the model writes.

For parent-derived content, the source record remains the factual authority. The model should select and shape one useful idea rather than summarize the entire blog post, podcast, or video. For a standalone post, the saved notes or draft become the authority.

The outcome

The record contains one editable Final Content draft written for its selected channel, goal, angle, type, and tone.

Platform fit is not cross-posting

A LinkedIn post and Instagram caption can share a source and idea without sharing identical copy. The selected platform should affect structure, length, formatting, CTA behavior, and media requirements.

Automation recipe / Saved direction to draft post
Show the trigger and action map
TRIGGER
Event: Author requests generation for one Social Post record
Input: {{social_post_record_id}}

RUN CONDITIONS
- Brand, Persona, Social Channel, Content Goal, Post Angle, Post Style, Post Type, Writing Tone, and Social Content Prompt are present
- Either Parent Content or Standalone Source Notes is present

ACTIONS
1. Retrieve the current Social Post record
2. Retrieve the full Brand, Persona, Social Content Prompt, and optional Style Guide
3. Retrieve the current approved parent source or Standalone Source Notes
4. Map all saved values into Prompt 03
5. Send Prompt 03 to the selected AI model
6. Validate that the response contains one complete post and no unsupported claims
7. Preserve an existing Final Content version when regenerating
8. Save the new draft to Final Content
9. Keep Status Draft and notify the author

ON FAILURE
- Do not overwrite an existing Final Content field with a partial response
- Log the failed step and error
- Leave the record available for a manual retry
Prompt 03 / Generate one social post
Show the full prompt
You are writing one social post for one selected destination. The source and direction have already been chosen. Do not change the platform, goal, angle, type, or tone, and do not create additional variations.

POST DIRECTION
Internal headline: {{internal_headline}}
Social channel: {{social_channel}}
Destination account context: {{destination_account_context}}
Content goal: {{content_goal}}
Post angle: {{post_angle}}
Post style: {{post_style}}
Post type: {{post_type}}
Writing tone: {{writing_tone}}
CTA: {{cta}}
Destination link: {{destination_link}}
Media direction: {{media_direction}}

LINKED CONTEXT
Brand voice and business context: {{brand_context}}
Intended audience Persona: {{persona_context}}
Selected Social Content Prompt: {{social_content_prompt}}
Platform-specific Style Guide, if selected: {{style_guide}}

SOURCE
Source type: {{source_type}}
Source title: {{source_title}}
Approved source content or standalone notes: {{source_content}}
Source URL, if published: {{source_url}}

INSTRUCTIONS
1. Write one complete post for the selected Social Channel and Post Type.
2. Follow the selected prompt and Style Guide. If they conflict, use the Style Guide for voice and the selected platform, goal, angle, and type for this post’s structure.
3. Build the post around one useful idea from the source. Do not summarize every point in the parent content.
4. Keep factual claims, examples, quotations, and results traceable to the supplied source. Do not invent personal experience, client results, statistics, or attribution.
5. Adapt length, formatting, opening, CTA behavior, and media dependence to the selected platform. Do not copy another platform’s conventions automatically.
6. Use the CTA and link only when supplied and relevant to the selected goal. Do not add an engagement question, hashtags, emojis, or a link by default unless the prompt or Style Guide calls for them.
7. If the source is a transcript, remove filler and spoken repetition while preserving the speaker’s meaning.
8. If media is required for the selected Post Type, keep the copy consistent with the supplied Media Direction. Do not claim that an unseen visual contains something it does not.

RETURN EXACTLY

FINAL CONTENT
[One platform-ready social post]

MEDIA NOTE
[One concise production note when media is required. Otherwise: None.]
Section 03 is complete when

Each selected variation exists as its own Draft record with platform-ready, editable content grounded in the saved source.

04
ReviewApprove the exact version that will publish.
Listen to this sectionSection 04 · Review
0:00 / 1:07

Edit

Change Final Content directly when the draft is close. The saved human-edited version, not the original model response, should move to publishing.

Regenerate

Update the direction or source first, then generate a fresh version from all current inputs. Preserve the prior draft through version history or a related Versions table.

Approve

Change Status to Approved only after the platform, facts, voice, CTA, link, and media requirements have been checked.

Archive or delete

Archive a valid variation you chose not to use so its history remains available. Reserve deletion for mistaken, duplicate, or test records your retention rules allow you to remove.

Human review checklist
The post communicates one clear idea instead of summarizing the whole source
The opening, length, formatting, and CTA fit the selected platform
Every factual or firsthand claim is supported by the saved source
The post sounds like the selected Brand and fits the intended Persona
The link points to the correct destination and is used only when relevant
Required media exists and matches the copy before scheduling
Approval is a publishing boundary

Do not let draft generation send a post directly to a live channel. Approval should be an explicit human action, even when the next step is fully automated.

Section 04 is complete when

The final edited copy and required media are approved on the Social Post record, or the unused variation has been archived.

05
Publish & MeasureSend the approved post out, then bring its identity back.
Listen to this sectionSection 05 · Publish and Measure
0:00 / 2:12

Publishing can be manual, direct through an automation platform, or routed through a social planner. Choose the path that covers the destinations you actually use. Keep account credentials and API keys in the integration layer, not on the Social Post record.

An automation tool with native social publishing modules can send approved records directly to the networks it supports. A social planner with a posting API can add destinations through one connection. Before choosing either path, confirm that it supports the post formats and media you use, can create or schedule the post, returns a stable destination ID or live URL, and exposes any performance data you plan to retrieve. Coverage and authentication requirements change, so verify them when building.

After the destination confirms success, save the returned post ID, live URL when available, and actual publication time back to the Social Post record. That return path turns publishing into a closed workflow instead of a one-way send.

Manual first is valid

You can copy the approved post into a platform or planner and paste the live URL back into the record. Automate only after the record and approval logic are reliable.

Metrics are a second loop

Begin with manual entry if needed. Automate retrieval only when the platform or planner provides a stable lookup key and a metrics endpoint or export. Use the Destination Post ID to request the measures that source actually exposes.

Automation recipe / Approved post to destination
Show the publish and return map
TRIGGER
Event: Author chooses Publish, or the saved Scheduled time arrives
Input: {{social_post_record_id}}

RUN CONDITIONS
- Status is Approved or Scheduled
- Final Content is not empty
- Required media and Destination Account are present
- The destination connection is active

ACTIONS
1. Retrieve the current approved Final Content, link, media, Post Type, and Destination Account
2. Map those fields to the selected platform connection, publishing automation, or social planner
3. Create or schedule the post
4. Confirm success before changing the source record
5. Save the returned Destination Post ID
6. Save the Live Post URL when the destination returns one
7. Save the actual publication date and time
8. Change Status to Published

SCHEDULED PATH
- Keep Status Scheduled until the destination confirms publication
- Do not treat a successful scheduling request as a published post

ON FAILURE
- Keep the approved content unchanged
- Set Status Failed or retain Approved for manual retry
- Log the destination and returned error
- Do not submit another post automatically when the result is uncertain
Automation recipe / Published post to performance record
Show the metrics return map
TRIGGER
Event: Manual refresh, scheduled sync, or reporting run
Input: {{social_post_record_id}}

RUN CONDITIONS
- Status is Published
- Destination Post ID is present
- The selected destination exposes performance data

ACTIONS
1. Retrieve the Social Post record and its Destination Post ID
2. Request the current metrics from the platform or social planner
3. Store only the measures that destination returns
4. Normalize comparable fields carefully, such as reactions versus likes
5. Save the current totals on the Social Post record
6. Save Last Synced At
7. If trend reporting matters, add a dated related snapshot instead of replacing the only historical value

ON FAILURE
- Keep the last successful metrics unchanged
- Log the destination error and attempted sync time
- Do not change the post’s Published status
Section 05 is complete when

The approved post is published, its destination identity is saved on the source record, and performance can be entered manually or refreshed through a traceable metrics workflow.