Freelancer.com自动投标器(含Telegram审批和AI提案)
这是一个Lead Nurturing, Multimodal AI领域的自动化工作流,包含 26 个节点。主要使用 If, Set, SplitOut, Telegram, Aggregate 等节点。 Freelancer.com自动投标器,支持Telegram审批和AI提案生成
- •Telegram Bot Token
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
使用的节点 (26)
{
"meta": {
"instanceId": "1c7d07da94594ba2f94dbfcfe84b40cd3e99ac5aa392077ef5d0193a71a4945c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "22475581-4fe3-43b1-be5a-a50814a4498e",
"name": "创建投标",
"type": "n8n-nodes-base.httpRequest",
"position": [
2076,
740
],
"parameters": {
"url": "https://www.freelancer.com/api/projects/0.1/bids",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "project_id",
"value": "={{ $('ExtractDate').item.json['Project Id']}}"
},
{
"name": "bidder_id",
"value": "={{ $('SetInputs').item.json.My_ID.toNumber()}}"
},
{
"name": "amount",
"value": "={{ $('ExtractDate').item.json.Bid_avg }}"
},
{
"name": "period",
"value": "={{ 3 }}"
},
{
"name": "description",
"value": "={{ $json.output }}"
},
{
"name": "profile_id",
"value": "={{ 1 }}"
},
{
"name": "milestone_percentage",
"value": "={{ 50 }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "Z2XfSxbaSWiJRZPY",
"name": "MyFreelancerAPi"
}
},
"typeVersion": 4.2
},
{
"id": "52f10d69-9718-4dd8-b7d9-afea23edae29",
"name": "条件判断",
"type": "n8n-nodes-base.if",
"position": [
-500,
1190
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7e0422e1-4884-4c4b-a68a-b14a548d2416",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json['result.projects'].status }}",
"rightValue": "active"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9fcaf2a0-4b32-477b-8553-92c359bf121b",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1700,
640
],
"parameters": {
"text": "=project title: {{ $json.Title }}.\nProject Description: {{ $json.Description }}",
"options": {
"systemMessage": "=You are a professional freelancer whose goal is to win jobs on Freelancer.com.\n\nWhen provided with a job description and a list of relevant skills, generate a concise, compelling, and professionally written proposal of approximately 100 words. The proposal should:\n\nBegin with \"Hi there\"\n\nClearly demonstrate your ability to complete the project based on the given skills\n\nUse formal, confident, and persuasive language appropriate for a freelance job application\n\nConclude with:\n\nBest Regards \nMohamed\n\n\nYour objective is to convince potential clients of your capability and reliability while remaining succinct and tailored to each job posting.\ngive the output in markdown language."
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "83b2fd91-da82-4ab4-916f-8c5852b30d68",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1788,
860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-nano-2025-04-14",
"cachedResultName": "gpt-4.1-nano-2025-04-14"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "QHEc65I8RI5Ifeeh",
"name": "OpenAi account-13-7-2025"
}
},
"typeVersion": 1.2
},
{
"id": "5d94b88a-16e0-4d94-aebb-45e5d020eb7b",
"name": "提取日期",
"type": "n8n-nodes-base.set",
"position": [
-280,
1190
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "631369c8-7f30-421f-b674-14437ca79080",
"name": "Title",
"type": "string",
"value": "={{ $json['result.projects'].title }}"
},
{
"id": "6f01140f-b31f-4c7f-9eaf-0ed999aea0dd",
"name": "seo_url",
"type": "string",
"value": "={{ \"https://www.freelancer.com/projects/\"+$json['result.projects'].seo_url}}"
},
{
"id": "645a6cdd-3054-4d36-87cd-00c2f1b5fb6f",
"name": "Description",
"type": "string",
"value": "={{ $json['result.projects'].description }}"
},
{
"id": "7eadce75-deee-4220-b7c6-1b552e914ff4",
"name": "Type",
"type": "string",
"value": "={{ $json['result.projects'].type }}"
},
{
"id": "9db53cd4-71bb-4959-aa3f-1ec56f4422a4",
"name": "budget_minimum",
"type": "number",
"value": "={{ $json['result.projects'].budget.minimum }}"
},
{
"id": "8c282c46-2974-42a2-9351-dc6f9ac44f77",
"name": "Budget_maximum",
"type": "number",
"value": "={{ $json['result.projects'].budget.maximum }}"
},
{
"id": "d37f87ef-1118-4200-9d47-0463f5040f7f",
"name": "Bid_count",
"type": "number",
"value": "={{ $json['result.projects'].bid_stats.bid_count }}"
},
{
"id": "75fb01ad-3c73-4c7a-b439-a573b57d41dc",
"name": "Bid_avg",
"type": "number",
"value": "={{ $json['result.projects'].bid_stats.bid_avg }}"
},
{
"id": "af1f4893-077b-4f6f-b3fe-b951c554af78",
"name": "result.projects[0].currency.code",
"type": "string",
"value": "={{ $json[\"result.projects\"].currency.code }} / {{ $json[\"result.projects\"].currency.code }} / {{ $json[\"result.projects\"].currency.name }}"
},
{
"id": "7fccd569-48d1-4aa6-b7cb-90a523aae112",
"name": "Project Id",
"type": "number",
"value": "={{ $json[\"result.projects\"].id }}"
},
{
"id": "605af89d-0642-4e7c-a18f-c00b51654c67",
"name": "short_description",
"type": "string",
"value": "={{ $json[\"result.projects\"].preview_description }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "36523231-3d88-49af-9788-42d07443db23",
"name": "设置输入",
"type": "n8n-nodes-base.set",
"position": [
-1160,
1190
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c9c0ae7c-4aa2-4680-a017-025c2283ecdf",
"name": "search",
"type": "string",
"value": "={{ $json.query }}"
},
{
"id": "72216c0f-9707-41bd-9603-75aef05e2202",
"name": "My_ID",
"type": "string",
"value": "={{1234}}"
},
{
"id": "365c65cf-a949-42a2-ad2d-526bfa3b7f02",
"name": "ChatID",
"type": "number",
"value": "=1073915195"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ea363838-4496-4d42-9c37-0b09a59f9326",
"name": "条件判断1",
"type": "n8n-nodes-base.if",
"position": [
1480,
890
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "62bf2c07-15bd-45b4-913b-34fbfbee7fc5",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.data.approved }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f7a313d2-0d44-4657-97c9-f33a85211131",
"name": "发送成功",
"type": "n8n-nodes-base.telegram",
"position": [
2296,
965
],
"webhookId": "bbdaeb2c-e979-4fdd-9533-a5dc4c423b8d",
"parameters": {
"text": "=The bid is: {{ $json.status }}.\n\nProposal: \n\n{{ $json.result.description }}\n\nJob Link: {{ $('ExtractDate').item.json.seo_url }}",
"chatId": "={{ $('SetInputs').item.json.ChatID }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "09UndWCC1OKgLOrR",
"name": "@n8nAswanbot"
}
},
"typeVersion": 1.2
},
{
"id": "6bd163b8-a7df-4e7d-b971-5232828b6616",
"name": "搜索",
"type": "n8n-nodes-base.httpRequest",
"position": [
-940,
1190
],
"parameters": {
"url": "https://www.freelancer.com/api/projects/0.1/projects/active",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "full_description",
"value": "={{ 1}}"
},
{
"name": "limit",
"value": "10"
},
{
"name": "query",
"value": "={{ $json.search }}"
},
{
"name": "user_status",
"value": "={{ 0 }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "Z2XfSxbaSWiJRZPY",
"name": "MyFreelancerAPi"
}
},
"typeVersion": 4.2
},
{
"id": "f125cff0-4253-480f-a21f-f63f34181cf5",
"name": "获取项目",
"type": "n8n-nodes-base.splitOut",
"position": [
-720,
1190
],
"parameters": {
"include": "=",
"options": {},
"fieldToSplitOut": "result.projects"
},
"typeVersion": 1
},
{
"id": "2528b65f-1a78-4337-a98a-c2a15d5c36c0",
"name": "遍历项目",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-60,
1190
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "5ee5cce6-22ab-42fe-b562-8722c56ffbe6",
"name": "检查投标",
"type": "n8n-nodes-base.httpRequest",
"position": [
160,
890
],
"parameters": {
"url": "=https://www.freelancer.com/api/projects/0.1/projects/{{ $json[\"Project Id\"] }}/bids/",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "Z2XfSxbaSWiJRZPY",
"name": "MyFreelancerAPi"
}
},
"typeVersion": 4.2
},
{
"id": "ec2743dd-479b-4ab3-bce7-0c91917d07d2",
"name": "分离输出",
"type": "n8n-nodes-base.splitOut",
"position": [
380,
890
],
"parameters": {
"options": {},
"fieldToSplitOut": "result.bids"
},
"typeVersion": 1
},
{
"id": "20de4c07-3cda-4e41-829c-9f40dc3cbbe4",
"name": "编辑字段",
"type": "n8n-nodes-base.set",
"position": [
600,
890
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "0a8c2fd3-ec1f-42ab-b417-fe99d3b8d1c6",
"name": "Bidder_id",
"type": "number",
"value": "={{ $json.bidder_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c8c37f4c-1d0d-4dd2-8a2a-e7274e7d2f0e",
"name": "聚合",
"type": "n8n-nodes-base.aggregate",
"position": [
820,
890
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "Bidder_id"
}
]
}
},
"typeVersion": 1
},
{
"id": "f832b603-8779-4dcb-bed6-c96085bae2d8",
"name": "如果2",
"type": "n8n-nodes-base.if",
"position": [
1040,
890
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4bb5ddb6-d648-4058-9fbd-a63a9a073f55",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.Bidder_id }}",
"rightValue": "={{ $('SetInputs').item.json.My_ID.toNumber() }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ce85a323-6bb0-49de-9006-1b409b68dfa7",
"name": "获取批准",
"type": "n8n-nodes-base.telegram",
"position": [
1260,
890
],
"webhookId": "8a408e11-f0b9-43ce-9bc2-dd8887883950",
"parameters": {
"chatId": "={{ $('SetInputs').item.json.ChatID }}",
"message": "=# Project Title: {{ $('Loop Over Items').item.json.Title }}\n\n# Link: {{ $('Loop Over Items').item.json.seo_url }}\n\n# Description: \n{{ $('ExtractDate').item.json.short_description }}\n-------------\nBid: {{ $('Loop Over Items').item.json.budget_minimum }} - {{ $('Loop Over Items').item.json.Bid_avg }} - {{ $('Loop Over Items').item.json.Budget_maximum }} \n\nCurrency: {{ $('Loop Over Items').item.json.result.projects[0].currency.code }}\n\nBid Count: {{ $('Loop Over Items').item.json.Bid_count }}",
"options": {
"appendAttribution": false
},
"operation": "sendAndWait",
"approvalOptions": {
"values": {
"approvalType": "double"
}
}
},
"credentials": {
"telegramApi": {
"id": "09UndWCC1OKgLOrR",
"name": "@n8nAswanbot"
}
},
"typeVersion": 1.2
},
{
"id": "63cbff98-f6cf-4d2e-a62e-e28aa64686ac",
"name": "已取消",
"type": "n8n-nodes-base.telegram",
"position": [
1778,
1040
],
"webhookId": "8a408e11-f0b9-43ce-9bc2-dd8887883950",
"parameters": {
"text": "OK, I canceled it.",
"chatId": "={{ $('SetInputs').item.json.ChatID }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "09UndWCC1OKgLOrR",
"name": "@n8nAswanbot"
}
},
"typeVersion": 1.2
},
{
"id": "0c987b01-79d6-4654-b960-e87e0ec43bbb",
"name": "当被其他工作流执行时",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
-1440,
1200
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "query"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "5dddbdd9-6169-4a99-a8df-279ce1ab6072",
"name": "已投标",
"type": "n8n-nodes-base.set",
"position": [
1260,
660
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3622f872-99d8-4e41-b8c5-94db7574e395",
"name": "Message",
"type": "string",
"value": "\"You have already bid on this project\""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "4d688cbd-3d60-4d20-879f-89be0f0d9d0d",
"name": "当点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
400,
1520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "986124f2-57c6-4a59-8c53-1890a1b9cab3",
"name": "执行工作流",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
1060,
1620
],
"parameters": {
"mode": "each",
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "RmnQvNfC3PESEASk",
"cachedResultName": "freelancerAgent"
},
"workflowInputs": {
"value": {
"query": "={{ $json.skills }}"
},
"schema": [
{
"id": "query",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "query",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"query"
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "3be9a027-bbf5-4b85-8083-4334faf5c5b2",
"name": "计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
400,
1720
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "1742dee9-6a8d-449d-bfa5-45d9af413dcd",
"name": "编辑字段1",
"type": "n8n-nodes-base.set",
"position": [
620,
1620
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "0ce62b40-60df-4ff3-b13a-2c740b3d9890",
"name": "skills",
"type": "array",
"value": "[\"n8n\", \"python\"]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "44b0525d-0b72-401d-a07d-710d1e39beb6",
"name": "拆分输出1",
"type": "n8n-nodes-base.splitOut",
"position": [
840,
1620
],
"parameters": {
"options": {},
"fieldToSplitOut": "skills"
},
"typeVersion": 1
},
{
"id": "1b8d45ea-6971-4a45-b926-ce1fa48da402",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1480,
-180
],
"parameters": {
"width": 1360,
"height": 1100,
"content": "# 🔁 Freelancer.com 自动投标器,带 Telegram 批准和 AI 提案"
},
"typeVersion": 1
}
],
"pinData": {
"When Executed by Another Workflow": [
{
"query": "n8n"
}
]
},
"connections": {
"If": {
"main": [
[
{
"node": "ExtractDate",
"type": "main",
"index": 0
}
]
]
},
"If1": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "Canceled ",
"type": "main",
"index": 0
}
]
]
},
"If2": {
"main": [
[
{
"node": "AlreadyBid",
"type": "main",
"index": 0
}
],
[
{
"node": "GetApproval",
"type": "main",
"index": 0
}
]
]
},
"Search": {
"main": [
[
{
"node": "GetProjects",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "create a bid",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "If2",
"type": "main",
"index": 0
}
]
]
},
"Canceled ": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"SetInputs": {
"main": [
[
{
"node": "Search",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Split Out1": {
"main": [
[
{
"node": "Execute Workflow",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"ExtractDate": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"GetApproval": {
"main": [
[
{
"node": "If1",
"type": "main",
"index": 0
}
]
]
},
"GetProjects": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields1": {
"main": [
[
{
"node": "Split Out1",
"type": "main",
"index": 0
}
]
]
},
"Send Succuss": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"checkBidding": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"create a bid": {
"main": [
[
{
"node": "Send Succuss",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "checkBidding",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "SetInputs",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
}
}
}如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 客户培育, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Mohamed Abdelwahab
@mohelwahI’m an AI Automation Engineer with 5+ years of experience designing and implementing intelligent, scalable automation systems. I specialize in streamlining operations, reducing manual tasks, and building AI-powered solutions using Python, Node.js, and no-code/low-code platforms n8n. Whether you need to integrate complex APIs, build automated workflows, or deploy AI chatbots, I can deliver robust solutions tailored to your business needs.
分享此工作流