Generate LinkedIn Posts from Books using OpenAI, LangChain & Pinecone Vector Search
Go to WorkflowDescription
Automates the process of generating, storing, and publishing engaging LinkedIn posts derived from books (PDFs) using AI and vector search.
๐ง Overview
This workflow:
Watches a Google Drive folder for new or updated book PDFs.
Extracts and embeds the content using OpenAI.
Stores the data in a Pinecone vector database.
Uses a LangChain agent to generate post ideas.
Creates concise LinkedIn posts with hook, insight, CTA.
Updates a Google Sheet and posts to LinkedIn.
๐ Workflow Breakdown
๐ฅ 1. Google Drive Trigger
Trigger:** Watches a folder for new or updated PDF files.
Action:** Downloads the updated PDF.
๐ 2. Extract and Embed Content
Extract from File:** Parses PDF to extract text.
Text Splitter:** Breaks text into chunks.
Embeddings (OpenAI):** Converts chunks into vector embeddings.
Pinecone Vector Store:** Saves the embeddings with the book name as namespace.
๐ง 3. Post Idea Generation (LangChain Agent)
Uses a prompt to:
Search Pinecone DB
Extract insights
Format into 5 LinkedIn post ideas with:
Hook
Insight
CTA
Memory buffer** and structured output parser are used for clean AI interaction.
โ๏ธ 4. Post Creation
Each idea is:
Split
Rewritten with a GPT model prompt to match LinkedIn tone
Styled for under 600 characters
Includes emojis, hashtags, and tone guidelines
๐ 5. Google Sheet Integration
Saves all generated posts to a Google Sheet.
Marks status: "published" or "no".
๐ 6. Scheduled Publishing
Every day:
Pulls an unpublished post
Publishes it to LinkedIn
Updates the post's status and timestamp in the Google Sheet
โ๏ธ Setup Guide
๐ Google Drive
Create a folder for book PDFs
Connect your Google Drive account to n8n
Provide access token with file read permission
๐ Google Sheets
Create a Google Sheet with columns:
bookname, hook, insight, cta, postContent, published, date
Add credentials in n8n with read/write permission
๐ง Pinecone
Set up a Pinecone project and index (linkdenpost)
Namespace will be auto-named using the book filename
๐ API Credentials Required
OpenAI API** (for embeddings and post generation)
Pinecone API** (for vector storage and retrieval)
LinkedIn OAuth2** (to publish posts)
Google Drive & Sheets** credentials
๐ Flow Summary
graph TD
A[Google Drive Trigger] --> B[Download PDF]
B --> C[Extract Text]
C --> D[Text Splitter]
D --> E[Create Embeddings]
E --> F[Pinecone Vector Store]
F --> G[LangChain Agent]
G --> H[Structured Output (5 Post Ideas)]
H --> I[Split Ideas]
I --> J[Format as LinkedIn Post (GPT)]
J --> K[Store in Google Sheet]
L[Schedule Trigger] --> M[Get Unpublished Post]
M --> N[Post to LinkedIn]
N --> O[Mark as Published]
๐งช Prompt Example (Used in LangChain Agent)
You are a content strategist. Search the Pinecone vector DB containing a book. Generate 5 unique LinkedIn post ideas with:
A Hook (curiosity driven)
Insight (summary < 100 words)
CTA ("Agree or disagree?", etc.)
Respond in structured JSON:
[
{ "Hook": "...", "Insight": "...", "CTA": "..." },
...
]
โ
Output Sample
{
"Hook": "Why your lab's results might be invalid ๐ฑ",
"Insight": "ISO/IEC 17025 stresses that labs must plan and address risks to impartiality and validity.",
"CTA": "Does your lab audit for these risks?"
}
๐ Schedule Control
Uses Schedule Trigger to post daily at a set time.
Ensures automation with LinkedIn and accurate Google Sheet syncing.
๐ Notes
Posts remain professional and concise for a LinkedIn audience
Works with any PDF book
Supports multi-book pipelines
You can filter and tag books by filename or folder for segmenting post styles
This workflow was created by Mohamed Abdelwahab and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.