This workflow follows the Agent → Execute Workflow Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "4-[Agente-Abogados]-Contactos",
"nodes": [
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "1s1FrNJ2zP_zAI8X6k0ZIJJxzj2nLFXA7WvoNUNQQ4qw",
"mode": "list",
"cachedResultName": "",
"cachedResultUrl": ""
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Hoja 1",
"cachedResultUrl": ""
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Nombre": "={{$fromAI(\"nombre\")}}",
"Correo": "={{$fromAI(\"correo\")}}"
},
"matchingColumns": [],
"schema": [
{
"id": "Nombre",
"displayName": "Nombre",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Correo",
"displayName": "Correo",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"useAppend": true
}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
-448,
448
],
"id": "602f973d-517f-4f1d-8e86-a71695ea569e",
"name": "AddContactos"
},
{
"parameters": {
"operation": "delete",
"documentId": {
"__rl": true,
"value": "1s1FrNJ2zP_zAI8X6k0ZIJJxzj2nLFXA7WvoNUNQQ4qw",
"mode": "list",
"cachedResultName": "",
"cachedResultUrl": ""
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Hoja 1",
"cachedResultUrl": ""
},
"startIndex": "={{$fromAI (\"row_number\")}}",
"numberToDelete": "={{ 1 }}"
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
-112,
448
],
"id": "cbf99d77-d3d5-4ab4-bc07-9d94559c6e1b",
"name": "EliminarContacto"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "1s1FrNJ2zP_zAI8X6k0ZIJJxzj2nLFXA7WvoNUNQQ4qw",
"mode": "list",
"cachedResultName": "",
"cachedResultUrl": ""
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Hoja 1",
"cachedResultUrl": ""
},
"filtersUI": {
"values": [
{
"lookupColumn": "Nombre",
"lookupValue": "={{ $fromAI(\"nombre\") }}"
},
{
"lookupColumn": "Correo",
"lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Value', ``, 'string') }}"
}
]
},
"combineFilters": "OR",
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
-640,
464
],
"id": "dff6a7fe-0a82-437a-b3f2-2556e4949b61",
"name": "ObtenerContactos"
},
{
"parameters": {
"promptType": "define",
"text": "={{ $json.query }}",
"options": {
"systemMessage": "=Descripci\u00f3n General:\n\nEres un asistente de gesti\u00f3n de contactos. Tus responsabilidades incluyen buscar contactos, agregar nuevos contactos o actualizar la informaci\u00f3n de un contacto. \n\nHerramientas: \n- Usa **ObtenerContactos** para obtener informaci\u00f3n de contacto. \n- Usa **AddContactos** para almacenar nueva informaci\u00f3n de contacto.\n- Usa **ActualizarContacto** para modificar y actualizar un contacto existente.\n- Usa **EliminarContacto** para eliminar la informaci\u00f3n de un contacto existente, debes obtener primero su \"row_number\" con la herramienta **ObtenerContactos**.\n- Usa **ObtenerTodosContactos** para devolver la lista entera de contactos sin ning\u00fan filtro. Cuando el usuario pida todos los contactos.\n\nReglas:\n\nPara obtener contactos con la herramienta **ObtenerContactos**, no es necesario que el nombre aportado coincida exactamente con el nombre a buscar, puede tener algunas variaciones como tildes.\n\nEjemplo:\n\nEntrada: busca el contacto Jos\u00e9 Manuel Fern\u00e1ndez.\n\nAccion: busca coincidencias por Jos\u00e9 Manuel Fern\u00e1ndez, pero tambi\u00e9n por Jose Manuel Fernandez, o por Jose Manuel Fern\u00e1ndez. Es decir, no hace falta que coincidan las tildes.",
"maxIterations": 30
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.7,
"position": [
-576,
112
],
"id": "a324b90d-138a-4ec0-836c-1294a35d2ccb",
"name": "Agente de Contactos",
"onError": "continueErrorOutput"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "4f360190-a717-4a93-8336-d03ea65975d5",
"name": "response",
"value": "Ha ocurrido un error. Por favor, int\u00e9ntalo de nuevo.",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
0,
240
],
"id": "8c0b93f5-1352-4be3-b090-6c6ae1bd7b9e",
"name": "\u274c"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "4f360190-a717-4a93-8336-d03ea65975d5",
"name": "response",
"value": "={{ $json.output }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
0,
0
],
"id": "7334e297-6f32-4485-9d9e-d4743d47c2ba",
"name": "\u2705"
},
{
"parameters": {
"inputSource": "passthrough"
},
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1.1,
"position": [
-816,
112
],
"id": "3d5630e4-c5a0-4294-9eb8-4f1df3406042",
"name": "When Executed by Another Workflow"
},
{
"parameters": {
"model": {
"__rl": true,
"value": "gpt-4o-mini",
"mode": "list",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
-848,
464
],
"id": "eda2bec0-fd73-4e8c-85b6-73fee2f8a9bb",
"name": "OpenAI Chat Model"
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "1s1FrNJ2zP_zAI8X6k0ZIJJxzj2nLFXA7WvoNUNQQ4qw",
"mode": "list",
"cachedResultName": "",
"cachedResultUrl": ""
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Hoja 1",
"cachedResultUrl": ""
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Nombre": "={{ $fromAI(\"nombre\") }}",
"Correo": "={{ $fromAI(\"correo\") }}"
},
"matchingColumns": [
"Nombre"
],
"schema": [
{
"id": "Nombre",
"displayName": "Nombre",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Correo",
"displayName": "Correo",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
-272,
448
],
"id": "3669a959-a723-4ac5-b0b1-6cc7ea87efdd",
"name": "ActualizarContacto"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "1s1FrNJ2zP_zAI8X6k0ZIJJxzj2nLFXA7WvoNUNQQ4qw",
"mode": "list",
"cachedResultName": "",
"cachedResultUrl": ""
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Hoja 1",
"cachedResultUrl": ""
},
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
64,
448
],
"id": "60b12dd5-f9cc-432c-8c25-0117d7231cbf",
"name": "ObtenerTodosContactos"
}
],
"connections": {
"AddContactos": {
"ai_tool": [
[
{
"node": "Agente de Contactos",
"type": "ai_tool",
"index": 0
}
]
]
},
"EliminarContacto": {
"ai_tool": [
[
{
"node": "Agente de Contactos",
"type": "ai_tool",
"index": 0
}
]
]
},
"ObtenerContactos": {
"ai_tool": [
[
{
"node": "Agente de Contactos",
"type": "ai_tool",
"index": 0
}
]
]
},
"Agente de Contactos": {
"main": [
[
{
"node": "\u2705",
"type": "main",
"index": 0
}
],
[
{
"node": "\u274c",
"type": "main",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Agente de Contactos",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Agente de Contactos",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ActualizarContacto": {
"ai_tool": [
[
{
"node": "Agente de Contactos",
"type": "ai_tool",
"index": 0
}
]
]
},
"ObtenerTodosContactos": {
"ai_tool": [
[
{
"node": "Agente de Contactos",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "443162eb-99c8-4816-b076-17a8f50c41a8",
"id": "epddTw7x6V6KALpz",
"tags": []
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
4-[Agente-Abogados]-Contactos. Uses googleSheetsTool, agent, executeWorkflowTrigger, lmChatOpenAi. Event-driven trigger; 10 nodes.
Source: https://github.com/aiporvos/chatflow-legal/blob/main/flujos/4-[Agente-Abogados]-Contactos.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Agente Contactos. Uses googleSheetsTool, agent, executeWorkflowTrigger, lmChatOpenAi. Event-driven trigger; 10 nodes.
4-[Agente-Abogados]-Contactos. Uses googleSheetsTool, agent, executeWorkflowTrigger, lmChatOpenAi. Event-driven trigger; 9 nodes.
Sub - Preisliste KI Agent. Uses executeWorkflowTrigger, agent, toolWorkflow, lmChatOpenAi. Event-driven trigger; 8 nodes.
Financeiro. Uses executeWorkflowTrigger, agent, memoryBufferWindow, googleSheetsTool. Event-driven trigger; 6 nodes.
This workflow is perfect for creators, solopreneurs, and personal brands who want to consistently publish bold, high-performing content on X (Twitter) — without writing a single line themselves. After