Automatic Job Listings Extraction and Publishing Template

Go to Workflow
117 views
Built by Khairul Muhtadin Khairul Muhtadin
Created on June 05, 2026

Description

Automatically extract job listings from any website URL, format them with AI, and publish directly to WordPress. Just send a URL via Telegram, and watch as the workflow scrapes the job details, enhances the content with GPT, and creates a polished post on your site.

💡 Why Use Job Repost?

⏰ Save countless hours
Automatically extract, process, and publish job offers from any website, freeing your time from repetitive tasks.

✅ Eliminate human errors
Say goodbye to typos and missed fields — every job post is validated before going live.

📈 Boost engagement
Fresh, well-structured job listings attract more candidates, improving your site's reach and authority.

🚀 Stay ahead
Leveraging AI with GPT means your content is not just automated but polished and SEO-friendly — the digital assistant you never knew you needed.

⚡ Perfect For

Job board managers:** Want to aggregate listings from multiple sources with minimal effort
Recruiters & HR teams:** Who need to streamline job posting workflows without technical hassles
Content creators & marketers:** Looking to automate publishing while maintaining style and SEO standards

🔧 How It Works

| Step | Process | Description |
|------|---------|-------------|
| 📱 | Trigger | Send a job URL via Telegram bot to initiate the process |
| 🔥 | Extract | Firecrawl API scrapes and extracts clean content from the provided URL |
| 📎 | Process | Job data is extracted via AI, text split and cleaned, job categories and types mapped to your system |
| 🤖 | Smart Logic | GPT crafts formatted job posts, intelligent validation ensures all key data is present, default values fill in the blanks if necessary |
| 💌 | Output | Posts automatically published to WordPress with company logos uploaded, and success or error notifications sent via Telegram |
| 🗂 | Storage | Uses Supabase vector store for managing document embeddings, ensuring quick lookup and reference compliance |

🔐 Quick Setup

Import the provided JSON file into your n8n instances
Add credentials:
Firecrawl API key
Google Drive OAuth2 (for RAG storage)
OpenAI API
WordPress API
Telegram API
Supabase
Customize:
Telegram bot token
WordPress URLs
Default images and category mappings if needed
Update: URLs and API tokens where placeholders are used
Test: Send a job URL to your Telegram bot to verify accurate extraction and posting

🧩 You'll Need

✅ Active n8n instances
✅ Firecrawl account with API access
✅ Google Drive account for RAG document storage
✅ OpenAI account with GPT API access
✅ WordPress site with autojob plugin and API enabled
✅ Telegram bot for URL submission and notifications
✅ Supabase account for vector store management

🛠️ Level Up Ideas

🌍 Add multi-language support to expand global reach
🔗 Support batch URL processing for multiple jobs at once
💬 Integrate Slack or email notifications for wider team alerts
🎯 Use more AI nodes to summarize or rate job offers for quality control
🔄 Schedule periodic cleanup of vector store for performance optimization
📊 Add analytics tracking for published jobs performance

🧠 Nodes Used

Core Components:
Firecrawl HTTP Request** (Web scraping and content extraction)
Google Drive** (RAG document storage)
Supabase Vector Store**
OpenAI** (Embeddings, GPT Extraction)
Code Nodes** for mapping categories
Telegram Trigger & Message**
HTTP Request** (for WordPress API and image uploads)

Made by: Khaisa Studio
Tags: automation recruitment job-posting wordpress AI web-scraping firecrawl
Category: Human Resources, Recruitment, Wordpress, Scrapping
Need a custom? contact me on LinkedIn or Web

Nodes Used (9)

Code
n8n-nodes-base.code
Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader
Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi
Google Drive
n8n-nodes-base.googleDrive
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
@n8n/n8n-nodes-langchain.openAi
Recursive Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter
Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase
Telegram
n8n-nodes-base.telegram