Upwork 工作提醒工作流
中级
这是一个Personal Productivity领域的自动化工作流,包含 11 个节点。主要使用 Set, Code, WhatsApp, GoogleSheets, Apify 等节点。 从 Apify 追踪自由职业工作,并通过 WhatsApp 即时接收新线索提醒
前置要求
- •Google Sheets API 凭证
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "2N6RJnwzjP8bVcFu",
"meta": {
"instanceId": "7b35059aff065837b1c7d24142b37474554b08b3370f3096b2e57345690d178e",
"templateCredsSetupCompleted": true
},
"name": "Upwork 工作提醒工作流",
"tags": [],
"nodes": [
{
"id": "b5449656-57b5-40aa-8a83-b3279b11f734",
"name": "编辑字段1",
"type": "n8n-nodes-base.set",
"position": [
4064,
816
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f86d90d2-d03a-4553-9bc0-820da3f74b56",
"name": "Title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "880e6f53-02c9-47f4-9d15-a2e9f086891f",
"name": "Description",
"type": "string",
"value": "={{ $json.description }}"
},
{
"id": "e098c4db-51f5-4038-811a-8f00c3924475",
"name": "Status",
"type": "string",
"value": "New"
},
{
"id": "e0b12de9-6e31-4405-8aed-82e90b85ed98",
"name": "Payment Type",
"type": "string",
"value": "={{ $json.jobType }}"
},
{
"id": "830a8fec-9b27-47d5-b933-eb0d5b0add9f",
"name": "Experience",
"type": "string",
"value": "={{ $json.experienceLevel }}"
},
{
"id": "8e733eaa-7592-4e86-b66b-5eeaa0e3fc97",
"name": "Salary",
"type": "string",
"value": "={{ $json.budget }}"
},
{
"id": "9e733eaa-7592-4e86-b66b-5eeaa0e3fc98",
"name": "Location",
"type": "string",
"value": "={{ $json.clientLocation }}"
},
{
"id": "ce733eaa-7592-4e86-b66b-5eeaa0e3fca1",
"name": "URL",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "de733eaa-7592-4e86-b66b-5eeaa0e3fca2",
"name": "Date",
"type": "string",
"value": "={{ $json.absoluteDate }}"
},
{
"id": "ee733eaa-7592-4e86-b66b-5eeaa0e3fca3",
"name": "Found",
"type": "string",
"value": "={{ $now.toISO() }}"
},
{
"id": "54646432-f8fe-4c14-9976-c151f16c9a86",
"name": "hire_percentage",
"type": "string",
"value": "={{ $json.clientHireRatePercent }}"
},
{
"id": "fae26632-6c73-42cc-b7da-90ae8c757d4d",
"name": "spending_history",
"type": "string",
"value": "={{ $json.clientTotalSpent }}"
},
{
"id": "76f9d4ee-2a39-478d-9955-9cd1df47d8c4",
"name": "rating",
"type": "string",
"value": "={{ $json.clientRating }}"
},
{
"id": "492ee934-f629-4ffe-8f6f-63bed6cc4f9f",
"name": "score",
"type": "string",
"value": "={{ $json.score }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "9672eb74-4c5a-439b-aab5-4e06663a937f",
"name": "发送消息",
"type": "n8n-nodes-base.whatsApp",
"position": [
4576,
816
],
"webhookId": "c5023490-5e38-49bd-883b-ee2ccad2bd53",
"parameters": {
"textBody": "=# New Job Alet make the Proposal ASAP\n\nName : \n\nJob Title : {{ $json['Job Tile'] }}\n\nPosted Date : {{ $json['job posted'] }}\n\nHourly Budget : {{ $json.budget }}\n\nPayment Type : {{ $json['Payment type'] }}\n",
"operation": "send",
"phoneNumberId": "745077835357667",
"additionalFields": {
"previewUrl": false
},
"recipientPhoneNumber": "Add your number"
},
"credentials": {
"whatsAppApi": {
"id": "scRxHCAkRVled5zP",
"name": "WhatsApp account"
}
},
"typeVersion": 1
},
{
"id": "c49b734d-ba70-41cf-bbe6-3b9ddc2b3472",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
3408,
624
],
"parameters": {
"color": 3,
"width": 1376,
"height": 400,
"content": "# 带 WhatsApp 提醒的自由职业工作追踪器"
},
"typeVersion": 1
},
{
"id": "847030db-1bc7-424a-b73b-c736109da905",
"name": "运行执行器",
"type": "@apify/n8n-nodes-apify.apify",
"position": [
3584,
816
],
"parameters": {
"actorId": {
"__rl": true,
"mode": "id",
"value": "Add your Actor Id"
},
"timeout": {},
"customBody": "={\n \n \"paymentVerified\": true,\n \"query\": \"{{ $json.chatInput }}\"\n}"
},
"credentials": {
"apifyApi": {
"id": "X2v0szs11ucfAaTq",
"name": "Apify account"
}
},
"typeVersion": 1
},
{
"id": "dfb38ee0-cb7e-4c6a-ba72-9fc8fa592ec5",
"name": "使用 JavaScript 编写代码",
"type": "n8n-nodes-base.code",
"position": [
3904,
816
],
"parameters": {
"jsCode": "// === INPUT ===\n// Expecting keywords already provided by the previous node (like Chat Trigger)\nconst inputData = $input.item.json;\nconst query = inputData.keywords || \"\"; // make sure this field exists\nconst keywords = Array.isArray(query)\n ? query.map(k => k.toLowerCase())\n : query.toLowerCase().split(/\\s+/).filter(k => k.length > 1);\n\n// === PROCESS EACH ITEM ===\nreturn items.map(item => {\n const title = (item.json.title || \"\").toLowerCase();\n const description = (item.json.description || \"\").toLowerCase();\n\n // Combine both fields for scoring\n const text = title + \" \" + description;\n\n // Score relevance\n let score = 0;\n keywords.forEach(word => {\n const regex = new RegExp(\"\\\\b\" + word + \"\\\\b\", \"gi\");\n const matches = text.match(regex);\n if (matches) score += matches.length * 20; // weight per keyword match\n });\n\n // Add extra weight if keyword appears in title\n keywords.forEach(word => {\n const regexTitle = new RegExp(\"\\\\b\" + word + \"\\\\b\", \"gi\");\n const matchesInTitle = title.match(regexTitle);\n if (matchesInTitle) score += matchesInTitle.length * 30;\n });\n\n // Normalize score\n if (score > 100) score = 100;\n\n // Attach score\n item.json.score = score;\n\n return item;\n});\n"
},
"typeVersion": 2
},
{
"id": "fc856cc0-beb8-4b31-89df-cd26bb295e49",
"name": "在 sheet1 中追加或更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
4224,
816
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $json.URL }}",
"Date": "={{ $json.Date }}",
"Found": "={{ $json.Found }}",
"Score": "={{ $json.score }}",
"Title": "={{ $json.Title }}",
"Salary": "={{ $json.Salary }}",
"Status": "={{ $json.Status }}",
"Location": "={{ $json.Location }}",
"Experience": "={{ $json.Experience }}",
"Description": "={{ $json.Description }}",
"Payment Type": "={{ $json['Payment Type'] }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Payment Type",
"type": "string",
"display": true,
"required": false,
"displayName": "Payment Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Experience",
"type": "string",
"display": true,
"required": false,
"displayName": "Experience",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Salary",
"type": "string",
"display": true,
"required": false,
"displayName": "Salary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Location",
"type": "string",
"display": true,
"required": false,
"displayName": "Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL",
"type": "string",
"display": true,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Found",
"type": "string",
"display": true,
"required": false,
"displayName": "Found",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Title"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "Add your sheet url",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1rBRKpiA2COarqpmYTAR1pl2pOtj4l3ftBEjoNc6lU_A",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rBRKpiA2COarqpmYTAR1pl2pOtj4l3ftBEjoNc6lU_A/edit?usp=drivesdk",
"cachedResultName": "Upwork Whatsapp alert"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "UwnixXxqC0pFVvLS",
"name": "My Account"
}
},
"typeVersion": 4.7
},
{
"id": "2e803289-97da-41b5-98cc-d91c985b7d1b",
"name": "当收到聊天消息时",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
3440,
816
],
"webhookId": "a6f2534a-9af9-4d84-8d7f-e48813f1cf75",
"parameters": {
"options": {}
},
"typeVersion": 1.3
},
{
"id": "9b24fdab-a2f2-4449-ac11-81cc3d84ba6d",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2464,
624
],
"parameters": {
"width": 880,
"height": 1152,
"content": "## 💼 带 WhatsApp 提醒的自由职业工作追踪器 (Apify + n8n)"
},
"typeVersion": 1
},
{
"id": "256ef1af-d543-4bab-af85-6c6a9a891849",
"name": "编辑字段以发送特定数据",
"type": "n8n-nodes-base.set",
"position": [
4400,
816
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d78912c8-c63e-4f32-af19-60a568d02377",
"name": "Job Tile",
"type": "string",
"value": "={{ $json.Title }}"
},
{
"id": "7ade5447-cac2-4fc2-bff2-517a8583d11e",
"name": "job posted",
"type": "string",
"value": "={{ $json.Date }}"
},
{
"id": "caff77ba-6c86-4685-b752-bae8ed41e58f",
"name": "Payment type",
"type": "string",
"value": "={{ $json['Payment Type'] }}"
},
{
"id": "52215059-aa70-469b-8b09-f51ada9a5fa0",
"name": "score",
"type": "string",
"value": "={{ $json.Score }}"
},
{
"id": "89926694-3595-4d22-b6ea-00228fb38a11",
"name": "budget",
"type": "string",
"value": "={{ $json.Salary }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "01b532f0-cf78-4ffc-8998-f01878224a45",
"name": "获取数据集项",
"type": "@apify/n8n-nodes-apify.apify",
"position": [
3744,
816
],
"parameters": {
"resource": "Datasets",
"datasetId": "={{ $json.defaultDatasetId }}"
},
"credentials": {
"apifyApi": {
"id": "X2v0szs11ucfAaTq",
"name": "Apify account"
}
},
"typeVersion": 1
},
{
"id": "5107bd3a-5ecd-4947-84e9-4435b5b53b50",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
3440,
1040
],
"parameters": {
"width": 1088,
"height": 800,
"content": "# 🧠 适用对象"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Run an Actor": [
{
"json": {
"id": "Xg4SdsTS4ekwaNqdu",
"meta": {
"origin": "API",
"userAgent": "axios/1.8.3"
},
"actId": "XYTgO05GT5qAoSlxy",
"stats": {
"metamorph": 0,
"netRxBytes": 403983,
"netTxBytes": 86392,
"cpuAvgUsage": 3.8167535673388304,
"cpuMaxUsage": 44.39847908745247,
"memAvgBytes": 52856122.39532159,
"memMaxBytes": 83492864,
"rebootCount": 0,
"runTimeSecs": 34.905,
"computeUnits": 0.004847916666666667,
"inputBodyLen": 104,
"restartCount": 0,
"durationMillis": 34905,
"migrationCount": 0,
"resurrectCount": 0,
"cpuCurrentUsage": 0,
"memCurrentBytes": 0
},
"usage": {
"PROXY_SERPS": 0,
"DATASET_READS": 0,
"DATASET_WRITES": 0,
"ACTOR_COMPUTE_UNITS": 0.004847916666666667,
"REQUEST_QUEUE_READS": 0,
"REQUEST_QUEUE_WRITES": 0,
"KEY_VALUE_STORE_LISTS": 0,
"KEY_VALUE_STORE_READS": 1,
"KEY_VALUE_STORE_WRITES": 1,
"DATA_TRANSFER_EXTERNAL_GBYTES": 0.0000794287770986557,
"DATA_TRANSFER_INTERNAL_GBYTES": 0.0000052032992243766785,
"PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0
},
"status": "SUCCEEDED",
"userId": "QkSp4Xrc5NR3bX19H",
"buildId": "lSb2xTZpAyRdBHXmx",
"options": {
"build": "0.0.37",
"diskMbytes": 2048,
"timeoutSecs": 3600,
"memoryMbytes": 512
},
"exitCode": 0,
"usageUsd": {
"PROXY_SERPS": 0,
"DATASET_READS": 0,
"DATASET_WRITES": 0,
"ACTOR_COMPUTE_UNITS": 0.0014543750000000002,
"REQUEST_QUEUE_READS": 0,
"REQUEST_QUEUE_WRITES": 0,
"KEY_VALUE_STORE_LISTS": 0,
"KEY_VALUE_STORE_READS": 0.000005,
"KEY_VALUE_STORE_WRITES": 0.00005,
"DATA_TRANSFER_EXTERNAL_GBYTES": 0.00001588575541973114,
"DATA_TRANSFER_INTERNAL_GBYTES": 2.6016496121883394e-7,
"PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0
},
"startedAt": "2025-10-11T15:38:00.836Z",
"consoleUrl": "https://console.apify.com/view/runs/Xg4SdsTS4ekwaNqdu",
"finishedAt": "2025-10-11T15:38:35.874Z",
"buildNumber": "0.0.37",
"pricingInfo": {
"createdAt": "2025-03-23T14:10:16.365Z",
"startedAt": "2025-03-23T14:10:16.365Z",
"pricingModel": "FLAT_PRICE_PER_MONTH",
"trialMinutes": 120,
"pricePerUnitUsd": 25,
"apifyMarginPercentage": 0.2,
"notifiedAboutChangeAt": "2025-03-23T14:35:20.443Z"
},
"containerUrl": "https://4ouk3h218ged.runs.apify.net",
"generalAccess": "FOLLOW_USER_SETTING",
"usageTotalUsd": 0.00152552092038095,
"defaultDatasetId": "IfCiCpaj56qQcxsRq",
"integrationTracking": {
"appId": null,
"isAiTool": false,
"platform": "n8n"
},
"defaultRequestQueueId": "uxPbs9vHOA54wdeYs",
"defaultKeyValueStoreId": "ZdgvwvxmhYmng0pcW",
"platformUsageBillingModel": "USER"
}
}
],
"Get dataset items": [
{
"json": {
"id": "1977018660767464739",
"url": "https://www.upwork.com/jobs/Product-management-for-SaaS-platform_~021977018660767464739/?referrer_url_path=/nx/search/jobs/",
"tags": [
"Product Management",
"SaaS",
"Automation",
"API Integration"
],
"subId": "~021977018660767464739",
"title": "Product management for SaaS platform",
"budget": "$50.00",
"jobType": "Fixed",
"hasHired": false,
"description": "Product Manager Key Responsibilities: Product Development & Management: Own the ongoing technical development of the Hlido platform, collaborating with developers to deliver new features, workflows, and improvements. Act as the primary product owner, prioritizing feature releases and backlog management. Drive partner portal development (from requirements gathering to rollout, feedback, and continuous iteration). User & Partner Engagement: Develop and execute strategies for reaching out to both current and prospective users and partners to validate product fit and drive adoption. Coordinate onboarding processes for partners and clients, ensuring smooth integration and ongoing satisfaction. Collect and analyze user and partner feedback, translating insights into actionable product improvements. Marketing & Content: Oversee marketing content creation and distribution, ensuring alignment with product positioning and customer needs. Collaborate with marketing to prepare launch materials, product updates, and educational resources. Regularly update web content, help guides, and social media channels to engage and inform the audience. Cross-Functional Collaboration: Work closely with engineering, sales, marketing, and external partners. Support business development, including representing Hlido at customer meetings, webinars, and industry events. Process Optimization: Monitor and improve internal processes (automation workflows, customer onboarding, alerting, partner management). Advocate for best practices in product management and SaaS delivery. Qualifications: Experience managing SaaS or B2B software products, preferably in compliance, automation, or enterprise platforms. Strong technical understanding (API integrations, automation workflows, cloud platforms like n8n, Airtable, Framer). Proven ability in product ownership: backlog management, user stories, feature prioritization. Excellent communication skills—written and verbal—for engaging users, partners, and internal teams. Experience with marketing content development and multi-channel campaign execution. Track record of working with developers and cross-functional teams. Startup experience and adaptability are strong assets.",
"absoluteDate": "2025-10-11T14:29:14.798Z",
"clientRating": 0,
"relativeDate": "Posted 2 minutes ago",
"clientLocation": "South Africa",
"experienceLevel": "Entry Level",
"paymentVerified": true,
"clientTotalSpent": 0,
"clientHireRatePercent": 0,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1977033979850456355",
"url": "https://www.upwork.com/jobs/Backend-Integration-Dev-Automation-Specialist-span-class-highlight-n8n-span-GHL-EHR-API-HIPAA-Compliant_~021977033979850456355/?referrer_url_path=/nx/search/jobs/",
"tags": [
"n8n",
"API Development",
"REST API",
"HIPAA",
"API",
"Node.js",
"Python"
],
"subId": "~021977033979850456355",
"title": "Backend Integration Dev Automation Specialist | n8n | GHL | EHR API | HIPAA Compliant",
"budget": "15 - 20",
"jobType": "Hourly",
"hasHired": false,
"description": "We’re Lead Better HQ, an automation and marketing platform built for functional and integrative medicine practices.\n\nWe already use Go High Level (GHL) to manage patient leads and communication.\n\nNow we want to connect GHL with the EHRs (Practice Better, Cerbo and others) using n8n, to automate the new patient onboarding process and remove manual data entry.\n\nThis will be an internal-only middleware — no customer interface, just clean, reliable automations running privately on our server.\n\n⚙️ The Project\n\nWe need you to help us set up and build workflows in n8n that securely pass data between GHL and EHRs.\n\nCore Workflows:\n\nGHL → EHR\n\nWhen a new contact or form submission occurs in GHL, create or update a client record in the EHR.\n\nInclude field mappings (name, email, DOB, insurance, notes, etc.).\n\nHandle duplicates, missing data, and errors gracefully.\n\nEHR → GHL\n\nWhen an appointment is booked or updated in the EHR, update the contact in GHL with appointment status and tags.\n\nError Handling + Alerts\n\nSlack/email notification for failed jobs.\n\nBasic retry logic for failed API calls.\n\nDeployment & Security\n\nHost n8n on AWS (ECS, EC2, or Cloud Run equivalent).\n\nSet up environment variables, secret storage, and SSL.\n\nEnsure the setup meets HIPAA best practices (encryption, no PHI in logs).\n\n🔧 Technical Skills Required\n\nProven experience building automations in n8n.\n\nStrong understanding of webhooks, REST APIs, and JSON data mapping.\n\nExperience with Go High Level or Practice Better / Cerbo API a huge plus.\n\nComfortable working with AWS or GCP for hosting (basic DevOps knowledge).\n\nKnows how to handle authentication, retries, and rate limiting.\n\nCan document work clearly (Loom videos + short SOPs).\n\n🧱 Deliverables\n\nWorking n8n instance deployed on our cloud account.\n\n3–5 functioning workflows (GHL → EHR, EHR → GHL).\n\nSlack/email error notifications.\n\nDocumentation for:\n\nHow workflows are set up\n\nHow to update mappings\n\nHow to add new automations\n\n\nBeyond creating this middleware bridge, we're also looking to add you to our team as a part-time dev to help our clients.",
"absoluteDate": "2025-10-11T15:30:07.208Z",
"clientRating": 5,
"relativeDate": "Posted 8 minutes ago",
"clientLocation": "United States",
"experienceLevel": "Expert",
"paymentVerified": true,
"clientTotalSpent": 71488,
"clientHireRatePercent": 125,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1977013942493866295",
"url": "https://www.upwork.com/jobs/Agent-span-class-highlight-Development-span-span-class-highlight-N8N-span-Similar-Platform_~021977013942493866295/?referrer_url_path=/nx/search/jobs/",
"tags": [
"AI Agent Development",
"n8n",
"Make.com",
"Zapier"
],
"subId": "~021977013942493866295",
"title": "AI Agent Development on N8N or Similar Platform",
"budget": "N/A",
"jobType": "Hourly",
"hasHired": false,
"description": "We are seeking a skilled freelancer to develop an AI agent using N8N or a similar platform. The AI agent will be responsible for automating tasks such as Resume creating, email management and networking. The ideal candidate should have experience with workflow automation tools and a good understanding of AI integration.",
"absoluteDate": "2025-10-11T14:10:29.883Z",
"clientRating": 0,
"relativeDate": "Posted 1 hour ago",
"clientLocation": "ARE",
"experienceLevel": "Intermediate",
"paymentVerified": true,
"clientTotalSpent": 146,
"clientHireRatePercent": 50,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1977009256429059363",
"url": "https://www.upwork.com/jobs/Collaboration-span-class-highlight-N8N-span-automatisation-French-start_~021977009256429059363/?referrer_url_path=/nx/search/jobs/",
"tags": [
"n8n",
"YouTube Automation",
"Document Automation",
"AI Chatbot"
],
"subId": "~021977009256429059363",
"title": "Collaboration in N8N automatisation in French start up",
"budget": "N/A",
"jobType": "Hourly",
"description": "Project overview\nWe’re launching a European version of an app concept that’s already performing strongly in the US market. The product logic and structure are already set — our main goal now is to automate key workflows efficiently to save time and scale faster.\n\nWhat we’re looking for\nWe’re searching for a developer specialized in automation, ideally with experience in:\n\t•\tn8n (preferred) or similar automation tools\n\t•\tAPI connections & integrations\n\t•\tBuilding efficient and maintainable workflow logic\n\t•\tHandling webhooks, API triggers, and data synchronization\n\nMission details\n\t•\tDuration: around one week (short-term)\n\t•\tScope: set up and optimize automation flows for the app\n\t•\tWe already have the system logic and structure — you’ll mainly help with execution and optimization\n\t•\tYou’ll work closely with the founders\n\nCompensation options\nWe’re open to either:\n\t•\tA flat-rate mission, or\n\t•\tA revenue-share model (percentage on recurring revenue)\n\nProfile\n\t•\tAutonomous, fast, and solution-oriented\n\t•\tComfortable working async (we’re remote-first)\n\t•\tStrong communication and ability to document clean processes",
"absoluteDate": "2025-10-11T14:38:00.336Z",
"relativeDate": "Posted 1 hour ago",
"experienceLevel": "Intermediate",
"paymentVerified": "unknown"
}
},
{
"json": {
"id": "1977006069638457655",
"url": "https://www.upwork.com/jobs/Employee-span-class-highlight-Development-span-Specialist_~021977006069638457655/?referrer_url_path=/nx/search/jobs/",
"tags": [
"n8n",
"Adobe Illustrator",
"Lead Generation",
"JavaScript",
"Graphic Design"
],
"subId": "~021977006069638457655",
"title": "AI Employee Development Specialist",
"budget": "$500.00",
"jobType": "Fixed",
"hasHired": false,
"description": "We are seeking an experienced AI developer to assist in creating an AI-powered virtual employee. The ideal candidate should have a strong background in artificial intelligence and machine learning, with expertise in developing intelligent systems that can perform tasks autonomously. This role involves designing algorithms, training models, and integrating the AI with existing workflows for efficiency and productivity. If you have a passion for AI and a track record of innovative solutions, we want to hear from you!",
"absoluteDate": "2025-10-11T13:39:12.882Z",
"clientRating": 2.81,
"relativeDate": "Posted 1 hour ago",
"clientLocation": "United States",
"experienceLevel": "Expert",
"paymentVerified": true,
"clientTotalSpent": 1222,
"clientHireRatePercent": 23,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1976978380472233702",
"url": "https://www.upwork.com/jobs/span-class-highlight-n8n-span-Workflow-span-class-highlight-Developer-span-Needed-Book-Recommendation-Aggregator-System_~021976978380472233702/?referrer_url_path=/nx/search/jobs/",
"tags": [
"n8n",
"English"
],
"subId": "~021976978380472233702",
"title": "n8n Workflow Developer Needed: Book Recommendation Aggregator System",
"budget": "$50.00",
"jobType": "Fixed",
"hasHired": true,
"description": "We need an experienced n8n developer to create an automated workflow that discovers and processes human-curated book recommendations from the web. The system will use Claude AI and/or Perplexity API for intelligent web search, data extraction and processing.",
"absoluteDate": "2025-10-11T11:49:11.264Z",
"clientRating": 4.93,
"relativeDate": "Posted 3 hours ago",
"clientLocation": "Germany",
"experienceLevel": "Expert",
"paymentVerified": true,
"clientTotalSpent": 2000,
"clientHireRatePercent": 104,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1976976228629675299",
"url": "https://www.upwork.com/jobs/span-class-highlight-N8N-span-Flow-Audit-and-Chatbot-Setup-for-Facebook-Pages_~021976976228629675299/?referrer_url_path=/nx/search/jobs/",
"tags": [
"Facebook Development",
"Facebook",
"Social Media Marketing",
"Internet Marketing"
],
"subId": "~021976976228629675299",
"title": "N8N Flow Audit and Chatbot Setup for Facebook Pages",
"budget": "$10.00",
"jobType": "Fixed",
"hasHired": false,
"description": "We are seeking a skilled freelancer to audit and finalize our N8N flow, focusing on verifying the post node, AI agent memory, and HTTP requests. The primary goal is to develop a chatbot for Facebook pages, with each business having its own memory setup.",
"absoluteDate": "2025-10-11T11:40:38.222Z",
"clientRating": 5,
"relativeDate": "Posted 3 hours ago",
"clientLocation": "Bangladesh",
"experienceLevel": "Intermediate",
"paymentVerified": true,
"clientTotalSpent": 315,
"clientHireRatePercent": 62,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1976964697453014758",
"url": "https://www.upwork.com/jobs/Studio-legale_~021976964697453014758/?referrer_url_path=/nx/search/jobs/",
"tags": [
"n8n",
"AI Agent Development",
"Make.com",
"Automation",
"AI Bot",
"AI Builder"
],
"subId": "~021976964697453014758",
"title": "Studio legale",
"budget": "N/A",
"jobType": "Hourly",
"description": "Buongiorno,\nSono un avvocato e ho necessità di implementare un sistema di automazioni per il mio studio legale utilizzando n8n. L'obiettivo è integrare e sincronizzare diversi strumenti che utilizziamo quotidianamente per eliminare doppie digitazioni, automatizzare flussi di lavoro ricorrenti e garantire che nessuna scadenza venga persa.\nObiettivo principale\nCreare un ecosistema integrato dove Notion rappresenta la fonte di verità centrale (database PRATICHE), sincronizzato bidirezionalmente con Asana (usato dalla mia collaboratrice), Google Calendar, Google Drive, WhatsApp Business e Gmail.\nStrumenti da integrare\n* Notion: Database centrale delle pratiche con sistema di protocollazione FM[numero]-[tipo]\n* Asana: Gestione task della collaboratrice, deve rimanere sincronizzato con Notion\n* Google Drive: Archiviazione documenti organizzata per pratica\n* Google Calendar: Gestione udienze e appuntamenti\n* WhatsApp Business: Comunicazioni con clienti, ricezione documenti e messaggi audio\n* Gmail: 3 account email (personale + 2 di lavoro)\n* iCloud Calendar: Sincronizzazione con Google Calendar\n* App Giustizia, Quadra, Simpliciter: Se possibile, integrazioni future.\n* \n* Workflow prioritari da implementare\n1. Gestione scadenze e udienze con promemoria 7-3-1\n* Quando viene creata una scadenza o udienza in Notion → crea evento in Google Calendar + task in Asana\n* Invia notifiche automatiche a 7, 3 e 1 giorno prima tramite WhatsApp e email\n2. Gestione messaggi WhatsApp in arrivo\n* Nuovo messaggio WhatsApp da cliente → crea una scadenza \"Rispondere a [Cliente]\" in Notion + task in Asana\n* Se il messaggio contiene allegati (PDF, immagini) → salva su Google Drive nella cartella della pratica + applica OCR se necessario\n* Se il messaggio è audio → trascrivi con AI (Whisper/Google Speech-to-Text) + salva trascrizione\n3. Gestione email in arrivo (Gmail)\n* Nuova email rilevante → salva allegati su Google Drive nella cartella pratica corretta\n* Crea scadenza/task in Notion e Asana se necessario\n* Collega automaticamente alla pratica corrispondente\n4. Sincronizzazione Notion ↔ Asana\n* Modifica titolo pratica in Notion → aggiorna tutti i task correlati in Asana\n* Cambio stato task in Asana → aggiorna Notion\n* Nuova pratica in Notion → crea progetto/task corrispondente in Asana\n5. Hot-folder su Google Drive\n* Nuovo documento caricato nella cartella di una pratica → registra in Notion + crea sub-task di verifica in Asana\n6. Trascrizione riunioni\n* File audio caricato su Drive → trascrizione automatica + riepilogo AI + creazione nota in Notion + task follow-up in Asana\nCaratteristiche del sistema di protocollazione\n* Formato: FM[numero progressivo]-[tipo]\n* Tipi: O (ordinarie), E (esecutive), P (penali), L (lavoro)\n* Esempio: FM001-O, FM015-P\n* Questo protocollo deve essere coerente tra Notion, Asana e naming delle cartelle Drive\nStruttura dati principale\nDatabase Notion PRATICHE include:\n* Protocollo pratica\n* Cliente\n* Tipo procedimento\n* Ruolo (attore/convenuto)\n* Tribunale\n* Giudice\n* Data apertura\n* Stato pratica\n* Collegamenti a documenti Drive\n* Scadenze e udienze\n* Note e comunicazioni\nRequisiti tecnici\n* Uso di n8n (self-hosted o cloud)\n* Gestione errori e logging delle automazioni\n* Sistema di fallback in caso di mancata sincronizzazione\n* Documentazione dei workflow creati\n* Formazione base per permettermi di fare piccole modifiche in futuro\nDeliverable attesi\n* Workflow n8n funzionanti e testati per i 6 casi d'uso prioritari\n* Documentazione tecnica di ogni workflow\n* Guida utente semplificata\n* 1-2 sessioni di training per me e la collaboratrice\n* Supporto post-implementazione per eventuali bug (da definire)",
"absoluteDate": "2025-10-11T11:38:00.339Z",
"relativeDate": "Posted 4 hours ago",
"experienceLevel": "Intermediate",
"paymentVerified": "unknown"
}
},
{
"json": {
"id": "1976944400795134263",
"url": "https://www.upwork.com/jobs/Make-span-class-highlight-n8n-span-Migration-Expert-Automation-Lovable-Integration-for-SaaS_~021976944400795134263/?referrer_url_path=/nx/search/jobs/",
"tags": [
"n8n",
"API Integration",
"JSON",
"API",
"Make.com"
],
"subId": "~021976944400795134263",
"title": "Make → n8n Migration Expert (Automation + Lovable Integration for SaaS)",
"budget": "$1,800.00",
"jobType": "Fixed",
"hasHired": false,
"description": "We’re building LaValor Slate, an AI-powered SaaS tool for film and TV production scheduling.\nOur current automation runs on Make.com, using OpenAI, Airtable, and Google Sheets modules to parse film scripts, check conflicts, and export shooting plans.\n\nNow we’re ready to migrate the entire setup to n8n using our own accounts, improving reliability, and connecting everything to our Lovable frontend (landing page + webhook form).\n\nWe need someone experienced enough to understand complex Make workflows, rebuild them cleanly in n8n, and deliver a stable, tested result as soon as possible.",
"absoluteDate": "2025-10-11T09:34:09.887Z",
"clientRating": 0,
"relativeDate": "Posted 6 hours ago",
"clientLocation": "Germany",
"experienceLevel": "Intermediate",
"paymentVerified": true,
"clientTotalSpent": 0,
"clientHireRatePercent": 0,
"allowedApplicantCountries": null
}
},
{
"json": {
"id": "1976921951610646246",
"url": "https://www.upwork.com/jobs/Build-Marketing-Automation-System-Odoo-span-class-highlight-n8n-span-OpenAI_~021976921951610646246/?referrer_url_path=/nx/search/jobs/",
"tags": [
"Odoo Development",
"Odoo",
"Python",
"Apex"
],
"subId": "~021976921951610646246",
"title": "Build AI Marketing Automation System – Odoo + n8n + OpenAI",
"budget": "$2,000.00",
"jobType": "Fixed",
"hasHired": false,
"description": "We operate multiple Shopify-based eCommerce brands and are looking for an experienced AI Automation Engineer / Odoo Developer to build a next-generation marketing automation system that intelligently connects:\n- Odoo ERP (core data hub: CRM, orders, analytics)\n- n8n Orchestration Engine (rules, automations, monitoring)\n- Ad Platforms: Meta, Google, Pinterest\n- AI Middleware: OpenAI GPT API (copy generation, insights, optimization)\n- Optional: GoHighLevel or Odoo Marketing for funnels and WhatsApp/SMS/email communication\n- The system should automate campaign analysis, attribution, ad scaling, reporting, and communication — creating a self-learning, monitored, and secure marketing OS.\n\nObjectives:\n\nData Integration:\n- Connect Shopify, Odoo, and ad platforms (Meta, Google, Pinterest).\n- Centralize campaign, spend, and ROAS data into Odoo (PostgreSQL).\n\nAutomation & AI Logic (via n8n):\n- Build rules for ad scaling, pausing, and alerting.\n- Integrate with ChatGPT API for copywriting and insight generation.\n- Implement message queue, retries, and monitoring checkpoints.\n\nTracking & Attribution:\n- Build server-side GA4 + Meta Conversion API.\n- Implement a UTM capture/redirector for accurate ROAS tracking.\n\nAnalytics & Reporting:\n- Connect Metabase / Power BI directly to Odoo database.\n- Create real-time dashboards for ROAS, CAC, and campaign health.\n- Daily email/Slack reports with key metrics and anomalies.\n\nMonitoring & Security:\n- Add workflow monitoring dashboards (API uptime, sync status).\n- Implement encrypted credential vault & automated backups.\n\nWhen Applying, Please Include:\n- Examples of AI-driven or Odoo-based automation projects you’ve built.\n- Your experience with n8n, OpenAI API, and Ad Platform integrations.\n- Your proposed timeline and milestone breakdown.\n- Portfolio or GitHub/Notion documentation (if available).",
"absoluteDate": "2025-10-11T08:04:57.547Z",
"clientRating": 0,
"relativeDate": "Posted 7 hours ago",
"clientLocation": "HKG",
"experienceLevel": "Expert",
"paymentVerified": true,
"clientTotalSpent": 134,
"clientHireRatePercent": 66,
"allowedApplicantCountries": null
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "47345b24-2f98-441d-b460-fcde3f1559ca",
"connections": {
"Edit Fields1": {
"main": [
[
{
"node": "Append or update row in sheet1",
"type": "main",
"index": 0
}
]
]
},
"Run an Actor": {
"main": [
[
{
"node": "Get dataset items",
"type": "main",
"index": 0
}
]
]
},
"Get dataset items": {
"main": [
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "Run an Actor",
"type": "main",
"index": 0
}
]
]
},
"Append or update row in sheet1": {
"main": [
[
{
"node": "Edit Fields To send Specific Data",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields To send Specific Data": {
"main": [
[
{
"node": "Send message",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 个人效率
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
来自多个招聘网站的求职自动化
使用 5 个招聘平台和 AI 简历生成器自动化求职与申请
If
Set
Code
+14
34 节点Gerald Denor
个人效率
Upwork工作搜索与Whatsapp提醒
通过 WhatsApp 和 Google Sheets 追踪并接收 Upwork 工作提醒
If
Set
Webhook
+7
17 节点Asfandyar Malik
按频道统计的热门视频
YouTube 竞品视频分析至 Google Sheets
Set
Code
Form Trigger
+3
18 节点Asfandyar Malik
工作日日志记录
AI工时表生成器 - 集成Gmail、日历和GitHub到Google表格
If
Set
Code
+11
31 节点Luka Zivkovic
个人效率
传记代理
使用 GPT-5 和 Google Docs 自动生成并润色专业简历
If
Set
Google Docs
+4
17 节点Asfandyar Malik
内容创作
基于比较的简历筛选
使用Gemini AI和Google Sheets自动化简历筛选与候选人评分
Code
Merge
Form Trigger
+6
27 节点Asfandyar Malik
人力资源