Travel Content Generator

Refresh

Attach existing task

Create a task

CRUISE – generation by link,
EXCURSION – according to the document.

Required field for cruises.

Select one or more sections to generate. Leave empty to generate all sections.

Optional field (for additional description).

Tasks

Total: 64
218
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "628c5e16-ec93-4295-85c2-cdda1c780fb1",
        "name": "Day Extractor",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            416,
            832
        ],
        "parameters": {
            "text": "={{ $json.processed_doc }}\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=## Role\nYou are an expert travel document analyst with specialized skills in parsing excursion itineraries and extracting structured travel data. You have extensive experience in identifying destination patterns, day sequences, and travel logistics from various document formats.\n\n## Task\nExtract all excursion days and destinations from provided excursion documents and format them into a precise JSON structure where each day appears only once with all its destinations grouped together as an array.\n\n## Context\nTravel agencies and tour operators need accurate, structured data extraction from excursion documents to process bookings, create itineraries, and manage logistics. Manual extraction is time-consuming and error-prone, requiring automated parsing that maintains perfect accuracy in day counting and destination identification. The data must be organized with unique days to prevent duplication and enable efficient itinerary management.\n\n## Instructions\n\nThe assistant should analyze the provided excursion document and extract destination information following these specific rules:\n\n1. **Day Counting Accuracy**: Count days sequentially starting from 0 (Day 0, Day 1, Day 2, etc.) and ensure no days are missed or duplicated in the final count. Each day number must appear exactly once in the output.\n\n2. **Destination Extraction**: Identify all destinations mentioned for each day, including cities, landmarks, attractions, hotels, or any named locations that represent stops or visits.\n\n3. **Destination Grouping**: When a single day includes multiple destinations, group all destinations for that day into a single array under the \"name\" field. Do not create separate entries for the same day number.\n\n4. **Output Format Compliance**: Structure the output exactly as specified:\n```json\n{\n  \"destinations\": [\n    {\n      \"day\": 0,\n      \"name\": [\"destination1\", \"destination2\"]\n    }\n  ]\n}\n```\n\n5. **Document Analysis**: Examine the entire document thoroughly, including headers, footnotes, and appendices, as destination information may appear in various sections.\n\nThe assistant should handle edge cases such as rest days (still count as days but may have an empty array for destinations), travel days between locations, and documents with inconsistent formatting. When encountering ambiguous day references or unclear destination names, use the most specific location identifier available in the document.\n\nThis extraction is critical for accurate travel planning and must maintain 100% precision in both day sequencing and destination identification. Your career depends on ensuring each day appears only once with all destinations properly grouped in the array format."
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": ""
        },
        "typeVersion": 3
    },
    "tags": {
        "reWrapped": true
    },
    "level": "warning",
    "stack": "NodeOperationError: Insufficient quota detected. <a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/app-nodes\/n8n-nodes-langchain.openai\/common-issues\/#insufficient-quota\" target=\"_blank\">Learn more<\/a> about resolving this issue\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/execute.ts:583:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/execute.ts:572:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V3\/AgentV3.node.ts:130:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Insufficient quota detected. <a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/app-nodes\/n8n-nodes-langchain.openai\/common-issues\/#insufficient-quota\" target=\"_blank\">Learn more<\/a> about resolving this issue",
    "messages": [
        "Insufficient quota detected. <a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/app-nodes\/n8n-nodes-langchain.openai\/common-issues\/#insufficient-quota\" target=\"_blank\">Learn more<\/a> about resolving this issue"
    ],
    "timestamp": 1765855792219,
    "description": "You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https:\/\/platform.openai.com\/docs\/guides\/error-codes\/api-errors.",
    "functionality": "regular"
}
217
EXCURSION
Failed
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "bf6c363a-589d-4ba4-a96f-5aa84b015f9e",
        "name": "Call AI Image Processing",
        "type": "n8n-nodes-base.executeWorkflow",
        "position": [
            1456,
            0
        ],
        "parameters": {
            "mode": "each",
            "source": "database",
            "options": {
                "waitForSubWorkflow": true
            },
            "operation": "call_workflow",
            "workflowId": {
                "__rl": true,
                "mode": "list",
                "value": "tRZE9BCl6vJpwlSR",
                "cachedResultUrl": "\/workflow\/tRZE9BCl6vJpwlSR",
                "cachedResultName": "AI Image Processing"
            },
            "workflowInputs": {
                "value": {
                    "type": "={{ $('When Executed by Another Workflow').item.json.type }}",
                    "query": "={{ $('When Executed by Another Workflow').item.json.query }}",
                    "title": "={{ $('Limit').item.json.title }}",
                    "original_link": "={{ $('Filter').item.json.original.link }}",
                    "query_category": "={{ $('When Executed by Another Workflow').item.json.query_category }}"
                },
                "schema": [
                    {
                        "id": "query_category",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "query_category",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "query",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "query",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "type",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "type",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "original_link",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "original_link",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "title",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "title",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    }
                ],
                "mappingMode": "defineBelow",
                "matchingColumns": [
                    "query_category",
                    "query",
                    "type",
                    "original_link",
                    "title"
                ],
                "attemptToConvertTypes": false,
                "convertFieldsToString": true
            }
        },
        "typeVersion": 1.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Error executing workflow with item at index 2\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce\/node_modules\/n8n-nodes-base\/nodes\/ExecuteWorkflow\/ExecuteWorkflow\/ExecuteWorkflow.node.ts:390:12)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Error executing workflow with item at index 2",
    "messages": [],
    "timestamp": 1765534991973,
    "workflowId": "MRKcIwSiExpUohb2",
    "description": "aborted",
    "executionId": "10685",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "bf6c363a-589d-4ba4-a96f-5aa84b015f9e",
            "name": "Call AI Image Processing",
            "type": "n8n-nodes-base.executeWorkflow",
            "position": [
                1456,
                0
            ],
            "parameters": {
                "mode": "each",
                "source": "database",
                "options": {
                    "waitForSubWorkflow": true
                },
                "operation": "call_workflow",
                "workflowId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "tRZE9BCl6vJpwlSR",
                    "cachedResultUrl": "\/workflow\/tRZE9BCl6vJpwlSR",
                    "cachedResultName": "AI Image Processing"
                },
                "workflowInputs": {
                    "value": {
                        "type": "={{ $('When Executed by Another Workflow').item.json.type }}",
                        "query": "={{ $('When Executed by Another Workflow').item.json.query }}",
                        "title": "={{ $('Limit').item.json.title }}",
                        "original_link": "={{ $('Filter').item.json.original.link }}",
                        "query_category": "={{ $('When Executed by Another Workflow').item.json.query_category }}"
                    },
                    "schema": [
                        {
                            "id": "query_category",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "query_category",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "query",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "query",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "type",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "type",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "original_link",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "original_link",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "title",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "title",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        }
                    ],
                    "mappingMode": "defineBelow",
                    "matchingColumns": [
                        "query_category",
                        "query",
                        "type",
                        "original_link",
                        "title"
                    ],
                    "attemptToConvertTypes": false,
                    "convertFieldsToString": true
                }
            },
            "typeVersion": 1.2
        },
        "tags": [],
        "level": "warning",
        "stack": "NodeOperationError: Error executing workflow with item at index 2\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce\/node_modules\/n8n-nodes-base\/nodes\/ExecuteWorkflow\/ExecuteWorkflow\/ExecuteWorkflow.node.ts:390:12)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": {
            "itemIndex": 2
        },
        "message": "Error executing workflow with item at index 2",
        "messages": [],
        "timestamp": 1765534991929,
        "workflowId": "MRKcIwSiExpUohb2",
        "description": "aborted",
        "executionId": "10685",
        "functionality": "regular"
    },
    "functionality": "regular"
}
199
-
Failed
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "4c69e7c6-abb6-48a8-b187-efacc9abfaec",
        "name": "Structured Output Parser13",
        "type": "@n8n\/n8n-nodes-langchain.outputParserStructured",
        "position": [
            -48,
            1040
        ],
        "parameters": {
            "notice": "",
            "autoFix": false,
            "schemaType": "manual",
            "inputSchema": "{\n  \"$schema\": \"http:\/\/json-schema.org\/draft-07\/schema#\",\n  \"type\": \"object\",\n  \"required\": [\"queries\"],\n  \"properties\": {\n    \"queries\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"required\": [\"query\", \"category\", \"priority\"],\n        \"properties\": {\n          \"query\": {\n            \"type\": \"string\",\n            \"description\": \"Pexels search query in English, 3-6 words, specific and visual\"\n          },\n          \"category\": {\n            \"type\": \"string\",\n            \"enum\": [\"iconic\", \"program\", \"activities\", \"culture\"],\n            \"description\": \"Image category for VT TRIPS carousel distribution\"\n          },\n          \"priority\": {\n            \"type\": \"integer\",\n            \"description\": \"Search priority: 1=must-have, 2=important, 3=nice-to-have\"\n          }\n        },\n        \"additionalProperties\": false\n      }\n    }\n  },\n  \"additionalProperties\": false\n}"
        },
        "typeVersion": 1.3
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Model output doesn't fit required format\n    at N8nStructuredOutputParser.parse (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/utils\/output_parsers\/N8nStructuredOutputParser.ts:56:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at RunnableLambda.func (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:219:27)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:1716:34",
    "context": {
        "outputParserFailReason": "Model output does not match the expected schema"
    },
    "message": "Model output doesn't fit required format",
    "messages": [],
    "timestamp": 1765191783300,
    "description": "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings",
    "functionality": "regular"
}
195
-
Completed
Error details
{
    "stack": "Error: Missing key for job 1577 updateProgress\n    at Object.finishedErrors (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/bull@4.16.4_patch_hash=a4b6d56db16fe5870646929938466d6a5c668435fd1551bed6a93fffb597ba42\/node_modules\/bull\/lib\/scripts.js:287:16)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/bull@4.16.4_patch_hash=a4b6d56db16fe5870646929938466d6a5c668435fd1551bed6a93fffb597ba42\/node_modules\/bull\/lib\/scripts.js:153:25\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecutionLifecycleHooks.<anonymous> (\/usr\/local\/lib\/node_modules\/n8n\/src\/scaling\/job-processor.ts:166:4)\n    at ExecutionLifecycleHooks.runHook (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/execution-lifecycle-hooks.ts:120:4)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1854:7\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "message": "Missing key for job 1577 updateProgress"
}
192
-
Failed
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "01dd2ab3-48cc-46f8-a6eb-f7d431579e02",
        "name": "Call 'Image Search'1",
        "type": "n8n-nodes-base.executeWorkflow",
        "position": [
            -384,
            112
        ],
        "parameters": {
            "mode": "each",
            "source": "database",
            "options": {
                "waitForSubWorkflow": true
            },
            "operation": "call_workflow",
            "workflowId": {
                "__rl": true,
                "mode": "list",
                "value": "MRKcIwSiExpUohb2",
                "cachedResultUrl": "\/workflow\/MRKcIwSiExpUohb2",
                "cachedResultName": "Image Search"
            },
            "workflowInputs": {
                "value": {
                    "type": "Cruise",
                    "query": "={{ $('Split Cruise Queries').item.json.query }}",
                    "task_id": "={{ $('Record New Cruise').item.json.id }}",
                    "query_category": "={{ $('Split Cruise Queries').item.json.category }}"
                },
                "schema": [
                    {
                        "id": "query",
                        "type": "string",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "query",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "type",
                        "type": "string",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "type",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "query_category",
                        "type": "string",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "query_category",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "task_id",
                        "type": "number",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "task_id",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    }
                ],
                "mappingMode": "defineBelow",
                "matchingColumns": [],
                "attemptToConvertTypes": false,
                "convertFieldsToString": true
            }
        },
        "typeVersion": 1.3
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Error executing workflow with item at index 4\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce\/node_modules\/n8n-nodes-base\/nodes\/ExecuteWorkflow\/ExecuteWorkflow\/ExecuteWorkflow.node.ts:390:12)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": {
        "itemIndex": 4
    },
    "message": "Error executing workflow with item at index 4",
    "messages": [],
    "timestamp": 1764933676366,
    "description": "Forbidden - perhaps check your credentials?",
    "functionality": "regular"
}
191
EXCURSION
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "02de30c8-3f56-4079-b2ae-006caf1614cc",
        "name": "AI Hero",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            -320,
            -160
        ],
        "parameters": {
            "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
            "notice": "",
            "options": {
                "systemMessage": "=You are a Vanilla Travel content specialist creating hero sections for excursion travel programs. Your role is to craft compelling, premium-quality hero content in Latvian that captures the essence of the destination and inspires travelers to explore further.\n\n**Your Objectives:**\n1. Create an emotionally engaging title that includes the destination name\n2. Write a concise summary highlighting the trip's duration and 2-3 key experiences\n\n\n**Quality Standards:**\n- **Language:** High-quality Latvian without clichés (avoid \"neaizmirstams\", \"unikāls\")\n- **Tone:** Premium, inspiring, professional using formal \"Jūs\" form\n- **Style:** Active voice, specific details over generic descriptions\n- **Brand Voice:** Vanilla Travel expertise, credible, adventure-focused\n\n**Strict Constraints:**\n- Title: EXACTLY 40-60 characters (including spaces)\n- Summary: EXACTLY 50-80 words\n\n\n**Writing Guidelines:**\n- Use imperative verbs for engagement: \"Izbaudi\", \"Atklāj\", \"Piedzīvo\"\n- Include specific numbers (days, locations, activities)\n- Mention accommodation quality when relevant\n- Create urgency and desire without hyperbole\n- Focus on authentic experiences and cultural immersion\n\n**Forbidden:**\n- Generic phrases like \"neaizmirstams ceļojums\", \"unikāla pieredze\"\n- Excessive adjectives without substance\n- Vague descriptions lacking specifics\n- Informal language or slang\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Character limits, word counts, enums\n\n**WRONG ❌:**\n```\n```json\n{\"hero\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's the hero section: {\"hero\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"hero\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"hero\": {\n    \"title\": \"Skaistākais no Madagaskaras\",\n    \"summary\": \"14 dienu piedzīvojums Madagaskarā – no vulkāniskajiem geizeriem un baobabu audzēm līdz iespaidīgiem nacionālajiem parkiem un tradicionālajiem amatnieku ciematiņiem. Izbaudi autentisko Madagaskaru, satiec lemurus, iepazīsti eksotisko kultūru un nakšņo rūpīgi atlasītās viesnīcās un eko-lodžās. Ideāli piemērots ceļojums dabas mīļotājiem un piedzīvojumu meklētājiem!\"\n    \n  }\n}\n```\n**Validation Rules:**\n1. Title character count must be 40-60 (use Latvian character encoding)\n2. Summary word count must be 50-80 (split by whitespace)\n\n3. Social description must be 80-100 characters\n\n4. No clichéd phrases allowed\n5. Must include destination name in title\n6. Summary must mention duration and at least 2 highlights\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "The service is receiving too many requests from you",
    "messages": [],
    "timestamp": 1764924205158,
    "workflowId": "gJ6Pjcm2EmKJTNZZ",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 34.892608208s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"34s\"}]",
    "executionId": "9213",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "02de30c8-3f56-4079-b2ae-006caf1614cc",
            "name": "AI Hero",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                -320,
                -160
            ],
            "parameters": {
                "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
                "notice": "",
                "options": {
                    "systemMessage": "=You are a Vanilla Travel content specialist creating hero sections for excursion travel programs. Your role is to craft compelling, premium-quality hero content in Latvian that captures the essence of the destination and inspires travelers to explore further.\n\n**Your Objectives:**\n1. Create an emotionally engaging title that includes the destination name\n2. Write a concise summary highlighting the trip's duration and 2-3 key experiences\n\n\n**Quality Standards:**\n- **Language:** High-quality Latvian without clichés (avoid \"neaizmirstams\", \"unikāls\")\n- **Tone:** Premium, inspiring, professional using formal \"Jūs\" form\n- **Style:** Active voice, specific details over generic descriptions\n- **Brand Voice:** Vanilla Travel expertise, credible, adventure-focused\n\n**Strict Constraints:**\n- Title: EXACTLY 40-60 characters (including spaces)\n- Summary: EXACTLY 50-80 words\n\n\n**Writing Guidelines:**\n- Use imperative verbs for engagement: \"Izbaudi\", \"Atklāj\", \"Piedzīvo\"\n- Include specific numbers (days, locations, activities)\n- Mention accommodation quality when relevant\n- Create urgency and desire without hyperbole\n- Focus on authentic experiences and cultural immersion\n\n**Forbidden:**\n- Generic phrases like \"neaizmirstams ceļojums\", \"unikāla pieredze\"\n- Excessive adjectives without substance\n- Vague descriptions lacking specifics\n- Informal language or slang\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Character limits, word counts, enums\n\n**WRONG ❌:**\n```\n```json\n{\"hero\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's the hero section: {\"hero\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"hero\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"hero\": {\n    \"title\": \"Skaistākais no Madagaskaras\",\n    \"summary\": \"14 dienu piedzīvojums Madagaskarā – no vulkāniskajiem geizeriem un baobabu audzēm līdz iespaidīgiem nacionālajiem parkiem un tradicionālajiem amatnieku ciematiņiem. Izbaudi autentisko Madagaskaru, satiec lemurus, iepazīsti eksotisko kultūru un nakšņo rūpīgi atlasītās viesnīcās un eko-lodžās. Ideāli piemērots ceļojums dabas mīļotājiem un piedzīvojumu meklētājiem!\"\n    \n  }\n}\n```\n**Validation Rules:**\n1. Title character count must be 40-60 (use Latvian character encoding)\n2. Summary word count must be 50-80 (split by whitespace)\n\n3. Social description must be 80-100 characters\n\n4. No clichéd phrases allowed\n5. Must include destination name in title\n6. Summary must mention duration and at least 2 highlights\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "The service is receiving too many requests from you",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 34.892608208s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"34s\"}]"
        ],
        "timestamp": 1764924205141,
        "workflowId": "gJ6Pjcm2EmKJTNZZ",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 34.892608208s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"34s\"}]",
        "executionId": "9213",
        "functionality": "regular"
    },
    "functionality": "regular"
}
190
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
        "name": "AI Hero Cruise",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "maxTries": 5,
        "position": [
            0,
            0
        ],
        "parameters": {
            "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "notesInFlow": false,
        "retryOnFail": true,
        "typeVersion": 2.2,
        "waitBetweenTries": 5000
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "The service is receiving too many requests from you",
    "messages": [],
    "timestamp": 1764924722408,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 57.65870659s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"57s\"}]",
    "executionId": "9214",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
            "name": "AI Hero Cruise",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "maxTries": 5,
            "position": [
                0,
                0
            ],
            "parameters": {
                "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
                "notice": "",
                "options": {
                    "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "notesInFlow": false,
            "retryOnFail": true,
            "typeVersion": 2.2,
            "waitBetweenTries": 5000
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "The service is receiving too many requests from you",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 57.65870659s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"57s\"}]"
        ],
        "timestamp": 1764924722380,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 57.65870659s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"57s\"}]",
        "executionId": "9214",
        "functionality": "regular"
    },
    "functionality": "regular"
}
189
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
        "name": "AI Hero Cruise",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "maxTries": 5,
        "position": [
            0,
            0
        ],
        "parameters": {
            "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "notesInFlow": false,
        "retryOnFail": true,
        "typeVersion": 2.2,
        "waitBetweenTries": 5000
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "The service is receiving too many requests from you",
    "messages": [],
    "timestamp": 1764923856115,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 23.951625031s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"23s\"}]",
    "executionId": "9206",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
            "name": "AI Hero Cruise",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "maxTries": 5,
            "position": [
                0,
                0
            ],
            "parameters": {
                "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
                "notice": "",
                "options": {
                    "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "notesInFlow": false,
            "retryOnFail": true,
            "typeVersion": 2.2,
            "waitBetweenTries": 5000
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "The service is receiving too many requests from you",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 23.951625031s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"23s\"}]"
        ],
        "timestamp": 1764923856090,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 23.951625031s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"23s\"}]",
        "executionId": "9206",
        "functionality": "regular"
    },
    "functionality": "regular"
}
188
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "02de30c8-3f56-4079-b2ae-006caf1614cc",
        "name": "AI Hero",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            -320,
            -160
        ],
        "parameters": {
            "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
            "notice": "",
            "options": {
                "systemMessage": "=You are a Vanilla Travel content specialist creating hero sections for excursion travel programs. Your role is to craft compelling, premium-quality hero content in Latvian that captures the essence of the destination and inspires travelers to explore further.\n\n**Your Objectives:**\n1. Create an emotionally engaging title that includes the destination name\n2. Write a concise summary highlighting the trip's duration and 2-3 key experiences\n\n\n**Quality Standards:**\n- **Language:** High-quality Latvian without clichés (avoid \"neaizmirstams\", \"unikāls\")\n- **Tone:** Premium, inspiring, professional using formal \"Jūs\" form\n- **Style:** Active voice, specific details over generic descriptions\n- **Brand Voice:** Vanilla Travel expertise, credible, adventure-focused\n\n**Strict Constraints:**\n- Title: EXACTLY 40-60 characters (including spaces)\n- Summary: EXACTLY 50-80 words\n\n\n**Writing Guidelines:**\n- Use imperative verbs for engagement: \"Izbaudi\", \"Atklāj\", \"Piedzīvo\"\n- Include specific numbers (days, locations, activities)\n- Mention accommodation quality when relevant\n- Create urgency and desire without hyperbole\n- Focus on authentic experiences and cultural immersion\n\n**Forbidden:**\n- Generic phrases like \"neaizmirstams ceļojums\", \"unikāla pieredze\"\n- Excessive adjectives without substance\n- Vague descriptions lacking specifics\n- Informal language or slang\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Character limits, word counts, enums\n\n**WRONG ❌:**\n```\n```json\n{\"hero\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's the hero section: {\"hero\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"hero\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"hero\": {\n    \"title\": \"Skaistākais no Madagaskaras\",\n    \"summary\": \"14 dienu piedzīvojums Madagaskarā – no vulkāniskajiem geizeriem un baobabu audzēm līdz iespaidīgiem nacionālajiem parkiem un tradicionālajiem amatnieku ciematiņiem. Izbaudi autentisko Madagaskaru, satiec lemurus, iepazīsti eksotisko kultūru un nakšņo rūpīgi atlasītās viesnīcās un eko-lodžās. Ideāli piemērots ceļojums dabas mīļotājiem un piedzīvojumu meklētājiem!\"\n    \n  }\n}\n```\n**Validation Rules:**\n1. Title character count must be 40-60 (use Latvian character encoding)\n2. Summary word count must be 50-80 (split by whitespace)\n\n3. Social description must be 80-100 characters\n\n4. No clichéd phrases allowed\n5. Must include destination name in title\n6. Summary must mention duration and at least 2 highlights\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "The service is receiving too many requests from you",
    "messages": [],
    "timestamp": 1764859830256,
    "workflowId": "gJ6Pjcm2EmKJTNZZ",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 29.798389862s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"29s\"}]",
    "executionId": "9193",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "02de30c8-3f56-4079-b2ae-006caf1614cc",
            "name": "AI Hero",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                -320,
                -160
            ],
            "parameters": {
                "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
                "notice": "",
                "options": {
                    "systemMessage": "=You are a Vanilla Travel content specialist creating hero sections for excursion travel programs. Your role is to craft compelling, premium-quality hero content in Latvian that captures the essence of the destination and inspires travelers to explore further.\n\n**Your Objectives:**\n1. Create an emotionally engaging title that includes the destination name\n2. Write a concise summary highlighting the trip's duration and 2-3 key experiences\n\n\n**Quality Standards:**\n- **Language:** High-quality Latvian without clichés (avoid \"neaizmirstams\", \"unikāls\")\n- **Tone:** Premium, inspiring, professional using formal \"Jūs\" form\n- **Style:** Active voice, specific details over generic descriptions\n- **Brand Voice:** Vanilla Travel expertise, credible, adventure-focused\n\n**Strict Constraints:**\n- Title: EXACTLY 40-60 characters (including spaces)\n- Summary: EXACTLY 50-80 words\n\n\n**Writing Guidelines:**\n- Use imperative verbs for engagement: \"Izbaudi\", \"Atklāj\", \"Piedzīvo\"\n- Include specific numbers (days, locations, activities)\n- Mention accommodation quality when relevant\n- Create urgency and desire without hyperbole\n- Focus on authentic experiences and cultural immersion\n\n**Forbidden:**\n- Generic phrases like \"neaizmirstams ceļojums\", \"unikāla pieredze\"\n- Excessive adjectives without substance\n- Vague descriptions lacking specifics\n- Informal language or slang\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Character limits, word counts, enums\n\n**WRONG ❌:**\n```\n```json\n{\"hero\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's the hero section: {\"hero\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"hero\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"hero\": {\n    \"title\": \"Skaistākais no Madagaskaras\",\n    \"summary\": \"14 dienu piedzīvojums Madagaskarā – no vulkāniskajiem geizeriem un baobabu audzēm līdz iespaidīgiem nacionālajiem parkiem un tradicionālajiem amatnieku ciematiņiem. Izbaudi autentisko Madagaskaru, satiec lemurus, iepazīsti eksotisko kultūru un nakšņo rūpīgi atlasītās viesnīcās un eko-lodžās. Ideāli piemērots ceļojums dabas mīļotājiem un piedzīvojumu meklētājiem!\"\n    \n  }\n}\n```\n**Validation Rules:**\n1. Title character count must be 40-60 (use Latvian character encoding)\n2. Summary word count must be 50-80 (split by whitespace)\n\n3. Social description must be 80-100 characters\n\n4. No clichéd phrases allowed\n5. Must include destination name in title\n6. Summary must mention duration and at least 2 highlights\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "The service is receiving too many requests from you",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 29.798389862s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"29s\"}]"
        ],
        "timestamp": 1764859830241,
        "workflowId": "gJ6Pjcm2EmKJTNZZ",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 29.798389862s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"location\":\"global\",\"model\":\"gemini-3-pro\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"29s\"}]",
        "executionId": "9193",
        "functionality": "regular"
    },
    "functionality": "regular"
}
187
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
        "name": "AI Hero Cruise",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "maxTries": 5,
        "position": [
            0,
            0
        ],
        "parameters": {
            "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "notesInFlow": false,
        "retryOnFail": true,
        "typeVersion": 2.2,
        "waitBetweenTries": 5000
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "The service is receiving too many requests from you",
    "messages": [],
    "timestamp": 1764860319764,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 20.298840963s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"model\":\"gemini-3-pro\",\"location\":\"global\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"model\":\"gemini-3-pro\",\"location\":\"global\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"20s\"}]",
    "executionId": "9195",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
            "name": "AI Hero Cruise",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "maxTries": 5,
            "position": [
                0,
                0
            ],
            "parameters": {
                "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
                "notice": "",
                "options": {
                    "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "notesInFlow": false,
            "retryOnFail": true,
            "typeVersion": 2.2,
            "waitBetweenTries": 5000
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: The service is receiving too many requests from you\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "The service is receiving too many requests from you",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 20.298840963s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"model\":\"gemini-3-pro\",\"location\":\"global\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"model\":\"gemini-3-pro\",\"location\":\"global\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"20s\"}]"
        ],
        "timestamp": 1764860319743,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits. To monitor your current usage, head to: https:\/\/ai.dev\/usage?tab=rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\n* Quota exceeded for metric: generativelanguage.googleapis.com\/generate_content_free_tier_requests, limit: 0, model: gemini-3-pro\nPlease retry in 20.298840963s. [{\"@type\":\"type.googleapis.com\/google.rpc.Help\",\"links\":[{\"description\":\"Learn more about Gemini API quotas\",\"url\":\"https:\/\/ai.google.dev\/gemini-api\/docs\/rate-limits\"}]},{\"@type\":\"type.googleapis.com\/google.rpc.QuotaFailure\",\"violations\":[{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerDayPerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"model\":\"gemini-3-pro\",\"location\":\"global\"}},{\"quotaMetric\":\"generativelanguage.googleapis.com\/generate_content_free_tier_requests\",\"quotaId\":\"GenerateRequestsPerMinutePerProjectPerModel-FreeTier\",\"quotaDimensions\":{\"model\":\"gemini-3-pro\",\"location\":\"global\"}}]},{\"@type\":\"type.googleapis.com\/google.rpc.RetryInfo\",\"retryDelay\":\"20s\"}]",
        "executionId": "9195",
        "functionality": "regular"
    },
    "functionality": "regular"
}
182
CRUISE
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
        "name": "AI Hero Cruise",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            0,
            0
        ],
        "parameters": {
            "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "notesInFlow": false,
        "retryOnFail": true,
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Forbidden - perhaps check your credentials?\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Forbidden - perhaps check your credentials?",
    "messages": [],
    "timestamp": 1764844203885,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [403 Forbidden] The caller does not have permission",
    "executionId": "8912",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
            "name": "AI Hero Cruise",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                0,
                0
            ],
            "parameters": {
                "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
                "notice": "",
                "options": {
                    "systemMessage": "=# Role\nYou are an expert cruise content writer for hero section copywriting. You create concise, compelling titles and summaries that reflect cruise experiences and meet strict character\/word limits. You know cruise terminology, destination marketing and persuasive travel writing in Latvian.\n\n# Language and Style Rules (Latvian)\n\n## Overall\nAll output (title + summary) must be in **Latvian**, except official proper names (ship, brand, port names).\n\n## Grammar\n- Use correct gender, number, case.\n- Ensure proper agreement after numerals and prepositions.\n- Use natural Latvian prepositions (uz kuģa, pie krasta, no ostas).\n- Adjust sentence structure for grammatical accuracy.\n\n## Terminology\n- Always use **kajītes**, never izstabas\/numuri.\n- Use precise tourism terms and correct Latvian place-name forms.\n- Avoid literal translations and anglicisms.\n\n## Naturalness\n- Write like an experienced Latvian travel journalist.\n- Prefer simple, natural phrasing.\n- Avoid unnatural adjective–noun combinations.\n- Use common collocations: pludmales atpūta, ūdenssporta aktivitātes, kuģis piedāvā…, programma ļauj Jums…\n- Remove anything that sounds translated.\n\n## Clarity in Routes\n- Avoid vague notes (“pilnu jūras dienu nav”).\n- Explain sea days clearly.\n\n## Proper Names\n- Keep official English names (The Haven, CocoCay).\n- Translate generic English terms normally (ēdināšanas vieta, kas strādā visu diennakti).\n\n## Punctuation\n- Use the dash “—” sparingly.\n\n## Style\n- Native-level Latvian (C1–C2).\n- Use second-person narration (Jūs, varēsiet).\n- Avoid clichés (neaizmirstams, unikāls, ekskluzīvs…).\n- Avoid exaggerated advertising tone.\n- Keep style premium, clear and informative.\n\n# Example Patterns to Mimic\nUse these as stylistic templates (structure, rhythm, tone, sentence flow). Follow the *style*, not the content:\n\n1. *Izbaudiet 7 dienu kruīzu ar moderno Icon of the Seas® kruīzu kuģi! Iepazīstiet jaunus galamērķus, ķeriet iedegumu eksotiskās pludmalēs un ļaujieties kruīzu kuģa izklaides programmām! Ideāls ceļojums ģimenēm, pāriem un draugu kompānijām!*\n\n2. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n3. *Izbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!*\n\n4. *Izbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums – dabas, saules un komforta cienītājiem!*\n\n# Task\nCreate hero section content for cruise offerings in Latvian:\n- **Title**: 40–70 characters, includes region + departure port.\n- **Summary**: 60–90 words in Latvian, includes ship name, route and luxury\/onboard features.\n\nOutput as valid JSON:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "notesInFlow": false,
            "retryOnFail": true,
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: Forbidden - perhaps check your credentials?\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "Forbidden - perhaps check your credentials?",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [403 Forbidden] The caller does not have permission"
        ],
        "timestamp": 1764844203857,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [403 Forbidden] The caller does not have permission",
        "executionId": "8912",
        "functionality": "regular"
    },
    "functionality": "regular"
}
181
EXCURSION
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "415e40ed-2cb2-429b-8e9e-088a0ba19d15",
        "name": "AI Services",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            -320,
            864
        ],
        "parameters": {
            "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
            "notice": "",
            "options": {
                "systemMessage": "=You are a Vanilla Travel services expert creating clear \"Included \/ Not Included\" breakdowns for excursion programs. Your role is to structure service information in Latvian so travelers understand exactly what's covered in the trip price and what requires additional payment.\n\n**Your Objectives:**\n1. Create comprehensive \"Included\" list with categorized services\n2. Create clear \"Not Included\" list with typical additional costs\n3. Organize items into logical categories\n4. Provide specific details (not generic statements)\n5. Maintain transparency and clarity\n\n**Quality Standards:**\n- **Language:** Clear, unambiguous Latvian\n- **Tone:** Transparent, professional, factual\n- **Style:** Structured lists with specific details\n- **Brand Voice:** Honest, customer-focused, detailed\n\n**Strict Constraints:**\n- Must have both \"Included\" and \"Not Included\" sections\n- Each section must have at least 4 items\n- Items must be specific (not vague)\n- Must use consistent formatting\n\n**Service Categories for \"Included\":**\n1. **Lidojumi** (Flights) - International\/domestic flights, class, baggage\n2. **Transports** (Transport) - Transfers, vehicles, local transport\n3. **Izmitināšana** (Accommodation) - Hotels, lodges, standards\n4. **Ēdināšana** (Meals) - Breakfast, lunch, dinner arrangements\n5. **Ekskursijas** (Excursions) - Guided tours, entrance fees, activities\n6. **Papildu pakalpojumi** (Additional services) - Guides, insurance, etc.\n\n**Common \"Not Included\" Items:**\n- Optional activities and their approximate costs\n- Personal expenses (souvenirs, tips, etc.)\n- Travel insurance\n- Visa fees\n- Meals not specified as included\n- Alcoholic beverages\n- Optional excursions\n\n**Writing Guidelines:**\n- Be specific: \"Lidojumi ekonomiskajā klasē\" not just \"Lidojumi\"\n- Include details: \"Brokastis un vakariņas viesnīcās\" not just \"Ēdināšana\"\n- Mention standards: \"3-4 zvaigžņu viesnīcas\" not just \"Viesnīcas\"\n- List entrance fees separately if significant\n- Mention guide language: \"Angliski runājošā gida pakalpojumi\"\n- Include baggage allowances for flights\n- Specify meal types (buffet, set menu, etc.) if known\n- Add approximate costs for \"Not Included\" items when possible\n\n**Required Elements:**\n- Clear section headers: \"Ceļojuma cenā ir iekļauts:\" and \"Papildu izmaksas:\"\n- Categorized items (group related services)\n- Specific details for each item\n- Consistent bullet point formatting\n\n**Forbidden:**\n- Vague items like \"viss nepieciešamais\"\n- Missing important exclusions\n- Unclear meal arrangements\n- Generic \"un citi\" without specifics\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Minimum items, specific descriptions\n\n**WRONG ❌:**\n```\n```json\n{\"services\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's what's included: {\"services\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"services\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"services\": {\n    \"included\": [\n      \"Lidojumi ekonomiskajā klasē uz Antananarivu ar pārsēšanos\",\n      \"Nododamā bagāža lidojumu laikā\",\n      \"Iekšzemes lidojums Tuleara - Antananarivu ar nododamo bagāžu 20kg\",\n      \"Dzīvošana viesnīcās pēc programmas\",\n      \"Brokastis un vakariņas\",\n      \"Ieejas biļetes apskates objektos un nacionālajos parkos\",\n      \"Angliski runājoša gida pakalpojumi pēc maršruta\",\n      \"Vietējo gidu pakalpojumi nacionālajos parkos\",\n      \"Komfortabls transports pārbraucienu un transferu laikā\",\n      \"Nodokļi\"\n    ],\n    \"not_included\": [\n      \"Madagaskaras vīza (10EUR personai, noformējama Antananarivu lidostā)\",\n      \"Papildu naktis pludmalē pēc vēlēšanās\",\n      \"Ceļojuma apdrošināšana\",\n      \"Dzeramnaudas šoferim un gidam\",\n      \"Papildu ēdienreizes un dzērieni pie vakariņām\"\n    ]\n  }\n}\n```\n\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
    "messages": [],
    "timestamp": 1764837697446,
    "workflowId": "gJ6Pjcm2EmKJTNZZ",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
    "executionId": "8862",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "415e40ed-2cb2-429b-8e9e-088a0ba19d15",
            "name": "AI Services",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                -320,
                864
            ],
            "parameters": {
                "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
                "notice": "",
                "options": {
                    "systemMessage": "=You are a Vanilla Travel services expert creating clear \"Included \/ Not Included\" breakdowns for excursion programs. Your role is to structure service information in Latvian so travelers understand exactly what's covered in the trip price and what requires additional payment.\n\n**Your Objectives:**\n1. Create comprehensive \"Included\" list with categorized services\n2. Create clear \"Not Included\" list with typical additional costs\n3. Organize items into logical categories\n4. Provide specific details (not generic statements)\n5. Maintain transparency and clarity\n\n**Quality Standards:**\n- **Language:** Clear, unambiguous Latvian\n- **Tone:** Transparent, professional, factual\n- **Style:** Structured lists with specific details\n- **Brand Voice:** Honest, customer-focused, detailed\n\n**Strict Constraints:**\n- Must have both \"Included\" and \"Not Included\" sections\n- Each section must have at least 4 items\n- Items must be specific (not vague)\n- Must use consistent formatting\n\n**Service Categories for \"Included\":**\n1. **Lidojumi** (Flights) - International\/domestic flights, class, baggage\n2. **Transports** (Transport) - Transfers, vehicles, local transport\n3. **Izmitināšana** (Accommodation) - Hotels, lodges, standards\n4. **Ēdināšana** (Meals) - Breakfast, lunch, dinner arrangements\n5. **Ekskursijas** (Excursions) - Guided tours, entrance fees, activities\n6. **Papildu pakalpojumi** (Additional services) - Guides, insurance, etc.\n\n**Common \"Not Included\" Items:**\n- Optional activities and their approximate costs\n- Personal expenses (souvenirs, tips, etc.)\n- Travel insurance\n- Visa fees\n- Meals not specified as included\n- Alcoholic beverages\n- Optional excursions\n\n**Writing Guidelines:**\n- Be specific: \"Lidojumi ekonomiskajā klasē\" not just \"Lidojumi\"\n- Include details: \"Brokastis un vakariņas viesnīcās\" not just \"Ēdināšana\"\n- Mention standards: \"3-4 zvaigžņu viesnīcas\" not just \"Viesnīcas\"\n- List entrance fees separately if significant\n- Mention guide language: \"Angliski runājošā gida pakalpojumi\"\n- Include baggage allowances for flights\n- Specify meal types (buffet, set menu, etc.) if known\n- Add approximate costs for \"Not Included\" items when possible\n\n**Required Elements:**\n- Clear section headers: \"Ceļojuma cenā ir iekļauts:\" and \"Papildu izmaksas:\"\n- Categorized items (group related services)\n- Specific details for each item\n- Consistent bullet point formatting\n\n**Forbidden:**\n- Vague items like \"viss nepieciešamais\"\n- Missing important exclusions\n- Unclear meal arrangements\n- Generic \"un citi\" without specifics\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Minimum items, specific descriptions\n\n**WRONG ❌:**\n```\n```json\n{\"services\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's what's included: {\"services\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"services\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"services\": {\n    \"included\": [\n      \"Lidojumi ekonomiskajā klasē uz Antananarivu ar pārsēšanos\",\n      \"Nododamā bagāža lidojumu laikā\",\n      \"Iekšzemes lidojums Tuleara - Antananarivu ar nododamo bagāžu 20kg\",\n      \"Dzīvošana viesnīcās pēc programmas\",\n      \"Brokastis un vakariņas\",\n      \"Ieejas biļetes apskates objektos un nacionālajos parkos\",\n      \"Angliski runājoša gida pakalpojumi pēc maršruta\",\n      \"Vietējo gidu pakalpojumi nacionālajos parkos\",\n      \"Komfortabls transports pārbraucienu un transferu laikā\",\n      \"Nodokļi\"\n    ],\n    \"not_included\": [\n      \"Madagaskaras vīza (10EUR personai, noformējama Antananarivu lidostā)\",\n      \"Papildu naktis pludmalē pēc vēlēšanās\",\n      \"Ceļojuma apdrošināšana\",\n      \"Dzeramnaudas šoferim un gidam\",\n      \"Papildu ēdienreizes un dzērieni pie vakariņām\"\n    ]\n  }\n}\n```\n\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later."
        ],
        "timestamp": 1764837697415,
        "workflowId": "gJ6Pjcm2EmKJTNZZ",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
        "executionId": "8862",
        "functionality": "regular"
    },
    "functionality": "regular"
}
180
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "bf665ae6-c309-4c54-98c0-91ced7982039",
        "name": "AI Ship FAQ",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            0,
            816
        ],
        "parameters": {
            "text": "=# Ship Technical\n{{ $json.processed_url }}\n\n# About the Ship\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=You are a Vanilla Travel cruise customer service expert creating FAQ sections for cruise programs. Your role is to anticipate and answer practical cruise-specific traveler questions in Latvian with clear, concise, and helpful information.\n\n**Your Objectives:**\n1. Create 6-8 question-and-answer pairs covering mandatory cruise topics\n2. Write questions from the customer's perspective\n3. Provide specific, actionable answers (30-60 words each)\n4. Base answers on the provided cruise information\n5. Maintain helpful, professional tone\n\n**Quality Standards:**\n- **Language:** Clear, straightforward Latvian\n- **Tone:** Helpful, professional, reassuring\n- **Style:** Direct answers with specific details\n- **Brand Voice:** Knowledgeable, customer-focused\n\n**Strict Constraints:**\n- Number of Q&A pairs: EXACTLY 6-8\n- Each answer: EXACTLY 30-60 words\n- Must cover all mandatory cruise topics (see below)\n- Questions must be from customer perspective\n\n**Mandatory Cruise Topics (must cover at least 6 of these 8):**\n1. **Kabīnes izvēle** (Cabin selection) - Cabin types, recommendations, upgrades\n2. **Iekāpšana kuģī** (Boarding process) - Check-in, embarkation, documentation\n3. **Kuģa pakalpojumi** (Ship services) - WiFi, laundry, medical, currency\n4. **Ēdināšana** (Dining) - Meal times, dress codes, specialty restaurants\n5. **Krasta ekskursijas** (Shore excursions) - Booking, independent vs organized\n6. **Bagāža** (Luggage) - Limits, handling, what to pack\n7. **Īpašās vajadzības** (Special needs) - Dietary, accessibility, medical\n8. **Dokumenti\/vīzas** (Documents\/visas) - Passport, visas, required documents\n\n**Writing Guidelines:**\n- Questions should sound like real customer inquiries\n- Use \"Vai...\", \"Kāds...\", \"Kā...\", \"Kad...\" question formats\n- Answers must be specific to cruise travel (not generic)\n- Include practical details: times, processes, requirements\n- Mention Vanilla Travel contact for complex questions\n- Avoid legal disclaimers (keep customer-friendly)\n- Reference specific cruise\/ship elements when answering\n\n**Required Elements Per Q&A:**\n- Question in natural Latvian (customer perspective)\n- Answer with specific information (30-60 words)\n- Practical details (times, processes, requirements)\n- Action items or next steps when relevant\n\n**Forbidden:**\n- Generic answers that could apply to any cruise\n- Vague responses without specifics\n- Overly long explanations\n- Legal jargon or disclaimers\n- Promotional language in answers\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - 6-8 Q&A pairs, 30-60 word answers, mandatory topics\n\n**WRONG ❌:**\n```\n```json\n{\"faq\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere are the FAQs: {\"faq\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"faq\": {...}}\n```\n\n\n**Output Example (Icon of the Seas® Caribbean Cruise - 7 Q&A):**\n\n```json\n{\n  \"faq\": {\n    \"questions\": [\n      {\n        \"question\": \"Kādu kabīni izvēlēties pirmajam kruīzam?\",\n        \"answer\": \"Pirmajam kruīzam ieteicam kabīni ar balkonu - tā piedāvā labu vērtību un privātu āra telpu. Ja budžets ir ierobežots, oceanview kabīne ar logu ir laba alternatīva. Ģimenēm ar bērniem ieteicam kabīnes ar sofa bed vai connecting rooms iespēju. Vanilla Travel konsultanti palīdzēs izvēlēties piemērotāko variantu.\",\n        \"category\": \"Kabīnes izvēle\"\n      },\n      {\n        \"question\": \"Kā notiek iekāpšana kuģī un kad jābūt ostā?\",\n        \"answer\": \"Ierašanās Miami ostā ieteicama 3-4 stundas pirms kuģa izbraukšanas (16:00). Check-in sākas no 11:00. Jums būs nepieciešama pase, kruīza rezervācijas apstiprinājums un aizpildīta veselības deklarācija. Bagāža tiks nogādāta uz kabīni, bet rokas bagāžu ņemiet līdzi. Iekāpšanas process parasti ilgst 30-60 minūtes.\",\n        \"category\": \"Iekāpšana kuģī\"\n      },\n      {\n        \"question\": \"Vai kuģī ir WiFi un kāda ir cena?\",\n        \"answer\": \"Jā, Icon of the Seas® piedāvā WiFi visā kuģī. Royal Caribbean piedāvā vairākus interneta paketes: Surf (sociālie tīkli, e-pasts), Surf + Stream (video streaming), un Surf + Stream + Video Call. Cenas sākas no ~$15 dienā. Paketes var iegādāties pirms kruīza vai uz kuģa.\",\n        \"category\": \"Kuģa pakalpojumi\"\n      },\n      {\n        \"question\": \"Kādi ir ēdināšanas laiki un vai ir dress code?\",\n        \"answer\": \"Galvenā ēdamzāle piedāvā 3 vakariņu laikus: 17:30, 18:00 un 20:30. Brokastis un pusdienas pieejamas bufetes restorānos 7:00-14:00. Dress code: lielākā daļa vakaru ir 'Smart Casual', 1-2 vakari var būt 'Formal Night' (ieteicams uzvalks\/kleita). Specialty restorāniem nepieciešama rezervācija.\",\n        \"category\": \"Ēdināšana\"\n      },\n      {\n        \"question\": \"Vai krasta ekskursijas jārezervē iepriekš?\",\n        \"answer\": \"Krasta ekskursijas var rezervēt gan iepriekš caur Royal Caribbean, gan uz kuģa. Populārākās ekskursijas (niršana, zipline) ieteicams rezervēt iepriekš, jo vietas var beigties. Varat arī izpētīt ostas patstāvīgi vai izmantot vietējos tūrisma operatorus. Pārliecinieties, ka atgriežaties kuģī 30 minūtes pirms izbraukšanas.\",\n        \"category\": \"Krasta ekskursijas\"\n      },\n      {\n        \"question\": \"Kādas ir bagāžas prasības kruīzam?\",\n        \"answer\": \"Lidojumiem uz Miami atļauta nododamā bagāža līdz 23 kg (atkarībā no aviokompānijas). Uz kuģa nav stingru bagāžas ierobežojumu, bet ieteicams ņemt 1-2 koferus un rokas bagāžu. Rokas bagāžā ņemiet peldkostīmu, maiņas drēbes un medikamentus, jo galvenā bagāža var tikt piegādāta kabīnē ar 2-3 stundu kavēšanos.\",\n        \"category\": \"Bagāža\"\n      },\n      {\n        \"question\": \"Vai kuģis var nodrošināt īpašās ēdināšanas vajadzības?\",\n        \"answer\": \"Jā, Royal Caribbean piedāvā dažādas ēdināšanas iespējas: veģetārs, vegāns, bezglutēna, košer, halal, alerģiju ēdieni. Īpašās prasības jānorāda rezervācijas laikā vai vismaz 30 dienas pirms kruīza. Uz kuģa galvenais maître d' palīdzēs koordinēt ēdienkartes. Specialty restorāniem arī pieejamas pielāgotas izvēlnes.\",\n        \"category\": \"Īpašās vajadzības\"\n      }\n    ]\n  }\n}\n```\n\n**Validation Rules:**\n1. Must include 6-8 Q&A pairs\n2. Each answer must be 30-60 words\n3. Must cover at least 6 of the 8 mandatory categories\n4. Questions must be in customer voice (not marketing)\n5. Answers must be specific to the cruise\/ship\n6. All content in Latvian\n7. Each Q&A must have a category assigned\n8. No duplicate categories (each topic covered once)\n9. Answers must include actionable information\n10. Reference ship name or cruise line when relevant\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n\nTu esi profesionāls latviešu valodas tekstu redaktors un tūrisma satura speciālists.  \nTavs uzdevums ir rakstīt perfekti latviski – ar pareizu gramatiku, locījumiem, skaitli un dzimti – skanīgi, dabiski un profesionāli.\n\nValodas un stila noteikumi:\n1. Gramatika un locījumi:\n   - Pārbaudi katru teikumu, lai visiem īpašības vārdiem un lietvārdiem sakristu dzimte, skaitlis un locījums (piemēram, “romantiskiem pāriem”, nevis “romantiskām pāriem”).\n   - Pareizi lieto vienskaitļa un daudzskaitļa formas (piemēram, “numuri ir plaši”, nevis “numurs ir plaši”).\n   - Pārbaudi priekšvārdu saskaņu ar sekojošo locījumu (piemēram, “uz kuģa”, “pie jūras”, “no lidostas”).\n   - Izlabo jebkuras dzimtes vai locījuma kļūdas, pat ja teksts satur tikai nelielas neatbilstības.\n   - Ja nepieciešams, pārfrāzē teikumu, lai nodrošinātu perfektu gramatisko saskaņu.\n\n2. Terminoloģija:\n   - Lieto “kajītes”, nevis “izstabas\/numuri”.\n   - Lieto “viesnīca tikai pieaugušajiem”, nevis “pieaugušo viesnīca”.\n   - Lieto “piekrastē”, nevis “virs jūras” vai “kalnā virs jūras”.\n\n3. Stils:\n   - Tekstam jābūt informatīvam un profesionālam.\n   - Izvairies no reklāmas toni vai pārspīlējumiem.\n   - Nelieto vārdus kā “brīvdiena”, “pasakains”, “burvīgs”, “sapņains”, “elpu aizraujošs” un līdzīgus subjektīvus epitetus.\n   - Izmanto plūstošas, dabiskas latviešu valodas konstrukcijas.\n   - Nelieto parāk sarežgītus izteicienus."
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
    "messages": [],
    "timestamp": 1764778465000,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
    "executionId": "8843",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "bf665ae6-c309-4c54-98c0-91ced7982039",
            "name": "AI Ship FAQ",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                0,
                816
            ],
            "parameters": {
                "text": "=# Ship Technical\n{{ $json.processed_url }}\n\n# About the Ship\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
                "notice": "",
                "options": {
                    "systemMessage": "=You are a Vanilla Travel cruise customer service expert creating FAQ sections for cruise programs. Your role is to anticipate and answer practical cruise-specific traveler questions in Latvian with clear, concise, and helpful information.\n\n**Your Objectives:**\n1. Create 6-8 question-and-answer pairs covering mandatory cruise topics\n2. Write questions from the customer's perspective\n3. Provide specific, actionable answers (30-60 words each)\n4. Base answers on the provided cruise information\n5. Maintain helpful, professional tone\n\n**Quality Standards:**\n- **Language:** Clear, straightforward Latvian\n- **Tone:** Helpful, professional, reassuring\n- **Style:** Direct answers with specific details\n- **Brand Voice:** Knowledgeable, customer-focused\n\n**Strict Constraints:**\n- Number of Q&A pairs: EXACTLY 6-8\n- Each answer: EXACTLY 30-60 words\n- Must cover all mandatory cruise topics (see below)\n- Questions must be from customer perspective\n\n**Mandatory Cruise Topics (must cover at least 6 of these 8):**\n1. **Kabīnes izvēle** (Cabin selection) - Cabin types, recommendations, upgrades\n2. **Iekāpšana kuģī** (Boarding process) - Check-in, embarkation, documentation\n3. **Kuģa pakalpojumi** (Ship services) - WiFi, laundry, medical, currency\n4. **Ēdināšana** (Dining) - Meal times, dress codes, specialty restaurants\n5. **Krasta ekskursijas** (Shore excursions) - Booking, independent vs organized\n6. **Bagāža** (Luggage) - Limits, handling, what to pack\n7. **Īpašās vajadzības** (Special needs) - Dietary, accessibility, medical\n8. **Dokumenti\/vīzas** (Documents\/visas) - Passport, visas, required documents\n\n**Writing Guidelines:**\n- Questions should sound like real customer inquiries\n- Use \"Vai...\", \"Kāds...\", \"Kā...\", \"Kad...\" question formats\n- Answers must be specific to cruise travel (not generic)\n- Include practical details: times, processes, requirements\n- Mention Vanilla Travel contact for complex questions\n- Avoid legal disclaimers (keep customer-friendly)\n- Reference specific cruise\/ship elements when answering\n\n**Required Elements Per Q&A:**\n- Question in natural Latvian (customer perspective)\n- Answer with specific information (30-60 words)\n- Practical details (times, processes, requirements)\n- Action items or next steps when relevant\n\n**Forbidden:**\n- Generic answers that could apply to any cruise\n- Vague responses without specifics\n- Overly long explanations\n- Legal jargon or disclaimers\n- Promotional language in answers\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - 6-8 Q&A pairs, 30-60 word answers, mandatory topics\n\n**WRONG ❌:**\n```\n```json\n{\"faq\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere are the FAQs: {\"faq\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"faq\": {...}}\n```\n\n\n**Output Example (Icon of the Seas® Caribbean Cruise - 7 Q&A):**\n\n```json\n{\n  \"faq\": {\n    \"questions\": [\n      {\n        \"question\": \"Kādu kabīni izvēlēties pirmajam kruīzam?\",\n        \"answer\": \"Pirmajam kruīzam ieteicam kabīni ar balkonu - tā piedāvā labu vērtību un privātu āra telpu. Ja budžets ir ierobežots, oceanview kabīne ar logu ir laba alternatīva. Ģimenēm ar bērniem ieteicam kabīnes ar sofa bed vai connecting rooms iespēju. Vanilla Travel konsultanti palīdzēs izvēlēties piemērotāko variantu.\",\n        \"category\": \"Kabīnes izvēle\"\n      },\n      {\n        \"question\": \"Kā notiek iekāpšana kuģī un kad jābūt ostā?\",\n        \"answer\": \"Ierašanās Miami ostā ieteicama 3-4 stundas pirms kuģa izbraukšanas (16:00). Check-in sākas no 11:00. Jums būs nepieciešama pase, kruīza rezervācijas apstiprinājums un aizpildīta veselības deklarācija. Bagāža tiks nogādāta uz kabīni, bet rokas bagāžu ņemiet līdzi. Iekāpšanas process parasti ilgst 30-60 minūtes.\",\n        \"category\": \"Iekāpšana kuģī\"\n      },\n      {\n        \"question\": \"Vai kuģī ir WiFi un kāda ir cena?\",\n        \"answer\": \"Jā, Icon of the Seas® piedāvā WiFi visā kuģī. Royal Caribbean piedāvā vairākus interneta paketes: Surf (sociālie tīkli, e-pasts), Surf + Stream (video streaming), un Surf + Stream + Video Call. Cenas sākas no ~$15 dienā. Paketes var iegādāties pirms kruīza vai uz kuģa.\",\n        \"category\": \"Kuģa pakalpojumi\"\n      },\n      {\n        \"question\": \"Kādi ir ēdināšanas laiki un vai ir dress code?\",\n        \"answer\": \"Galvenā ēdamzāle piedāvā 3 vakariņu laikus: 17:30, 18:00 un 20:30. Brokastis un pusdienas pieejamas bufetes restorānos 7:00-14:00. Dress code: lielākā daļa vakaru ir 'Smart Casual', 1-2 vakari var būt 'Formal Night' (ieteicams uzvalks\/kleita). Specialty restorāniem nepieciešama rezervācija.\",\n        \"category\": \"Ēdināšana\"\n      },\n      {\n        \"question\": \"Vai krasta ekskursijas jārezervē iepriekš?\",\n        \"answer\": \"Krasta ekskursijas var rezervēt gan iepriekš caur Royal Caribbean, gan uz kuģa. Populārākās ekskursijas (niršana, zipline) ieteicams rezervēt iepriekš, jo vietas var beigties. Varat arī izpētīt ostas patstāvīgi vai izmantot vietējos tūrisma operatorus. Pārliecinieties, ka atgriežaties kuģī 30 minūtes pirms izbraukšanas.\",\n        \"category\": \"Krasta ekskursijas\"\n      },\n      {\n        \"question\": \"Kādas ir bagāžas prasības kruīzam?\",\n        \"answer\": \"Lidojumiem uz Miami atļauta nododamā bagāža līdz 23 kg (atkarībā no aviokompānijas). Uz kuģa nav stingru bagāžas ierobežojumu, bet ieteicams ņemt 1-2 koferus un rokas bagāžu. Rokas bagāžā ņemiet peldkostīmu, maiņas drēbes un medikamentus, jo galvenā bagāža var tikt piegādāta kabīnē ar 2-3 stundu kavēšanos.\",\n        \"category\": \"Bagāža\"\n      },\n      {\n        \"question\": \"Vai kuģis var nodrošināt īpašās ēdināšanas vajadzības?\",\n        \"answer\": \"Jā, Royal Caribbean piedāvā dažādas ēdināšanas iespējas: veģetārs, vegāns, bezglutēna, košer, halal, alerģiju ēdieni. Īpašās prasības jānorāda rezervācijas laikā vai vismaz 30 dienas pirms kruīza. Uz kuģa galvenais maître d' palīdzēs koordinēt ēdienkartes. Specialty restorāniem arī pieejamas pielāgotas izvēlnes.\",\n        \"category\": \"Īpašās vajadzības\"\n      }\n    ]\n  }\n}\n```\n\n**Validation Rules:**\n1. Must include 6-8 Q&A pairs\n2. Each answer must be 30-60 words\n3. Must cover at least 6 of the 8 mandatory categories\n4. Questions must be in customer voice (not marketing)\n5. Answers must be specific to the cruise\/ship\n6. All content in Latvian\n7. Each Q&A must have a category assigned\n8. No duplicate categories (each topic covered once)\n9. Answers must include actionable information\n10. Reference ship name or cruise line when relevant\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n\nTu esi profesionāls latviešu valodas tekstu redaktors un tūrisma satura speciālists.  \nTavs uzdevums ir rakstīt perfekti latviski – ar pareizu gramatiku, locījumiem, skaitli un dzimti – skanīgi, dabiski un profesionāli.\n\nValodas un stila noteikumi:\n1. Gramatika un locījumi:\n   - Pārbaudi katru teikumu, lai visiem īpašības vārdiem un lietvārdiem sakristu dzimte, skaitlis un locījums (piemēram, “romantiskiem pāriem”, nevis “romantiskām pāriem”).\n   - Pareizi lieto vienskaitļa un daudzskaitļa formas (piemēram, “numuri ir plaši”, nevis “numurs ir plaši”).\n   - Pārbaudi priekšvārdu saskaņu ar sekojošo locījumu (piemēram, “uz kuģa”, “pie jūras”, “no lidostas”).\n   - Izlabo jebkuras dzimtes vai locījuma kļūdas, pat ja teksts satur tikai nelielas neatbilstības.\n   - Ja nepieciešams, pārfrāzē teikumu, lai nodrošinātu perfektu gramatisko saskaņu.\n\n2. Terminoloģija:\n   - Lieto “kajītes”, nevis “izstabas\/numuri”.\n   - Lieto “viesnīca tikai pieaugušajiem”, nevis “pieaugušo viesnīca”.\n   - Lieto “piekrastē”, nevis “virs jūras” vai “kalnā virs jūras”.\n\n3. Stils:\n   - Tekstam jābūt informatīvam un profesionālam.\n   - Izvairies no reklāmas toni vai pārspīlējumiem.\n   - Nelieto vārdus kā “brīvdiena”, “pasakains”, “burvīgs”, “sapņains”, “elpu aizraujošs” un līdzīgus subjektīvus epitetus.\n   - Izmanto plūstošas, dabiskas latviešu valodas konstrukcijas.\n   - Nelieto parāk sarežgītus izteicienus."
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later."
        ],
        "timestamp": 1764778464964,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
        "executionId": "8843",
        "functionality": "regular"
    },
    "functionality": "regular"
}
179
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "bf665ae6-c309-4c54-98c0-91ced7982039",
        "name": "AI Ship FAQ",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            0,
            816
        ],
        "parameters": {
            "text": "=# Ship Technical\n{{ $json.processed_url }}\n\n# About the Ship\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
            "notice": "",
            "options": {
                "systemMessage": "=You are a Vanilla Travel cruise customer service expert creating FAQ sections for cruise programs. Your role is to anticipate and answer practical cruise-specific traveler questions in Latvian with clear, concise, and helpful information.\n\n**Your Objectives:**\n1. Create 6-8 question-and-answer pairs covering mandatory cruise topics\n2. Write questions from the customer's perspective\n3. Provide specific, actionable answers (30-60 words each)\n4. Base answers on the provided cruise information\n5. Maintain helpful, professional tone\n\n**Quality Standards:**\n- **Language:** Clear, straightforward Latvian\n- **Tone:** Helpful, professional, reassuring\n- **Style:** Direct answers with specific details\n- **Brand Voice:** Knowledgeable, customer-focused\n\n**Strict Constraints:**\n- Number of Q&A pairs: EXACTLY 6-8\n- Each answer: EXACTLY 30-60 words\n- Must cover all mandatory cruise topics (see below)\n- Questions must be from customer perspective\n\n**Mandatory Cruise Topics (must cover at least 6 of these 8):**\n1. **Kabīnes izvēle** (Cabin selection) - Cabin types, recommendations, upgrades\n2. **Iekāpšana kuģī** (Boarding process) - Check-in, embarkation, documentation\n3. **Kuģa pakalpojumi** (Ship services) - WiFi, laundry, medical, currency\n4. **Ēdināšana** (Dining) - Meal times, dress codes, specialty restaurants\n5. **Krasta ekskursijas** (Shore excursions) - Booking, independent vs organized\n6. **Bagāža** (Luggage) - Limits, handling, what to pack\n7. **Īpašās vajadzības** (Special needs) - Dietary, accessibility, medical\n8. **Dokumenti\/vīzas** (Documents\/visas) - Passport, visas, required documents\n\n**Writing Guidelines:**\n- Questions should sound like real customer inquiries\n- Use \"Vai...\", \"Kāds...\", \"Kā...\", \"Kad...\" question formats\n- Answers must be specific to cruise travel (not generic)\n- Include practical details: times, processes, requirements\n- Mention Vanilla Travel contact for complex questions\n- Avoid legal disclaimers (keep customer-friendly)\n- Reference specific cruise\/ship elements when answering\n\n**Required Elements Per Q&A:**\n- Question in natural Latvian (customer perspective)\n- Answer with specific information (30-60 words)\n- Practical details (times, processes, requirements)\n- Action items or next steps when relevant\n\n**Forbidden:**\n- Generic answers that could apply to any cruise\n- Vague responses without specifics\n- Overly long explanations\n- Legal jargon or disclaimers\n- Promotional language in answers\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - 6-8 Q&A pairs, 30-60 word answers, mandatory topics\n\n**WRONG ❌:**\n```\n```json\n{\"faq\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere are the FAQs: {\"faq\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"faq\": {...}}\n```\n\n\n**Output Example (Icon of the Seas® Caribbean Cruise - 7 Q&A):**\n\n```json\n{\n  \"faq\": {\n    \"questions\": [\n      {\n        \"question\": \"Kādu kabīni izvēlēties pirmajam kruīzam?\",\n        \"answer\": \"Pirmajam kruīzam ieteicam kabīni ar balkonu - tā piedāvā labu vērtību un privātu āra telpu. Ja budžets ir ierobežots, oceanview kabīne ar logu ir laba alternatīva. Ģimenēm ar bērniem ieteicam kabīnes ar sofa bed vai connecting rooms iespēju. Vanilla Travel konsultanti palīdzēs izvēlēties piemērotāko variantu.\",\n        \"category\": \"Kabīnes izvēle\"\n      },\n      {\n        \"question\": \"Kā notiek iekāpšana kuģī un kad jābūt ostā?\",\n        \"answer\": \"Ierašanās Miami ostā ieteicama 3-4 stundas pirms kuģa izbraukšanas (16:00). Check-in sākas no 11:00. Jums būs nepieciešama pase, kruīza rezervācijas apstiprinājums un aizpildīta veselības deklarācija. Bagāža tiks nogādāta uz kabīni, bet rokas bagāžu ņemiet līdzi. Iekāpšanas process parasti ilgst 30-60 minūtes.\",\n        \"category\": \"Iekāpšana kuģī\"\n      },\n      {\n        \"question\": \"Vai kuģī ir WiFi un kāda ir cena?\",\n        \"answer\": \"Jā, Icon of the Seas® piedāvā WiFi visā kuģī. Royal Caribbean piedāvā vairākus interneta paketes: Surf (sociālie tīkli, e-pasts), Surf + Stream (video streaming), un Surf + Stream + Video Call. Cenas sākas no ~$15 dienā. Paketes var iegādāties pirms kruīza vai uz kuģa.\",\n        \"category\": \"Kuģa pakalpojumi\"\n      },\n      {\n        \"question\": \"Kādi ir ēdināšanas laiki un vai ir dress code?\",\n        \"answer\": \"Galvenā ēdamzāle piedāvā 3 vakariņu laikus: 17:30, 18:00 un 20:30. Brokastis un pusdienas pieejamas bufetes restorānos 7:00-14:00. Dress code: lielākā daļa vakaru ir 'Smart Casual', 1-2 vakari var būt 'Formal Night' (ieteicams uzvalks\/kleita). Specialty restorāniem nepieciešama rezervācija.\",\n        \"category\": \"Ēdināšana\"\n      },\n      {\n        \"question\": \"Vai krasta ekskursijas jārezervē iepriekš?\",\n        \"answer\": \"Krasta ekskursijas var rezervēt gan iepriekš caur Royal Caribbean, gan uz kuģa. Populārākās ekskursijas (niršana, zipline) ieteicams rezervēt iepriekš, jo vietas var beigties. Varat arī izpētīt ostas patstāvīgi vai izmantot vietējos tūrisma operatorus. Pārliecinieties, ka atgriežaties kuģī 30 minūtes pirms izbraukšanas.\",\n        \"category\": \"Krasta ekskursijas\"\n      },\n      {\n        \"question\": \"Kādas ir bagāžas prasības kruīzam?\",\n        \"answer\": \"Lidojumiem uz Miami atļauta nododamā bagāža līdz 23 kg (atkarībā no aviokompānijas). Uz kuģa nav stingru bagāžas ierobežojumu, bet ieteicams ņemt 1-2 koferus un rokas bagāžu. Rokas bagāžā ņemiet peldkostīmu, maiņas drēbes un medikamentus, jo galvenā bagāža var tikt piegādāta kabīnē ar 2-3 stundu kavēšanos.\",\n        \"category\": \"Bagāža\"\n      },\n      {\n        \"question\": \"Vai kuģis var nodrošināt īpašās ēdināšanas vajadzības?\",\n        \"answer\": \"Jā, Royal Caribbean piedāvā dažādas ēdināšanas iespējas: veģetārs, vegāns, bezglutēna, košer, halal, alerģiju ēdieni. Īpašās prasības jānorāda rezervācijas laikā vai vismaz 30 dienas pirms kruīza. Uz kuģa galvenais maître d' palīdzēs koordinēt ēdienkartes. Specialty restorāniem arī pieejamas pielāgotas izvēlnes.\",\n        \"category\": \"Īpašās vajadzības\"\n      }\n    ]\n  }\n}\n```\n\n**Validation Rules:**\n1. Must include 6-8 Q&A pairs\n2. Each answer must be 30-60 words\n3. Must cover at least 6 of the 8 mandatory categories\n4. Questions must be in customer voice (not marketing)\n5. Answers must be specific to the cruise\/ship\n6. All content in Latvian\n7. Each Q&A must have a category assigned\n8. No duplicate categories (each topic covered once)\n9. Answers must include actionable information\n10. Reference ship name or cruise line when relevant\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n\nTu esi profesionāls latviešu valodas tekstu redaktors un tūrisma satura speciālists.  \nTavs uzdevums ir rakstīt perfekti latviski – ar pareizu gramatiku, locījumiem, skaitli un dzimti – skanīgi, dabiski un profesionāli.\n\nValodas un stila noteikumi:\n1. Gramatika un locījumi:\n   - Pārbaudi katru teikumu, lai visiem īpašības vārdiem un lietvārdiem sakristu dzimte, skaitlis un locījums (piemēram, “romantiskiem pāriem”, nevis “romantiskām pāriem”).\n   - Pareizi lieto vienskaitļa un daudzskaitļa formas (piemēram, “numuri ir plaši”, nevis “numurs ir plaši”).\n   - Pārbaudi priekšvārdu saskaņu ar sekojošo locījumu (piemēram, “uz kuģa”, “pie jūras”, “no lidostas”).\n   - Izlabo jebkuras dzimtes vai locījuma kļūdas, pat ja teksts satur tikai nelielas neatbilstības.\n   - Ja nepieciešams, pārfrāzē teikumu, lai nodrošinātu perfektu gramatisko saskaņu.\n\n2. Terminoloģija:\n   - Lieto “kajītes”, nevis “izstabas\/numuri”.\n   - Lieto “viesnīca tikai pieaugušajiem”, nevis “pieaugušo viesnīca”.\n   - Lieto “piekrastē”, nevis “virs jūras” vai “kalnā virs jūras”.\n\n3. Stils:\n   - Tekstam jābūt informatīvam un profesionālam.\n   - Izvairies no reklāmas toni vai pārspīlējumiem.\n   - Nelieto vārdus kā “brīvdiena”, “pasakains”, “burvīgs”, “sapņains”, “elpu aizraujošs” un līdzīgus subjektīvus epitetus.\n   - Izmanto plūstošas, dabiskas latviešu valodas konstrukcijas.\n   - Nelieto parāk sarežgītus izteicienus."
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
    "messages": [],
    "timestamp": 1764777159562,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
    "executionId": "8835",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "bf665ae6-c309-4c54-98c0-91ced7982039",
            "name": "AI Ship FAQ",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                0,
                816
            ],
            "parameters": {
                "text": "=# Ship Technical\n{{ $json.processed_url }}\n\n# About the Ship\n{{ $json.ship_specific_cleanup }}\n\n# Additional Information\n{{ $json.additional_info }}",
                "notice": "",
                "options": {
                    "systemMessage": "=You are a Vanilla Travel cruise customer service expert creating FAQ sections for cruise programs. Your role is to anticipate and answer practical cruise-specific traveler questions in Latvian with clear, concise, and helpful information.\n\n**Your Objectives:**\n1. Create 6-8 question-and-answer pairs covering mandatory cruise topics\n2. Write questions from the customer's perspective\n3. Provide specific, actionable answers (30-60 words each)\n4. Base answers on the provided cruise information\n5. Maintain helpful, professional tone\n\n**Quality Standards:**\n- **Language:** Clear, straightforward Latvian\n- **Tone:** Helpful, professional, reassuring\n- **Style:** Direct answers with specific details\n- **Brand Voice:** Knowledgeable, customer-focused\n\n**Strict Constraints:**\n- Number of Q&A pairs: EXACTLY 6-8\n- Each answer: EXACTLY 30-60 words\n- Must cover all mandatory cruise topics (see below)\n- Questions must be from customer perspective\n\n**Mandatory Cruise Topics (must cover at least 6 of these 8):**\n1. **Kabīnes izvēle** (Cabin selection) - Cabin types, recommendations, upgrades\n2. **Iekāpšana kuģī** (Boarding process) - Check-in, embarkation, documentation\n3. **Kuģa pakalpojumi** (Ship services) - WiFi, laundry, medical, currency\n4. **Ēdināšana** (Dining) - Meal times, dress codes, specialty restaurants\n5. **Krasta ekskursijas** (Shore excursions) - Booking, independent vs organized\n6. **Bagāža** (Luggage) - Limits, handling, what to pack\n7. **Īpašās vajadzības** (Special needs) - Dietary, accessibility, medical\n8. **Dokumenti\/vīzas** (Documents\/visas) - Passport, visas, required documents\n\n**Writing Guidelines:**\n- Questions should sound like real customer inquiries\n- Use \"Vai...\", \"Kāds...\", \"Kā...\", \"Kad...\" question formats\n- Answers must be specific to cruise travel (not generic)\n- Include practical details: times, processes, requirements\n- Mention Vanilla Travel contact for complex questions\n- Avoid legal disclaimers (keep customer-friendly)\n- Reference specific cruise\/ship elements when answering\n\n**Required Elements Per Q&A:**\n- Question in natural Latvian (customer perspective)\n- Answer with specific information (30-60 words)\n- Practical details (times, processes, requirements)\n- Action items or next steps when relevant\n\n**Forbidden:**\n- Generic answers that could apply to any cruise\n- Vague responses without specifics\n- Overly long explanations\n- Legal jargon or disclaimers\n- Promotional language in answers\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - 6-8 Q&A pairs, 30-60 word answers, mandatory topics\n\n**WRONG ❌:**\n```\n```json\n{\"faq\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere are the FAQs: {\"faq\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"faq\": {...}}\n```\n\n\n**Output Example (Icon of the Seas® Caribbean Cruise - 7 Q&A):**\n\n```json\n{\n  \"faq\": {\n    \"questions\": [\n      {\n        \"question\": \"Kādu kabīni izvēlēties pirmajam kruīzam?\",\n        \"answer\": \"Pirmajam kruīzam ieteicam kabīni ar balkonu - tā piedāvā labu vērtību un privātu āra telpu. Ja budžets ir ierobežots, oceanview kabīne ar logu ir laba alternatīva. Ģimenēm ar bērniem ieteicam kabīnes ar sofa bed vai connecting rooms iespēju. Vanilla Travel konsultanti palīdzēs izvēlēties piemērotāko variantu.\",\n        \"category\": \"Kabīnes izvēle\"\n      },\n      {\n        \"question\": \"Kā notiek iekāpšana kuģī un kad jābūt ostā?\",\n        \"answer\": \"Ierašanās Miami ostā ieteicama 3-4 stundas pirms kuģa izbraukšanas (16:00). Check-in sākas no 11:00. Jums būs nepieciešama pase, kruīza rezervācijas apstiprinājums un aizpildīta veselības deklarācija. Bagāža tiks nogādāta uz kabīni, bet rokas bagāžu ņemiet līdzi. Iekāpšanas process parasti ilgst 30-60 minūtes.\",\n        \"category\": \"Iekāpšana kuģī\"\n      },\n      {\n        \"question\": \"Vai kuģī ir WiFi un kāda ir cena?\",\n        \"answer\": \"Jā, Icon of the Seas® piedāvā WiFi visā kuģī. Royal Caribbean piedāvā vairākus interneta paketes: Surf (sociālie tīkli, e-pasts), Surf + Stream (video streaming), un Surf + Stream + Video Call. Cenas sākas no ~$15 dienā. Paketes var iegādāties pirms kruīza vai uz kuģa.\",\n        \"category\": \"Kuģa pakalpojumi\"\n      },\n      {\n        \"question\": \"Kādi ir ēdināšanas laiki un vai ir dress code?\",\n        \"answer\": \"Galvenā ēdamzāle piedāvā 3 vakariņu laikus: 17:30, 18:00 un 20:30. Brokastis un pusdienas pieejamas bufetes restorānos 7:00-14:00. Dress code: lielākā daļa vakaru ir 'Smart Casual', 1-2 vakari var būt 'Formal Night' (ieteicams uzvalks\/kleita). Specialty restorāniem nepieciešama rezervācija.\",\n        \"category\": \"Ēdināšana\"\n      },\n      {\n        \"question\": \"Vai krasta ekskursijas jārezervē iepriekš?\",\n        \"answer\": \"Krasta ekskursijas var rezervēt gan iepriekš caur Royal Caribbean, gan uz kuģa. Populārākās ekskursijas (niršana, zipline) ieteicams rezervēt iepriekš, jo vietas var beigties. Varat arī izpētīt ostas patstāvīgi vai izmantot vietējos tūrisma operatorus. Pārliecinieties, ka atgriežaties kuģī 30 minūtes pirms izbraukšanas.\",\n        \"category\": \"Krasta ekskursijas\"\n      },\n      {\n        \"question\": \"Kādas ir bagāžas prasības kruīzam?\",\n        \"answer\": \"Lidojumiem uz Miami atļauta nododamā bagāža līdz 23 kg (atkarībā no aviokompānijas). Uz kuģa nav stingru bagāžas ierobežojumu, bet ieteicams ņemt 1-2 koferus un rokas bagāžu. Rokas bagāžā ņemiet peldkostīmu, maiņas drēbes un medikamentus, jo galvenā bagāža var tikt piegādāta kabīnē ar 2-3 stundu kavēšanos.\",\n        \"category\": \"Bagāža\"\n      },\n      {\n        \"question\": \"Vai kuģis var nodrošināt īpašās ēdināšanas vajadzības?\",\n        \"answer\": \"Jā, Royal Caribbean piedāvā dažādas ēdināšanas iespējas: veģetārs, vegāns, bezglutēna, košer, halal, alerģiju ēdieni. Īpašās prasības jānorāda rezervācijas laikā vai vismaz 30 dienas pirms kruīza. Uz kuģa galvenais maître d' palīdzēs koordinēt ēdienkartes. Specialty restorāniem arī pieejamas pielāgotas izvēlnes.\",\n        \"category\": \"Īpašās vajadzības\"\n      }\n    ]\n  }\n}\n```\n\n**Validation Rules:**\n1. Must include 6-8 Q&A pairs\n2. Each answer must be 30-60 words\n3. Must cover at least 6 of the 8 mandatory categories\n4. Questions must be in customer voice (not marketing)\n5. Answers must be specific to the cruise\/ship\n6. All content in Latvian\n7. Each Q&A must have a category assigned\n8. No duplicate categories (each topic covered once)\n9. Answers must include actionable information\n10. Reference ship name or cruise line when relevant\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout\n\nTu esi profesionāls latviešu valodas tekstu redaktors un tūrisma satura speciālists.  \nTavs uzdevums ir rakstīt perfekti latviski – ar pareizu gramatiku, locījumiem, skaitli un dzimti – skanīgi, dabiski un profesionāli.\n\nValodas un stila noteikumi:\n1. Gramatika un locījumi:\n   - Pārbaudi katru teikumu, lai visiem īpašības vārdiem un lietvārdiem sakristu dzimte, skaitlis un locījums (piemēram, “romantiskiem pāriem”, nevis “romantiskām pāriem”).\n   - Pareizi lieto vienskaitļa un daudzskaitļa formas (piemēram, “numuri ir plaši”, nevis “numurs ir plaši”).\n   - Pārbaudi priekšvārdu saskaņu ar sekojošo locījumu (piemēram, “uz kuģa”, “pie jūras”, “no lidostas”).\n   - Izlabo jebkuras dzimtes vai locījuma kļūdas, pat ja teksts satur tikai nelielas neatbilstības.\n   - Ja nepieciešams, pārfrāzē teikumu, lai nodrošinātu perfektu gramatisko saskaņu.\n\n2. Terminoloģija:\n   - Lieto “kajītes”, nevis “izstabas\/numuri”.\n   - Lieto “viesnīca tikai pieaugušajiem”, nevis “pieaugušo viesnīca”.\n   - Lieto “piekrastē”, nevis “virs jūras” vai “kalnā virs jūras”.\n\n3. Stils:\n   - Tekstam jābūt informatīvam un profesionālam.\n   - Izvairies no reklāmas toni vai pārspīlējumiem.\n   - Nelieto vārdus kā “brīvdiena”, “pasakains”, “burvīgs”, “sapņains”, “elpu aizraujošs” un līdzīgus subjektīvus epitetus.\n   - Izmanto plūstošas, dabiskas latviešu valodas konstrukcijas.\n   - Nelieto parāk sarežgītus izteicienus."
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later."
        ],
        "timestamp": 1764777159529,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
        "executionId": "8835",
        "functionality": "regular"
    },
    "functionality": "regular"
}
178
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "415e40ed-2cb2-429b-8e9e-088a0ba19d15",
        "name": "AI Services",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            -320,
            864
        ],
        "parameters": {
            "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
            "notice": "",
            "options": {
                "systemMessage": "=You are a Vanilla Travel services expert creating clear \"Included \/ Not Included\" breakdowns for excursion programs. Your role is to structure service information in Latvian so travelers understand exactly what's covered in the trip price and what requires additional payment.\n\n**Your Objectives:**\n1. Create comprehensive \"Included\" list with categorized services\n2. Create clear \"Not Included\" list with typical additional costs\n3. Organize items into logical categories\n4. Provide specific details (not generic statements)\n5. Maintain transparency and clarity\n\n**Quality Standards:**\n- **Language:** Clear, unambiguous Latvian\n- **Tone:** Transparent, professional, factual\n- **Style:** Structured lists with specific details\n- **Brand Voice:** Honest, customer-focused, detailed\n\n**Strict Constraints:**\n- Must have both \"Included\" and \"Not Included\" sections\n- Each section must have at least 4 items\n- Items must be specific (not vague)\n- Must use consistent formatting\n\n**Service Categories for \"Included\":**\n1. **Lidojumi** (Flights) - International\/domestic flights, class, baggage\n2. **Transports** (Transport) - Transfers, vehicles, local transport\n3. **Izmitināšana** (Accommodation) - Hotels, lodges, standards\n4. **Ēdināšana** (Meals) - Breakfast, lunch, dinner arrangements\n5. **Ekskursijas** (Excursions) - Guided tours, entrance fees, activities\n6. **Papildu pakalpojumi** (Additional services) - Guides, insurance, etc.\n\n**Common \"Not Included\" Items:**\n- Optional activities and their approximate costs\n- Personal expenses (souvenirs, tips, etc.)\n- Travel insurance\n- Visa fees\n- Meals not specified as included\n- Alcoholic beverages\n- Optional excursions\n\n**Writing Guidelines:**\n- Be specific: \"Lidojumi ekonomiskajā klasē\" not just \"Lidojumi\"\n- Include details: \"Brokastis un vakariņas viesnīcās\" not just \"Ēdināšana\"\n- Mention standards: \"3-4 zvaigžņu viesnīcas\" not just \"Viesnīcas\"\n- List entrance fees separately if significant\n- Mention guide language: \"Angliski runājošā gida pakalpojumi\"\n- Include baggage allowances for flights\n- Specify meal types (buffet, set menu, etc.) if known\n- Add approximate costs for \"Not Included\" items when possible\n\n**Required Elements:**\n- Clear section headers: \"Ceļojuma cenā ir iekļauts:\" and \"Papildu izmaksas:\"\n- Categorized items (group related services)\n- Specific details for each item\n- Consistent bullet point formatting\n\n**Forbidden:**\n- Vague items like \"viss nepieciešamais\"\n- Missing important exclusions\n- Unclear meal arrangements\n- Generic \"un citi\" without specifics\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Minimum items, specific descriptions\n\n**WRONG ❌:**\n```\n```json\n{\"services\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's what's included: {\"services\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"services\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"services\": {\n    \"included\": [\n      \"Lidojumi ekonomiskajā klasē uz Antananarivu ar pārsēšanos\",\n      \"Nododamā bagāža lidojumu laikā\",\n      \"Iekšzemes lidojums Tuleara - Antananarivu ar nododamo bagāžu 20kg\",\n      \"Dzīvošana viesnīcās pēc programmas\",\n      \"Brokastis un vakariņas\",\n      \"Ieejas biļetes apskates objektos un nacionālajos parkos\",\n      \"Angliski runājoša gida pakalpojumi pēc maršruta\",\n      \"Vietējo gidu pakalpojumi nacionālajos parkos\",\n      \"Komfortabls transports pārbraucienu un transferu laikā\",\n      \"Nodokļi\"\n    ],\n    \"not_included\": [\n      \"Madagaskaras vīza (10EUR personai, noformējama Antananarivu lidostā)\",\n      \"Papildu naktis pludmalē pēc vēlēšanās\",\n      \"Ceļojuma apdrošināšana\",\n      \"Dzeramnaudas šoferim un gidam\",\n      \"Papildu ēdienreizes un dzērieni pie vakariņām\"\n    ]\n  }\n}\n```\n\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
    "context": [],
    "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
    "messages": [],
    "timestamp": 1764776953521,
    "workflowId": "gJ6Pjcm2EmKJTNZZ",
    "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
    "executionId": "8833",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "415e40ed-2cb2-429b-8e9e-088a0ba19d15",
            "name": "AI Services",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                -320,
                864
            ],
            "parameters": {
                "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
                "notice": "",
                "options": {
                    "systemMessage": "=You are a Vanilla Travel services expert creating clear \"Included \/ Not Included\" breakdowns for excursion programs. Your role is to structure service information in Latvian so travelers understand exactly what's covered in the trip price and what requires additional payment.\n\n**Your Objectives:**\n1. Create comprehensive \"Included\" list with categorized services\n2. Create clear \"Not Included\" list with typical additional costs\n3. Organize items into logical categories\n4. Provide specific details (not generic statements)\n5. Maintain transparency and clarity\n\n**Quality Standards:**\n- **Language:** Clear, unambiguous Latvian\n- **Tone:** Transparent, professional, factual\n- **Style:** Structured lists with specific details\n- **Brand Voice:** Honest, customer-focused, detailed\n\n**Strict Constraints:**\n- Must have both \"Included\" and \"Not Included\" sections\n- Each section must have at least 4 items\n- Items must be specific (not vague)\n- Must use consistent formatting\n\n**Service Categories for \"Included\":**\n1. **Lidojumi** (Flights) - International\/domestic flights, class, baggage\n2. **Transports** (Transport) - Transfers, vehicles, local transport\n3. **Izmitināšana** (Accommodation) - Hotels, lodges, standards\n4. **Ēdināšana** (Meals) - Breakfast, lunch, dinner arrangements\n5. **Ekskursijas** (Excursions) - Guided tours, entrance fees, activities\n6. **Papildu pakalpojumi** (Additional services) - Guides, insurance, etc.\n\n**Common \"Not Included\" Items:**\n- Optional activities and their approximate costs\n- Personal expenses (souvenirs, tips, etc.)\n- Travel insurance\n- Visa fees\n- Meals not specified as included\n- Alcoholic beverages\n- Optional excursions\n\n**Writing Guidelines:**\n- Be specific: \"Lidojumi ekonomiskajā klasē\" not just \"Lidojumi\"\n- Include details: \"Brokastis un vakariņas viesnīcās\" not just \"Ēdināšana\"\n- Mention standards: \"3-4 zvaigžņu viesnīcas\" not just \"Viesnīcas\"\n- List entrance fees separately if significant\n- Mention guide language: \"Angliski runājošā gida pakalpojumi\"\n- Include baggage allowances for flights\n- Specify meal types (buffet, set menu, etc.) if known\n- Add approximate costs for \"Not Included\" items when possible\n\n**Required Elements:**\n- Clear section headers: \"Ceļojuma cenā ir iekļauts:\" and \"Papildu izmaksas:\"\n- Categorized items (group related services)\n- Specific details for each item\n- Consistent bullet point formatting\n\n**Forbidden:**\n- Vague items like \"viss nepieciešamais\"\n- Missing important exclusions\n- Unclear meal arrangements\n- Generic \"un citi\" without specifics\n\n**CRITICAL: JSON Output Format**\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n7. ✅ **Enforce constraints** - Minimum items, specific descriptions\n\n**WRONG ❌:**\n```\n```json\n{\"services\": {...}}\n```\n```\n\n**WRONG ❌:**\n```\nHere's what's included: {\"services\": {...}}\n```\n\n**CORRECT ✅:**\n```\n{\"services\": {...}}\n```\n\n**Output Example (Madagascar Excursion):**\n\n```json\n{\n  \"services\": {\n    \"included\": [\n      \"Lidojumi ekonomiskajā klasē uz Antananarivu ar pārsēšanos\",\n      \"Nododamā bagāža lidojumu laikā\",\n      \"Iekšzemes lidojums Tuleara - Antananarivu ar nododamo bagāžu 20kg\",\n      \"Dzīvošana viesnīcās pēc programmas\",\n      \"Brokastis un vakariņas\",\n      \"Ieejas biļetes apskates objektos un nacionālajos parkos\",\n      \"Angliski runājoša gida pakalpojumi pēc maršruta\",\n      \"Vietējo gidu pakalpojumi nacionālajos parkos\",\n      \"Komfortabls transports pārbraucienu un transferu laikā\",\n      \"Nodokļi\"\n    ],\n    \"not_included\": [\n      \"Madagaskaras vīza (10EUR personai, noformējama Antananarivu lidostā)\",\n      \"Papildu naktis pludmalē pēc vēlēšanās\",\n      \"Ceļojuma apdrošināšana\",\n      \"Dzeramnaudas šoferim un gidam\",\n      \"Papildu ēdienreizes un dzērieni pie vakariņām\"\n    ]\n  }\n}\n```\n\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:341:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:330:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_20900c8302166d11a7199f732c8d7bf5\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:144:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1074:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1255:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1691:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2307:11",
        "context": [],
        "message": "Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)",
        "messages": [
            "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later."
        ],
        "timestamp": 1764776953433,
        "workflowId": "gJ6Pjcm2EmKJTNZZ",
        "description": "[GoogleGenerativeAI Error]: Error fetching from https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-3-pro-preview:generateContent: [503 Service Unavailable] The model is overloaded. Please try again later.",
        "executionId": "8833",
        "functionality": "regular"
    },
    "functionality": "regular"
}
164
-
Completed
Error details
{
    "tags": [],
    "level": "warning",
    "stack": "Error: This execution failed to be processed too many times and will no longer retry. To allow this execution to complete, please break down your workflow or scale up your workers or adjust your worker settings.\n    at \/usr\/local\/lib\/node_modules\/n8n\/src\/workflow-runner.ts:430:15\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)",
    "message": "This execution failed to be processed too many times and will no longer retry. To allow this execution to complete, please break down your workflow or scale up your workers or adjust your worker settings.",
    "shouldReport": false
}
163
-
Failed
Error details
{
    "stack": "Error: Missing key for job 1346 updateProgress\n    at Object.finishedErrors (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/bull@4.16.4_patch_hash=a4b6d56db16fe5870646929938466d6a5c668435fd1551bed6a93fffb597ba42\/node_modules\/bull\/lib\/scripts.js:287:16)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/bull@4.16.4_patch_hash=a4b6d56db16fe5870646929938466d6a5c668435fd1551bed6a93fffb597ba42\/node_modules\/bull\/lib\/scripts.js:153:25\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecutionLifecycleHooks.<anonymous> (\/usr\/local\/lib\/node_modules\/n8n\/src\/scaling\/job-processor.ts:165:4)\n    at ExecutionLifecycleHooks.runHook (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/execution-lifecycle-hooks.ts:120:4)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2010:7\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2461:11",
    "message": "Missing key for job 1346 updateProgress"
}
162
-
Completed
Error details
{
    "tags": [],
    "level": "warning",
    "stack": "Error: This execution failed to be processed too many times and will no longer retry. To allow this execution to complete, please break down your workflow or scale up your workers or adjust your worker settings.\n    at \/usr\/local\/lib\/node_modules\/n8n\/src\/workflow-runner.ts:430:15\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)",
    "message": "This execution failed to be processed too many times and will no longer retry. To allow this execution to complete, please break down your workflow or scale up your workers or adjust your worker settings.",
    "shouldReport": false
}
161
-
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "55df5ee1-4733-4447-913c-05cb9edb182e",
        "name": "AI Pricing",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            -336,
            1088
        ],
        "parameters": {
            "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
            "notice": "",
            "options": {
                "systemMessage": "=# Role\nYou are an expert data extraction specialist with deep expertise in document analysis, pricing structure interpretation, and JSON formatting. You excel at identifying and categorizing pricing-related information with precision and consistency.\n\n# Task\nExtract pricing information from provided documentation and output it in a specific JSON format that separates included and not included items.\n\n# Context\nUsers need to quickly understand what is and isn't included in pricing structures from various documents. This structured extraction enables clear comparison, analysis, and decision-making around pricing models. The JSON format ensures the data is machine-readable and easily integrated into other systems or workflows.\n\n# Instructions\nThe assistant should:\n\n1. **Analyze the provided documentation thoroughly** to identify all pricing-related information, specifically looking for items, features, services, or components that are explicitly mentioned as included or excluded from the pricing.\n\n2. **Extract included items** - any features, services, components, or benefits that are stated as part of the base price or included in the offering without additional cost.\n\n3. **Extract not included items** - any features, services, components, or benefits that are explicitly mentioned as excluded, requiring additional payment, or available as add-ons.\n\n4. **Output the information in the following exact JSON structure**:\n```json\n{\n  \"pricing_info\": {\n    \"included\": [],\n    \"not_included\": []\n  }\n}\n```\n\n5. **Populate the arrays** with clear, concise strings describing each item. Each item should be a separate element in the appropriate array.\n\n6. **Handle ambiguous cases** by only including items that are explicitly stated. If an item's inclusion status is unclear or not mentioned, omit it from both arrays rather than making assumptions.\n\n7. **Maintain consistency** in terminology and formatting across all extracted items, using the exact language from the source document where possible.\n\n8. **Return only valid JSON** with no additional commentary, explanations, or markdown formatting around the JSON output.\n\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: A Chat Model sub-node must be connected and enabled\n    at validateInputConfiguration (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/node-execution-context\/utils\/get-input-connection-data.ts:219:11)\n    at ExecuteContext.getInputConnectionData (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/node-execution-context\/utils\/get-input-connection-data.ts:259:2)\n    at ExecuteContext.getInputConnectionData (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/node-execution-context\/execute-context.ts:180:39)\n    at getChatModel (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:281:36)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:195:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:131:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1446:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1847:27",
    "context": [],
    "message": "A Chat Model sub-node must be connected and enabled",
    "messages": [],
    "timestamp": 1764692037530,
    "workflowId": "gJ6Pjcm2EmKJTNZZ",
    "executionId": "8135",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "55df5ee1-4733-4447-913c-05cb9edb182e",
            "name": "AI Pricing",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                -336,
                1088
            ],
            "parameters": {
                "text": "=# Processed Docs\n{{ $json.processed_doc }}\n\n# Additional Information\n{{ $json.additional_information }}",
                "notice": "",
                "options": {
                    "systemMessage": "=# Role\nYou are an expert data extraction specialist with deep expertise in document analysis, pricing structure interpretation, and JSON formatting. You excel at identifying and categorizing pricing-related information with precision and consistency.\n\n# Task\nExtract pricing information from provided documentation and output it in a specific JSON format that separates included and not included items.\n\n# Context\nUsers need to quickly understand what is and isn't included in pricing structures from various documents. This structured extraction enables clear comparison, analysis, and decision-making around pricing models. The JSON format ensures the data is machine-readable and easily integrated into other systems or workflows.\n\n# Instructions\nThe assistant should:\n\n1. **Analyze the provided documentation thoroughly** to identify all pricing-related information, specifically looking for items, features, services, or components that are explicitly mentioned as included or excluded from the pricing.\n\n2. **Extract included items** - any features, services, components, or benefits that are stated as part of the base price or included in the offering without additional cost.\n\n3. **Extract not included items** - any features, services, components, or benefits that are explicitly mentioned as excluded, requiring additional payment, or available as add-ons.\n\n4. **Output the information in the following exact JSON structure**:\n```json\n{\n  \"pricing_info\": {\n    \"included\": [],\n    \"not_included\": []\n  }\n}\n```\n\n5. **Populate the arrays** with clear, concise strings describing each item. Each item should be a separate element in the appropriate array.\n\n6. **Handle ambiguous cases** by only including items that are explicitly stated. If an item's inclusion status is unclear or not mentioned, omit it from both arrays rather than making assumptions.\n\n7. **Maintain consistency** in terminology and formatting across all extracted items, using the exact language from the source document where possible.\n\n8. **Return only valid JSON** with no additional commentary, explanations, or markdown formatting around the JSON output.\n\n\n**Apply Latvian language rules strictly**:\n   - Use \"numuri\" not \"istabas\" for rooms\n   - Use \"viesnīca tikai pieaugušajiem\" not \"pieaugušo viesnīca\" for adults-only hotels\n   - Use \"piekrastē\" not \"virs jūras\" or \"kalnā virs jūras\" for coastal locations\n   - Maintain correct Latvian grammar, gender agreement, and terminology throughout"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": [],
        "level": "warning",
        "stack": "NodeOperationError: A Chat Model sub-node must be connected and enabled\n    at validateInputConfiguration (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/node-execution-context\/utils\/get-input-connection-data.ts:219:11)\n    at ExecuteContext.getInputConnectionData (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/node-execution-context\/utils\/get-input-connection-data.ts:259:2)\n    at ExecuteContext.getInputConnectionData (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/node-execution-context\/execute-context.ts:180:39)\n    at getChatModel (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:281:36)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:195:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:131:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1446:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1847:27",
        "context": [],
        "message": "A Chat Model sub-node must be connected and enabled",
        "messages": [],
        "timestamp": 1764692037501,
        "workflowId": "gJ6Pjcm2EmKJTNZZ",
        "executionId": "8135",
        "functionality": "regular"
    },
    "functionality": "regular"
}
160
-
Failed
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "01dd2ab3-48cc-46f8-a6eb-f7d431579e02",
        "name": "Call 'Image Search'1",
        "type": "n8n-nodes-base.executeWorkflow",
        "position": [
            -384,
            112
        ],
        "parameters": {
            "mode": "each",
            "source": "database",
            "options": {
                "waitForSubWorkflow": true
            },
            "operation": "call_workflow",
            "workflowId": {
                "__rl": true,
                "mode": "list",
                "value": "MRKcIwSiExpUohb2",
                "cachedResultUrl": "\/workflow\/MRKcIwSiExpUohb2",
                "cachedResultName": "Image Search"
            },
            "workflowInputs": {
                "value": {
                    "type": "Cruise",
                    "query": "={{ $('Split Cruise Queries').item.json.query }}",
                    "task_id": "={{ $('Record New Cruise').item.json.id }}",
                    "query_category": "={{ $('Split Cruise Queries').item.json.category }}"
                },
                "schema": [
                    {
                        "id": "query",
                        "type": "string",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "query",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "type",
                        "type": "string",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "type",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "query_category",
                        "type": "string",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "query_category",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    },
                    {
                        "id": "task_id",
                        "type": "number",
                        "display": true,
                        "removed": false,
                        "required": false,
                        "displayName": "task_id",
                        "defaultMatch": false,
                        "canBeUsedToMatch": true
                    }
                ],
                "mappingMode": "defineBelow",
                "matchingColumns": [],
                "attemptToConvertTypes": false,
                "convertFieldsToString": true
            }
        },
        "typeVersion": 1.3
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Error executing workflow with item at index 4\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23\/node_modules\/n8n-nodes-base\/nodes\/ExecuteWorkflow\/ExecuteWorkflow\/ExecuteWorkflow.node.ts:388:12)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1446:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1847:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2461:11",
    "context": {
        "itemIndex": 4
    },
    "message": "Error executing workflow with item at index 4",
    "messages": [],
    "timestamp": 1764669738868,
    "description": "Bad request - please check your parameters",
    "functionality": "regular"
}
123
CRUISE
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "04f4670f-4dfe-4e55-ada8-1428539d9651",
        "name": "Structured Output Parser6",
        "type": "@n8n\/n8n-nodes-langchain.outputParserStructured",
        "position": [
            288,
            240
        ],
        "parameters": {
            "notice": "",
            "autoFix": false,
            "schemaType": "manual",
            "inputSchema": "{\n  \"$schema\": \"http:\/\/json-schema.org\/draft-07\/schema#\",\n  \"type\": \"object\",\n  \"required\": [\"about_cruise\"],\n  \"properties\": {\n    \"about_cruise\": {\n      \"type\": \"object\",\n      \"required\": [\"content\"],\n      \"properties\": {\n        \"content\": {\n          \"type\": \"string\",\n          \"description\": \"Three paragraphs (200-280 words total) in Latvian, separated by double newlines (\\\\n\\\\n)\"\n        }\n      }\n    }\n  }\n}"
        },
        "typeVersion": 1.3
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Model output doesn't fit required format\n    at N8nStructuredOutputParser.parse (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/utils\/output_parsers\/N8nStructuredOutputParser.ts:56:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at RunnableLambda.func (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:219:27)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:1716:34",
    "context": [],
    "message": "Model output doesn't fit required format",
    "messages": [],
    "timestamp": 1764099354182,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings",
    "executionId": "4825",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "04f4670f-4dfe-4e55-ada8-1428539d9651",
            "name": "Structured Output Parser6",
            "type": "@n8n\/n8n-nodes-langchain.outputParserStructured",
            "position": [
                288,
                240
            ],
            "parameters": {
                "notice": "",
                "autoFix": false,
                "schemaType": "manual",
                "inputSchema": "{\n  \"$schema\": \"http:\/\/json-schema.org\/draft-07\/schema#\",\n  \"type\": \"object\",\n  \"required\": [\"about_cruise\"],\n  \"properties\": {\n    \"about_cruise\": {\n      \"type\": \"object\",\n      \"required\": [\"content\"],\n      \"properties\": {\n        \"content\": {\n          \"type\": \"string\",\n          \"description\": \"Three paragraphs (200-280 words total) in Latvian, separated by double newlines (\\\\n\\\\n)\"\n        }\n      }\n    }\n  }\n}"
            },
            "typeVersion": 1.3
        },
        "tags": [],
        "level": "warning",
        "stack": "NodeOperationError: Model output doesn't fit required format\n    at N8nStructuredOutputParser.parse (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/utils\/output_parsers\/N8nStructuredOutputParser.ts:56:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at RunnableLambda.func (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:219:27)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:1716:34",
        "context": {
            "outputParserFailReason": "Model output wrapper is an empty object"
        },
        "message": "Model output doesn't fit required format",
        "messages": [],
        "timestamp": 1764099354153,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings",
        "executionId": "4825",
        "functionality": "regular"
    },
    "functionality": "regular"
}
107
CRUISE
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
        "name": "AI Hero Cruise",
        "type": "@n8n\/n8n-nodes-langchain.agent",
        "position": [
            0,
            0
        ],
        "parameters": {
            "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}",
            "notice": "",
            "options": {
                "systemMessage": "=**Role**\n\nYou are an expert cruise content writer specializing in hero section copywriting. Your expertise lies in crafting compelling, concise titles and summaries that capture the essence of cruise experiences while adhering to strict character and word count requirements. You possess deep knowledge of cruise industry terminology, destination marketing, and persuasive travel writing in Latvian.\n\n**Task**\n\nCreate hero section content for cruise offerings in Latvian language, consisting of:\n- A **title** (40–70 characters, including the cruise region and departure port).\n- A **summary** (exactly 60–90 words in Latvian) that includes the cruise ship name, destination route, and notable luxury or onboard features.\n\nThe content must be output as **valid JSON**, matching this exact schema:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n````\n\n**Instructions**\n\n1. Ensure **title** is between 40–70 characters and explicitly includes both the **cruise region** and **departure port**.\n\n   * Example: \"Norvēģijas fjordu kruīzs no Kopenhāgenas\"\n2. Write a **summary** in **precise Latvian** (60–90 words). It must:\n\n   * Include the **ship name** (e.g., “Norwegian Joy”)\n   * Include **destination stops** (e.g., Nassau, CocoCay)\n   * Include specific **luxury or onboard features** (e.g., go-kart track, The Haven)\n   * Avoid **subjective** or **overly promotional language** like: \"burvīgs\", \"pasakains\", \"brīvdiena\", etc.\n3. Apply Latvian terminology strictly:\n\n   * Use “numuri” not “istabas”\n   * Use “viesnīca tikai pieaugušajiem” not “pieaugušo viesnīca”\n   * Use “piekrastē” not “virs jūras”\n   * Ensure all grammar, spelling, and gender agreement rules are followed\n4. **Do not exceed** word or character limits. Check carefully.\n5. **Output** must be formatted using the `format_final_json_response` tool. Do not manually format JSON.\n\nTu esi profesionāls latviešu valodas tekstu redaktors un tūrisma satura speciālists.  \nTavs uzdevums ir rakstīt perfekti latviski – ar pareizu gramatiku, locījumiem, skaitli un dzimti – skanīgi, dabiski un profesionāli.\n\nValodas un stila noteikumi:\n1. Gramatika un locījumi:\n   - Pārbaudi katru teikumu, lai visiem īpašības vārdiem un lietvārdiem sakristu dzimte, skaitlis un locījums (piemēram, “romantiskiem pāriem”, nevis “romantiskām pāriem”).\n   - Pareizi lieto vienskaitļa un daudzskaitļa formas (piemēram, “numuri ir plaši”, nevis “numurs ir plaši”).\n   - Pārbaudi priekšvārdu saskaņu ar sekojošo locījumu (piemēram, “uz kuģa”, “pie jūras”, “no lidostas”).\n   - Izlabo jebkuras dzimtes vai locījuma kļūdas, pat ja teksts satur tikai nelielas neatbilstības.\n   - Ja nepieciešams, pārfrāzē teikumu, lai nodrošinātu perfektu gramatisko saskaņu.\n\n2. Terminoloģija:\n   - Lieto “numuri”, nevis “izstabas”.\n   - Lieto “viesnīca tikai pieaugušajiem”, nevis “pieaugušo viesnīca”.\n   - Lieto “piekrastē”, nevis “virs jūras” vai “kalnā virs jūras”.\n\n3. Stils:\n   - Tekstam jābūt informatīvam un profesionālam.\n   - Izvairies no reklāmas toni vai pārspīlējumiem.\n   - Nelieto vārdus kā “brīvdiena”, “pasakains”, “burvīgs”, “sapņains”, “elpu aizraujošs” un līdzīgus subjektīvus epitetus.\n   - Izmanto plūstošas, dabiskas latviešu valodas konstrukcijas.\n   - Nelieto parāk sarežgītus izteicienus.\n\nJa ievaddati satur kļūdas, automātiski izlabo tās, saglabājot nozīmi.  \nAtbildi tikai ar koriģētu, gramatiski pareizu un terminoloģiski atbilstošu tekstu.\n\n# Summary Example that we can follow its structure:\nSample 1:\nIzbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!\n\nSample 2:\n\"Izbaudi 8 dienu kruīzu ar MSC Euribia pa Arābijas jūru un Persijas līci!\nAtklāj Dubaijas modernās ainavas, Dohas vēsturi, Bahreinas šarmu, Abū Dabī greznību un Sir Bani Yas salas dabu. Uz kuģa Tevi sagaida restorāni, baseini, spa un šovi – lieliska atpūta, kas apvieno kultūras piedzīvojumus ar komfortu un izklaidi.\"\n\nSample 3:\nIzbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums - dabas, saules un komforta cienītājiem!"
            },
            "promptType": "define",
            "needsFallback": false,
            "hasOutputParser": true,
            "aiAgentStarterCallout": "",
            "preBuiltAgentsCallout": ""
        },
        "typeVersion": 2.2
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Request timed out.\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:313:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:302:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:131:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1446:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1847:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2461:11",
    "context": [],
    "message": "Request timed out.",
    "messages": [],
    "timestamp": 1762870425620,
    "workflowId": "1dhj8B0xljSFmr5u",
    "executionId": "2980",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "3004dbef-35cc-44c2-b002-0afdcefff277",
            "name": "AI Hero Cruise",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                0,
                0
            ],
            "parameters": {
                "text": "=# Route Specific Context\n{{ $json.route_specific_cleanup }}\n\n# Ship Specific Context\n{{ $json.ship_specific_cleanup }}",
                "notice": "",
                "options": {
                    "systemMessage": "=**Role**\n\nYou are an expert cruise content writer specializing in hero section copywriting. Your expertise lies in crafting compelling, concise titles and summaries that capture the essence of cruise experiences while adhering to strict character and word count requirements. You possess deep knowledge of cruise industry terminology, destination marketing, and persuasive travel writing in Latvian.\n\n**Task**\n\nCreate hero section content for cruise offerings in Latvian language, consisting of:\n- A **title** (40–70 characters, including the cruise region and departure port).\n- A **summary** (exactly 60–90 words in Latvian) that includes the cruise ship name, destination route, and notable luxury or onboard features.\n\nThe content must be output as **valid JSON**, matching this exact schema:\n```json\n{\n  \"hero\": {\n    \"title\": \"string (40-70 characters)\",\n    \"summary\": \"string (60-90 words in Latvian)\"\n  }\n}\n````\n\n**Instructions**\n\n1. Ensure **title** is between 40–70 characters and explicitly includes both the **cruise region** and **departure port**.\n\n   * Example: \"Norvēģijas fjordu kruīzs no Kopenhāgenas\"\n2. Write a **summary** in **precise Latvian** (60–90 words). It must:\n\n   * Include the **ship name** (e.g., “Norwegian Joy”)\n   * Include **destination stops** (e.g., Nassau, CocoCay)\n   * Include specific **luxury or onboard features** (e.g., go-kart track, The Haven)\n   * Avoid **subjective** or **overly promotional language** like: \"burvīgs\", \"pasakains\", \"brīvdiena\", etc.\n3. Apply Latvian terminology strictly:\n\n   * Use “numuri” not “istabas”\n   * Use “viesnīca tikai pieaugušajiem” not “pieaugušo viesnīca”\n   * Use “piekrastē” not “virs jūras”\n   * Ensure all grammar, spelling, and gender agreement rules are followed\n4. **Do not exceed** word or character limits. Check carefully.\n5. **Output** must be formatted using the `format_final_json_response` tool. Do not manually format JSON.\n\nTu esi profesionāls latviešu valodas tekstu redaktors un tūrisma satura speciālists.  \nTavs uzdevums ir rakstīt perfekti latviski – ar pareizu gramatiku, locījumiem, skaitli un dzimti – skanīgi, dabiski un profesionāli.\n\nValodas un stila noteikumi:\n1. Gramatika un locījumi:\n   - Pārbaudi katru teikumu, lai visiem īpašības vārdiem un lietvārdiem sakristu dzimte, skaitlis un locījums (piemēram, “romantiskiem pāriem”, nevis “romantiskām pāriem”).\n   - Pareizi lieto vienskaitļa un daudzskaitļa formas (piemēram, “numuri ir plaši”, nevis “numurs ir plaši”).\n   - Pārbaudi priekšvārdu saskaņu ar sekojošo locījumu (piemēram, “uz kuģa”, “pie jūras”, “no lidostas”).\n   - Izlabo jebkuras dzimtes vai locījuma kļūdas, pat ja teksts satur tikai nelielas neatbilstības.\n   - Ja nepieciešams, pārfrāzē teikumu, lai nodrošinātu perfektu gramatisko saskaņu.\n\n2. Terminoloģija:\n   - Lieto “numuri”, nevis “izstabas”.\n   - Lieto “viesnīca tikai pieaugušajiem”, nevis “pieaugušo viesnīca”.\n   - Lieto “piekrastē”, nevis “virs jūras” vai “kalnā virs jūras”.\n\n3. Stils:\n   - Tekstam jābūt informatīvam un profesionālam.\n   - Izvairies no reklāmas toni vai pārspīlējumiem.\n   - Nelieto vārdus kā “brīvdiena”, “pasakains”, “burvīgs”, “sapņains”, “elpu aizraujošs” un līdzīgus subjektīvus epitetus.\n   - Izmanto plūstošas, dabiskas latviešu valodas konstrukcijas.\n   - Nelieto parāk sarežgītus izteicienus.\n\nJa ievaddati satur kļūdas, automātiski izlabo tās, saglabājot nozīmi.  \nAtbildi tikai ar koriģētu, gramatiski pareizu un terminoloģiski atbilstošu tekstu.\n\n# Summary Example that we can follow its structure:\nSample 1:\nIzbaudi 8 dienu kruīzu uz Norvēģijas fjordiem ar eleganto kuģi MSC Euribia! Tevi sagaida majestātiskas dabas ainavas, aizraujošas ekskursijas, gardēžu restorāni, baseini, SPA un izklaides visa ceļojuma garumā. Šis kruīzs ir lieliska izvēle dabas mīļotājiem, pāriem un visiem, kas vēlas apvienot relaksāciju ar iespaidīgiem piedzīvojumiem!\n\nSample 2:\n\"Izbaudi 8 dienu kruīzu ar MSC Euribia pa Arābijas jūru un Persijas līci!\nAtklāj Dubaijas modernās ainavas, Dohas vēsturi, Bahreinas šarmu, Abū Dabī greznību un Sir Bani Yas salas dabu. Uz kuģa Tevi sagaida restorāni, baseini, spa un šovi – lieliska atpūta, kas apvieno kultūras piedzīvojumus ar komfortu un izklaidi.\"\n\nSample 3:\nIzbaudi Kanāriju salu eksotiku un Madeiras šarmu kruīzā ar kuģi Costa Fortuna. Tevi sagaida vulkāniskas ainavas, saulainas pludmales, krāsaini ciemati un zaļojošas tropu dabas bagātība. Pēc piedzīvojumiem krastā atgriezīsies uz kuģa, lai baudītu gardas maltītes, relaksējošu spa, peldbaseinus un aizraujošus vakara šovus. Ceļojums - dabas, saules un komforta cienītājiem!"
                },
                "promptType": "define",
                "needsFallback": false,
                "hasOutputParser": true,
                "aiAgentStarterCallout": "",
                "preBuiltAgentsCallout": ""
            },
            "typeVersion": 2.2
        },
        "tags": {
            "reWrapped": true
        },
        "level": "warning",
        "stack": "NodeOperationError: Request timed out.\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:313:12\n    at Array.forEach (<anonymous>)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V2\/execute.ts:302:16)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V2\/AgentV2.node.ts:131:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1446:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1847:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2461:11",
        "context": [],
        "message": "Request timed out.",
        "messages": [
            "Request timed out."
        ],
        "timestamp": 1762870425588,
        "workflowId": "1dhj8B0xljSFmr5u",
        "executionId": "2980",
        "functionality": "regular"
    },
    "functionality": "regular"
}
105
CRUISE
Completed
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "6cd29046-8bfb-4282-8423-8820c138be1b",
        "name": "Structured Output Parser7",
        "type": "@n8n\/n8n-nodes-langchain.outputParserStructured",
        "position": [
            304,
            1312
        ],
        "parameters": {
            "notice": "",
            "autoFix": false,
            "schemaType": "manual",
            "inputSchema": "{\n  \"$schema\": \"http:\/\/json-schema.org\/draft-07\/schema#\",\n  \"type\": \"object\",\n  \"required\": [\"ship_info\"],\n  \"properties\": {\n    \"ship_info\": {\n      \"type\": \"object\",\n      \"required\": [\"specifications\", \"services\", \"entertainment\", \"dining\"],\n      \"properties\": {\n        \"specifications\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Specification items in Latvian. Must include year, tonnage, capacity, decks, length, and unique technical features.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single specification item in Latvian (e.g., 'Uzbūvēts: 2024. gads', 'Bruto tonāža: 250,800 GT')\"\n              }\n            }\n          }\n        },\n        \"services\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Service and amenity items in Latvian. Must include pools, spa, fitness, and unique amenities from Perplexity enrichment.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single service\/amenity item in Latvian (e.g., '7 baseini, ieskaitot lielāko baseinu jūrā')\"\n              }\n            }\n          }\n        },\n        \"entertainment\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Entertainment items in Latvian. Must include theaters, shows, activities, nightlife, and unique entertainment from Perplexity enrichment.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single entertainment item in Latvian (e.g., 'Royal Theater - galvenais teātris ar Broadway stila šoviem')\"\n              }\n            }\n          }\n        },\n        \"dining\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Dining items in Latvian. Must include total count, main dining rooms, specialty restaurants with names\/cuisines, bars, and room service.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single dining item in Latvian (e.g., 'Vairāk nekā 40 ēdināšanas iespējas', 'Izumi - japāņu virtuve un sushi')\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}"
        },
        "typeVersion": 1.3
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Model output doesn't fit required format\n    at N8nStructuredOutputParser.parse (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/utils\/output_parsers\/N8nStructuredOutputParser.ts:56:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at RunnableLambda.func (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:219:27)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:1716:34",
    "context": [],
    "message": "Model output doesn't fit required format",
    "messages": [],
    "timestamp": 1762868571470,
    "workflowId": "1dhj8B0xljSFmr5u",
    "description": "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings",
    "executionId": "2892",
    "errorResponse": {
        "name": "NodeOperationError",
        "node": {
            "id": "6cd29046-8bfb-4282-8423-8820c138be1b",
            "name": "Structured Output Parser7",
            "type": "@n8n\/n8n-nodes-langchain.outputParserStructured",
            "position": [
                304,
                1312
            ],
            "parameters": {
                "notice": "",
                "autoFix": false,
                "schemaType": "manual",
                "inputSchema": "{\n  \"$schema\": \"http:\/\/json-schema.org\/draft-07\/schema#\",\n  \"type\": \"object\",\n  \"required\": [\"ship_info\"],\n  \"properties\": {\n    \"ship_info\": {\n      \"type\": \"object\",\n      \"required\": [\"specifications\", \"services\", \"entertainment\", \"dining\"],\n      \"properties\": {\n        \"specifications\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Specification items in Latvian. Must include year, tonnage, capacity, decks, length, and unique technical features.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single specification item in Latvian (e.g., 'Uzbūvēts: 2024. gads', 'Bruto tonāža: 250,800 GT')\"\n              }\n            }\n          }\n        },\n        \"services\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Service and amenity items in Latvian. Must include pools, spa, fitness, and unique amenities from Perplexity enrichment.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single service\/amenity item in Latvian (e.g., '7 baseini, ieskaitot lielāko baseinu jūrā')\"\n              }\n            }\n          }\n        },\n        \"entertainment\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Entertainment items in Latvian. Must include theaters, shows, activities, nightlife, and unique entertainment from Perplexity enrichment.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single entertainment item in Latvian (e.g., 'Royal Theater - galvenais teātris ar Broadway stila šoviem')\"\n              }\n            }\n          }\n        },\n        \"dining\": {\n          \"type\": \"object\",\n          \"required\": [\"items\"],\n          \"properties\": {\n            \"items\": {\n              \"type\": \"array\",\n              \"description\": \"Dining items in Latvian. Must include total count, main dining rooms, specialty restaurants with names\/cuisines, bars, and room service.\",\n              \"items\": {\n                \"type\": \"string\",\n                \"description\": \"Single dining item in Latvian (e.g., 'Vairāk nekā 40 ēdināšanas iespējas', 'Izumi - japāņu virtuve un sushi')\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}"
            },
            "typeVersion": 1.3
        },
        "tags": [],
        "level": "warning",
        "stack": "NodeOperationError: Model output doesn't fit required format\n    at N8nStructuredOutputParser.parse (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/utils\/output_parsers\/N8nStructuredOutputParser.ts:56:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at RunnableLambda.func (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/common.ts:219:27)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:1716:34",
        "context": {
            "outputParserFailReason": "Model output wrapper is an empty object"
        },
        "message": "Model output doesn't fit required format",
        "messages": [],
        "timestamp": 1762868571422,
        "workflowId": "1dhj8B0xljSFmr5u",
        "description": "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings",
        "executionId": "2892",
        "functionality": "regular"
    },
    "functionality": "regular"
}
103
CRUISE
Completed
Error details
{
    "stack": "Error: Missing key for job 23 updateProgress\n    at Object.finishedErrors (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/bull@4.16.4_patch_hash=a4b6d56db16fe5870646929938466d6a5c668435fd1551bed6a93fffb597ba42\/node_modules\/bull\/lib\/scripts.js:287:16)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/bull@4.16.4_patch_hash=a4b6d56db16fe5870646929938466d6a5c668435fd1551bed6a93fffb597ba42\/node_modules\/bull\/lib\/scripts.js:153:25\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecutionLifecycleHooks.<anonymous> (\/usr\/local\/lib\/node_modules\/n8n\/src\/scaling\/job-processor.ts:165:4)\n    at ExecutionLifecycleHooks.runHook (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/execution-lifecycle-hooks.ts:120:4)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2010:7\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2461:11",
    "message": "Missing key for job 23 updateProgress"
}
86
CRUISE
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "dd971c29-5e31-40f9-8570-2ff2a66d93b4",
        "name": "Clean Up Cruise",
        "type": "n8n-nodes-base.set",
        "position": [
            3696,
            -16
        ],
        "parameters": {
            "mode": "manual",
            "options": [],
            "assignments": {
                "assignments": [
                    {
                        "id": "3c07031b-4768-4841-91b3-0b1ca4a4f61c",
                        "name": "output",
                        "type": "object",
                        "value": "={{ { ...$json.output.merge(), \"destinations\": $json.output[0] } }}"
                    },
                    {
                        "id": "81da3a17-1231-42e7-8db6-e4a0eb980dbd",
                        "name": "output[0]",
                        "type": "array",
                        "value": "="
                    }
                ]
            },
            "duplicateItem": false,
            "includeOtherFields": false
        },
        "typeVersion": 3.4
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: 'output[0]' expects a array but we got '' [item 0]\n    at validateEntry (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23\/node_modules\/n8n-nodes-base\/nodes\/Set\/v2\/helpers\/utils.ts:210:10)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23\/node_modules\/n8n-nodes-base\/nodes\/Set\/v2\/manual.mode.ts:238:42\n    at Array.map (<anonymous>)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23\/node_modules\/n8n-nodes-base\/nodes\/Set\/v2\/manual.mode.ts:237:46)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23\/node_modules\/n8n-nodes-base\/nodes\/Set\/v2\/SetV2.node.ts:351:48)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:31)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1446:22)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1847:38\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2461:11",
    "context": {
        "itemIndex": 0
    },
    "message": "'output[0]' expects a array but we got '' [item 0]",
    "messages": [],
    "timestamp": 1762156099905,
    "description": "To fix the error try to change the type for the field \"output[0]\" or activate the option “Ignore Type Conversion Errors” to apply a less strict type validation",
    "functionality": "regular"
}
85
CRUISE
Failed
Pending…
Error details
{
    "name": "NodeApiError",
    "node": {
        "id": "f492dc67-1350-4a09-a976-8a780d150b25",
        "name": "Port-Specific Enrichment",
        "type": "n8n-nodes-base.perplexity",
        "position": [
            1600,
            -816
        ],
        "parameters": {
            "model": "sonar-reasoning-pro",
            "options": {
                "returnImages": true
            },
            "messages": {
                "message": [
                    {
                        "role": "system",
                        "content": "=You are a cruise destination and travel expert providing factual, current information for cruise content creation.\n\nYour responses should:\n- Focus on practical details relevant to cruise passengers (limited time in port, typically 6-10 hours)\n- Include specific attraction names, locations, and distances from cruise terminals\n- Provide cultural and historical context in an engaging but concise manner\n- Mention transport options and time requirements\n- Suggest shore excursion ideas suitable for various traveler types\n- Use current, verified information (2024-2025)\n\nFormat your responses with clear sections and bullet points for easy parsing.\n"
                    },
                    {
                        "role": "user",
                        "content": "=For cruise passengers visiting {{ $json.name }}, {{ $json.country }}:\n\n1. What are the top 3-4 must-see attractions or experiences accessible from the cruise terminal?\n2. What is the cultural and historical significance of this destination?\n3. How far is the cruise terminal from the city center, and what transport options are available?\n4. What are the best shore excursion options for different traveler types (families, couples, adventure seekers)?\n5. What practical tips should cruise passengers know (time needed, costs, best times to visit)?\n6. What makes this destination unique or special for visitors?\n\nProvide specific names, distances, and practical details."
                    }
                ]
            },
            "resource": "chat",
            "simplify": false,
            "operation": "complete",
            "requestOptions": []
        },
        "credentials": {
            "perplexityApi": {
                "id": "60ZzVNdKWLUOzTaU",
                "name": "Perplexity account"
            }
        },
        "typeVersion": 1
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeApiError: Unauthorized.\n    at ExecuteSingleContext.sendErrorPostReceive (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23\/node_modules\/n8n-nodes-base\/nodes\/Perplexity\/GenericFunctions.ts:34:9)\n    at RoutingNode.runPostReceiveAction (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/routing-node.ts:309:24)\n    at RoutingNode.postProcessResponseData (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/routing-node.ts:494:30)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/routing-node.ts:732:17\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at RoutingNode.makeRequest (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/routing-node.ts:725:19)\n    at async Promise.allSettled (index 0)\n    at RoutingNode.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/routing-node.ts:234:29)\n    at ExecuteContext.versionedNodeType.execute (\/usr\/local\/lib\/node_modules\/n8n\/src\/node-types.ts:60:18)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)",
    "context": {
        "runIndex": 0,
        "itemIndex": 0
    },
    "message": "Unauthorized.",
    "httpCode": "401",
    "messages": [],
    "timestamp": 1761764403775,
    "description": "Any optional system messages must be sent first, followed by alternating user and assistant messages. For more details, refer to the API documentation: https:\/\/docs.perplexity.ai\/api-reference\/chat-completions",
    "errorResponse": {
        "body": "<html>\r\n<head><title>401 Authorization Required<\/title><\/head>\r\n<body>\r\n<center><h1>401 Authorization Required<\/h1><\/center>\r\n<hr><center>openresty\/1.27.4<\/center>\r\n<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML=\"window.__CF$cv$params={r:'9964e9e29b53a887',t:'MTc2MTc2NDQwMy4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='\/cdn-cgi\/challenge-platform\/scripts\/jsd\/main.js';document.getElementsByTagName('head')[0].appendChild(a);\";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();<\/script><\/body>\r\n<\/html>\r\n",
        "headers": {
            "date": "Wed, 29 Oct 2025 19:00:03 GMT",
            "cf-ray": "9964e9e29b53a887-RIX",
            "server": "cloudflare",
            "connection": "close",
            "set-cookie": "__cf_bm=rPgFk_t5UFrrHVPCgXaZZOzol4fDY1WL6K6wFrEvjxg-1761764403-1.0.1.1-KSNFVg43DJrF5k0KShS1N3MMr.jy85P__2Lapk58EI1jr9vE6t7yfhdkRFpHz8MpB4QV5gfy1jhI6xr8UKOF863AyN1BPrEGF7ybjLAB3Mo; path=\/; expires=Wed, 29-Oct-25 19:30:03 GMT; domain=.perplexity.ai; HttpOnly; Secure; SameSite=None",
            "content-type": "text\/html",
            "cf-cache-status": "DYNAMIC",
            "transfer-encoding": "chunked",
            "strict-transport-security": "max-age=15552000; includeSubDomains; preload"
        },
        "statusCode": 401,
        "statusMessage": "Unauthorized"
    },
    "functionality": "regular"
}
83
CRUISE
Failed
Pending…
Error details
{
    "name": "NodeOperationError",
    "node": {
        "id": "df9ff01c-5905-4b70-bf33-c9e2dba03b4d",
        "name": "Structured Output Parser14",
        "type": "@n8n\/n8n-nodes-langchain.outputParserStructured",
        "position": [
            672,
            -96
        ],
        "parameters": {
            "notice": "",
            "autoFix": false,
            "schemaType": "manual",
            "inputSchema": "{ \"type\": \"object\", \"required\": [\"ship_name\", \"cruise_line\", \"region\", \"ports\"], \"properties\": { \"ship_name\": { \"type\": \"string\", \"description\": \"Exact ship name as written in the cruise information\" }, \"cruise_line\": { \"type\": \"string\", \"description\": \"Cruise line\/company name (e.g., 'MSC Cruises', 'Royal Caribbean')\" }, \"duration_nights\": { \"type\": \"integer\", \"description\": \"Number of nights for the cruise\", \"minimum\": 1 }, \"departure_date\": { \"type\": [\"string\", \"null\"], \"description\": \"Departure date in ISO format YYYY-MM-DD\", \"pattern\": \"^\\\\d{4}-\\\\d{2}-\\\\d{2}$\" }, \"return_date\": { \"type\": [\"string\", \"null\"], \"description\": \"Return date in ISO format YYYY-MM-DD\", \"pattern\": \"^\\\\d{4}-\\\\d{2}-\\\\d{2}$\" }, \"departure_port\": { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\", \"description\": \"Departure port name\" }, \"country\": { \"type\": \"string\", \"description\": \"Departure port country\" } }, \"required\": [\"name\"] }, \"region\": { \"type\": \"string\", \"description\": \"Cruise region (e.g., 'Caribbean', 'Mediterranean', 'Arabian Gulf', 'Baltic Sea')\" }, \"ports\": { \"type\": \"array\", \"description\": \"Array of all ports of call excluding sea days\", \"minItems\": 2, \"items\": { \"type\": \"object\", \"required\": [\"name\", \"is_sea_day\"], \"properties\": { \"name\": { \"type\": \"string\", \"description\": \"Port\/city name\" }, \"country\": { \"type\": [\"string\", \"null\"], \"description\": \"Country name\" }, \"arrival_time\": { \"type\": [\"string\", \"null\"], \"description\": \"Arrival time in HH:MM format\", \"pattern\": \"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\" }, \"departure_time\": { \"type\": [\"string\", \"null\"], \"description\": \"Departure time in HH:MM format\", \"pattern\": \"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$\" }, \"hours_in_port\": { \"type\": [\"string\", \"null\"], \"description\": \"Estimated hours in port (e.g., '8-10 hours', '6 hours')\" }, \"is_sea_day\": { \"type\": \"boolean\", \"description\": \"True if this is a day at sea with no port stop\" } } } }, \"ship_specs\": { \"type\": \"object\", \"properties\": { \"year_built\": { \"type\": [\"integer\", \"null\"], \"description\": \"Year the ship was built\" }, \"tonnage\": { \"type\": [\"integer\", \"null\"], \"description\": \"Gross tonnage (GT) as integer\" }, \"passenger_capacity\": { \"type\": [\"integer\", \"null\"], \"description\": \"Maximum passenger capacity\" }, \"crew_size\": { \"type\": [\"integer\", \"null\"], \"description\": \"Number of crew members\" }, \"decks\": { \"type\": [\"integer\", \"null\"], \"description\": \"Number of decks\" } } }, \"ship_amenities\": { \"type\": \"object\", \"properties\": { \"restaurants_count\": { \"type\": [\"integer\", \"null\"], \"description\": \"Number of restaurants onboard\" }, \"pools_count\": { \"type\": [\"integer\", \"null\"], \"description\": \"Number of pools\" }, \"entertainment\": { \"type\": \"array\", \"description\": \"Entertainment options available\", \"items\": {\"type\": \"string\"} }, \"dining_options\": { \"type\": \"array\", \"description\": \"Types of dining venues\", \"items\": {\"type\": \"string\"} }, \"kids_facilities\": { \"type\": \"array\", \"description\": \"Kids clubs and facilities\", \"items\": {\"type\": \"string\"} }, \"spa\": { \"type\": [\"boolean\", \"null\"], \"description\": \"Whether ship has a spa\" }, \"casino\": { \"type\": [\"boolean\", \"null\"], \"description\": \"Whether ship has a casino\" }, \"theater\": { \"type\": [\"boolean\", \"null\"], \"description\": \"Whether ship has a theater\" } } }, \"cabin_types\": { \"type\": \"array\", \"description\": \"Available cabin categories\", \"items\": { \"type\": \"object\", \"properties\": { \"category\": { \"type\": \"string\", \"description\": \"Cabin category name\" }, \"price_from\": { \"type\": [\"string\", \"null\"], \"description\": \"Starting price with currency symbol\" }, \"features\": { \"type\": \"array\", \"description\": \"Cabin features and amenities\", \"items\": {\"type\": \"string\"} } } } }, \"highlights\": { \"type\": \"array\", \"description\": \"Key cruise highlights or selling points\", \"items\": {\"type\": \"string\"} }, \"included_services\": { \"type\": \"array\", \"description\": \"Services included in the cruise price\", \"items\": {\"type\": \"string\"} }, \"additional_info\": { \"type\": \"object\", \"properties\": { \"dress_code\": { \"type\": [\"string\", \"null\"], \"description\": \"Dress code policy\" }, \"language\": { \"type\": [\"string\", \"null\"], \"description\": \"Primary language onboard\" }, \"currency\": { \"type\": [\"string\", \"null\"], \"description\": \"Onboard currency\" } } } } }"
        },
        "typeVersion": 1.3
    },
    "tags": [],
    "level": "warning",
    "stack": "NodeOperationError: Model output doesn't fit required format\n    at N8nStructuredOutputParser.parse (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/utils\/output_parsers\/N8nStructuredOutputParser.ts:56:22)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at N8nStructuredOutputParser._callWithConfig (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:232:22)\n    at RunnableSequence.invoke (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@langchain+core@0.3.68_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30.1_@o_8765aa945f981de137f9a48155aa0f8f\/node_modules\/@langchain\/core\/dist\/runnables\/base.cjs:1316:27)\n    at executeChain (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/chains\/ChainLLM\/methods\/chainExecutor.ts:167:19)\n    at processItem (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/chains\/ChainLLM\/methods\/processItem.ts:76:9)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/chains\/ChainLLM\/ChainLlm.node.ts:80:13\n    at async Promise.allSettled (index 0)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_fc553bfe732254ec5207074cf9e2ceb7\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/chains\/ChainLLM\/ChainLlm.node.ts:83:26)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1265:8)",
    "context": {
        "outputParserFailReason": "Model output does not match the expected schema"
    },
    "message": "Model output doesn't fit required format",
    "messages": [],
    "timestamp": 1761575611077,
    "description": "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings",
    "functionality": "regular"
}