Push approved Notion calendar rows into Agorapulse drafts

Approve a post in your Notion content calendar and it becomes a scheduled Agorapulse draft within half an hour, with no copy pasting.

Deterministic Code
NotionAgorapulseMarketingOperationsData SyncContent Generation
PromptCreate

Every 30 minutes, check my Notion content calendar for social posts my team has approved but has not yet handed off to Agorapulse, create an Agorapulse draft for each one, and immediately mark the Notion row as scheduled so the same post can never be pushed twice.

Read the calendar with Notion's Query a Data Source operation against my content calendar database. Filter for rows where the Status property equals Approved and the Agorapulse draft link property is still empty. Both conditions must hold. That empty draft link is the idempotency guard, so never act on a row that already has one.

For each matching row, read the caption text, the target social profiles and the scheduled publish date and time. Validate the row before doing anything else: if the caption is missing or the publish date is missing, skip that row entirely and leave its Status untouched at Approved so a human notices it sitting there and fixes it. Do not write anything back to a skipped row, and do not let one bad row fail the rest of the run.

To create the draft, first resolve the Agorapulse account structure: call Get Manager Organizations for the organization id, Get Organization Workspaces for the workspace id, and Get Workspace Profiles to list the connected social profiles. Agorapulse addresses profiles by opaque uid, so match the profile names stored on the Notion row to their profile uids. Resolve this once per run and reuse it across rows rather than repeating the lookup for every row.

Then call Agorapulse's Create Simple Draft operation with the row's caption as the post text, the matched profile uids as the targets, and the row's publish date and time as the scheduled send time. Create exactly one draft per Notion row.

Immediately after each individual draft is created successfully, update that specific Notion page with Update a Page: set Status to Scheduled and write the returned Agorapulse draft reference into the draft link property. Do this per row, right after its create call, never batched at the end of the run. If a draft is created but the writeback fails, surface that loudly, because that row would otherwise be picked up again on the next run and produce a duplicate draft.

Keep the run efficient and bounded. Agorapulse allows 500 requests per 30 minutes, which is the same window as the schedule, so process a sensible number of rows per run rather than an unbounded backlog in one pass.

Do not post to any social network directly, do not send notifications, and do not create records anywhere else. The Notion board is the single source of truth, and scheduled Agorapulse drafts are the only output, so final review still happens inside Agorapulse.

What does this prompt do?

  • Checks your Notion content calendar every 30 minutes for posts marked Approved that have not been handed off to Agorapulse yet.
  • Creates a matching draft in Agorapulse using the caption, the target social profiles and the publish date and time already on the row.
  • Writes the draft reference back to Notion and flips the row to Scheduled, so the same post can never be pushed twice.
  • Leaves rows with a missing caption or missing publish date untouched, so someone on your team can spot and fix them.

What do I need to use this?

  • A Notion content calendar database with a status property, a caption field, a target profiles field, a publish date field, and an empty field to hold the Agorapulse draft reference.
  • A Notion account, with that content calendar shared with General Input.
  • An Agorapulse account on a plan that includes API access, with your social profiles already connected.

How can I customize it?

  • Change how often it runs. Every 30 minutes suits a busy calendar, while hourly or twice a day is plenty for most teams.
  • Rename the statuses. Approved and Scheduled are just defaults, so use whatever your board already calls them.
  • Add extra filters, such as only pushing rows for a specific campaign, brand or content owner.

FAQs

Could this ever schedule the same post twice?
No. A row is only picked up when its Agorapulse draft field is still empty, and that field is filled in the moment the draft is created. If a run is missed, delayed or repeated, rows that were already handled are simply skipped.
Does this publish straight to social media?
No. It only creates drafts in Agorapulse, scheduled for the date and time on your Notion row. You keep final review inside Agorapulse before anything goes live, and nothing is posted anywhere else.
What happens if someone forgets the caption or the publish date?
That row is skipped and left on Approved, so it stays visible as unfinished on your board. Nothing is created in Agorapulse for it and no status is changed, which is what makes the gap easy to notice.
Do I have to plan content in Notion?
This version is built for Notion, but the same approval handoff works just as well from Airtable, ClickUp, Asana or Monday if that is where your team plans content.
Does this work on any Agorapulse plan?
You need a plan that includes API access. If you do not see an API Keys section in your Agorapulse personal settings, ask your Agorapulse account manager to enable it.

Related templates

Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Weekly voice-of-customer report from surveys and support

Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.

Typeform
Intercom
Notion
+2
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task
Draft incident postmortems from Statuspage every morning

Each weekday morning, turn yesterday's major incidents into ready-to-review postmortem drafts in Statuspage, Notion, and Jira.

Statuspage
Notion
Jira
Agentic Task
Plain-English security review of Tailscale access changes

Every time someone edits your Tailscale access rules, get a readable summary of what changed, who changed it, and whether it made you less safe.

Tailscale
Slack Bot
Notion
Agentic Task
Monthly Vimeo performance review in Notion and Slack

On the first of each month, your video library becomes a written review of what worked, what flopped, and three things to change next month.

Vimeo
Notion
Slack Bot
Agentic Task

Stop copy pasting captions every afternoon.

Approve the post once in Notion and let the scheduled draft appear in Agorapulse on its own.