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

  1. On Form Submission (formTrigger) Edit form fields (add author, language, region, or filters). Change webhook behaviour or require authentication.

  2. 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.

  3. Edit Fields (Set) Map additional fields (author, date, source URL). Add filtering logic (remove short posts, retweets, duplicates).

  4. Aggregate Customize aggregation strategy: Concatenate Sample top N Deduplicate before combining

  5. 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

  6. Code in JavaScript Modify formatting (CSV-ready, add timestamp). Add metadata columns. Add deduplication or length checks before write.

  7. 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)

  1. Apify API Token Used in the HTTP Request node. Set in header:
    Authorization: Bearer YOUR_APIFY_TOKEN

  2. Google Sheets OAuth2 Credentials Must include spreadsheets scope. Required for appending rows.

  3. 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

0
Downloads
0
Views
8.54
Quality Score
intermediate
Complexity
Author:Pratyush Kumar Jha(View Original β†’)
Created:2/22/2026
Updated:4/12/2026

πŸ”’ Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments