Generate social posts from GitHub pushes to Twitter and LinkedIn
On each GitHub push, this workflow checks if the commit set includes README.md and CHANGELOG.md, fetches both files, lets an LLM generate a Twitter and LinkedIn post, then publishes to Twitter and LinkedIn (Person).
Apps & Nodes
-
Trigger: Webhook
-
Logic: IF, Merge, Aggregate
-
GitHub: Get Repository File (×2)
-
Files: Extract from File (text) (×2)
-
AI: OpenAI Chat Model → LLM Chain (+ Structured Output Parser)
-
Publish: Twitter, LinkedIn (Person)
Prerequisites
-
GitHub: OAuth2 or PAT with repo read.
-
OpenAI: API key.
-
Twitter: OAuth2 app with Read and Write; scopes
tweet.read tweet.write users.read offline.access
.
-
LinkedIn (Person): OAuth2 credentials; required scope:
w_member_social
, openid
.
Setup
-
GitHub Webhook: Repo → Settings → Webhooks
- Payload URL:
https://<your-n8n-domain>/webhook/github/push
- Content type:
application/json
• Event: Push • Secret (optional) • Branches as needed.
-
Credentials: Connect GitHub, OpenAI, Twitter, and LinkedIn (Person).
How it Works
-
Webhook receives GitHub push payload.
-
IF checks that
README
and CHANGELOG
appear in added/modified.
-
GitHub (Get Repository File) pulls
README.md
and CHANGELOG.md
.
-
Extract from File (text) converts both binaries to text.
-
Merge & Aggregate combines into one item with both contents.
-
LLM (OpenAI + Parser) returns a JSON with
twitter
and linkedin
.
-
Twitter posts the tweet.
-
LinkedIn (Person) posts the LinkedIn text.