{"id":17208,"date":"2025-06-19T10:37:56","date_gmt":"2025-06-19T17:37:56","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=17208"},"modified":"2025-06-23T22:48:58","modified_gmt":"2025-06-24T05:48:58","slug":"build-travel-agent-n8n-couchbase-vector-search","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/","title":{"rendered":"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search"},"content":{"rendered":"<p>In this tutorial, we&#8217;ll demonstrate how to harness the power of vector search capabilities in Couchbase with n8n&#8217;s workflow automation platform. We&#8217;ll build a simple travel agent workflow that recommends vacation destinations based on user queries, using vector embeddings to provide contextually relevant results.<\/p>\n<h2>Introduction<\/h2>\n<p>Vector search makes it possible to search based on semantic similarity rather than exact matches. The Couchbase Search Vector node in n8n allows you to perform vector search operations using Couchbase&#8217;s Search Service, supporting retrieval, updating, and insertion of documents in a vector database.<\/p>\n<p>In this tutorial, we&#8217;ll:<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Set up a Couchbase Capella cluster<\/li>\n<li>Configure the necessary bucket, scope, and collection<\/li>\n<li>Create a search index for vector searching<\/li>\n<li>Build an n8n workflow with data ingestion and chat functionality<\/li>\n<li>Test our simple travel agent<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Prerequisites<\/h2>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>An n8n self-hosted instance<\/li>\n<li>The n8n-nodes-couchbase community node package installed on your n8n instance\n<ul>\n<li>Information on installing community nodes can be found<a href=\"https:\/\/docs.n8n.io\/integrations\/community-nodes\/installation\/\" target=\"_blank\" rel=\"noopener\"> here<\/a><\/li>\n<\/ul>\n<\/li>\n<li>A Couchbase Capella account (free tier is sufficient)<\/li>\n<li>API keys for OpenAI and Gemini (for embeddings and LLM capabilities)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Step 1: Deploy a Couchbase Cluster<\/h2>\n<p>Let&#8217;s start by deploying a cluster on Couchbase Capella&#8217;s free tier, although any type of cluster with the search service will work.<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Log into<a href=\"https:\/\/cloud.couchbase.com\/\" target=\"_blank\" rel=\"noopener\"> Couchbase Capella<\/a>, or<a href=\"https:\/\/docs.couchbase.com\/cloud\/get-started\/create-account.html#sign-up-free-tier\" target=\"_blank\" rel=\"noopener\"> sign up for a Couchbase Capella account<\/a><\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/get-started\/create-account.html#getting-started\" target=\"_blank\" rel=\"noopener\">Deploy an Operational Cluster<\/a>\n<ul>\n<li>The cluster <b>must<\/b> have the Search service enabled<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Step 2: Configure Your Couchbase Database<\/h2>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/clusters\/data-service\/manage-buckets.html#add-bucket\" target=\"_blank\" rel=\"noopener\">Create a bucket<\/a> called travel-agent<\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/clusters\/data-service\/scopes-collections.html#create-scope\" target=\"_blank\" rel=\"noopener\">Create a scope<\/a> within travel-agent called vectors<\/li>\n<li>Within that scope,<a href=\"https:\/\/docs.couchbase.com\/cloud\/clusters\/data-service\/scopes-collections.html#create-collection\" target=\"_blank\" rel=\"noopener\"> create a collection<\/a> named points-of-interest<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Step 3: Create a Search Index<\/h2>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/search\/import-search-index.html\" target=\"_blank\" rel=\"noopener\">Import a Search Index definition using the Capella UI<\/a>\n<ul>\n<li>Import this<a href=\"https:\/\/gist.github.com\/ejscribner\/6f16343d4b44b1af31e8f344557814b0\" target=\"_blank\" rel=\"noopener\"> JSON definition file<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Step 4: Set Up Cluster Access<\/h2>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/clusters\/manage-database-users.html#create-database-credentials\" target=\"_blank\" rel=\"noopener\">Create cluster access credentials<\/a><\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/cloud\/clusters\/allow-ip-address.html\" target=\"_blank\" rel=\"noopener\">Configure allowed IP addresses<\/a>\n<ul>\n<li>You must allow the IP address of the machine running n8n<\/li>\n<li>You can allow access from anywhere for testing purposes, but this should not be used in production scenarios<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Step 5: Working with the n8n Workflow<\/h2>\n<p>A template of the workflow is provided<a href=\"https:\/\/n8n.io\/workflows\/3881\" target=\"_blank\" rel=\"noopener\"> here<\/a>. Our n8n workflow consists of two main components:<\/p>\n<h3>Data Ingestion Workflow<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-17209\" style=\"border: 1px solid Gainsboro\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-1024x464.png\" alt=\"\" width=\"900\" height=\"408\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-1024x464.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-300x136.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-768x348.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-1536x696.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-18x8.png 18w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2-1320x598.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image1-2.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Webhook node (to listen for HTTP requests)<\/li>\n<li>OpenAI Embeddings node (to generate embeddings on document insertion)\n<ul>\n<li><i>Note: You\u2019ll need to configure<\/i><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/credentials\/openai\/\" target=\"_blank\" rel=\"noopener\"> <i>OpenAI credentials<\/i><\/a><i> for this node<\/i><\/li>\n<\/ul>\n<\/li>\n<li>Couchbase Vector node (configured for document insertion)<\/li>\n<li>Default Data Loader and Recursive Character Text Splitter<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>Chat Application Workflow<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-17210\" style=\"border: 1px solid Gainsboro\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-1024x772.png\" alt=\"\" width=\"900\" height=\"679\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-1024x772.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-300x226.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-768x579.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-1536x1157.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-16x12.png 16w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2-1320x995.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/image2.png 1623w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Chat Trigger node<\/li>\n<li>AI Tools Agent node connect to:\n<ul>\n<li>Gemini (as the Chat Model, for generating responses)\n<ul>\n<li><i>Note: You will have to configure<\/i><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/credentials\/googleai\/\" target=\"_blank\" rel=\"noopener\"> <i>Gemini credentials<\/i><\/a><i> for this node<\/i><\/li>\n<\/ul>\n<\/li>\n<li>Simple Memory (as the Memory, to maintain conversation context)<\/li>\n<li>Couchbase Search Vector node (as the Tool, for search)<\/li>\n<li>OpenAI Embeddings node (as the Embedding model for the Couchbase Search Vector node, to convert queries to vectors)\n<ul>\n<li><i>Note: You\u2019ll need to configure<\/i><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/credentials\/openai\/\" target=\"_blank\" rel=\"noopener\"> <i>OpenAI credentials<\/i><\/a><i> for this node<\/i><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Step 6: Configure the Couchbase Vector Nodes<\/h2>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Create a new Couchbase credential with:\n<ul>\n<li>Connection string (from the \u201cConnect\u201d tab in Capella)<\/li>\n<li>The username and password from your Cluster Access Credentials (created in step 4)<\/li>\n<\/ul>\n<\/li>\n<li>For both Couchbase Vector nodes, configure the node settings:\n<ul>\n<li>Bucket: travel-agent<\/li>\n<li>Scope: vectors<\/li>\n<li>Collection: points-of-interest<\/li>\n<li>Index: poi-index<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Step 7: Ingest Sample Data<\/h2>\n<p>We&#8217;ll ingest sample travel destination data with descriptions using a provided shell script.<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Save and <b>activate<\/b> your workflow<\/li>\n<li>Copy the production webhook URL<\/li>\n<li>Download the<a href=\"https:\/\/gist.github.com\/ejscribner\/355a46a0a383a4878e65e2230b92c6b5\" target=\"_blank\" rel=\"noopener\"> provided shell script<\/a>, and run it to insert a few points of interest:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"nums:false lang:sh decode:true\"># allow execution of the script\r\nchmod +x .\/load_poi.sh\r\n\r\n# run the script, replacing &lt;webhook-url&gt; with the production webhook URL in your workflow\r\n.\/load_poi.sh &lt;webhook-url&gt;<\/pre>\n<p>The script will create embeddings for each destination description and store them in Couchbase with their vector representations.<\/p>\n<h2>Step 8: Test Your Travel Agent<\/h2>\n<p>Now you can interact with your travel agent by asking questions like:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>&#8220;Where should we go for a sightseeing vacation?&#8221;<\/li>\n<li>&#8220;I want an adventurous vacation&#8221;<\/li>\n<li>&#8220;What&#8217;s a good romantic destination?&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The workflow will be:<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Convert your query to a vector embedding<\/li>\n<li>Search Couchbase for semantically similar destinations<\/li>\n<li>Use the LLM to formulate a response based on the retrieved destination information<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Next Steps<\/h2>\n<p>While this travel agent may not be super practical for actually planning a vacation, it effectively demonstrates how we can leverage Couchbase and Vector Search to retrieve data from a database and use it in LLM conversations using n8n\u2019s powerful workflow tooling.<\/p>\n<p>Take a look at our<a href=\"https:\/\/github.com\/couchbase-examples\/vector-search-cookbook\" target=\"_blank\" rel=\"noopener\"> Vector Search Cookbook<\/a> to see examples of other vector search applications in Couchbase for inspiration, and try them out in n8n using the Couchbase Search Vector Node! Happy automating!<\/p>\n<h2>Resources<\/h2>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li><a href=\"https:\/\/youtu.be\/CT5ccDmZU9A\" target=\"_blank\" rel=\"noopener\">Video Tutorial<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/n8n-nodes-couchbase\" target=\"_blank\" rel=\"noopener\">n8n-nodes-couchbase on npm<\/a><\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/server\/current\/vector-search\/run-vector-search-sdk.html\" target=\"_blank\" rel=\"noopener\">Couchbase Vector Search Documentation<\/a><\/li>\n<li><a href=\"https:\/\/docs.n8n.io\/advanced-ai\/examples\/understand-vector-databases\/\" target=\"_blank\" rel=\"noopener\">n8n Advanced AI Documentation<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we&#8217;ll demonstrate how to harness the power of vector search capabilities in Couchbase with n8n&#8217;s workflow automation platform. We&#8217;ll build a simple travel agent workflow that recommends vacation destinations based on user queries, using vector embeddings to [&hellip;]<\/p>\n","protected":false},"author":85552,"featured_media":17213,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2242,2225,9937],"tags":[],"ppma_author":[10064],"class_list":["post-17208","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-connectors","category-cloud","category-vector-search"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Build a travel agent chatbot with n8n and Couchbase Vector Search using semantic search and workflow automation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search\" \/>\n<meta property=\"og:description\" content=\"Build a travel agent chatbot with n8n and Couchbase Vector Search using semantic search and workflow automation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-19T17:37:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T05:48:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Elliot Scribner - Software Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elliot Scribner - Software Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\"},\"author\":{\"name\":\"Elliot Scribner - Software Engineer\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/1929d6cd0af3a8fb70b1bb44686f5e49\"},\"headline\":\"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search\",\"datePublished\":\"2025-06-19T17:37:56+00:00\",\"dateModified\":\"2025-06-24T05:48:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\"},\"wordCount\":755,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png\",\"articleSection\":[\"Connectors\",\"Couchbase Capella\",\"Vector Search\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\",\"name\":\"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png\",\"datePublished\":\"2025-06-19T17:37:56+00:00\",\"dateModified\":\"2025-06-24T05:48:58+00:00\",\"description\":\"Build a travel agent chatbot with n8n and Couchbase Vector Search using semantic search and workflow automation.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/1929d6cd0af3a8fb70b1bb44686f5e49\",\"name\":\"Elliot Scribner - Software Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e6cac63d4188385a687d48fc87a3441\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/12\/IMG_1306-e1733949205185.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/12\/IMG_1306-e1733949205185.png\",\"caption\":\"Elliot Scribner - Software Engineer\"},\"description\":\"Elliot Scribner is a Software Engineer on the Developer Experience and Ecosystem team at Couchbase. With substantial experience across several languages and technologies, including Full Stack Node.js (TypeScript) and Python, Elliot has led the development of multiple integration projects that have enhanced Couchbase\u2019s developer offerings. He collaborates cross-functionally to ensure seamless development and deliver successful integrations. Elliot is passionate about empowering developers through robust tools and intuitive ecosystems.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/elliot-scribner\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search - The Couchbase Blog","description":"Build a travel agent chatbot with n8n and Couchbase Vector Search using semantic search and workflow automation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/","og_locale":"en_US","og_type":"article","og_title":"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search","og_description":"Build a travel agent chatbot with n8n and Couchbase Vector Search using semantic search and workflow automation.","og_url":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/","og_site_name":"The Couchbase Blog","article_published_time":"2025-06-19T17:37:56+00:00","article_modified_time":"2025-06-24T05:48:58+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png","type":"image\/png"}],"author":"Elliot Scribner - Software Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elliot Scribner - Software Engineer","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/"},"author":{"name":"Elliot Scribner - Software Engineer","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/1929d6cd0af3a8fb70b1bb44686f5e49"},"headline":"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search","datePublished":"2025-06-19T17:37:56+00:00","dateModified":"2025-06-24T05:48:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/"},"wordCount":755,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png","articleSection":["Connectors","Couchbase Capella","Vector Search"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/","url":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/","name":"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png","datePublished":"2025-06-19T17:37:56+00:00","dateModified":"2025-06-24T05:48:58+00:00","description":"Build a travel agent chatbot with n8n and Couchbase Vector Search using semantic search and workflow automation.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/06\/blog-travel-search-app.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/build-travel-agent-n8n-couchbase-vector-search\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Building a Simple Travel Agent Workflow with n8n and Couchbase Vector Search"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/1929d6cd0af3a8fb70b1bb44686f5e49","name":"Elliot Scribner - Software Engineer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e6cac63d4188385a687d48fc87a3441","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/12\/IMG_1306-e1733949205185.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/12\/IMG_1306-e1733949205185.png","caption":"Elliot Scribner - Software Engineer"},"description":"Elliot Scribner is a Software Engineer on the Developer Experience and Ecosystem team at Couchbase. With substantial experience across several languages and technologies, including Full Stack Node.js (TypeScript) and Python, Elliot has led the development of multiple integration projects that have enhanced Couchbase\u2019s developer offerings. He collaborates cross-functionally to ensure seamless development and deliver successful integrations. Elliot is passionate about empowering developers through robust tools and intuitive ecosystems.","url":"https:\/\/www.couchbase.com\/blog\/author\/elliot-scribner\/"}]}},"authors":[{"term_id":10064,"user_id":85552,"is_guest":0,"slug":"elliot-scribner","display_name":"Elliot Scribner - Software Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/12\/IMG_1306-e1733949205185.png","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/12\/IMG_1306-e1733949205185.png"},"author_category":"","last_name":"Scribner - Software Engineer","first_name":"Elliot","job_title":"Software Engineer","user_url":"","description":"Elliot Scribner is a Software Engineer on the Developer Experience and Ecosystem team at Couchbase. With substantial experience across several languages and technologies, including Full Stack Node.js (TypeScript) and Python, Elliot has led the development of multiple integration projects that have enhanced Couchbase\u2019s developer offerings. He collaborates cross-functionally to ensure seamless development and deliver successful integrations. Elliot is passionate about empowering developers through robust tools and intuitive ecosystems."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/17208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/85552"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=17208"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/17208\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/17213"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=17208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=17208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=17208"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=17208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}