Creación automatizada de clientes y estimaciones en QuickBooks
Este es unCRM, Multimodal AIflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como If, Set, Quickbooks, GoogleSheetsTrigger. Automatizar la creación de clientes y estimaciones en QuickBooks desde Google Sheets
- •Credenciales de API de Google Sheets
Nodos utilizados (16)
Categoría
{
"id": "9pEgr7vVvXPDtNdZ",
"meta": {
"instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787"
},
"name": "Automate Quickbook Customer & Estimation Creation",
"tags": [],
"nodes": [
{
"id": "4cf9b22e-5514-4e34-9cb3-ed66411e6de0",
"name": "Set - normalizar campos",
"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 - Buscar Cliente",
"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 - ¿Cliente existe?",
"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 - Crear Cliente (NUEVO)",
"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 (fin)",
"type": "n8n-nodes-base.noOp",
"position": [
3300,
1000
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f98ee27a-73e2-4625-92f0-18fd2969760f",
"name": "Google Sheets Trigger",
"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": "Nota Adhesiva",
"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": "Nota Adhesiva1",
"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": "Nota Adhesiva2",
"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": "Nota Adhesiva3",
"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": "Nota Adhesiva4",
"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": "Nota Adhesiva5",
"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": "Nota Adhesiva6",
"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": "Crear una estimación",
"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": "Nota Adhesiva7",
"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": "Nota Adhesiva8",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - CRM, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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
Compartir este flujo de trabajo