Rewrite approved calendar posts for each social network

By General Input

When a content calendar row is approved, each network gets its own version of the copy, scheduled to the right connected social profiles.

Integrations

  • Sendible
  • Airtable
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing
  • Operations

Watch my Airtable content calendar with a poll trigger on the new or updated record event, and run this once for each record that changes. Build this as an agent workflow, because the core copy has to be rewritten differently for each social network before anything gets scheduled. The first thing to do on every run is check the row's Status field: if it is anything other than Approved, stop immediately and do nothing. Also stop if the row is already marked Scheduled, so that editing a row that has already been booked never double posts it.

From the approved row, read the core copy, the link, the image URL, the list of target networks, and the publish date. The approved copy is the source of truth for what this post is allowed to say. A human signed off on that wording, so treat it as the full set of facts available to you.

Next, resolve the named networks into real profiles. Call Sendible Get Social Profiles to list the social profiles connected to my Sendible account, and match each network named on the row to the connected profile for that network, collecting its account id. If a network named on the row has no connected profile in Sendible, skip that network quietly and carry on with the others. A missing connection should never fail the whole run or block the networks that are connected.

Now rewrite the core copy once per network that resolved to a profile. For LinkedIn, write a longer, professional framing with a clear opening line and room to explain the point. For X, keep it under 280 characters including the link. For Instagram and Facebook, write a hashtag friendly caption with a handful of relevant hashtags. Include the row's link where the network supports it. Never invent claims, offers, statistics, customer names or product details that are not in the approved copy: rewriting here means reframing and reformatting for the audience of each network, not adding new substance.

Schedule each version with Sendible Schedule Message, one call per network so that every network gets its own wording. Note that send_to is a comma separated string of profile ids taken from Get Social Profiles, not a JSON array. Attach the row's image URL as a plain URL in the media array. If the row has a publish date, pass it as send_date_client, and be aware that Sendible interprets this in the time zone configured on the Sendible user account rather than UTC. If the row has no publish date set, omit send_date_client entirely, call Sendible Get Queues to find my publishing queue, and pass its queue id instead so the post is added to the queue rather than booked at a fixed time.

Once scheduling is done, close the loop. Use Airtable Update Record on the same record id to flip Status from Approved to Scheduled and stamp which profiles the post went to, so the calendar itself shows what is already booked. That update is a PATCH, so only those fields change and everything else the team put in the row is left untouched. Then post a short confirmation to my social channel with Slack Bot Send a Message: name the row, list which networks were scheduled and for when, and mention any target network that was skipped because no profile is connected. If every network was skipped, or every scheduling call failed, leave the row as Approved and say that in Slack instead, so someone can fix it and the row stays eligible.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them