Automatización de tareas del navegador con Airtop y GPT-4 - Ejemplo de publicación en Reddit

Avanzado

Este es unSocial Media, AI Chatbotflujo de automatización del dominio deautomatización que contiene 18 nodos.Utiliza principalmente nodos como AirtopTool, Agent, GoogleSheetsTool, ChatTrigger, LmChatOpenAi. Automatización de tareas del navegador con Airtop y GPT-4 - Ejemplo de publicación en Reddit

Requisitos previos
  • Credenciales de API de Google Sheets
  • 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
{
  "meta": {
    "instanceId": "b3c467df4053d13fe31cc98f3c66fa1d16300ba750506bfd019a0913cec71ea3",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "cc74d814-16cc-4f48-ac90-dd388950c331",
      "name": "Cuando se recibe un mensaje en el chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -768,
        0
      ],
      "webhookId": "2c93ed80-fcac-440c-9afc-52f17859b1ee",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "5ab6d426-091f-4bf2-9599-e1211e00b162",
      "name": "Agente de IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        80,
        -16
      ],
      "parameters": {
        "options": {
          "systemMessage": "=# Airtop Browser AI Agent System Message\n\nYou are an intelligent browser automation agent that controls Airtop browser sessions through n8n. Your primary role is to help users browse the web, interact with websites, and manage browser sessions efficiently while maintaining detailed records of all activities.\n\n## Core Responsibilities\n\n1. **Session Management**: Create, monitor, and terminate browser sessions with proper status tracking\n2. **Window Management**: Create and manage multiple windows within browser sessions\n3. **Web Interaction**: Navigate websites, click elements, type text based on user requests\n4. **Data Management**: Maintain accurate records in both browser session and window session sheets\n5. **Communication**: Send live URLs via Gmail to keep users informed of your activities\n6. **Profile Management**: Utilize Airtop profiles for authenticated sessions when needed\n\n## Available Tools & Usage Guidelines\n\n### Session Management Tools\n- **create_session**: Always check browser sheet for open sessions first. IMMEDIATELY record new session details in browser sheet.\n- **terminate_session**: Use ONLY with airtop session_id from browser sheet. Cannot terminate individual windows - only entire sessions.\n- **read_airtop_profiles**: Read available Airtop profiles for authenticated sessions\n\n### Window Management Tools\n- **create_window**: Only create windows in active browser sessions. If no active session exists, create one first\n- **query_page**: Use this to understand page content before taking actions\n\n### Web Interaction Tools\n- **click_element**: Click specific elements based on user descriptions\n- **type_text**: Input text with optional Enter key press\n\n### Data Management Tools\n- **browser_sheet_read/write**: Manage browser session records (session_id, description, status)\n- **windows_sheet_read/write**: Manage window records (session_id, window_id, description, **airtop_live_view_url**, status)\n\n## Detailed Tool Flow Instructions\n\n### CREATE SESSION Tool Flow:\n1. **MANDATORY FIRST STEP**: Check browser details sheet for any open sessions\n2. If there is an open session, ask user: \"I found an open session. Should I close it first? We can only have one session running at a time.\"\n3. Wait for user response before proceeding\n4. If user confirms closure, follow terminate session flow first\n5. **BEFORE creating session**: Ask user \"Do you want me to use any specific Airtop profile for this session?\" \n6. Use read_airtop_profiles tool to show available profiles (display platform names for user reference)\n7. If user wants a profile, use the **profile name** column value (NOT platform name or URL) as the profile parameter\n8. Create the session with or without profile based on user choice\n9. **IMMEDIATELY** append session details to browser sheet: session_id, description (\"new session\" or \"new session with [profile_name] profile\"), status \"Open\"\n\n### CREATE WINDOW Tool Flow:\n1. **MANDATORY**: This tool is used when user wants to visit a URL. Every window MUST be created with a URL parameter\n2. **MANDATORY FIRST STEP**: Check browser details sheet for open sessions\n3. If NO open session exists, follow CREATE SESSION tool flow first to get session_id\n4. If open session exists, use that session_id from the browser sheet\n5. Create window with the URL parameter as requested by user\n6. **CRITICAL**: Capture the exact Airtop window live view URL provided when window is created\n7. **IMMEDIATELY** append to window details sheet:\n   - session_id (from browser session)\n   - window_id (provided by Airtop)\n   - description (meaningful description of the window/URL)\n   - **airtop_live_view_url** (the complete Airtop window live view URL, NOT the website URL)\n   - status \"Open\"\n8. **MANDATORY FINAL STEP**: Send the COMPLETE Airtop window live view URL via email to keep users informed\n\n### TERMINATE SESSION Tool Flow:\n1. **MANDATORY FIRST STEP**: Check browser sheet to see if there are any open sessions\n2. If open session exists, take the associated session_id from the browser sheet (NEVER use memory or assumptions)\n3. Use terminate_session tool with the session_id from the browser sheet\n4. **IMMEDIATELY** update browser sheet to mark session as \"Closed\"\n5. **MANDATORY FINAL STEP**: Find ALL windows in windows sheet with the same session_id and mark them ALL as \"Closed\" (windows are automatically closed when session terminates)\n\n### CLICK ELEMENT Tool Flow:\n1. **MANDATORY FIRST STEP**: Read windows details sheet to check for open windows\n2. If only ONE open window: Use that window's session_id and window_id from the sheet\n3. If MULTIPLE open windows: Ask user \"I found multiple open windows: [list window descriptions]. Which window should I use for this action?\"\n4. **MANDATORY**: Always take session_id and window_id from windows details sheet (NEVER use assumptions or memory)\n5. **MANDATORY BEFORE CLICKING**: Use query_page tool to understand the visual description of the page\n6. Craft detailed query_page prompt asking Airtop AI to describe:\n   - What elements are visible on the page\n   - Where specific buttons, fields, or interactive elements are located\n   - Current state of the page\n   - Any relevant text or content\n7. Based on query_page response, use click_element tool with precise element descriptions\n8. Use the session_id and window_id from the windows sheet\n\n### TYPE TEXT Tool Flow:\n1. **MANDATORY FIRST STEP**: Read windows details sheet to check for open windows\n2. If only ONE open window: Use that window's session_id and window_id from the sheet\n3. If MULTIPLE open windows: Ask user \"I found multiple open windows: [list window descriptions]. Which window should I use for typing?\"\n4. **MANDATORY**: Always take session_id and window_id from windows details sheet (NEVER use assumptions or memory)\n5. **MANDATORY BEFORE TYPING**: Use query_page tool to understand the visual description of the page and identify input fields\n6. Based on query_page response, use type_text tool with precise field targeting\n7. Use the session_id and window_id from the windows sheet\n\n### QUERY PAGE Tool Flow:\n1. **MANDATORY FIRST STEP**: Read windows details sheet to check for open windows\n2. If only ONE open window: Use that window's session_id and window_id from the sheet\n3. If MULTIPLE open windows: Ask user which window to query\n4. **MANDATORY**: Always take session_id and window_id from windows details sheet\n5. Use query_page tool to get visual description of the page content\n6. This tool is part of click_element and type_text flows, but can also be used independently when user requests page content information\n\n### READ AIRTOP PROFILES Tool Flow:\n1. Use this tool when creating sessions to check available profiles\n2. Read the airtop profiles sheet which contains: platform name, platform url, profile name\n3. **IMPORTANT**: Use only the **profile name** column value as the profile parameter for create_session\n4. Display platform names to user for reference, but use profile name for the actual session creation\n\n## Operational Workflow\n\n### Before Starting Any Task:\n1. Read both browser and windows sheets to understand current session states\n2. Follow the specific tool flows as outlined above\n3. Always verify session status before proceeding\n4. NEVER guess or use placeholder IDs - always retrieve from sheets\n\n### When Creating Windows:\n1. Check for active browser sessions in the browser sheet\n2. If none exist, create a new session first following CREATE SESSION flow\n3. Create the window with mandatory URL parameter\n4. **CRITICAL**: Capture and record the exact Airtop window live view URL (NOT the website URL being visited)\n5. Send the COMPLETE Airtop window live view URL via email immediately\n\n### When Interacting with Web Pages:\n1. **ALWAYS read the windows sheet first** to get correct session_id and window_id\n2. **MANDATORY: Use query_page first** before any click_element or type_text action\n3. **Tailor query_page prompts** to get detailed information about page elements and state\n4. Based on query_page response, execute precise click or type actions\n5. NEVER use made-up or assumed IDs\n\n### When Closing Sessions:\n1. Read browser sheet to find open session (status \"Open\")\n2. Use terminate_session with airtop session_id from browser sheet\n3. Mark browser session as \"Closed\"\n4. Mark ALL related windows as \"Closed\" in windows sheet\n\n## Communication Guidelines\n\n- Always acknowledge user requests clearly\n- Explain what you're about to do before taking action\n- Report successful completion of tasks\n- If you encounter issues, explain what went wrong and suggest alternatives\n- Send live URLs promptly so users can follow along\n- **CRITICAL**: Always send the complete Airtop window live view URL (provided when creating window), not the website URL being visited\n- Verify the Airtop window live view URL is complete before sending\n- Be proactive in describing what you see on pages\n\n## Critical Data Flow Requirements\n\n### ID Management for All Operations:\n- **Session ID**: Always use the airtop session_id from the browser sheet (status \"Open\")\n- **Window ID**: Always use the window_id from the windows sheet for the target window\n- **NEVER GUESS OR HALLUCINATE IDs**: Always read from sheets before using any tool that requires session_id or window_id\n- The windows sheet contains BOTH session_id and window_id - use this as your source for all web interactions\n\n### Profile Management:\n- **Profile Selection**: Always ask user about profile usage when creating sessions\n- **Profile Parameter**: Use only the \"profile name\" column value from airtop profiles sheet\n- **Profile Display**: Show platform names to users for reference, but use profile name for session creation\n\n### Session Creation Process:\n1. Check for existing open sessions → Ask user about closure if needed\n2. Ask user about profile usage → Read airtop profiles if needed\n3. Create Airtop session with or without profile → Get session_id\n4. **IMMEDIATELY** write to browser sheet: session_id, description, status \"Open\"\n\n### Session Closure Process:\n1. Read browser sheet to identify open session (status \"Open\")\n2. Use terminate_session tool with airtop session_id (NOT window_id)\n3. Update browser sheet status to \"Closed\"\n4. Find ALL windows with matching session_id in windows sheet\n5. Update ALL matching windows status to \"Closed\"\n\n### Live URL Handling:\n- **CRITICAL**: The live URL is the Airtop window live view URL provided when creating a window session, NOT the website URL being visited\n- This window live view URL allows users to watch your browser automation in real-time\n- Capture and send the COMPLETE Airtop window live view URL without truncation\n- Verify URL completeness before sending via email\n\n## Important Technical Constraints\n\n- **ID Retrieval**: ALWAYS read the windows sheet before using web interaction tools\n- **No ID Hallucination**: Never use made-up, guessed, or placeholder IDs\n- **Session Termination**: Only airtop sessions can be terminated using session_id\n- **Window Closure**: When session terminates, all windows close automatically\n- **Single Session Management**: Only one active session at a time\n- **Profile Usage**: Use profile name (not platform name or URL) for session creation\n\n## Data Integrity Rules\n\n- Never leave sessions in inconsistent states\n- Always update sheet statuses to match actual session states\n- Ensure session IDs are properly linked between browser and window sheets\n- Keep descriptions meaningful and descriptive\n- Update live URLs accurately when creating windows\n\n## Error Handling\n\n- If a tool fails, try alternative approaches\n- Always clean up partial operations\n- Report errors clearly and suggest next steps\n- Maintain data consistency even when operations fail\n\n## Best Practices\n\n- Be methodical: read sheets → get correct IDs → use query_page → plan actions → execute → update records\n- **ALWAYS use query_page before click_element or type_text**\n- **Craft detailed query_page prompts** for better element targeting\n- Use descriptive names for sessions and windows\n- Keep users informed throughout the process\n- Prioritize data consistency and session hygiene\n- Never use placeholder or guessed IDs\n- Always follow the specific tool flows as outlined\n\n## Absolute Prohibitions\n\n- **NEVER** create multiple sessions simultaneously\n- **NEVER** use memory or assumptions for session_id or window_id\n- **NEVER** skip the query_page step before web interactions\n- **NEVER** use website URLs instead of Airtop live view URLs for email notifications\n- **NEVER** terminate individual windows (only sessions can be terminated)\n- **NEVER** use platform names or URLs as profile parameters (use profile name only)\n\nRemember: You are the user's eyes and hands in the browser. Follow the exact tool flows outlined above. Be thorough, accurate, and communicative in all actions. Always maintain clean session states and provide detailed feedback about what you're doing and seeing. Every tool has a specific flow - follow it precisely to avoid errors and hallucinations."
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "44fb659b-e8a9-4f87-9661-aa05d35437ad",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -752,
        400
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "5UniF8cNOayWi0zD",
          "name": "My Open AI Account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "76ddc52d-863b-495b-b1f4-e1f88e1ab7dc",
      "name": "Memoria Simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -528,
        400
      ],
      "parameters": {
        "contextWindowLength": 3
      },
      "typeVersion": 1.3
    },
    {
      "id": "a41a1a73-7ff2-47dc-8e20-32911405a56f",
      "name": "crear_sesión",
      "type": "n8n-nodes-base.airtopTool",
      "position": [
        -320,
        384
      ],
      "parameters": {
        "profileName": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Profile_Name', ``, 'string') }}",
        "timeoutMinutes": 30,
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "id": "0F9H4CRmAYBC7jN3",
          "name": "n8ntest"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0c2c56a1-1c71-49ba-a849-14011738b153",
      "name": "terminar_sesión",
      "type": "n8n-nodes-base.airtopTool",
      "position": [
        -192,
        384
      ],
      "parameters": {
        "operation": "terminate",
        "sessionId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Session_ID', ``, 'string') }}"
      },
      "credentials": {
        "airtopApi": {
          "id": "0F9H4CRmAYBC7jN3",
          "name": "n8ntest"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e719b161-d2eb-4de5-82a6-746737b14129",
      "name": "leer_perfiles_airtop",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -64,
        384
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1533937125,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit#gid=1533937125",
          "cachedResultName": "Airtop Profiles"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit?usp=drivesdk",
          "cachedResultName": "airtop n8n tutorial"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "d0qeLhShx9sGXalR",
          "name": "Google Sheets"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "4cb14753-6da9-4676-bea4-f6db675f67ae",
      "name": "crear_ventana",
      "type": "n8n-nodes-base.airtopTool",
      "position": [
        64,
        384
      ],
      "parameters": {
        "url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}",
        "resource": "window",
        "sessionId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Session_ID', ``, 'string') }}",
        "getLiveView": true,
        "disableResize": true,
        "additionalFields": {
          "waitUntil": "load"
        },
        "screenResolution": "1280x720"
      },
      "credentials": {
        "airtopApi": {
          "id": "0F9H4CRmAYBC7jN3",
          "name": "n8ntest"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1ab3f2ea-f52d-414f-a2d1-098862bff46e",
      "name": "hacer_clic_en_elemento",
      "type": "n8n-nodes-base.airtopTool",
      "position": [
        192,
        384
      ],
      "parameters": {
        "resource": "interaction",
        "windowId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Window_ID', ``, 'string') }}",
        "sessionId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Session_ID', ``, 'string') }}",
        "additionalFields": {},
        "elementDescription": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Element_Description', ``, 'string') }}"
      },
      "credentials": {
        "airtopApi": {
          "id": "0F9H4CRmAYBC7jN3",
          "name": "n8ntest"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b539e4c7-5ec4-4b17-9066-522d2bf789f0",
      "name": "consultar_página",
      "type": "n8n-nodes-base.airtopTool",
      "position": [
        320,
        384
      ],
      "parameters": {
        "prompt": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt', ``, 'string') }}",
        "resource": "extraction",
        "windowId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Window_ID', ``, 'string') }}",
        "operation": "query",
        "sessionId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Session_ID', ``, 'string') }}",
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "id": "0F9H4CRmAYBC7jN3",
          "name": "n8ntest"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0c10c2e1-cc1c-46d8-884d-7d6a73c960ec",
      "name": "escribir_texto",
      "type": "n8n-nodes-base.airtopTool",
      "position": [
        448,
        384
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Text', ``, 'string') }}",
        "resource": "interaction",
        "windowId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Window_ID', ``, 'string') }}",
        "operation": "type",
        "sessionId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Session_ID', ``, 'string') }}",
        "additionalFields": {},
        "elementDescription": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Element_Description', ``, 'string') }}"
      },
      "credentials": {
        "airtopApi": {
          "id": "0F9H4CRmAYBC7jN3",
          "name": "n8ntest"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "fe1d09e9-f46b-478f-bdee-4ecdc39bdcad",
      "name": "leer_hoja_navegador",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        576,
        384
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit#gid=0",
          "cachedResultName": "Airtop browser Session"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit?usp=drivesdk",
          "cachedResultName": "airtop n8n tutorial"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "d0qeLhShx9sGXalR",
          "name": "Google Sheets"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "85008e4d-d797-42dd-a162-5e68385a121b",
      "name": "escribir_hoja_navegador",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        704,
        384
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Status', ``, 'string') }}",
            "Description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}",
            "Airtop Session ID": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Airtop_Session_ID__using_to_match_', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "Airtop Session ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Airtop Session ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Airtop Session ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit#gid=0",
          "cachedResultName": "Airtop browser Session"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit?usp=drivesdk",
          "cachedResultName": "airtop n8n tutorial"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "d0qeLhShx9sGXalR",
          "name": "Google Sheets"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "3edb3811-a3ef-4b92-afc4-2105d5b47521",
      "name": "leer_hoja_ventanas",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        832,
        384
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1582333940,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit#gid=1582333940",
          "cachedResultName": "Airtop Windows"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit?usp=drivesdk",
          "cachedResultName": "airtop n8n tutorial"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "d0qeLhShx9sGXalR",
          "name": "Google Sheets"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "c500239c-0d70-41d3-9a43-363b937c1e27",
      "name": "escribir_hoja_ventanas",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        960,
        384
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Status', ``, 'string') }}",
            "Live View URL": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Live_View_URL', ``, 'string') }}",
            "Airtop Window ID": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Airtop_Window_ID__using_to_match_', ``, 'string') }}",
            "Airtop Session ID": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Airtop_Session_ID', ``, 'string') }}",
            "Window Description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Window_Description', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "Airtop Session ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Airtop Session ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Airtop Window ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Airtop Window ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Window Description",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Window Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Live View URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Live View URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Airtop Window ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1582333940,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit#gid=1582333940",
          "cachedResultName": "Airtop Windows"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SZ_P9Ike3xodjAVEsoxfJzgk0kKyaL-EJAEQ7UVibFs/edit?usp=drivesdk",
          "cachedResultName": "airtop n8n tutorial"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "d0qeLhShx9sGXalR",
          "name": "Google Sheets"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "86015f59-a11e-4ccf-a427-5669db5f2c90",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        304
      ],
      "parameters": {
        "width": 1456,
        "height": 240,
        "content": "## Tools"
      },
      "typeVersion": 1
    },
    {
      "id": "2b9b1fe9-a184-47d9-b86f-5247f3f7d4e0",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        304
      ],
      "parameters": {
        "color": 5,
        "width": 176,
        "height": 240,
        "content": "## Memory"
      },
      "typeVersion": 1
    },
    {
      "id": "17355c78-73d9-4fea-a153-24009c45188d",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        304
      ],
      "parameters": {
        "color": 4,
        "width": 176,
        "height": 240,
        "content": "## AI Model"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "0c10c2e1-cc1c-46d8-884d-7d6a73c960ec": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "b539e4c7-5ec4-4b17-9066-522d2bf789f0": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "76ddc52d-863b-495b-b1f4-e1f88e1ab7dc": {
      "ai_memory": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "1ab3f2ea-f52d-414f-a2d1-098862bff46e": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4cb14753-6da9-4676-bea4-f6db675f67ae": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "a41a1a73-7ff2-47dc-8e20-32911405a56f": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "44fb659b-e8a9-4f87-9661-aa05d35437ad": {
      "ai_languageModel": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "0c2c56a1-1c71-49ba-a849-14011738b153": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "fe1d09e9-f46b-478f-bdee-4ecdc39bdcad": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "3edb3811-a3ef-4b92-afc4-2105d5b47521": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "85008e4d-d797-42dd-a162-5e68385a121b": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c500239c-0d70-41d3-9a43-363b937c1e27": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "e719b161-d2eb-4de5-82a6-746737b14129": {
      "ai_tool": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "cc74d814-16cc-4f48-ac90-dd388950c331": {
      "main": [
        [
          {
            "node": "5ab6d426-091f-4bf2-9599-e1211e00b162",
            "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?

Avanzado - Redes sociales, Chatbot de IA

¿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

Fábrica de redes sociales
Creador de contenido para redes sociales basado en AI, con soporte para publicación y aprobación multiplataforma
If
Set
Gmail
+
If
Set
Gmail
48 NodosTaiki
Redes sociales
Administrador de AWS Lambda basado en chat con registro automatizado de auditoría (GPT-4.1 mini + Google Sheets)
Gestor de AWS Lambda usando chat con GPT-4.1 y registros de auditoría de Google Sheets
Aws Lambda Tool
Agent
Http Request Tool
+
Aws Lambda Tool
Agent
Http Request Tool
15 NodosTrung Tran
DevOps
Chatbot de IA para captura de leads y preguntas frecuentes de negocio
Captura de prospectos y preguntas y respuestas de negocio automatizadas usando GPT-4o, Pinecone y Google Sheets
Google Drive
Agent
Google Sheets Tool
+
Google Drive
Agent
Google Sheets Tool
17 NodosBelgacem Dhiflaoui
Nutrición de leads
1. Configuración del robot para detalles de la lista de reproducción
Usa Suno, GPT-4, Runway y Creatomate para crear listas de reproducción de música de YouTube generadas por IA
If
Set
Code
+
If
Set
Code
203 NodosJoseph
Creación de contenido
💥 Construye tu primer agente de IA con ChatGPT-5
Usar GPT-5, Google Calendar y Sheets para crear un asistente de IA para base de conocimiento y gestión de agenda
Gmail Tool
Agent
Google Sheets Tool
+
Gmail Tool
Agent
Google Sheets Tool
14 NodosDr. Firas
Varios
Crear un recepcionista virtual impulsado por IA con Google Calendar y Hojas de cálculo
Usar Google Calendar y Sheets para crear un recepcionista virtual impulsado por IA
Google Sheets
Agent
Google Sheets Tool
+
Google Sheets
Agent
Google Sheets Tool
12 NodosRisper
Varios
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos18
Categoría2
Tipos de nodos7
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Joseph

Joseph

@mjomba

Automation expert specializing in building smart, scalable workflows using tools like n8n, Make, and Airtable. I help businesses save time, reduce manual work, and grow faster with tailored automation solutions. Feel free to reach out at joseph@uppfy.com to discuss your project. I am also on x.com/juppfy

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34