Automated Content Page Generator with AI, Tavily Research, and Supabase Storage

⚠️ Self-Hosted Disclaimer: This template requires self-hosted n8n installation and external service credentials (OpenAI, Tavily, Google Drive, NextCloud, Supabase). It cannot run on n8n Cloud due to dependency requirements.
Overview
Transform simple topic inputs into professional, multi-platform content automatically. This workflow combines AI-powered content generation with intelligent research and seamless storage integration to create website content, blog articles, and landing pages optimized for different audiences.
Key Features
- Automated Research: Uses Tavily's advanced search to gather relevant, up-to-date information
- Multi-Platform Content: Generates optimized content for websites, blogs, and landing pages
- Image Management: Downloads from Google Drive and uploads to NextCloud with public URL generation
- Database Integration: Stores all content in Supabase for easy retrieval
- Error Handling: Built-in error management workflow for reliability
- Content Optimization: AI-driven content strategy with trend analysis and SEO optimization
Required Services & APIs
Core Services
- n8n: Self-hosted instance (required)
- OpenAI: GPT-4 API access for content generation
- Tavily: Research API for content discovery
- Google Drive: Image storage and retrieval
- Google Sheets: Content input and workflow triggering
- NextCloud: Image hosting and public URL generation
- Supabase: Database storage for generated content
Setup Instructions
## Prerequisites
Before setting up this workflow, ensure you have:
- Self-hosted n8n installation
- API credentials for all required services
- Database table created in Supabase
## Step 1: Service Account Configuration
OpenAI Setup
- Create an OpenAI account at platform.openai.com
- Generate API key from the API Keys section
- In n8n, create new OpenAI credentials using your API key
- Test connection to ensure GPT-4 access
Tavily Research Setup
- Sign up at tavily.com
- Get your API key from the dashboard
- Add Tavily credentials in n8n
- Configure search depth to "advanced" for best results
Google Services Setup
- Create Google Cloud Project
- Enable Google Drive API and Google Sheets API
- Create OAuth2 credentials
- Configure Google Drive and Google Sheets credentials in n8n
- Share your input spreadsheet with the service account
NextCloud Setup
- Install NextCloud or use hosted solution
- Create application password for API access
- Configure NextCloud credentials in n8n
- Create
/images/
folder for content storage
Supabase Setup
- Create Supabase project at supabase.com
- Create table with the following structure:
CREATE TABLE works (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
content TEXT NOT NULL,
image_url TEXT,
category TEXT,
created_at TIMESTAMP DEFAULT NOW()
);
- Get project URL and service key from settings
- Configure Supabase credentials in n8n
## Step 2: Google Sheets Input Setup
Create a Google Sheets document with the following columns:
- TITLE: Topic or title for content generation
- IMAGE_URL: Google Drive sharing URL for associated image
Example format:
TITLE | IMAGE_URL
AI Chatbot Implementation | https://drive.google.com/file/d/your-file-id/view
Digital Marketing Trends 2024 | https://drive.google.com/file/d/another-file-id/view
## Step 3: Workflow Import and Configuration
-
Import the workflow JSON into your n8n instance
-
Configure all credential connections:
- Link OpenAI credentials to "OpenAI_GPT4_Model" node
- Link Tavily credentials to "Tavily_Research_Agent" node
- Link Google credentials to "Google_Sheets_Trigger" and "Google_Drive_Image_Downloader" nodes
- Link NextCloud credentials to "NextCloud_Image_Uploader" and "NextCloud_Public_URL_Generator" nodes
- Link Supabase credentials to "Supabase_Content_Storage" node
-
Update the Google Sheets Trigger node:
- Set your spreadsheet ID in the documentId field
- Configure polling frequency (default: every minute)
-
Test each node connection individually before activating
## Step 4: Error Handler Setup (Optional)
The workflow references an error handler workflow (GWQ4UI1i3Z0jp3GF
). Either:
- Create a simple error notification workflow with this ID
- Remove the error handling references if not needed
- Update the workflow ID to match your error handler
## Step 5: Workflow Activation
- Save all node configurations
- Test the workflow with a sample row in your Google Sheet
- Verify content generation and storage in Supabase
- Activate the workflow for continuous monitoring
How It Works
## Workflow Process
- Trigger: Google Sheets monitors for new rows with content topics
- Research: Tavily searches for 3 relevant articles about the topic
- Content Generation: AI agent creates multi-platform content (website, blog, landing page)
- Content Cleaning: Text processing removes formatting artifacts
- Image Processing: Downloads image from Google Drive, uploads to NextCloud
- URL Generation: Creates public sharing links for images
- Storage: Saves final content package to Supabase database
## Content Output Structure
Each execution generates:
- Optimized Title: SEO-friendly, platform-appropriate headline
- Multi-Platform Content:
- Website content (professional, authority-building)
- Blog content (educational, SEO-optimized)
- Landing page content (conversion-focused)
- Category Classification: Automated content categorization
- Image Assets: Processed and publicly accessible images
Customization Options
## Content Strategy Modification
- Edit the AI agent's system message to change content style
- Adjust character limits for different platform requirements
- Modify category classifications for your industry
## Research Parameters
- Change Tavily search depth (basic, advanced)
- Adjust number of research sources (1-10)
- Modify search topic focus
## Storage Configuration
- Update Supabase table structure for additional fields
- Change NextCloud folder organization
- Modify image naming conventions
Troubleshooting
## Common Issues
Workflow not triggering:
- Check Google Sheets permissions
- Verify polling frequency settings
- Ensure spreadsheet format matches requirements
Content generation errors:
- Verify OpenAI API key and credits
- Check GPT-4 model access
- Review system message formatting
Image processing failures:
- Confirm Google Drive sharing permissions
- Check NextCloud storage space and permissions
- Verify file formats are supported
Database storage issues:
- Validate Supabase table structure
- Check API key permissions
- Review field mapping in storage node
## Performance Optimization
- Adjust polling frequency based on your content volume
- Monitor API usage to stay within limits
- Consider batch processing for high-volume scenarios
Support and Updates
This template is designed for self-hosted n8n environments and requires technical setup. For issues:
- Check n8n community forums
- Review service-specific documentation
- Test individual nodes in isolation
- Monitor execution logs for detailed error information