Quick overview
This workflow runs on a daily schedule, reads AI-related articles from multiple RSS feeds, uses OpenAI to select and draft a LinkedIn company-page post, stores the editorial pack in Airtable, generates and QA-checks an image, and then publishes the image post to LinkedIn in production mode.
How it works
- Runs each day on a scheduled trigger and applies a posting-day cadence plus a safety gate that blocks publishing during manual/test executions.
- Loads recent publishing history from Airtable and pulls fresh articles from TechCrunch AI, The Verge AI, and the OpenAI Blog RSS feeds.
- Cleans, deduplicates, and balances the RSS articles, then sends the candidates plus recent history to OpenAI to select one publishable editorial signal.
- If the selected signal meets the quality threshold, OpenAI drafts the LinkedIn post, a second OpenAI pass tightens it, and the workflow appends 2–3 relevant hashtags.
- Creates an editorial record in Airtable with the final copy, source URL, and metadata.
- Generates a square editorial image using either an optional HTML screenshot service or OpenAI image generation, then uses OpenAI to QA the image and retries generation if it fails.
- In production mode, registers and uploads the image to LinkedIn and publishes the post to a LinkedIn organization page, then writes the posting result back to Airtable.
Setup
- Add OpenAI credentials (for chat completions and image generation) and update any model choices if needed.
- Add Airtable credentials (Airtable Personal Access Token) and set your Airtable base ID and table ID in the publishing configuration.
- Add LinkedIn Community Management OAuth2 credentials and set your LinkedIn organization ID in the publishing configuration.
- Review and adjust the timezone, posting days, and history limit in the publishing configuration, then run once manually to confirm it stops at the test-preview stage.
- Optional: configure an HTML screenshot service URL/token for deterministic rendering and enable the Gmail credential if you want the disabled email execution log.