Generación automática de propuestas
Este es unCRM, Multimodal AIflujo de automatización del dominio deautomatización que contiene 7 nodos.Utiliza principalmente nodos como Airtable, GoogleDrive, GoogleSlides, OpenAi, ChatTrigger. Usar IA, Google Slides y Airtable para generar propuestas de clientes a partir de registros de llamadas
- •Clave de API de Airtable
- •Credenciales de API de Google Drive
- •Clave de API de OpenAI
Nodos utilizados (7)
Categoría
{
"id": "otddSxeWQtI5yxc7",
"meta": {
"instanceId": "e73c77a832a4af1fdbfd95e61201dd65dffb85871e88031e3f1475c5661e7b54",
"templateCredsSetupCompleted": true
},
"name": "proposal generation on autopilot",
"tags": [],
"nodes": [
{
"id": "add01d77-c169-41f9-9bce-51462e2a44ab",
"name": "Reemplazar texto en una presentación",
"type": "n8n-nodes-base.googleSlides",
"position": [
1024,
0
],
"parameters": {
"textUi": {
"textValues": [
{
"text": "{Company Name}",
"replaceText": "={{ $('Message a model').item.json.message.content.company }}",
"pageObjectIds": [
"p"
]
},
{
"text": "{client}",
"replaceText": "={{ $('Message a model').item.json.message.content.client }}",
"pageObjectIds": [
"p"
]
},
{
"text": "{project_title}",
"replaceText": "={{ $('Message a model').item.json.message.content.project_title }}",
"pageObjectIds": [
"g1f88252dc4_0_83"
]
},
{
"text": "{Goals}",
"replaceText": "={{ $('Message a model').item.json.message.content.goals }}",
"pageObjectIds": [
"g1f88252dc4_0_83"
]
},
{
"text": "{deliverables}",
"replaceText": "={{ $('Message a model').item.json.message.content.deliverables }}",
"pageObjectIds": [
"g1f88252dc4_0_83"
]
},
{
"text": "{timeline}",
"replaceText": "={{ $('Message a model').item.json.message.content.timeline_weeks }}",
"pageObjectIds": [
"g3643e9e2554_0_12"
]
},
{
"text": "{budget}",
"replaceText": "={{ $('Message a model').item.json.message.content.budget_usd }}",
"pageObjectIds": [
"g3643e9e2554_0_12"
]
}
]
},
"options": {},
"operation": "replaceText",
"presentationId": "={{ $json.id }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "b1bhhccZCOnXFEVb",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "41fe6c9c-88bd-4c36-a64c-7dac0268e456",
"name": "Copiar archivo",
"type": "n8n-nodes-base.googleDrive",
"position": [
816,
0
],
"parameters": {
"name": "={{ $json.message.content.company }} proposal",
"fileId": {
"__rl": true,
"mode": "list",
"value": "11FCrQCmvjck3eKHMGeDF0wGf0TDyUB78FLsyR0graKI",
"cachedResultUrl": "https://docs.google.com/presentation/d/11FCrQCmvjck3eKHMGeDF0wGf0TDyUB78FLsyR0graKI/edit?usp=drivesdk",
"cachedResultName": "Consulting proposal"
},
"options": {},
"operation": "copy"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "JB10qqMjiksmdbv3",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "9e79d395-57f9-4afb-9d35-75dda74e6561",
"name": "Compartir archivo",
"type": "n8n-nodes-base.googleDrive",
"position": [
1232,
0
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.presentationId }}"
},
"options": {},
"operation": "share",
"permissionsUi": {
"permissionsValues": {
"role": "reader",
"type": "user",
"emailAddress": "={{ $('Message a model').item.json.message.content.email }}"
}
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "JB10qqMjiksmdbv3",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "0579e838-85ac-4cae-a7d4-c2c42203a47e",
"name": "Actualizar registro",
"type": "n8n-nodes-base.airtable",
"position": [
1440,
0
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appZS6usU96byHXU3",
"cachedResultUrl": "https://airtable.com/appZS6usU96byHXU3",
"cachedResultName": "New Lead"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblROcPRoSG3aMwhT",
"cachedResultUrl": "https://airtable.com/appZS6usU96byHXU3/tblROcPRoSG3aMwhT",
"cachedResultName": "New Leads Pipeline"
},
"columns": {
"value": {
"Email": "={{ $('Message a model').item.json.message.content.email }}",
"LeadStatus": "Proposal sent"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "First Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "First Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Last Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Website",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Assignee",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Assignee",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Desision",
"type": "options",
"display": true,
"options": [
{
"name": "Exploring",
"value": "Exploring"
},
{
"name": "Comparing Agencies",
"value": "Comparing Agencies"
},
{
"name": "Ready to Start",
"value": "Ready to Start"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Desision",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LeadStatus",
"type": "options",
"display": true,
"options": [
{
"name": "Website Form",
"value": "Website Form"
},
{
"name": "Attended",
"value": "Attended"
},
{
"name": "Didn't Attend",
"value": "Didn't Attend"
},
{
"name": "Meeting Rescheduled",
"value": "Meeting Rescheduled"
},
{
"name": "Follow Up 1",
"value": "Follow Up 1"
},
{
"name": "Follow Up 2",
"value": "Follow Up 2"
},
{
"name": "Follow Up 3",
"value": "Follow Up 3"
},
{
"name": "Lost -No Response",
"value": "Lost -No Response"
},
{
"name": "Won",
"value": "Won"
},
{
"name": "Proposal sent",
"value": "Proposal sent"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "LeadStatus",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "lkjke5yaq35WzzkG",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "12130334-d35d-4bf6-92dd-0c45641d6001",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-96
],
"parameters": {
"color": 5,
"width": 320,
"height": 352,
"content": "## Guide\n\nCreate you openai api key here: https://platform.openai.com/settings/organization/api-keys\n\nSetup credentials, Oauth, and scopes for google drive / slides here: https://console.cloud.google.com/\n\nCreate Airtable Token here: https://airtable.com/create/tokens\nalso make sure you got a filed for lead status so it gets updated after the proposal is sent\n\n\n"
},
"typeVersion": 1
},
{
"id": "c5647c6c-362b-4868-ba0b-95a356e9d117",
"name": "Enviar mensaje a un modelo",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
480,
0
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "Extract the following variables from the discovery call script and format them as JSON. Use the exact keys below: \n\n**Variables to Extract:** \n- Client email \n- Company name \n- Client name \n- Project title \n- Project goals \n- Deliverables \n- Timeline (in weeks) \n- Budget (in USD) \n\n**Output Requirements:** \n- Strictly use this JSON structure (no deviations): \n```json\n{\n \"email\": \"value_from_script\",\n \"company\": \"value_from_script\",\n \"client\": \"value_from_script\",\n \"project_title\": \"value_from_script\",\n \"goals\": \"value_from_script\",\n \"deliverables\": \"value_from_script\",\n \"timeline_weeks\": \"value_from_script\",\n \"budget_usd\": \"value_from_script\"\n}"
},
{
"content": "={{ $json.chatInput }}"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "iuyzWhX2JGVK5PCn",
"name": "OpenAI Hostinger"
}
},
"typeVersion": 1.8
},
{
"id": "eea034a6-93dd-4fff-9fe2-d0189c5f7b2b",
"name": "Cuando se recibe un mensaje de chat",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
304,
0
],
"webhookId": "65c61e2a-f47e-4a83-a34b-4a92e7f09baa",
"parameters": {
"options": {}
},
"typeVersion": 1.3
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "9e6caf82-55ec-4fe2-9de1-55fd2bbe0ac6",
"connections": {
"41fe6c9c-88bd-4c36-a64c-7dac0268e456": {
"main": [
[
{
"node": "add01d77-c169-41f9-9bce-51462e2a44ab",
"type": "main",
"index": 0
}
]
]
},
"9e79d395-57f9-4afb-9d35-75dda74e6561": {
"main": [
[
{
"node": "0579e838-85ac-4cae-a7d4-c2c42203a47e",
"type": "main",
"index": 0
}
]
]
},
"c5647c6c-362b-4868-ba0b-95a356e9d117": {
"main": [
[
{
"node": "41fe6c9c-88bd-4c36-a64c-7dac0268e456",
"type": "main",
"index": 0
}
]
]
},
"eea034a6-93dd-4fff-9fe2-d0189c5f7b2b": {
"main": [
[
{
"node": "c5647c6c-362b-4868-ba0b-95a356e9d117",
"type": "main",
"index": 0
}
]
]
},
"add01d77-c169-41f9-9bce-51462e2a44ab": {
"main": [
[
{
"node": "9e79d395-57f9-4afb-9d35-75dda74e6561",
"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?
Intermedio - 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
Ilyass Kanissi
@ilyassI design and build custom no-code and low-code automations using n8n to help businesses save hours of manual work, streamline operations, and create clean, scalable workflows.
Compartir este flujo de trabajo