8
n8n 中文网amn8n.com

Upwork工作搜索与Whatsapp提醒

高级

这是一个自动化工作流,包含 17 个节点。主要使用 If, Set, Webhook, WhatsApp, HttpRequest 等节点。 通过 WhatsApp 和 Google Sheets 追踪并接收 Upwork 工作提醒

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证

分类

-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "I3L71E4b6bDkLCTo",
  "meta": {
    "instanceId": "7b35059aff065837b1c7d24142b37474554b08b3370f3096b2e57345690d178e",
    "templateCredsSetupCompleted": true
  },
  "name": "Upwork工作搜索与Whatsapp提醒",
  "tags": [],
  "nodes": [
    {
      "id": "344e2376-fbe3-4759-9ee2-0c7248a1ca0d",
      "name": "由 Github 模型提供支持",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        272,
        -32
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "fe41bc1e-bd4d-4769-bb96-118d9098b1e1",
      "name": "在表格中追加或更新行",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        960,
        128
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "={{ $json.URL }}",
            "Date": "={{ $json.Date }}",
            "Found": "={{ $json.Found }}",
            "Score": "={{ $json.Score }}",
            "Title": "={{ $json.Title }}",
            "Salary": "={{ $json.Salary }}",
            "Status": "={{ $json.Status }}",
            "Message": "={{ $json.Message }}",
            "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
            },
            {
              "id": "hire_percentage",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "hire_percentage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "spending_history",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "spending_history",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "rating",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "rating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "score",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Title"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1_WNd8Pex9BkDj8HgyqceyBCyo5G6_a9_oscipZrWjWQ",
          "cachedResultUrl": "Put your Sheet",
          "cachedResultName": "Upwork Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "UwnixXxqC0pFVvLS",
          "name": "My Account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "649c9609-c934-4f11-8521-cf20d855f5dc",
      "name": "当点击“执行工作流”时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        272,
        288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0c4f1f2e-f732-4516-ba86-728ed39b9cd9",
      "name": "编辑字段",
      "type": "n8n-nodes-base.set",
      "position": [
        1216,
        128
      ],
      "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 }}"
            },
            {
              "id": "5e48ea5b-92ad-49ce-be07-2f377c073af9",
              "name": "url",
              "type": "string",
              "value": "={{ $json.URL }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "47c813a1-cfd5-45d5-a6a0-8efa15625eff",
      "name": "如果",
      "type": "n8n-nodes-base.if",
      "position": [
        1392,
        128
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5de2dab5-7ee1-4f72-a438-41a6ae346549",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.score }}",
              "rightValue": 70
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "f09379ec-d4aa-4b84-a50e-249b9fc12d21",
      "name": "编辑字段2",
      "type": "n8n-nodes-base.set",
      "position": [
        1648,
        112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "41636510-c2f4-4672-9824-86ae7382a73e",
              "name": "job",
              "type": "string",
              "value": "={{ $json['Job Tile'] }}"
            },
            {
              "id": "8a2c0c90-938d-4405-929d-6e735a3c58c2",
              "name": "job posted",
              "type": "string",
              "value": "={{ $json['job posted'] }}"
            },
            {
              "id": "2191f1cd-770e-49f6-abbb-38e1b33165be",
              "name": "payment type",
              "type": "string",
              "value": "={{ $json['Payment type'] }}"
            },
            {
              "id": "1849509f-54a4-45fc-86f8-505bed8def52",
              "name": "salary",
              "type": "string",
              "value": "={{ $('Edit Fields').item.json.budget }}"
            },
            {
              "id": "fb772e6f-2e63-412f-bce9-160a02c9ebd2",
              "name": "score",
              "type": "string",
              "value": "={{ $json.score }}"
            },
            {
              "id": "ed95e66a-31ee-4f19-b399-f24ebe3cce1f",
              "name": "url",
              "type": "string",
              "value": "={{ $json.url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "be49df45-2e61-49bf-a30b-dbbd8324a29a",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        -96
      ],
      "parameters": {
        "color": 6,
        "width": 800,
        "height": 96,
        "content": "# Upwork工作抓取器与Whatsapp提醒"
      },
      "typeVersion": 1
    },
    {
      "id": "9afa9ea5-bd58-4dee-95fd-c4e5b732fc81",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        272,
        128
      ],
      "webhookId": "7f69e1de-e644-40a7-bb0b-288b096b2696",
      "parameters": {
        "path": "7f69e1de-e644-40a7-bb0b-288b096b2696",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "8152087d-00ad-47ac-8dda-a765bf1c0d4f",
      "name": "响应 Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1888,
        352
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.4
    },
    {
      "id": "a1b60b55-9a1f-4b1c-bcdd-9dcccec3d1f3",
      "name": "HTTP请求",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        512,
        128
      ],
      "parameters": {
        "url": "https://upwork-scraping-api.p.rapidapi.com/upwork/search-jobs",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ $json.body.searchQuery }}"
            },
            {
              "name": "type",
              "value": "hourly, fixed"
            },
            {
              "name": "difficulty",
              "value": "entry, intermediate, expert"
            },
            {
              "name": "hours_per_week",
              "value": "less_than_30, more_than_30"
            },
            {
              "name": "client_hires",
              "value": "0, 1-9, 10+"
            },
            {
              "name": "client_location",
              "value": "={{ $json.body.locations[0] }}"
            },
            {
              "name": "min_hourly_rate",
              "value": "={{ $json.body.minRate }}"
            },
            {
              "name": "max_hourly_rate",
              "value": "={{ $json.body.maxRate }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "upwork-scraping-api.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "Your API key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8a0ccf26-ba6c-401a-9dd9-372fb3539600",
      "name": "发送消息",
      "type": "n8n-nodes-base.whatsApp",
      "disabled": true,
      "position": [
        1888,
        144
      ],
      "webhookId": "12152595-4931-4fc6-af72-15af81db40aa",
      "parameters": {
        "textBody": "hy",
        "operation": "send",
        "additionalFields": {},
        "recipientPhoneNumber": ""
      },
      "credentials": {
        "whatsAppApi": {
          "id": "scRxHCAkRVled5zP",
          "name": "WhatsApp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1485fe97-a94f-4370-afd0-ec62bbe2cedf",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -144
      ],
      "parameters": {
        "width": 336,
        "height": 640,
        "content": "# 触发工作流启动"
      },
      "typeVersion": 1
    },
    {
      "id": "f7f7b98e-2eeb-43f7-8da2-fc677c3199c5",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        48
      ],
      "parameters": {
        "color": 4,
        "width": 432,
        "height": 288,
        "content": "## 用于抓取的Rapid API"
      },
      "typeVersion": 1
    },
    {
      "id": "e2fc5f7e-fb17-4645-a9f6-e00cf238c032",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        48
      ],
      "parameters": {
        "width": 272,
        "height": 288,
        "content": "## 在表格中保存结果"
      },
      "typeVersion": 1
    },
    {
      "id": "e87b75da-0c4c-472b-83a4-7e29968f0879",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        48
      ],
      "parameters": {
        "color": 3,
        "width": 592,
        "height": 272,
        "content": "## 编辑字段和条件过滤器以传递特定信息"
      },
      "typeVersion": 1
    },
    {
      "id": "9caf306a-ea94-471b-8d74-b99beb0ab5ad",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1808,
        -192
      ],
      "parameters": {
        "color": 5,
        "height": 704,
        "content": "## 发送提醒"
      },
      "typeVersion": 1
    },
    {
      "id": "a34422f4-bf0d-4c08-9c78-964e5dfafc41",
      "name": "HTTP 请求1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1888,
        -48
      ],
      "parameters": {
        "url": "https://whin2.p.rapidapi.com/send",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "text",
              "value": "=New Job Alert make the Proposal ASAP\n\nJob Title : {{ $json.job }}\nPosted On : {{ $json['job posted'] }}\nBudget : {{ $json.salary }}\nJob Score : {{ $json.score }}\nJob URL: {{ $json.url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "whin2.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "Your API Key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9626eeea-cd49-4e1a-856e-f3cb5c93a920",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send message",
            "type": "main",
            "index": 0
          },
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        []
      ]
    },
    "Respond to Webhook": {
      "main": [
        []
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        []
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量17
分类-
节点类型10
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Asfandyar Malik

Asfandyar Malik

@asfandyar-malik

Building AI Calling | Voho Calling

外部链接
在 n8n.io 查看

分享此工作流