BrowserAct를 사용하여 Google Sheets에서 여러 채용 사이트에 채용 공고 게시
고급
이것은HR분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, Code, Slack, GoogleSheets, ManualTrigger 등의 노드를 사용하며. Google Sheets 및 BrowserAct를 사용한 다중 플랫폼 채용 공고 자동화
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •Google Sheets API 인증 정보
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "qMwMfHxAAddl6h5v",
"meta": {
"instanceId": "88804d8e264d231c18413147cc92e4245b20ae7b97d774bad847556f645c8192",
"templateCredsSetupCompleted": true
},
"name": "Post Jobs to Multiple Boards from Google Sheets using BrowerAct",
"tags": [],
"nodes": [
{
"id": "5f1b282a-3d24-47ba-975e-8b665bd685cb",
"name": "'워크플로 실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-592,
-48
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6e59bf13-7e4a-49c1-9fc5-7ef9bd9d7793",
"name": "시트에서 행 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-400,
-48
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1104319058,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit#gid=1104319058",
"cachedResultName": "Job Example"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit?usp=drivesdk",
"cachedResultName": "Test For BrowserAct"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "wAMAqU43zjVjlpuA",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "13fc2a7b-0c28-4f0c-b226-648bceca7536",
"name": "워크플로 작업 실행",
"type": "n8n-nodes-browseract-workflows.browserAct",
"position": [
48,
-64
],
"parameters": {
"workflowId": "56841107053416567",
"inputParameters": {
"parameters": [
{
"name": "Target_Site",
"value": "={{ $json[\" Job_Board_URL\"] }}"
},
{
"name": "Job_Title",
"value": "={{ $json.Job_Title }}"
},
{
"name": "Job_Description",
"value": "={{ $json.Job_Description }}"
},
{
"name": "Phone_Number",
"value": "={{ $json.Phone_Number }}"
},
{
"name": "Address",
"value": "={{ $json.Address }}"
},
{
"name": "tags",
"value": "={{ $json.tags }}"
},
{
"name": "Company",
"value": "={{ $json.Company }}"
},
{
"name": "Login_Username",
"value": "={{ $json.Login_Username }}"
},
{
"name": "Login_Password",
"value": "={{ $json.Login_Password }}"
}
]
},
"additionalFields": {
"saveBrowserData": false
}
},
"credentials": {
"browserActApi": {
"id": "AzKMhR2eAlOjzDiJ",
"name": "BrowserAct account"
}
},
"typeVersion": 1
},
{
"id": "3741a23f-a304-445b-895d-4dd7dfcc7ccc",
"name": "워크플로 작업 세부 정보 가져오기",
"type": "n8n-nodes-browseract-workflows.browserAct",
"onError": "continueErrorOutput",
"position": [
240,
-64
],
"parameters": {
"taskId": "={{ $json.id }}",
"operation": "getTask",
"waitForFinish": true
},
"credentials": {
"browserActApi": {
"id": "AzKMhR2eAlOjzDiJ",
"name": "BrowserAct account"
}
},
"typeVersion": 1
},
{
"id": "1d84240b-6345-4186-bf93-c31023b0bc13",
"name": "시트에서 행 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
912,
-64
],
"parameters": {
"columns": {
"value": {
"Job_ID": "={{ $('Get row(s) in sheet').item.json.Job_ID }}",
"Status": "={{ $json.Status }}",
"Live_URL": "={{ $json.Url }}"
},
"schema": [
{
"id": "Job_ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Job_ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Posting_Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Posting_Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job_Title",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Job_Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job_Description",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Job_Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": " Job_Board_URL",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": " Job_Board_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Login_Username",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Login_Username",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Login_Password",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Login_Password",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone_Number",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Phone_Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Address",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Live_URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Live_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tags",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "tags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Job_ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1104319058,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit#gid=1104319058",
"cachedResultName": "Job Example"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit?usp=drivesdk",
"cachedResultName": "Test For BrowserAct"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "wAMAqU43zjVjlpuA",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "bcf633ed-6dd3-406b-9943-896fe11b0683",
"name": "JavaScript로 코드 작성",
"type": "n8n-nodes-base.code",
"position": [
704,
-64
],
"parameters": {
"jsCode": "// Get the JSON string using the exact path provided by the user.\nconst jsonString = $input.first().json.output.string;\n\nlet parsedData;\n\n// Check if the string exists before attempting to parse\nif (!jsonString) {\n // Return an empty array or throw an error if no string is found\n // Throwing an error is usually better to stop the workflow if data is missing.\n throw new Error(\"Input string is empty or missing at the specified path: $input.first().json.output.string\");\n}\n\ntry {\n // 1. Parse the JSON string into a JavaScript array of objects\n parsedData = JSON.parse(jsonString);\n} catch (error) {\n // Handle JSON parsing errors (e.g., if the string is malformed)\n throw new Error(`Failed to parse JSON string: ${error.message}`);\n}\n\n// 2. Ensure the parsed data is an array\nif (!Array.isArray(parsedData)) {\n throw new Error('Parsed data is not an array. It cannot be split into multiple items.');\n}\n\n// 3. Map the array of objects into the n8n item format { json: object }\n// Each element in this array will be treated as a new item by n8n, achieving the split.\nconst outputItems = parsedData.map(item => ({\n json: item,\n}));\n\n// 4. Return the new array of items\nreturn outputItems;"
},
"typeVersion": 2
},
{
"id": "2b987dff-8293-4723-9ea8-455727441cd2",
"name": "조건문",
"type": "n8n-nodes-base.if",
"position": [
-224,
-48
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a33df146-1505-417b-ba35-fc3c7823e244",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Posting_Status }}",
"rightValue": "Ready to Post"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "34fccf50-7241-4f56-ac8c-8df73c017618",
"name": "Google Sheets 트리거",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-400,
96
],
"parameters": {
"event": "rowUpdate",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1104319058,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit#gid=1104319058",
"cachedResultName": "Job Example"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18sw7io0yJOTDzvcknGmjBBqtK154CLk3k0FoWJZbfI0/edit?usp=drivesdk",
"cachedResultName": "Test For BrowserAct"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "r1f3Ap74oZQWWxYy",
"name": "Google Sheets Trigger account"
}
},
"typeVersion": 1
},
{
"id": "91723f53-45d3-45a8-b97c-1506acfb87ef",
"name": "스티커 노트 - 소개",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
-384
],
"parameters": {
"width": 528,
"height": 450,
"content": "## Try It Out!\n### This powerful n8n template turns a Google Sheet into a control panel for automating job postings across multiple job boards.\n\n### How it works\n* The workflow can be triggered **manually** to post all pending jobs, or it runs **automatically** whenever you update a row in Google Sheets.\n* It reads job data directly from your Google Sheet.\n* An **If** node checks for a specific status, like 'Ready to Post', before proceeding.\n* A **BrowserAct** node then logs into the specified job board and automatically fills out and submits the job posting with the data from the sheet.\n* After the posting is successful, a **Code** node processes the result.\n* Finally, the workflow updates the original row in your Google Sheet with the live URL of the job post and a 'Posted' status.\n\n### Requirements\n* **BrowserAct** API account for automated posting.\n* **BrowserAct** n8n Community Node -> ([n8n Nodes BrowserAct](https://www.npmjs.com/package/n8n-nodes-browseract-workflows))\n* **Google Sheets** credentials.\n* A BrowserAct template named **“Automated Job Posting to Niche Job Site (Custom Site)”**.\n\n### Need Help?\nJoin the [Discord](https://discord.com/invite/UpnCKd7GaU) or Visit Our [Blog](https://www.browseract.com/blog)!\n"
},
"typeVersion": 1
},
{
"id": "a884ca62-a5b7-4115-9ef3-d04253d42862",
"name": "스티커 노트 - 사용 방법",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
80
],
"parameters": {
"width": 528,
"height": 228,
"content": "## How to use\n\n1. **Set up Credentials:** Add your credentials for **BrowserAct** and **Google Sheets** to the workflow.\n2. **Set up BrowserAct Template:** Ensure you Use the **“Automated Job Posting to Niche Job Site (Custom Site)”** template in your BrowserAct account.\n3. **Prepare Your Google Sheet:** Your sheet must contain columns for all the job data, like `Job_ID`, `Job_Title`, `Job_Description`, `Job_Board_URL`, `Login_Username`, `Login_Password`, and a `Posting_Status` column.\n4. **Trigger a Post:** To post a job, simply change the value in its `Posting_Status` column to **'Ready to Post'**. The Google Sheets Trigger will pick it up automatically.\n5. **Activate Workflow:** For full automation, activate the workflow. The Google Sheets trigger will then listen for changes."
},
"typeVersion": 1
},
{
"id": "5088b29a-d8e1-4b8d-9bdc-dfb676bb7c39",
"name": "스티커 노트 - 도움 필요",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
320
],
"parameters": {
"width": 528,
"height": 104,
"content": "### Need Help?\n* #### [How to Find Your BrowseAct API Key & Workflow ID](https://www.youtube.com/watch?v=pDjoZWEsZlE)\n* #### [How to Connect n8n to Browseract](https://www.youtube.com/watch?v=RoYMdJaRdcQ)\n* #### [How to Use & Customize BrowserAct Templates](https://www.youtube.com/watch?v=CPZHFUASncY)\n* #### [How to Use the BrowserAct N8N Community Node](https://youtu.be/j0Nlba2pRLU)\n"
},
"typeVersion": 1
},
{
"id": "b106ec53-560b-43ff-8b9e-8cfa9a8de7e9",
"name": "스티커 노트 - 입력 및 트리거",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
-288
],
"parameters": {
"color": 6,
"width": 416,
"height": 208,
"content": "### 🕹️ 1. Input & Trigger Control\n\nThis workflow has two ways to start:\n\n* **Google Sheets Trigger:** This is the primary method for real-time automation. It watches for row updates and will trigger the workflow for that specific row.\n* **Manual Trigger:** This path gets **all** rows from the sheet, and the `If` node then filters for any jobs that are 'Ready to Post'. This is useful for batch-posting multiple jobs at once.\n\nThe **If** node is the gatekeeper, ensuring only jobs you've approved get posted."
},
"typeVersion": 1
},
{
"id": "7303bb7d-d6b8-4348-959c-39879435b4df",
"name": "스티커 노트 - 자동화 핵심",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-288
],
"parameters": {
"color": 5,
"width": 400,
"height": 200,
"content": "### 🤖 2. The Automation Engine\n\nThese **BrowserAct** nodes are where the magic happens.\n\n* **Run a workflow task:** This node takes all the data from the filtered Google Sheet row (login details, job title, description, etc.) and sends it to your BrowserAct workflow to perform the automated posting.\n\n* **Get details...:** This node simply waits for the browser automation to complete before moving on."
},
"typeVersion": 1
},
{
"id": "73af619d-f874-4e1b-94e0-c0bf9177c434",
"name": "스티커 노트 - 피드백 루프",
"type": "n8n-nodes-base.stickyNote",
"position": [
416,
-288
],
"parameters": {
"color": 3,
"width": 816,
"height": 200,
"content": "### 🔄 3. Feedback & Update & Send Alert\n\nThis final stage creates a critical feedback loop.\n\n* **Code Node:** This parses the results from the BrowserAct task to extract the final status and the URL of the live job posting.\n\n* **Update row in sheet:** This node updates the original Google Sheet row. It sets the `Status` to 'Posted' and adds the `Live_URL`. This prevents the workflow from accidentally re-posting the same job again.\n\n* **Slack Nodes:** Send Slack message, providing clear, actionable alerts to your team."
},
"typeVersion": 1
},
{
"id": "d6f5713e-e7e1-483c-b4cb-e00875706ce3",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-80
],
"parameters": {
"color": 5,
"width": 400,
"height": 176,
"content": ""
},
"typeVersion": 1
},
{
"id": "add8711a-864b-4b96-a0d1-97e4eb4af534",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
-64
],
"parameters": {
"color": 6,
"width": 416,
"height": 304,
"content": ""
},
"typeVersion": 1
},
{
"id": "cd88ea7e-ce56-48ab-833d-8d8a67495b77",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
416,
-80
],
"parameters": {
"color": 3,
"width": 816,
"height": 288,
"content": ""
},
"typeVersion": 1
},
{
"id": "5bf223b4-2ce4-44a2-9125-cf64c2bbea7f",
"name": "메시지 보내기",
"type": "n8n-nodes-base.slack",
"position": [
1104,
-64
],
"webhookId": "01fb8ea5-9534-45f8-a069-7745ee2b8ec7",
"parameters": {
"text": "={{ $('Get row(s) in sheet').item.json.Job_ID }} added to Job List\nStatus : {{ $json.Status }}\n",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C09KLV9DJSX",
"cachedResultName": "all-browseract-workflow-test"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "5rQCkyObBqbHIbZA",
"name": "Slack account"
}
},
"typeVersion": 2.3
},
{
"id": "9ee840f8-ac5f-4183-8a69-4acfd98cb2af",
"name": "조건문1",
"type": "n8n-nodes-base.if",
"position": [
512,
-64
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e2eb7caa-21f4-4095-8c78-19438adc085d",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.output.string }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b6fe8efd-74b1-4f33-84a6-0e79062bdb23",
"name": "메시지 보내기1",
"type": "n8n-nodes-base.slack",
"position": [
704,
64
],
"webhookId": "01fb8ea5-9534-45f8-a069-7745ee2b8ec7",
"parameters": {
"text": "=Processing for Job ID {{ $('Get row(s) in sheet').item.json.Job_ID }} was skipped because an error occurred.\nStatus: Error. Please check the provided URL or data or Workflow for issues.",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C09KLV9DJSX",
"cachedResultName": "all-browseract-workflow-test"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "5rQCkyObBqbHIbZA",
"name": "Slack account"
}
},
"typeVersion": 2.3
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "f5e47078-51b9-494f-92d3-5216436e01c0",
"connections": {
"2b987dff-8293-4723-9ea8-455727441cd2": {
"main": [
[
{
"node": "13fc2a7b-0c28-4f0c-b226-648bceca7536",
"type": "main",
"index": 0
}
]
]
},
"9ee840f8-ac5f-4183-8a69-4acfd98cb2af": {
"main": [
[
{
"node": "bcf633ed-6dd3-406b-9943-896fe11b0683",
"type": "main",
"index": 0
}
],
[
{
"node": "b6fe8efd-74b1-4f33-84a6-0e79062bdb23",
"type": "main",
"index": 0
}
]
]
},
"bcf633ed-6dd3-406b-9943-896fe11b0683": {
"main": [
[
{
"node": "1d84240b-6345-4186-bf93-c31023b0bc13",
"type": "main",
"index": 0
}
]
]
},
"6e59bf13-7e4a-49c1-9fc5-7ef9bd9d7793": {
"main": [
[
{
"node": "2b987dff-8293-4723-9ea8-455727441cd2",
"type": "main",
"index": 0
}
]
]
},
"13fc2a7b-0c28-4f0c-b226-648bceca7536": {
"main": [
[
{
"node": "3741a23f-a304-445b-895d-4dd7dfcc7ccc",
"type": "main",
"index": 0
}
]
]
},
"1d84240b-6345-4186-bf93-c31023b0bc13": {
"main": [
[
{
"node": "5bf223b4-2ce4-44a2-9125-cf64c2bbea7f",
"type": "main",
"index": 0
}
]
]
},
"3741a23f-a304-445b-895d-4dd7dfcc7ccc": {
"main": [
[
{
"node": "9ee840f8-ac5f-4183-8a69-4acfd98cb2af",
"type": "main",
"index": 0
}
],
[
{
"node": "b6fe8efd-74b1-4f33-84a6-0e79062bdb23",
"type": "main",
"index": 0
}
]
]
},
"5f1b282a-3d24-47ba-975e-8b665bd685cb": {
"main": [
[
{
"node": "6e59bf13-7e4a-49c1-9fc5-7ef9bd9d7793",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 인사
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
BrowserAct와 Gemini를 사용하여 재무 지원된 힌트를 찾고 필터링
BrowserAct와 Gemini를 통해 자금 지원을 받는 잠재 고객을 찾고筛选합니다.
If
Code
Merge
+
If
Code
Merge
29 노드Madame AI Team | Kai
리드 생성
OnboardAIgen - Slack x Jira x Drive 온보딩 자동화 워크플로
Slack, Jira, Google Workspace 통합을 통한 직원 온보딩 자동화
If
Set
Code
+
If
Set
Code
77 노드Velebit from Innovatio
인사
Slack, Sheets 및 Gmail을 활용한 직원 인정 자동화
Slack, Sheets, Gmail 및 선택적 GPT-4를 사용한 직원 표창 자동화
If
Code
Gmail
+
If
Code
Gmail
16 노드Marth
인사
BrowserAct를 사용한 디렉토리 스크래핑 자동화 및 Google Sheets 입력
BrowserAct를 사용한 YP.com 디렉토리 스크래핑을 Google Sheets로 자동화
Code
Google Sheets
Manual Trigger
+
Code
Google Sheets
Manual Trigger
15 노드Madame AI Team | Kai
리드 생성
BrowserAct를 사용한 Google Maps에서 Google Sheets로의 자동화된 B2B 리드 생성
자동화된 B2B 잠재 고객 생성: Google Maps에서 Sheets로, BrowserAct 및 Telegram 알림 연동
Code
Telegram
Google Sheets
+
Code
Telegram
Google Sheets
15 노드Madame AI Team | Kai
리드 생성
HireMind – AI 기반 이력서 지능형 처리 워크플로우
HR AI 이력서 선별 및 평가: GPT-4 및 Google Workspace
If
Code
Slack
+
If
Code
Slack
26 노드Trung Tran
인사
워크플로우 정보
난이도
고급
노드 수20
카테고리1
노드 유형8
저자
Madame AI Team | Kai
@madame-aiI’m a PhD in Physics turned AI enthusiast, passionate about uncovering how AI is transforming content creation, business, and daily life.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유