Generate content ideas from social trends with Apify, Gemini, and Google Sheets
Trend2Content
This n8n workflow (named Trend2Content) takes a short topic input from a small web form, scrapes recent/top social content for that topic (via an Apify act), aggregates the raw text, passes that aggregated content into a LangChain AI agent (Google Gemini in this flow) which returns a structured content output (topic summary, blog post title ideas, tweet hooks), formats that output, and appends the results into a Google Sheet.
Itβs a lightweight:
Topic β Trending Content β AI Ideas β Sheet
pipeline for fast content ideation.
How It Works (Step-by-Step)
On Form Submission
The user fills a single field Topic (webhook/form trigger).
X Scraper (HTTP Request)
Calls an Apify act run-sync-get-dataset-items with:
searchTerms: [{{ $json.Topic }}]
maxItems: 20
to fetch social posts for that topic.
Edit Fields (Set)
Extracts fullText from each scraped item and stores it in a Content field.
Aggregate
Aggregates the Content field so the AI agent receives one combined input rather than many separate items.
Google Gemini Chat Model (LM) + AI Agent (LangChain Agent Node)
The agent uses a templated system prompt + the aggregated content to generate a structured response with:
Topic summary
Blog title ideas
Tweet hooks
The agent is connected to a Structured Output Parser node to force a predictable JSON schema.
Code in JavaScript
Transforms the structured JSON into sheet-friendly strings (joins arrays with bullets).
Append Row in Sheet (Google Sheets)
Appends the generated blog_post_titles and tweet_hooks to the target Google Sheet.
(Optional)
Sticky notes and internal meta nodes exist for documentation and board organization.
Quick Setup Guide π Demo & Setup Video π Sheet Template π Course
Nodes of Interest You Can Edit
-
On Form Submission (formTrigger) Edit form fields (add author, language, region, or filters). Change webhook behaviour or require authentication.
-
X Scraper (HTTP Request) URL:** Change to another Apify act or another scraping API. jsonBody:** Change maxItems, sort (Top/Recent), or modify searchTerms (e.g., topic + hashtag). Headers:** Set the Authorization: Bearer token (Apify). Add pagination or query parameters if switching scraper APIs.
-
Edit Fields (Set) Map additional fields (author, date, source URL). Add filtering logic (remove short posts, retweets, duplicates).
-
Aggregate Customize aggregation strategy: Concatenate Sample top N Deduplicate before combining
-
Google Gemini Chat Model / AI Agent / Structured Output Parser Edit systemMessage and prompt template (tone, format, extra outputs). Tune LM parameters (temperature, max tokens). Update schema to request: Sentiment Key quotes Additional formats
-
Code in JavaScript Modify formatting (CSV-ready, add timestamp). Add metadata columns. Add deduplication or length checks before write.
-
Append Row in Sheet (Google Sheets) Change spreadsheet ID or sheet name. Add more columns. Switch from Append to Upsert. Configure batch appends.
What Youβll Need (Credentials)
-
Apify API Token Used in the HTTP Request node. Set in header:
Authorization: Bearer YOUR_APIFY_TOKEN -
Google Sheets OAuth2 Credentials Must include spreadsheets scope. Required for appending rows.
-
Google / PaLM / Google Gemini API Credentials Used by the LangChain / Google Gemini node.
Optional n8n webhook URL (for mounting the form). Monitoring credentials (Slack webhook, Sentry, etc.) for alerts.
Recommended Settings & Best Practices
Enable workflow only after testing (active: true). Limit maxItems (20β50 recommended). Sanitize & dedupe content before sending to the AI. Always use a Structured Output Parser for reliable JSON. Set low temperature (0.0β0.6) for consistent results. Add retries and exponential backoff for external APIs. Add logging or Slack alerts for failures. Keep execution log columns in the sheet (status, error_message, run_time). Store workflow JSON in version control. Monitor API rate limits (Apify + Google). Avoid writing scraped PII into public sheets.
Customization Ideas
Add output types: Instagram captions LinkedIn posts Video scripts Email subject lines
Add sentiment / trend scoring. Add language detection & translation. Store aggregated content in a vector database (Pinecone / Chroma). Schedule runs using Cron trigger. Add multiple data sources (Reddit, RSS, HackerNews). Add approval workflow (Slack / Notion). Add metadata columns: source_urls top_authors most_shared
Tags
#content-ideation'
#social
#ai
#google-gemini
#apify
#google-sheets
#n8n
Related Templates
Automatic News Summarization & Email Digest with GPT-4, NewsAPI and Gmail
π° AI News Digest Agent: Auto News Summarizer & Email Newsletter Create an intelligent news curation system that automat...
Generate Food Recipes from Gmail & Form Requests with Ollama & Llama 3.2
This n8n template demonstrates how to create an intelligent food recipe assistant that accepts requests via Gmail and we...
Auto-classify Gmail emails with AI and apply labels for inbox organization
Who is this for? Professionals and individuals who receive high volumes of emails, those who want to automatically organ...
π Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments