This workflow follows the Agent → Chat 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": "My workflow",
"nodes": [
{
"parameters": {
"content": "## Assistente AI per Host Airbnb \ud83c\udfe0\n\n**Un agente AI intelligente che supporta i tuoi ospiti in italiano**\n\n### Per iniziare:\n1. **Configura OpenAI** con la tua API key di ChatGPT-4o\n2. **Configura Google Sheets** con le tue informazioni sulla propriet\u00e0\n3. **Clicca su \ud83d\udde8\ufe0f Open chat** per testare l'assistente\n\n### L'agente pu\u00f2:\n- \u2705 Rispondere a domande su check-in/check-out\n- \u2705 Fornire informazioni su servizi e WiFi\n- \u2705 Dare consigli locali e raccomandazioni\n- \u2705 Gestire richieste di assistenza\n- \u2705 Escalare problemi complessi all'host\n- \u2705 Cercare informazioni aggiornate online\n\n### Esempi di domande:\n- \"Qual \u00e8 la password del WiFi?\"\n- \"A che ora posso fare il check-out?\"\n- \"Dove posso trovare un buon ristorante?\"\n- \"Ho un problema con il riscaldamento\"\n\n*Buona automazione! \ud83e\udd16*",
"height": 648,
"width": 420
},
"id": "83a2961c-2fa4-474a-b625-ae541f7b2150",
"name": "Nota Introduttiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
112,
-64
],
"typeVersion": 1
},
{
"parameters": {
"content": "\ud83d\udca1 Dopo aver testato, puoi attivare il workflow e condividere l'URL pubblico della chat per permettere agli ospiti di chattare con l'assistente!",
"height": 252,
"width": 300,
"color": 7
},
"id": "4c227e59-3e87-4ba5-8134-28f5c1e3ddbe",
"name": "Nota Condivisione",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
80
],
"typeVersion": 1
},
{
"parameters": {
"content": "Il tuo agente AI pu\u00f2:\n1. **Ricevere** messaggi dalla chat interface\n2. **Consultare** Google Sheets per info propriet\u00e0\n3. **Cercare** informazioni online aggiornate\n4. **Registrare** problemi su Google Sheets\n5. **Rispondere** con informazioni utili\n6. **Ricordare** conversazioni precedenti\n\n**Apri il nodo Assistente** e modifica il **Messaggio di Sistema** per personalizzare comportamento e personalit\u00e0.",
"height": 348,
"width": 396,
"color": 7
},
"id": "c3936089-b30a-45b2-996b-9c60374c02d3",
"name": "Come Funziona",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
-64
],
"typeVersion": 1
},
{
"parameters": {
"content": "Questo nodo aiuta l'agente a ricordare le conversazioni per fornire risposte coerenti e personalizzate.",
"height": 260,
"width": 308,
"color": 7
},
"id": "fa1c6f79-ca44-4e4b-bf12-fdb1e2392d2b",
"name": "Info Memoria",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
416
],
"typeVersion": 1
},
{
"parameters": {
"options": {
"systemMessage": "=<ruolo>\nSei l'Assistente AI per Host Airbnb, un assistente amichevole e competente progettato per supportare gli ospiti di una propriet\u00e0 Airbnb. La tua personalit\u00e0 \u00e8 calorosa, professionale e orientata all'ospitalit\u00e0.\n\nImportante: Comunichi sempre nella lingua che usa l'utente!!!\nSe l'utente ti scrive in inglese rispondi in inglese. Se scrive in italiano rispondi n italiano!\nSempre con un tono accogliente e professionale.\n</ruolo>\n\n<istruzioni>\n<obiettivo>\nIl tuo obiettivo principale \u00e8 assistere gli ospiti Airbnb fornendo:\n- Informazioni accurate sulla propriet\u00e0 (check-in/out, WiFi, regole)\n- Dettagli su servizi e amenit\u00e0 disponibili\n- Raccomandazioni locali (ristoranti, attrazioni, trasporti)\n- Supporto per problemi tecnici di base\n- Informazioni meteo e di viaggio\n- Gestione e registrazione di problemi che necessitano attenzione dell'host\n</obiettivo>\n\n<strumenti_disponibili>\nHai accesso a questi strumenti che DEVI utilizzare quando appropriato:\n\n1. **Leggi Informazioni Propriet\u00e0**: Per informazioni su check-in/out, WiFi, regole della casa, contatti di emergenza\n2. **Leggi Servizi e Amenit\u00e0**: Per dettagli su cucina, lavatrice, parcheggio, aria condizionata, ecc.\n3. **Leggi Servizi Locali**: Per raccomandazioni su ristoranti, attrazioni, trasporti locali\n4. **Registra Problema Ospite**: Per registrare problemi che richiedono attenzione dell'host\n5. **Cerca su Internet**: Per informazioni aggiornate, notizie, eventi, orari o un ampia scelta di servizi\nIMPORTANTE: gli strumenti vanno sempre chiamati in italiano!\n\n### Quando Usare gli Strumenti\n- Se l'ospite chiede informazioni sulla propriet\u00e0 \u2192 usa \"Leggi Informazioni Propriet\u00e0\"\n- Se chiede di servizi/amenit\u00e0 \u2192 usa \"Leggi Servizi e Amenit\u00e0\"\n- Se chiede raccomandazioni locali \u2192 usa \"Leggi Servizi Locali\"\n- Se riporta un problema \u2192 usa \"Registra Problema Ospite\"\n- Se ha bisogno di info aggiornate \u2192 usa \"SerpAPI per fare una ricerca su google. Assicurati di usare sempre la citta' di Como by default se non menzionata dal guest\"\n</strumenti_disponibili>\n\n<gestione_problemi>\n### Escalation Immediata (usa sempre \"Registra Problema Ospite\")\n- **Emergenze**: problemi di sicurezza, medici, allagamenti\n- **Manutenzione**: perdite, riscaldamento/AC rotto, problemi elettrici, serrature\n- **Reclami**: insoddisfazione, problemi di pulizia, vicini rumorosi\n- **Situazioni complesse**: tutto ci\u00f2 che non riesci a risolvere immediatamente\n\n### Livelli di Priorit\u00e0\n- **Urgente**: Emergenze, sicurezza, problemi gravi\n- **Alta**: Manutenzione importante, reclami ospiti\n- **Media**: Problemi minori, richieste speciali\n- **Bassa**: Domande informative, suggerimenti\n</gestione_problemi>\n\n<stile_comunicazione>\n### Come Rispondere\n- Usa sempre un tono **amichevole, caloroso e professionale** \ud83d\ude0a\n- **Saluta cordialmente** gli ospiti\n- Usa poche **emoji appropriate** per rendere la comunicazione pi\u00f9 accogliente \ud83c\udfe0 \u2705 \ud83c\udf1f\n- **Sii proattivo**: offri informazioni aggiuntive utili\n- **Rassicura** gli ospiti che i loro problemi sono importanti\n- **Ringrazia** per aver scelto la propriet\u00e0\n\n### Esempi di Risposte\n- \"Ciao! Benvenuto/a nella nostra propriet\u00e0! \ud83d\ude0a Sar\u00f2 felice di aiutarti con...\"\n- \"Perfetto! Ho registrato la tua richiesta e l'host sar\u00e0 contattato immediatamente. Nel frattempo...\"\n- \"Lasciami controllare le informazioni pi\u00f9 aggiornate per te... \ud83d\udd0d\"\n</stile_comunicazione>\n\n<conoscenze_base>\n### Informazioni Generali Airbnb\n- Check-in standard: solitamente 15:00-16:00\n- Check-out standard: solitamente 10:00-11:00\n- Sempre consultare gli strumenti per informazioni specifiche della propriet\u00e0\n\n### Data e Ora Corrente\n{{ $now }}\n</conoscenze_base>\n\n<formato_output>\n- **Sempre nella lingua del guest ** \n- **Usa gli strumenti** prima di rispondere quando necessario\n- **Presenta i risultati** in modo chiaro e organizzato\n- **Sii specifico** nelle raccomandazioni\n- **Offri alternative** quando possibile\n- **Conferma sempre** quando registri un problema\n</formato_output>\n\nComunichi sempre nella lingua che usa l'utente!!!\n\n</istruzioni>"
}
},
"id": "286ce8ae-0d0a-498e-9f8c-af3dee56a85e",
"name": "Assistente AI Airbnb",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1056,
176
],
"typeVersion": 2.2
},
{
"parameters": {
"public": true,
"initialMessages": "Ciao! Sono Giorgio, il tuo super host virtuale!",
"options": {
"inputPlaceholder": "Qual \u00e8 la password del wifi? ",
"showWelcomeScreen": true,
"subtitle": "Chiedi qualsiasi cosa! 24/7.",
"title": "Ciao sono il tuo host! \ud83d\udc4b",
"customCss": ":root {\n /* Colors */\n --chat--color-primary: #e74266;\n --chat--color-primary-shade-50: #db4061;\n --chat--color-primary-shade-100: #cf3c5c;\n --chat--color-secondary: #20b69e;\n --chat--color-secondary-shade-50: #1ca08a;\n --chat--color-white: #ffffff;\n --chat--color-light: #f2f4f8;\n --chat--color-light-shade-50: #e6e9f1;\n --chat--color-light-shade-100: #c2c5cc;\n --chat--color-medium: #d2d4d9;\n --chat--color-dark: #101330;\n --chat--color-disabled: #777980;\n --chat--color-typing: #404040;\n\n /* Base Layout */\n --chat--spacing: 1rem;\n --chat--border-radius: 0.25rem;\n --chat--transition-duration: 0.15s;\n --chat--font-family: (\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Oxygen-Sans,\n Ubuntu,\n Cantarell,\n 'Helvetica Neue',\n sans-serif\n );\n\n /* Window Dimensions */\n --chat--window--width: 400px;\n --chat--window--height: 600px;\n --chat--window--bottom: var(--chat--spacing);\n --chat--window--right: var(--chat--spacing);\n --chat--window--z-index: 9999;\n --chat--window--border: 1px solid var(--chat--color-light-shade-50);\n --chat--window--border-radius: var(--chat--border-radius);\n --chat--window--margin-bottom: var(--chat--spacing);\n\n /* Header Styles */\n --chat--header-height: auto;\n --chat--header--padding: var(--chat--spacing);\n --chat--header--background: var(--chat--color-dark);\n --chat--header--color: var(--chat--color-light);\n --chat--header--border-top: none;\n --chat--header--border-bottom: none;\n --chat--header--border-left: none;\n --chat--header--border-right: none;\n --chat--heading--font-size: 2em;\n --chat--subtitle--font-size: inherit;\n --chat--subtitle--line-height: 1.8;\n\n /* Message Styles */\n --chat--message--font-size: 1rem;\n --chat--message--padding: var(--chat--spacing);\n --chat--message--border-radius: var(--chat--border-radius);\n --chat--message-line-height: 1.5;\n --chat--message--margin-bottom: calc(var(--chat--spacing) * 1);\n --chat--message--bot--background: var(--chat--color-white);\n --chat--message--bot--color: var(--chat--color-dark);\n --chat--message--bot--border: none;\n --chat--message--user--background: var(--chat--color-secondary);\n --chat--message--user--color: var(--chat--color-white);\n --chat--message--user--border: none;\n --chat--message--pre--background: rgba(0, 0, 0, 0.05);\n --chat--messages-list--padding: var(--chat--spacing);\n\n /* Toggle Button */\n --chat--toggle--size: 64px;\n --chat--toggle--width: var(--chat--toggle--size);\n --chat--toggle--height: var(--chat--toggle--size);\n --chat--toggle--border-radius: 50%;\n --chat--toggle--background: var(--chat--color-primary);\n --chat--toggle--hover--background: var(--chat--color-primary-shade-50);\n --chat--toggle--active--background: var(--chat--color-primary-shade-100);\n --chat--toggle--color: var(--chat--color-white);\n\n /* Input Area */\n --chat--textarea--height: 50px;\n --chat--textarea--max-height: 30rem;\n --chat--input--font-size: inherit;\n --chat--input--border: 0;\n --chat--input--border-radius: 0;\n --chat--input--padding: 0.8rem;\n --chat--input--background: var(--chat--color-white);\n --chat--input--text-color: initial;\n --chat--input--line-height: 1.5;\n --chat--input--placeholder--font-size: var(--chat--input--font-size);\n --chat--input--border-active: 0;\n --chat--input--left--panel--width: 2rem;\n\n /* Button Styles */\n --chat--button--color: var(--chat--color-light);\n --chat--button--background: var(--chat--color-primary);\n --chat--button--padding: calc(var(--chat--spacing) * 1 / 2) var(--chat--spacing);\n --chat--button--border-radius: var(--chat--border-radius);\n --chat--button--hover--color: var(--chat--color-light);\n --chat--button--hover--background: var(--chat--color-primary-shade-50);\n --chat--close--button--color-hover: var(--chat--color-primary);\n\n /* Send and File Buttons */\n --chat--input--send--button--background: var(--chat--color-white);\n --chat--input--send--button--color: var(--chat--color-light);\n --chat--input--send--button--background-hover: var(--chat--color-primary-shade-50);\n --chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--input--file--button--background: var(--chat--color-white);\n --chat--input--file--button--color: var(--chat--color-secondary);\n --chat--input--file--button--background-hover: var(--chat--input--file--button--background);\n --chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--files-spacing: 0.25rem;\n\n /* Body and Footer */\n --chat--body--background: var(--chat--color-light);\n --chat--footer--background: var(--chat--color-light);\n --chat--footer--color: var(--chat--color-dark);\n}\n\n\n/* You can override any class styles, too. Right-click inspect in Chat UI to find class to override. */\n.chat-message {\n\tmax-width: 50%;\n}"
}
},
"id": "e2ca16d0-b0fc-4e70-a6a9-bbb55d0ddf8d",
"name": "Chat Interface",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
688,
176
],
"typeVersion": 1.1
},
{
"parameters": {
"contextWindowLength": 50
},
"id": "4759d74f-3be8-4756-aecb-ee67fb154185",
"name": "Memoria Conversazioni",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1120,
528
],
"typeVersion": 1.3
},
{
"parameters": {
"model": "gpt-4o",
"options": {
"maxTokens": 1500,
"temperature": 0.3
}
},
"id": "b378dbc4-fe06-4eff-9c90-043552614d5e",
"name": "ChatGPT-4o",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
832,
528
],
"typeVersion": 1,
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"content": "### \ud83d\udd27 Configurazione OpenAI ChatGPT-4o\n\n1. Ottieni la tua API key da [OpenAI Platform](https://platform.openai.com/api-keys)\n\n2. Apri il nodo **ChatGPT-4o**:\n * Clicca su **Credenziali**\n * Seleziona **Crea Nuova**\n * Incolla la **API Key**\n * **Salva**\n\n3. Verifica che il modello sia **gpt-4o**",
"height": 364,
"width": 358,
"color": 3
},
"id": "27fb5b7c-513c-49ee-8cc4-ad2d6ccfc64b",
"name": "Config OpenAI",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
416
],
"typeVersion": 1
},
{
"parameters": {
"content": "### \ud83d\udee0\ufe0f Strumenti dell'Agente\n\nL'agente ha accesso a 2 strumenti potenti:\n\n\ud83c\udfe0 **Google Sheets Tools:**\n- Leggi Informazioni Propriet\u00e0\n- Leggi Servizi e Amenit\u00e0 \n- Leggi Servizi Locali\n- Registra Problema Ospite\n\n\ud83c\udf10 **Internet Tools:**\n- Cerca su Internet (Google)\n\n",
"height": 284,
"width": 400,
"color": 4
},
"id": "47896b55-38fe-47a3-9f9d-e40b0ea4083c",
"name": "Strumenti Configurati",
"type": "n8n-nodes-base.stickyNote",
"position": [
1424,
-32
],
"typeVersion": 1
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "Ottieni informazioni su questo airbnb per rispondere in modo accurato al ospite. ",
"documentId": {
"__rl": true,
"value": "1_NpOAFQDJZ7eVvOyc8vLryZWiv54dD6TRoJ057P3hiI",
"mode": "list",
"cachedResultName": "Airbnb_Info",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_NpOAFQDJZ7eVvOyc8vLryZWiv54dD6TRoJ057P3hiI/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Sheet', ``, 'string') }}",
"mode": "name"
},
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.7,
"position": [
1408,
448
],
"id": "dc9c25be-3696-4593-a934-62f2a1c54e60",
"name": "Get row(s) in sheet in Google Sheets",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.toolSerpApi",
"typeVersion": 1,
"position": [
1568,
448
],
"id": "8868cfd6-cf5c-4a99-b5ca-78784f2d0763",
"name": "SerpAPI",
"credentials": {
"serpApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Chat Interface": {
"main": [
[
{
"node": "Assistente AI Airbnb",
"type": "main",
"index": 0
}
]
]
},
"ChatGPT-4o": {
"ai_languageModel": [
[
{
"node": "Assistente AI Airbnb",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Memoria Conversazioni": {
"ai_memory": [
[
{
"node": "Assistente AI Airbnb",
"type": "ai_memory",
"index": 0
}
]
]
},
"Get row(s) in sheet in Google Sheets": {
"ai_tool": [
[
{
"node": "Assistente AI Airbnb",
"type": "ai_tool",
"index": 0
}
]
]
},
"SerpAPI": {
"ai_tool": [
[
{
"node": "Assistente AI Airbnb",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "7fde066f-381c-44c1-a77c-35661a4a3d1b",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "cYRB1xkUeQQTwMnY",
"tags": []
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleSheetsOAuth2ApiopenAiApiserpApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Airbnb Agent. Uses agent, chatTrigger, memoryBufferWindow, lmChatOpenAi. Chat trigger; 12 nodes.
Source: https://github.com/GioBordoli/arbys-ai/blob/80c2c5d66be378501ee77b506ff27e83c1a5d07e/files/airbnb_agent.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.
Generate high-quality, SEO-optimized content briefs automatically using AI, real-time keyword research, SERP intelligence, and historical content context. This workflow standardizes user inputs, fetch
Think Tool. Uses stickyNote, agent, googleCalendarTool, memoryBufferWindow. Chat trigger; 28 nodes.
This powerful workflow can take hours of difficult research attempting to identify the perfect product to buy and condense it into a few short minutes. Simply typing the name of an item you wish to pu
This powerful workflow can take hours of difficult research attempting to identify the perfect online tool to aid you with your business and condenses it into a few short seconds. Simply typing the na
Overview Meet Maria, a sophisticated AI Booking Agent designed for Veterinary Clinics (but easily adaptable to any service business). This workflow transforms a simple chat interface into a full-scale