Upwork 求人機会を Google スプレッドシートへ
中級
これはOther分野の自動化ワークフローで、8個のノードを含みます。主にSet, HttpRequest, GoogleSheets, ScheduleTriggerなどのノードを使用。 自動職缺市場追跡:UpworkスクレイピングからGoogle Sheetsワークフローへ
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "s1PkxgZZchk3npwR",
"meta": {
"instanceId": "84ad02d6104594179f43f1ce9cfe3a81637b2faedb57dafcb9e649b7542988db",
"templateCredsSetupCompleted": true
},
"name": "Upwork Jobs to google sheets",
"tags": [],
"nodes": [
{
"id": "e08c753e-7d88-4f0b-889e-100291f0a3c7",
"name": "Upwork 求人をチェック - トリガー",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
0
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "ffcc4ad0-7787-40a6-a78d-d3a03b1dc23b",
"name": "Apify を使用して Upwork 求人を取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
260,
0
],
"parameters": {
"url": "https://api.apify.com/v2/actor-tasks/<TASK_ID>/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>",
"method": "POST",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "4d0d8fb6-ad2e-4dff-8d04-b100721e33ee",
"name": "スクレイピングデータを整形",
"type": "n8n-nodes-base.set",
"position": [
660,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "404d06e0-d3a0-448d-98f5-35fe87405e87",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "1d0e9a1d-e5f9-413b-9ab4-f20ae7260b65",
"name": "description",
"type": "string",
"value": "={{ $json.description }}"
},
{
"id": "c8d60809-8747-4321-ac97-a44a12ae91d5",
"name": "postedDate",
"type": "string",
"value": "={{ $json.postedDate }}"
},
{
"id": "e55fbecc-a984-49b7-80a7-8c7a6d10b32a",
"name": "skills",
"type": "array",
"value": "={{ $json.skills }}"
},
{
"id": "45f77f6b-c436-490c-8970-c9cb8b9949ea",
"name": "link",
"type": "string",
"value": "={{ $json.link }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c1f6c43c-f962-48f7-818b-638105720cad",
"name": "Google Sheets に求人を記録",
"type": "n8n-nodes-base.googleSheets",
"position": [
960,
0
],
"parameters": {
"columns": {
"value": {
"link": "={{ $json.link }}",
"title": "={{ $json.title }}",
"skills": "={{ $json.skills }}",
"postedDate": "={{ $json.postedDate }}",
"description": "={{ $json.description }}"
},
"schema": [
{
"id": "title",
"type": "string",
"display": true,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "description",
"type": "string",
"display": true,
"required": false,
"displayName": "description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "postedDate",
"type": "string",
"display": true,
"required": false,
"displayName": "postedDate",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "skills",
"type": "string",
"display": true,
"required": false,
"displayName": "skills",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "link",
"type": "string",
"display": true,
"required": false,
"displayName": "link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u9TeIArgJPwLn-MV77-lwDwNiZ8qZscZnkuK1xev6YA/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u9TeIArgJPwLn-MV77-lwDwNiZ8qZscZnkuK1xev6YA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u9TeIArgJPwLn-MV77-lwDwNiZ8qZscZnkuK1xev6YA/edit?usp=drivesdk",
"cachedResultName": "Upwork job scraper"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "Rp7XiR3hxJfv03ZO",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "0e05d038-bb10-4cd2-847c-c38ecafe47f4",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-1420
],
"parameters": {
"color": 5,
"width": 480,
"height": 1620,
"content": "## 🌐 **Section 1: Data Scraping Automation**\n\n> 🧠 *“Tell me what’s trending!”*\n\n### 🔁 Nodes Combined:\n\n* 🕒 `Check Upwork Jobs - Trigger`\n* 🌐 `Fetch Upwork Jobs from Apify`\n\n---\n\n### ⚙️ What This Section Does:\n\nThis section automates the process of **scraping fresh job listings from Upwork** using Apify.\n\n### 🧩 Step-by-Step Breakdown:\n\n#### 🕒 1. `Check Upwork Jobs - Trigger`\n\n🕰 **Trigger Type**: Scheduled\nThis node automatically **starts the workflow at specific times** (e.g., every hour, daily, etc.).\n\n📌 **Why this matters**:\nYou don’t have to manually run anything! Just set it once, and n8n will check for new job listings on its own — like a robot assistant.\n\n---\n\n#### 🌐 2. `Fetch Upwork Jobs from Apify`\n\n📤 **HTTP Request** → **Apify API**\n\nThis node sends a `POST` request to [Apify](https://apify.com), where you've configured a **web scraping actor** to collect data from **Upwork job listings**.\n\n📥 **Response**: A JSON array of job data, including:\n\n* 📌 `title` – What the job is about\n* 📝 `description` – A short job overview\n* 🎯 `skills` – Required skills\n* 🗓 `postedDate` – When it was posted\n* 🔗 `link` – Direct link to the job\n\n✅ **Why Apify?**\nBecause Upwork’s API is **not public**, Apify acts as your friendly bot that **scrapes the job board safely and returns structured data**.\n\n💡 **Pro Tip**: You can customize your Apify actor to filter by keyword (e.g., `AI`, `Python`, `Design`, etc.).\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "d5ef38cd-796c-48bf-ac16-7180b22dea39",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
-1500
],
"parameters": {
"color": 6,
"width": 480,
"height": 1700,
"content": "## 📊 **Section 2: Data Transformation & Logging**\n\n> 🧠 *“Let’s clean this up and put it somewhere useful.”*\n\n### 🔁 Nodes Combined:\n\n* ✏️ `Format Job Data`\n* 📄 `Log Jobs to Google Sheets`\n\n---\n\n### 🧩 Step-by-Step Breakdown:\n\n#### ✏️ 3. `Format Job Data`\n\n🧹 **Field Cleaner / Formatter**\n\nThis node helps you:\n\n* Extract only **relevant fields** from the Apify response\n* Optionally **rename or restructure fields** (like mapping `postedDate` to `Date Posted`)\n* Prepare the data in a clean format so it's ready for Google Sheets\n\n📌 Example Output:\n\n```json\n{\n \"Job Title\": \"Build AI chatbot\",\n \"Skills\": \"LangChain, Python\",\n \"Posted Date\": \"2025-06-06\",\n \"Link\": \"https://upwork.com/jobs/...\"\n}\n```\n\n💡 **Why This Matters**: Raw data isn’t always useful. This node ensures that what goes into Google Sheets is **clean, consistent, and human-readable**.\n\n---\n\n#### 📄 4. `Log Jobs to Google Sheets`\n\n📑 **Append Data to Sheet**\n\nThis node takes the formatted job data and **adds it to a Google Sheet** row by row.\n\n📌 Each job becomes a row with columns:\n\n| Job Title | Skills | Posted Date | Link |\n| ------------ | ----------------- | ----------- | ------------------------------------------------------- |\n| Build AI Bot | Python, LangChain | 2025-06-06 | [https://upwork.com/jobs/](https://upwork.com/jobs/)... |\n\n✅ **Why Use Google Sheets?**\n\n* You can **analyze market trends** easily\n* Share with your team\n* Build charts, dashboards, or even connect to Looker Studio\n\n"
},
"typeVersion": 1
},
{
"id": "8af7a509-a4a9-480b-b687-49a3056e27e1",
"name": "付箋9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1920,
-1400
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "773ea8c5-702e-4080-818b-12f0dc93579f",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1920,
-1060
],
"parameters": {
"color": 4,
"width": 1289,
"height": 3058,
"content": "## 🌐 **Section 1: Data Scraping Automation**\n\n> 🧠 *“Tell me what’s trending!”*\n\n### 🔁 Nodes Combined:\n\n* 🕒 `Check Upwork Jobs - Trigger`\n* 🌐 `Fetch Upwork Jobs from Apify`\n\n---\n\n### ⚙️ What This Section Does:\n\nThis section automates the process of **scraping fresh job listings from Upwork** using Apify.\n\n### 🧩 Step-by-Step Breakdown:\n\n#### 🕒 1. `Check Upwork Jobs - Trigger`\n\n🕰 **Trigger Type**: Scheduled\nThis node automatically **starts the workflow at specific times** (e.g., every hour, daily, etc.).\n\n📌 **Why this matters**:\nYou don’t have to manually run anything! Just set it once, and n8n will check for new job listings on its own — like a robot assistant.\n\n---\n\n#### 🌐 2. `Fetch Upwork Jobs from Apify`\n\n📤 **HTTP Request** → **Apify API**\n\nThis node sends a `POST` request to [Apify](https://apify.com), where you've configured a **web scraping actor** to collect data from **Upwork job listings**.\n\n📥 **Response**: A JSON array of job data, including:\n\n* 📌 `title` – What the job is about\n* 📝 `description` – A short job overview\n* 🎯 `skills` – Required skills\n* 🗓 `postedDate` – When it was posted\n* 🔗 `link` – Direct link to the job\n\n✅ **Why Apify?**\nBecause Upwork’s API is **not public**, Apify acts as your friendly bot that **scrapes the job board safely and returns structured data**.\n\n💡 **Pro Tip**: You can customize your Apify actor to filter by keyword (e.g., `AI`, `Python`, `Design`, etc.).\n\n---\n\n## 📊 **Section 2: Data Transformation & Logging**\n\n> 🧠 *“Let’s clean this up and put it somewhere useful.”*\n\n### 🔁 Nodes Combined:\n\n* ✏️ `Format Job Data`\n* 📄 `Log Jobs to Google Sheets`\n\n---\n\n### 🧩 Step-by-Step Breakdown:\n\n#### ✏️ 3. `Format Job Data`\n\n🧹 **Field Cleaner / Formatter**\n\nThis node helps you:\n\n* Extract only **relevant fields** from the Apify response\n* Optionally **rename or restructure fields** (like mapping `postedDate` to `Date Posted`)\n* Prepare the data in a clean format so it's ready for Google Sheets\n\n📌 Example Output:\n\n```json\n{\n \"Job Title\": \"Build AI chatbot\",\n \"Skills\": \"LangChain, Python\",\n \"Posted Date\": \"2025-06-06\",\n \"Link\": \"https://upwork.com/jobs/...\"\n}\n```\n\n💡 **Why This Matters**: Raw data isn’t always useful. This node ensures that what goes into Google Sheets is **clean, consistent, and human-readable**.\n\n---\n\n#### 📄 4. `Log Jobs to Google Sheets`\n\n📑 **Append Data to Sheet**\n\nThis node takes the formatted job data and **adds it to a Google Sheet** row by row.\n\n📌 Each job becomes a row with columns:\n\n| Job Title | Skills | Posted Date | Link |\n| ------------ | ----------------- | ----------- | ------------------------------------------------------- |\n| Build AI Bot | Python, LangChain | 2025-06-06 | [https://upwork.com/jobs/](https://upwork.com/jobs/)... |\n\n✅ **Why Use Google Sheets?**\n\n* You can **analyze market trends** easily\n* Share with your team\n* Build charts, dashboards, or even connect to Looker Studio\n\n💡 **Bonus Tip**: Add filters or conditional formatting to highlight certain keywords or top-paying jobs!\n\n---\n\n## 🎯 Why This Workflow is Powerful (Even for Beginners)\n\n✅ **No coding required** – You’re using no-code tools like n8n, Apify, and Google Sheets\n✅ **Automated** – Runs while you sleep 🌙\n✅ **Real-time market insights** – Know what clients are looking for (great for freelancers, agencies, product devs)\n✅ **Extendable** – Add Telegram alerts, Airtable dashboards, or link it with Notion or CRMs!\n\n---\n\n## 📌 What You Can Do Next:\n\n| Task | Tool | Outcome |\n| ------------------------- | --------------------------------- | ----------------------------------------- |\n| ✅ Add deduplication logic | Google Sheets or n8n `IF` node | Avoid storing duplicate jobs |\n| ✅ Filter by skill/keyword | Apify task input | Focus on niche markets |\n| ✅ Connect to Airtable | Replace Sheets with Airtable node | Richer dashboards and tagging |\n| ✅ Set alerts | Email/Telegram node | Be the first to apply or inform your team |\n\n---\n\n\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Fetch Upwork Jobs using Apify": [
{
"json": {
"link": "https://www.upwork.com/jobs/~01a2b3c4d5e6f7g8h9",
"title": "Build AI-based chatbot with RAG",
"skills": [
"Python",
"LangChain",
"AI",
"RAG",
"LLM"
],
"postedDate": "2025-06-05T12:00:00Z",
"description": "Need a developer experienced in LangChain and vector DBs to build a chatbot..."
}
},
{
"json": {
"link": "https://www.upwork.com/jobs/~09h8g7f6e5d4c3b2a1",
"title": "Fine-tune Llama-3 for sentiment analysis",
"skills": [
"NLP",
"Llama",
"Fine-tuning",
"Transformers"
],
"postedDate": "2025-06-04T09:30:00Z",
"description": "Looking for someone to fine-tune Meta’s Llama-3 model on our custom dataset..."
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "ad7a638f-061a-4ab9-aa96-9d2b13f67c5c",
"connections": {
"4d0d8fb6-ad2e-4dff-8d04-b100721e33ee": {
"main": [
[
{
"node": "c1f6c43c-f962-48f7-818b-638105720cad",
"type": "main",
"index": 0
}
]
]
},
"e08c753e-7d88-4f0b-889e-100291f0a3c7": {
"main": [
[
{
"node": "ffcc4ad0-7787-40a6-a78d-d3a03b1dc23b",
"type": "main",
"index": 0
}
]
]
},
"ffcc4ad0-7787-40a6-a78d-d3a03b1dc23b": {
"main": [
[
{
"node": "4d0d8fb6-ad2e-4dff-8d04-b100721e33ee",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - その他
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Upwork 求人の集約と通知
自動職缺検索:Upwork機会の集約とAI駆動型通知器
Set
Gmail
Http Request
+
Set
Gmail
Http Request
13 ノードYaron Been
その他
大規模超パーソナライズドアウトーチをBright DataとLLMで自動化
Bright Dataと大規模言語モデルを通じた大規模超パーソナライズドアッティングの自動化
If
Set
Wait
+
If
Set
Wait
21 ノードYaron Been
営業
Bright Data を通じた自動フリーランスター gigs スクレイピング
Bright Dataとn8nを使用したフリーランスのフリーランス仕事フォインダーの自動化
Set
Html
Http Request
+
Set
Html
Http Request
11 ノードYaron Been
人工知能
Airbnbのベストオファーを自動のに保存
Bright Dataとn8nを使用して最適なAirbnbの特典を自動のに検出
Set
Code
Http Request
+
Set
Code
Http Request
11 ノードYaron Been
人工知能
Bright Dataを使った自動化フォーラムモニタリング
Bright Dataとn8nを使ったフォーラム監視の自動化
Set
Code
Html
+
Set
Code
Html
17 ノードYaron Been
人工知能
研究論文スパイダーをGoogleスプシへ
Bright Dataとn8nを使った研究論文収集の自動化
Set
Code
Html
+
Set
Code
Html
12 ノードYaron Been
人工知能
ワークフロー情報
難易度
中級
ノード数8
カテゴリー1
ノードタイプ5
作成者
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
外部リンク
n8n.ioで表示 →
このワークフローを共有