Auto-schedule your Notion social calendar to Buffer

By General Input

Every Monday, Wednesday, and Friday morning, write per-platform captions, pair each Notion calendar row with a stock photo, and schedule it in Buffer.

Integrations

  • Notion
  • Pexels
  • Buffer

Type

Agentic Task

Categories

  • Marketing

Every Monday, Wednesday, and Friday at 9am ET, fill out and schedule the upcoming posts in my Notion social calendar.

Step 1. In Notion, query the data source for my "Social Calendar" database. Filter to rows where Status = "Needs scheduling" AND Publish Date is within the next 7 days.

Step 2. For each row, read the topic and the list of target channels (any combination of LinkedIn, Instagram, and Twitter/X).

Step 3. For each target channel, draft a platform-specific caption tuned to that channel's character limit and tone:

• LinkedIn: professional, 1 to 3 short paragraphs, up to 3000 characters.

• Instagram: visual-first and conversational, under 2200 characters, with 5 to 10 relevant hashtags.

• Twitter/X: punchy and standalone, under 280 characters, at most 1 to 2 hashtags.

Step 4. Call Pexels Search Photos for a portrait or square image that matches the row's topic. Pick the best match. Capture the photographer's name and the Pexels photo URL so it can be credited per Pexels' attribution rules ("Photo by {photographer} on Pexels").

Step 5. For each target channel on the row, call Buffer Create Post with: the platform-specific caption text (with the photographer credit appended), the Pexels image URL as the media asset, and scheduledAt set to the row's Publish Date.

Step 6. After every Buffer post for that row is created, call Notion Update a Page on the row to (a) write the returned Buffer post IDs into a "Buffer post IDs" property and (b) flip Status to "Scheduled".

Error handling: If Pexels returns no good match, retry once with a broader search term derived from the topic; if it is still empty, schedule the Buffer post as text only. If Buffer Create Post fails for any channel (e.g. daily posting limit hit, channel disconnected), write the error message into a "Last error" property on the Notion row and leave Status as "Needs scheduling" so I can retry on the next run.

Do not publish anything immediately. Every Buffer post should be created in scheduled mode at the row's Publish Date.

Related prompts

Explore more prompts
Screen chartered vessels for AIS gaps and sanctions red flagsCompare candidate store locations with drive time trade areasBrowse every competitor ad and build a Notion swipe fileAudience persona studio for brand and product marketersArtwork desk for the Notion posts still missing an imageShare of voice dashboard for your brand and competitorsInfluencer campaign roster board with AI creator briefsSmart home entity health cockpit for Home AssistantOpen model approval desk for your production AI stackBid board that watches every procurement portal for you