自动化 LinkedIn 和 X 职位搜索并保存结果到 Notion
高级
这是一个自动化工作流,包含 23 个节点。主要使用 If, Set, Code, Wait, Limit 等节点。 自动化 LinkedIn 和 X 职位搜索并保存结果到 Notion
前置要求
- •Notion API Key
- •Twitter API 凭证
- •可能需要目标 API 的认证凭证
分类
-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "1401ee9e9fdd0e9d0b337b70e6fb76d293cb16d23811c9f2d457eebd07c701f0",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "a6f94de6-04c3-4b3d-8196-3828fede72b9",
"name": "便签 BookSlot Webhook1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-400
],
"parameters": {
"color": 5,
"width": 2062,
"height": 96,
"content": "# 目标:仅在 LinkedIn 上搜索高级设计师职位(自定义包含/排除的职位名称)"
},
"typeVersion": 1
},
{
"id": "234e54fc-b572-43b3-8904-23f67b297e91",
"name": "便签 BookSlot Webhook2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1264,
-416
],
"parameters": {
"color": 5,
"width": 782,
"height": 1472,
"content": "# LinkedIn 职位搜索自动化"
},
"typeVersion": 1
},
{
"id": "de3fdaa7-39da-40dd-8bed-0987cbb15164",
"name": "便签 BookSlot Webhook7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-304,
656
],
"parameters": {
"color": 5,
"width": 2046,
"height": 80,
"content": "# 目标:仅搜索来自 X 的高级设计师职位,并直接链接到每个帖子"
},
"typeVersion": 1
},
{
"id": "9e0c83c7-760c-40ae-9800-49d9a5da7ed6",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-256
],
"parameters": {
"color": 7,
"width": 576,
"height": 272,
"content": "## 工作原理"
},
"typeVersion": 1
},
{
"id": "425301aa-5ef6-44a8-acac-a6c06b22709a",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
288
],
"parameters": {
"color": 4,
"width": 320,
"content": "#自定义您的搜索"
},
"typeVersion": 1
},
{
"id": "4f7313f0-b4df-4a43-8496-51bccfdb85ec",
"name": "搜索 LinkedIn1",
"type": "n8n-nodes-base.httpRequest",
"position": [
176,
112
],
"parameters": {
"url": "https://www.linkedin.com/jobs/search?keywords=senior%20product%20designer%20OR%20product%20design%20lead%20OR%20senior%20UX%20designer&location=san%20francisco&f_TPR=r86400",
"options": {},
"responseFormat": "string"
},
"typeVersion": 1
},
{
"id": "467eb611-96f4-44b6-a378-71123de75a4b",
"name": "限制1",
"type": "n8n-nodes-base.limit",
"position": [
576,
112
],
"parameters": {
"maxItems": 10
},
"typeVersion": 1
},
{
"id": "574cfe35-c3bd-467b-8e5b-7fa8146ff69d",
"name": "获取职位详情1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1168,
112
],
"parameters": {
"url": "={{ $json.job_url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "2dac2dd8-f005-47ae-8885-1974acc8b63c",
"name": "提取发布者信息2",
"type": "n8n-nodes-base.code",
"position": [
1360,
112
],
"parameters": {
"jsCode": "const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n const html = item.json.data;\n const jobData = item.json;\n \n let description = '';\n const descMatch = html.match(/class=\"show-more-less-html__markup[^>]*>([\\s\\S]*?)<\\/div>/);\n if (descMatch) {\n description = descMatch[1].replace(/<[^>]+>/g, ' ').replace(/\\s+/g, ' ').trim();\n // Truncate to 2000 characters max for Notion\n if (description.length > 2000) {\n description = description.substring(0, 1997) + '...';\n }\n }\n \n let posterName = '';\n const posterMatch = html.match(/class=\"hiring-team__member-name[^>]*>\\s*([^<]+)</);\n if (posterMatch) {\n posterName = posterMatch[1].trim();\n }\n \n let posterTitle = '';\n const titleMatch = html.match(/class=\"hiring-team__member-title[^>]*>\\s*([^<]+)</);\n if (titleMatch) {\n posterTitle = titleMatch[1].trim();\n }\n \n let posterProfile = '';\n const profileMatch = html.match(/href=\"(\\/in\\/[^\"]+)\"[^>]*class=\"hiring-team/);\n if (profileMatch) {\n posterProfile = 'https://www.linkedin.com' + profileMatch[1];\n }\n \n results.push({\n json: {\n ...jobData,\n description: description,\n poster_name: posterName || 'Not found',\n poster_title: posterTitle || 'Not found',\n poster_profile: posterProfile || 'Not found'\n }\n });\n}\n\nreturn results;"
},
"typeVersion": 2
},
{
"id": "a1531ba4-5e38-4b0a-93e2-a188f6e6e5a3",
"name": "保存到 Notion3",
"type": "n8n-nodes-base.notion",
"position": [
1568,
112
],
"parameters": {
"simple": false,
"options": {},
"resource": "databasePage",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"propertiesUi": {
"propertyValues": [
{
"key": "Job Title|title",
"title": "={{ $('Filter1').item.json.job_title }}"
},
{
"key": "Company|rich_text",
"textContent": "={{ $('Filter1').item.json.company }}"
},
{
"key": "Location|rich_text",
"textContent": "={{ $('Filter1').item.json.location }}"
},
{
"key": "Job URL|url",
"urlValue": "={{ $('Filter1').item.json.job_url }}"
},
{
"key": "Poster Name|rich_text",
"textContent": "={{ $json.poster_name }}"
},
{
"key": "Poster Title|rich_text",
"textContent": "={{ $json.poster_title }}"
},
{
"key": "Poster Profile|url",
"urlValue": "={{ $json.poster_profile }}"
},
{
"key": "Job Description|rich_text",
"textContent": "={{ $json.description }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "28683ae2-4633-4350-a4b0-b53929c92093",
"name": "解析职位1",
"type": "n8n-nodes-base.code",
"position": [
368,
112
],
"parameters": {
"jsCode": "const html = $input.all()[0].json.data;\nconst jobCards = [];\nconst jobLinkRegex = /href=\"(https:\\/\\/www\\.linkedin\\.com\\/jobs\\/view\\/[^\"]+)\"/g;\nconst jobLinks = [];\nlet match;\n\nwhile ((match = jobLinkRegex.exec(html)) !== null) {\n jobLinks.push(match[1]);\n}\n\nfor (let i = 0; i < jobLinks.length; i++) {\n const jobUrl = jobLinks[i];\n const urlIndex = html.indexOf(jobUrl);\n if (urlIndex === -1) continue;\n \n const startIndex = Math.max(0, urlIndex - 3000);\n const endIndex = Math.min(html.length, urlIndex + 1000);\n const cardSection = html.substring(startIndex, endIndex);\n \n // Extract title\n let title = '';\n const titleMatch = cardSection.match(/class=\"base-search-card__title[^>]*>\\s*([^<]+)</i);\n if (titleMatch) {\n title = titleMatch[1].trim().replace(/\\s+/g, ' ');\n }\n \n // Extract company - try multiple patterns\n let company = '';\n \n // Pattern 1: hidden-nested-link (most common)\n const companyMatch1 = cardSection.match(/class=\"hidden-nested-link[^>]*>\\s*([^<]+)</i);\n if (companyMatch1) {\n company = companyMatch1[1].trim();\n }\n \n // Pattern 2: base-search-card__subtitle\n if (!company) {\n const companyMatch2 = cardSection.match(/class=\"base-search-card__subtitle[^>]*>\\s*([^<]+)</i);\n if (companyMatch2) {\n company = companyMatch2[1].trim();\n }\n }\n \n // Pattern 3: Look for company name in any link before the job URL\n if (!company) {\n const companyMatch3 = cardSection.match(/href=\"\\/company\\/[^\"]*\"[^>]*>\\s*([^<]+)</i);\n if (companyMatch3) {\n company = companyMatch3[1].trim();\n }\n }\n \n // Extract location\n let location = '';\n const locationMatch = cardSection.match(/class=\"job-search-card__location[^>]*>\\s*([^<]+)</i);\n if (locationMatch) {\n location = locationMatch[1].trim();\n }\n \n // Extract posted date\n let posted = '';\n const dateMatch = cardSection.match(/<time[^>]*>\\s*([^<]+)</i);\n if (dateMatch) {\n posted = dateMatch[1].trim();\n }\n \n jobCards.push({\n json: {\n job_title: title || 'Title not found',\n company: company || 'Company not found',\n location: location || 'Location not specified',\n job_url: jobUrl,\n posted_date: posted || 'Date not specified',\n source: 'linkedin'\n }\n });\n}\n\nreturn jobCards;"
},
"typeVersion": 2
},
{
"id": "05b081ad-b4f0-4be7-a5f5-4f7386e723f9",
"name": "过滤器1",
"type": "n8n-nodes-base.filter",
"position": [
784,
112
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cc1a9535-66db-47f3-8503-2591ca56b04b",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.company }}",
"rightValue": "Company not found"
},
{
"id": "dc84a071-58f1-4ce1-a0b9-bb0c05fe5679",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.job_title }}",
"rightValue": "Title not found"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "014b0a99-e070-4fef-9f05-17f9504ef0e1",
"name": "等待",
"type": "n8n-nodes-base.wait",
"position": [
992,
112
],
"webhookId": "2662233a-6d97-4c56-b400-29a67ee2a07e",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "cc2e9e92-c56c-45af-a3a8-176dfc856707",
"name": "每天 @5am1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-240,
112
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "fd5bea7f-f757-4ad2-8b8c-e97d7c4fd06e",
"name": "设置搜索条件1",
"type": "n8n-nodes-base.set",
"position": [
-16,
112
],
"parameters": {
"values": {
"string": [
{
"name": "search_keywords",
"value": "senior product designer, product design lead, senior UX designer, AI designer"
},
{
"name": "excluded_keywords",
"value": "contract, freelance"
},
{
"name": "location",
"value": "remote, san francisco"
},
{
"name": "f_TPR",
"value": "r86400"
},
{
"name": "sortBy",
"value": "DD"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"id": "39b938eb-194a-4561-a9e6-6ee04bb2919c",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
-256
],
"parameters": {
"color": 7,
"width": 576,
"height": 272,
"content": "## 注意事项"
},
"typeVersion": 1
},
{
"id": "658fdab8-9caf-4306-a732-5bf326c7c545",
"name": "每天 @5:15am",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-256,
880
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "da3e687d-45ac-4534-a763-952ee2b2b991",
"name": "设置搜索",
"type": "n8n-nodes-base.set",
"position": [
48,
880
],
"parameters": {
"values": {
"string": [
{
"name": "search_keywords",
"value": "senior product designer, product design lead, senior UX designer"
},
{
"name": "excluded_keywords",
"value": "junior, intern, internship"
},
{
"name": "location",
"value": "san francisco, remote"
},
{
"name": "posted_within",
"value": "24h"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"id": "642c6a0a-0306-4e63-88ab-ff7b531c391f",
"name": "搜索 Twitter 职位帖子",
"type": "n8n-nodes-base.twitter",
"position": [
336,
880
],
"parameters": {
"operation": "search",
"searchText": "(\"senior product designer\" OR \"product design lead\" OR \"senior UX designer\") (hiring OR \"we're hiring\" OR \"join our team\" OR opening OR \"we are hiring\") (\"san francisco\" OR remote OR \"work from anywhere\") -contract -freelance -junior -intern -internship -RT",
"additionalFields": {}
},
"credentials": {
"twitterOAuth2Api": {
"id": "Dl9Lhj7dQdaXbS4F",
"name": "X account"
}
},
"typeVersion": 2
},
{
"id": "fc0cef14-889f-48ef-89a2-991d4b97e2fe",
"name": "解析和过滤职位",
"type": "n8n-nodes-base.code",
"position": [
640,
880
],
"parameters": {
"jsCode": "const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n const tweet = item.json;\n const text = tweet.text || '';\n const author = tweet.includes?.users?.[0] || {};\n \n // Skip if tweet contains excluded keywords\n const excludedWords = ['contract', 'freelance', 'junior', 'intern', 'c2c', 'corp-to-corp'];\n const textLower = text.toLowerCase();\n if (excludedWords.some(word => textLower.includes(word))) {\n continue;\n }\n \n // Extract job title\n let jobTitle = '';\n const titlePatterns = [\n /(senior\\s+product\\s+designer)/i,\n /(product\\s+design\\s+lead)/i,\n /(lead\\s+product\\s+designer)/i,\n /(senior\\s+ux\\s+designer)/i,\n /(principal\\s+(?:product\\s+)?designer)/i,\n /(staff\\s+(?:product\\s+)?designer)/i\n ];\n \n for (let pattern of titlePatterns) {\n const match = text.match(pattern);\n if (match) {\n jobTitle = match[1].trim();\n break;\n }\n }\n \n // Extract company\n let company = '';\n const companyPatterns = [\n /@([A-Z][a-zA-Z0-9_]+)\\s+(?:is|are)\\s+(?:hiring|looking)/,\n /(?:at|join|@)\\s+([A-Z][a-zA-Z0-9]+?)(?:\\s+(?:is|are|we|-))/,\n /([A-Z][a-zA-Z0-9\\s]{2,30})\\s+(?:is|are)\\s+(?:hiring|looking|seeking)/\n ];\n \n for (let pattern of companyPatterns) {\n const match = text.match(pattern);\n if (match) {\n company = match[1].trim().replace(/^@/, '');\n break;\n }\n }\n \n // If no company found, use author name or check bio\n if (!company) {\n if (author.description) {\n const bioMatch = author.description.match(/(?:@|at)\\s+([A-Z][a-zA-Z0-9]+)/);\n if (bioMatch) company = bioMatch[1];\n }\n if (!company) company = author.name || 'See tweet';\n }\n \n // Extract location with priority for SF and Remote\n let location = '';\n const sfPatterns = [\n /san francisco|SF bay area|bay area/i,\n /remote|fully remote|work from anywhere|work from home|WFH/i,\n /hybrid.*(?:san francisco|SF)/i\n ];\n \n for (let pattern of sfPatterns) {\n const match = text.match(pattern);\n if (match) {\n location = match[0].trim();\n break;\n }\n }\n \n // Generic location fallback\n if (!location) {\n const locMatch = text.match(/(?:location|based in|located in)[:\\s]+([A-Z][a-z]+(?:[,\\s]+[A-Z]{2})?)/i);\n if (locMatch) location = locMatch[1];\n }\n \n // Only include if it's SF or Remote\n if (location) {\n const locationLower = location.toLowerCase();\n if (!locationLower.includes('san francisco') && \n !locationLower.includes('bay area') && \n !locationLower.includes('remote') &&\n !locationLower.includes('sf')) {\n continue; // Skip non-SF/remote jobs\n }\n }\n \n // Extract URLs\n let jobUrl = '';\n const urls = text.match(/https:\\/\\/[^\\s]+/g);\n if (urls && urls.length > 0) {\n // Prefer job board URLs\n jobUrl = urls.find(url => \n url.includes('greenhouse') || \n url.includes('lever') || \n url.includes('workday') ||\n url.includes('jobs') ||\n url.includes('careers')\n ) || urls[0];\n }\n \n // Build tweet URL\n const tweetUrl = `https://twitter.com/${author.username}/status/${tweet.id}`;\n \n // Extract poster info\n const posterName = author.name || 'Unknown';\n const posterUsername = author.username || '';\n const posterProfile = `https://twitter.com/${author.username}`;\n const posterBio = author.description || '';\n \n // Try to extract poster's title from bio\n let posterTitle = '';\n const titleMatch = posterBio.match(/^([^@|•\\n]{10,80})/);\n if (titleMatch) {\n posterTitle = titleMatch[1].trim();\n }\n \n results.push({\n json: {\n job_title: jobTitle || 'Senior Product Designer',\n company: company,\n location: location || 'Remote/San Francisco',\n job_url: jobUrl || tweetUrl,\n posted_date: tweet.created_at || new Date().toISOString(),\n source: 'twitter',\n poster_name: posterName,\n poster_username: posterUsername,\n poster_profile: posterProfile,\n poster_title: posterTitle,\n description: text.substring(0, 2000),\n tweet_url: tweetUrl,\n likes: tweet.public_metrics?.like_count || 0,\n retweets: tweet.public_metrics?.retweet_count || 0,\n replies: tweet.public_metrics?.reply_count || 0\n }\n });\n}\n\nreturn results;"
},
"typeVersion": 2
},
{
"id": "734e5a37-6ae0-4eea-ba2f-0c1b07fe4f22",
"name": "过滤有效职位",
"type": "n8n-nodes-base.if",
"position": [
880,
880
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.job_title }}",
"operation": "isNotEmpty"
},
{
"value1": "={{ $json.company }}",
"operation": "isNotEmpty"
}
]
}
},
"typeVersion": 1
},
{
"id": "ef931ed3-80a9-46b3-93f9-14d670d224c4",
"name": "等待。",
"type": "n8n-nodes-base.wait",
"position": [
1152,
880
],
"webhookId": "b628a9fa-833f-4957-8d65-d086b6dd0e94",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "b628b752-301b-4b0c-9690-ac871f63f7a2",
"name": "保存到 Notion 数据库",
"type": "n8n-nodes-base.notion",
"position": [
1440,
880
],
"parameters": {
"simple": false,
"options": {},
"resource": "databasePage",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"propertiesUi": {
"propertyValues": [
{
"key": "Job Title|title",
"title": "={{ $json.job_title }}"
},
{
"key": "Company|rich_text",
"textContent": "={{ $json.company }}"
},
{
"key": "Location|rich_text",
"textContent": "={{ $json.location }}"
},
{
"key": "Job URL|url",
"urlValue": "={{ $json.job_url }}"
},
{
"key": "Poster Name|rich_text",
"textContent": "={{ $json.poster_name }}"
},
{
"key": "Poster Title|rich_text",
"textContent": "={{ $json.poster_title }}"
},
{
"key": "Poster Profile|url",
"urlValue": "={{ $json.poster_profile }}"
},
{
"key": "Job Description|rich_text",
"textContent": "={{ $json.description }}"
},
{
"key": "Tweet URL|url",
"urlValue": "={{ $json.tweet_url }}"
},
{
"key": "Source|select",
"selectValue": "={{ $json.source }}"
},
{
"key": "Posted Date|date"
}
]
}
},
"credentials": {
"notionApi": {
"id": "7Lv3qvnDmu3mBnqh",
"name": "Notion account"
}
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"014b0a99-e070-4fef-9f05-17f9504ef0e1": {
"main": [
[
{
"node": "574cfe35-c3bd-467b-8e5b-7fa8146ff69d",
"type": "main",
"index": 0
}
]
]
},
"ef931ed3-80a9-46b3-93f9-14d670d224c4": {
"main": [
[
{
"node": "b628b752-301b-4b0c-9690-ac871f63f7a2",
"type": "main",
"index": 0
}
]
]
},
"467eb611-96f4-44b6-a378-71123de75a4b": {
"main": [
[
{
"node": "05b081ad-b4f0-4be7-a5f5-4f7386e723f9",
"type": "main",
"index": 0
}
]
]
},
"05b081ad-b4f0-4be7-a5f5-4f7386e723f9": {
"main": [
[
{
"node": "014b0a99-e070-4fef-9f05-17f9504ef0e1",
"type": "main",
"index": 0
}
]
]
},
"da3e687d-45ac-4534-a763-952ee2b2b991": {
"main": [
[
{
"node": "642c6a0a-0306-4e63-88ab-ff7b531c391f",
"type": "main",
"index": 0
}
]
]
},
"28683ae2-4633-4350-a4b0-b53929c92093": {
"main": [
[
{
"node": "467eb611-96f4-44b6-a378-71123de75a4b",
"type": "main",
"index": 0
}
]
]
},
"cc2e9e92-c56c-45af-a3a8-176dfc856707": {
"main": [
[
{
"node": "fd5bea7f-f757-4ad2-8b8c-e97d7c4fd06e",
"type": "main",
"index": 0
}
]
]
},
"658fdab8-9caf-4306-a732-5bf326c7c545": {
"main": [
[
{
"node": "da3e687d-45ac-4534-a763-952ee2b2b991",
"type": "main",
"index": 0
}
]
]
},
"4f7313f0-b4df-4a43-8496-51bccfdb85ec": {
"main": [
[
{
"node": "28683ae2-4633-4350-a4b0-b53929c92093",
"type": "main",
"index": 0
}
]
]
},
"734e5a37-6ae0-4eea-ba2f-0c1b07fe4f22": {
"main": [
[
{
"node": "ef931ed3-80a9-46b3-93f9-14d670d224c4",
"type": "main",
"index": 0
}
]
]
},
"574cfe35-c3bd-467b-8e5b-7fa8146ff69d": {
"main": [
[
{
"node": "2dac2dd8-f005-47ae-8885-1974acc8b63c",
"type": "main",
"index": 0
}
]
]
},
"2dac2dd8-f005-47ae-8885-1974acc8b63c": {
"main": [
[
{
"node": "a1531ba4-5e38-4b0a-93e2-a188f6e6e5a3",
"type": "main",
"index": 0
}
]
]
},
"fd5bea7f-f757-4ad2-8b8c-e97d7c4fd06e": {
"main": [
[
{
"node": "4f7313f0-b4df-4a43-8496-51bccfdb85ec",
"type": "main",
"index": 0
}
]
]
},
"fc0cef14-889f-48ef-89a2-991d4b97e2fe": {
"main": [
[
{
"node": "734e5a37-6ae0-4eea-ba2f-0c1b07fe4f22",
"type": "main",
"index": 0
}
]
]
},
"642c6a0a-0306-4e63-88ab-ff7b531c391f": {
"main": [
[
{
"node": "fc0cef14-889f-48ef-89a2-991d4b97e2fe",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+
If
Ftp
Set
113 节点I versus AI
其他
AI驱动博客自动化
AI驱动博客自动化:使用GPT-4生成并发布SEO文章至WordPress和Twitter
If
Set
Code
+
If
Set
Code
144 节点Jay Emp0
内容创作
潜在客户开发与邮件工作流
使用Google Maps、SendGrid和AI自动化B2B潜在客户开发与邮件营销
If
Set
Code
+
If
Set
Code
141 节点Ezema Kingsley Chibuzo
潜在客户开发
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+
If
Set
Xml
125 节点Daniel Ng
内容创作
使用Airtable、OpenAI和Unipile
使用Airtable、OpenAI和Unipile的自动化LinkedIn潜在客户生成与私信触达
If
Set
Code
+
If
Set
Code
143 节点Ruben AI
客户培育
内容农场v4 - 使用ChatGPT 5和Gemini实现WordPress博客
内容农场v4 - 使用ChatGPT 5和Gemini实现WordPress博客自动化
If
Set
Code
+
If
Set
Code
168 节点Jay Emp0
工作流信息
难度等级
高级
节点数量23
分类-
节点类型11
作者
Summer
@summerchangProduct Designer & AI Consultant | I help business owners improve their websites, apps, and digital marketing systems to drive growth and save time—using design expertise and AI automation.
外部链接
在 n8n.io 查看 →
分享此工作流