Generación automática de propuestas

Intermedio

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

Requisitos previos
  • Clave de API de Airtable
  • Credenciales de API de Google Drive
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos7
Categoría2
Tipos de nodos6
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Ilyass Kanissi

Ilyass Kanissi

@ilyass

I 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.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34