QuickBooks 고객 및 견적 생성 자동화
이것은CRM, Multimodal AI분야의자동화 워크플로우로, 16개의 노드를 포함합니다.주로 If, Set, Quickbooks, GoogleSheetsTrigger 등의 노드를 사용하며. Google Sheets에서 QuickBooks 고객 및 견적 생성 자동화
- •Google Sheets API 인증 정보
{
"id": "9pEgr7vVvXPDtNdZ",
"meta": {
"instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787"
},
"name": "Automate Quickbook Customer & Estimation Creation",
"tags": [],
"nodes": [
{
"id": "4cf9b22e-5514-4e34-9cb3-ed66411e6de0",
"name": "Set - 필드 정규화",
"type": "n8n-nodes-base.set",
"position": [
540,
980
],
"parameters": {
"values": {
"number": [
{
"name": "Amount",
"value": "={{$json.Amount }}"
}
],
"string": [
{
"name": "CustomerName",
"value": "={{$json['CustomerName']}}"
},
{
"name": "Email",
"value": "={{$json['Email']}}"
},
{
"name": "Phone",
"value": "={{$json['Phone']}}"
},
{
"name": "Company Name",
"value": "={{$json['Company Name']}}"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"id": "bd6f49f4-27ec-4a52-afe3-453863d0a785",
"name": "QuickBooks - 고객 찾기",
"type": "n8n-nodes-base.quickbooks",
"position": [
1020,
980
],
"parameters": {
"limit": 500,
"filters": {
"query": "=WHERE DisplayName = '{{ $json.CustomerName }}'\n\n"
},
"operation": "getAll"
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "82e53cdc-6e3b-4df0-8f05-8b5802d97d69",
"name": "IF - 고객이 존재합니까?",
"type": "n8n-nodes-base.if",
"position": [
1460,
980
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json[\"Id\"] }}",
"operation": "isEmpty"
}
]
}
},
"typeVersion": 1
},
{
"id": "8631ac1c-94a8-47a4-bc7d-601b55c4e388",
"name": "QuickBooks - 고객 생성 (신규)",
"type": "n8n-nodes-base.quickbooks",
"position": [
1960,
640
],
"parameters": {
"operation": "create",
"displayName": "={{ $('Google Sheets Trigger').item.json.CustomerName }}",
"additionalFields": {
"CompanyName": "={{ $('Google Sheets Trigger').item.json['Company Name'] }}",
"PrimaryPhone": "={{ $('Google Sheets Trigger').item.json.Phone }}",
"PrimaryEmailAddr": "={{ $('Google Sheets Trigger').item.json.Email }}"
}
},
"typeVersion": 1
},
{
"id": "52f890dd-8f40-4e8d-abd6-ae844a01f97d",
"name": "No-op (종료)",
"type": "n8n-nodes-base.noOp",
"position": [
3300,
1000
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f98ee27a-73e2-4625-92f0-18fd2969760f",
"name": "Google Sheets 트리거",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
100,
980
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{YOUR_GOOGLE_SHEETS_ID}/edit#gid=0",
"cachedResultName": "quickbooksCustomer"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "{YOUR_GOOGLE_SHEETS_ID}",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{YOUR_GOOGLE_SHEETS_ID}/edit?usp=drivesdk",
"cachedResultName": "quickbooksCustomer"
}
},
"typeVersion": 1
},
{
"id": "8addc4c1-0f40-4e07-83fe-f11ae9706069",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
640
],
"parameters": {
"color": 6,
"width": 440,
"height": 320,
"content": "### Step 1: Google Sheet Trigger 📊⚡\n\nThis node listens for new rows appended to a Google Sheet and triggers the workflow each time a new entry is added.\n\nWhy this step is important:\n\n- ⏰ Automatically starts the workflow without manual intervention.\n- 📈 Captures new data entries in real time.\n- 🔄 Ensures your automation reacts instantly to updates in the sheet.\n\nIt’s the step that keeps your workflow in sync with your Google Sheet data. 🔔✨\n"
},
"typeVersion": 1
},
{
"id": "9a2cd2c2-2d58-4a82-8187-937d96f7a6bc",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
380,
1140
],
"parameters": {
"width": 480,
"height": 300,
"content": "### Step 2: Data Formatter (Set Node) 🛠️📋\n\nThis node formats and organizes the raw data from the Google Sheet into clean, usable variables for the workflow.\n\nWhy this step is important:\n\n- 🧹 Cleans and structures incoming data for easier processing.\n- 🔄 Prepares variables needed for subsequent nodes.\n- 🎯 Ensures consistent data format throughout the workflow.\n\nIt’s the step that shapes your raw input into actionable information. ⚙️✨\n"
},
"typeVersion": 1
},
{
"id": "31fe85c1-e5e0-458c-9493-114ac37eb07f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
640
],
"parameters": {
"color": 3,
"width": 560,
"height": 300,
"content": "### Step 3: Find Customer in QuickBooks 🔍👤\n\nThis node uses the **Find Customer** operation to check if a customer already exists in QuickBooks based on the name.\n\nWhy this step is important:\n\n- ✅ Avoids duplicate customer entries.\n- 🔎 Confirms customer presence before creating or updating records.\n- 📋 Helps maintain clean and accurate customer data.\n\nIt’s the step that verifies your customer’s existence to keep your database tidy and consistent. 🧹✨\n"
},
"typeVersion": 1
},
{
"id": "532ad17a-c3a3-411d-94a6-23c68639644d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
1140
],
"parameters": {
"color": 5,
"width": 560,
"height": 360,
"content": "### Step 4: Customer Existence Check (If Node) ❓✅❌\n\nThis node evaluates whether the customer exists based on the previous **Find Customer** step.\n\n- **True:** Customer does **not** exist in QuickBooks.\n- **False:** Customer **already exists** in QuickBooks.\n\nWhy this step is important:\n\n- 🔄 Directs the workflow to create a new customer or skip creation.\n- ⚙️ Ensures the right path is taken for accurate data handling.\n- 🛡️ Prevents duplicate customer records in your system.\n\nIt’s the decision point that keeps your customer data clean and your workflow efficient. 🔀✨\n"
},
"typeVersion": 1
},
{
"id": "75bb775b-9f42-4502-b656-f155d4deee91",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
300
],
"parameters": {
"color": 4,
"width": 540,
"height": 300,
"content": "### Step 5: Create New Customer in QuickBooks ➕👤\n\nThis node uses the **Create Customer** operation to add a new customer to QuickBooks when they don’t already exist.\n\nWhy this step is important:\n\n- 🆕 Adds missing customers automatically.\n- 📥 Keeps your QuickBooks customer database up-to-date.\n- 🔗 Ensures new invoices link to the correct customer records.\n\nIt’s the step that fills gaps in your customer list, making sure no one gets left out. ✍️✨\n"
},
"typeVersion": 1
},
{
"id": "fb2a8680-92e8-4a86-ba7c-c93a85a0c232",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
3140,
1180
],
"parameters": {
"color": 6,
"width": 480,
"height": 280,
"content": "### Step 7: No-Op Node 🛑✨\n\nThis node acts as a **no operation** step to gracefully conclude the workflow without performing any action.\n\nWhy this step is important:\n\n- 🛡️ Ensures a smooth and clean workflow termination.\n- 🔄 Prevents errors by providing a controlled end point.\n- 🧩 Helps maintain clear and organized workflow logic.\n\nIt’s the final checkpoint that safely wraps up the process. 🎬✅\n"
},
"typeVersion": 1
},
{
"id": "26f5e203-a313-4bcc-a7db-dcaaf10ce0fa",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
300
],
"parameters": {
"color": 3,
"width": 400,
"height": 220,
"content": "### Prerequisites ⚙️🔗\n\n- Connect your **Google OAuth2** credentials with both **Google Sheets** and **Google Drive** enabled.\n- Connect your **QuickBooks OAuth2** credentials.\n\nThese connections ensure seamless authentication and access to the required services throughout the workflow. 🔐🚀\n"
},
"typeVersion": 1
},
{
"id": "242b1395-cbd2-414f-bccf-ab1a8921778b",
"name": "견적서 생성",
"type": "n8n-nodes-base.quickbooks",
"position": [
2860,
640
],
"parameters": {
"Line": [
{
"Amount": "={{ $('Google Sheets Trigger').item.json.Amount}}",
"itemId": "15",
"LineNum": 1,
"DetailType": "SalesItemLineDetail",
"TaxCodeRef": "TAX",
"Description": "Sales Estimate"
}
],
"resource": "estimate",
"operation": "create",
"CustomerRef": "={{ $json.Id }}",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "6fe76106-1236-41ec-96c0-f94eec48cce8",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2580,
340
],
"parameters": {
"color": 5,
"width": 580,
"height": 280,
"content": "### Step 6: Create Estimate in QuickBooks 🧾✨\n\nThis node uses the **Create Estimate** operation to generate an estimate in QuickBooks based on the data from the Google Sheet.\n\nWhy this step is important:\n\n- 📊 Converts your sheet data into a formal QuickBooks estimate.\n- 💼 Streamlines your sales process by automating estimate creation.\n- 🔗 Links estimates directly to customer and invoice records.\n\nIt’s the step that turns raw data into actionable sales documents. 💡📈\n"
},
"typeVersion": 1
},
{
"id": "d02e5da2-204e-4461-bec0-815f13ab7b6e",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
3820,
940
],
"parameters": {
"color": 6,
"width": 520,
"height": 340,
"content": "### Get in Touch\n\nPlease feel free to reachout to us, if you need any help in settin up this workflow.\n\nWe can also help customize workflow pet the use-case. \n\nReach out us at: getstarted@intuz.com\n\nWebsite: https://www.intuz.com/\n\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "21e19475-1189-471a-bbfc-57b092fa82a6",
"connections": {
"242b1395-cbd2-414f-bccf-ab1a8921778b": {
"main": [
[
{
"node": "52f890dd-8f40-4e8d-abd6-ae844a01f97d",
"type": "main",
"index": 0
}
]
]
},
"f98ee27a-73e2-4625-92f0-18fd2969760f": {
"main": [
[
{
"node": "4cf9b22e-5514-4e34-9cb3-ed66411e6de0",
"type": "main",
"index": 0
}
]
]
},
"82e53cdc-6e3b-4df0-8f05-8b5802d97d69": {
"main": [
[
{
"node": "8631ac1c-94a8-47a4-bc7d-601b55c4e388",
"type": "main",
"index": 0
}
],
[
{
"node": "52f890dd-8f40-4e8d-abd6-ae844a01f97d",
"type": "main",
"index": 0
}
]
]
},
"4cf9b22e-5514-4e34-9cb3-ed66411e6de0": {
"main": [
[
{
"node": "bd6f49f4-27ec-4a52-afe3-453863d0a785",
"type": "main",
"index": 0
}
]
]
},
"bd6f49f4-27ec-4a52-afe3-453863d0a785": {
"main": [
[
{
"node": "82e53cdc-6e3b-4df0-8f05-8b5802d97d69",
"type": "main",
"index": 0
}
]
]
},
"8631ac1c-94a8-47a4-bc7d-601b55c4e388": {
"main": [
[
{
"node": "242b1395-cbd2-414f-bccf-ab1a8921778b",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 고객관계관리, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Intuz
@intuzWorkflow automation can help automate your routine activities and help saves $$$, as well as hours of time. As a boutique tech consulting company, Intuz help businesses with custom AI/ML, AI Workflow Automations, and software development. Automate your business workflow for: Sales Marketing Accounting Finance Operations E-Commerce Customer Support Admin & Backoffice Logistics & Supply Chain
이 워크플로우 공유