From b5113203c2d3e23b87aedfe2fb875041b9adb000 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 24 Jul 2025 17:32:53 -0300 Subject: [PATCH] init --- app.js | 147 ++++++++++++++++++ index.html | 348 +++++++++++++++++++++++++++++++++++++++++++ logo.svg | 50 +++++++ mark.webp | Bin 0 -> 9156 bytes oliver.webp | Bin 0 -> 15058 bytes robots.txt | 4 + sitemap.xml | 9 ++ style.css | 421 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 979 insertions(+) create mode 100644 app.js create mode 100644 index.html create mode 100644 logo.svg create mode 100644 mark.webp create mode 100644 oliver.webp create mode 100644 robots.txt create mode 100644 sitemap.xml create mode 100644 style.css diff --git a/app.js b/app.js new file mode 100644 index 0000000..0ff60c1 --- /dev/null +++ b/app.js @@ -0,0 +1,147 @@ +// Accordion script +const accTitles = document.querySelectorAll('.accordion-title'); + +accTitles.forEach(title => { + title.addEventListener('click', () => { + // Close all other accordions + accTitles.forEach(otherTitle => { + if (otherTitle !== title) { + otherTitle.classList.remove('active'); + otherTitle.nextElementSibling.style.display = 'none'; + } + }); + + // Toggle the clicked one + const content = title.nextElementSibling; + const isOpen = content.style.display === 'block'; + title.classList.toggle('active'); + content.style.display = isOpen ? 'none' : 'block'; + }); +}); + +// Slider script +const slides = document.querySelectorAll('.slide'); +let currentIndex = 0; + +function nextSlide() { + if (slides.length === 0) return; + + slides[currentIndex].classList.remove('active'); + currentIndex = (currentIndex + 1) % slides.length; + slides[currentIndex].classList.add('active'); +} + +// Initial display +if (slides.length > 0) { + slides[currentIndex].classList.add('active'); + // Change slide every 10 seconds + setInterval(nextSlide, 10000); +} + +// Chat widget script +(function () { + const preamble = ` +We use what we preach — this chatbot is powered by our own n8n automation 🤖 to help you quickly find what you need. + +Want to talk to a real automation expert? Just buy a service pack 💼 — it includes a 1-hour get-to-know session with our team 👥. + +If it’s not the right fit, no worries — we’ll refund you 💸. +`; + + const logo="logo.svg" + const api='https://ai.odoo4projects.com/webhook/81742473-b50b-4845-a5f9-916d9fe60876/chat' + + // Elements + const chatToggle = document.getElementById('cw-chatToggle'); + const chatWidget = document.getElementById('cw-chatWidget'); + const chatForm = document.getElementById('cw-chatForm'); + const chatInput = document.getElementById('cw-chatInput'); + const chatMessages = document.getElementById('cw-chatMessages'); + const sessionId = crypto.randomUUID(); + + let chatOpened = false; + + function appendMessage(text, sender) { + const msg = document.createElement('div'); + msg.classList.add('mywidget-message', sender === 'user' ? 'user' : 'bot'); + msg.innerHTML = text; + + chatMessages.appendChild(msg); + chatMessages.scrollTop = chatMessages.scrollHeight; + } + + chatToggle.addEventListener('click', () => { + const isVisible = chatWidget.classList.toggle('active'); + if (isVisible && !chatOpened) { + appendMessage( + preamble, + 'bot' + ); + chatOpened = true; + } + }); + + chatForm.addEventListener('submit', async (e) => { + e.preventDefault(); + const input = chatInput.value.trim(); + if (!input) return; + appendMessage(input, 'user'); + chatInput.value = ''; + chatInput.focus(); + + try { + const response = await fetch(api, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ action: 'sendMessage', sessionId, chatInput: input }) + }); + + const data = await response.json(); + appendMessage(data.output, 'bot'); + } catch (error) { + appendMessage('Fehler beim Verbinden mit dem Server. Bitte versuchen Sie es später erneut.', 'bot'); + console.error(error); + } + }); + + function handleBuyClick(buttonId, message) { + const btn = document.getElementById(buttonId); + if (!btn) return; + + btn.addEventListener('click', (e) => { + e.preventDefault(); + + // Open chat if not already visible + if (!chatWidget.classList.contains('active')) { + chatWidget.classList.add('active'); + if (!chatOpened) { + appendMessage(preamble, 'bot'); + chatOpened = true; + } + } + + // Send predefined message + appendMessage(message, 'user'); + + fetch(api, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ action: 'sendMessage', sessionId, chatInput: message }) + }) + .then((response) => response.json()) + .then((data) => { + appendMessage(data.output, 'bot'); + }) + .catch((error) => { + appendMessage('Fehler beim Verbinden mit dem Server. Bitte versuchen Sie es später erneut.', 'bot'); + console.error(error); + }); + }); + } + + // Attach all three buttons + handleBuyClick('buy-3h', 'I want to buy the 3 Hours pack for $450.'); + handleBuyClick('buy-5h', 'I want to buy the 5 Hours pack for $675.'); + handleBuyClick('buy-10h', 'I want to buy the 10 Hours pack for $1200.'); + handleBuyClick('buy-bundle', 'I want to buy the ODOO and N8N bundle for $395 per year.'); +})(); \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..20ebe3d --- /dev/null +++ b/index.html @@ -0,0 +1,348 @@ + + + + + + + + + OD8N - Odoo & n8n Automation Experts + + + + + +
+
+ Logo +
+
Kundenservice
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+

OD8N - Odoo & n8n Automation Experts

+

We charge upfront — this lets us skip the sales talk and give serious clients immediate access to our best engineers.

+
    +
  • One-hour get-to-know session included — not satisfied? Full refund, no questions asked
  • +
  • Experts in Odoo and n8n — no outsourcing, no fluff
  • +
  • Hosting solutions for Odoo & n8n available
  • +
  • Custom development tailored to your workflows
  • +
+ +
+
+ + +
+

Our OD8N Service Packs for Odoo & n8n Automation

+
+
+

3 Hours

+

Quick fixes and small automation improvements.

+ $450 + Choose Plan +
+ +
+

10 Hours

+

Perfect for large projects and advanced automation.

+ $1.200 + Choose Plan +
+ + + + +
+

ODOO & N8N Bundle

+

Perfect for taking conrtol over your company automation installation.

+ $395 per Year + Choose Plan +
+ + + + + + + +
+

All hour packs include 1 Free Consulting Hour for first clients — with a 100% refund if you’re not satisfied!

+
+ + +
+ + +
+
+
+ Oliver Arnold, Odoo & System Design Expert at OD8N +
+
+

Oliver Arnold

+

Expert in Odoo & System Design

+

I am an expert in Odoo and system design with years of experience in consulting.

+
    +
  • Odoo functional consulting & development
  • +
  • N8N workflow design & custom nodes
  • +
  • System integration & architecture design
  • +
+
+
+
+ + +
+
+
+ Mark Gutmann, AI and Process Consulting Expert at OD8N +
+
+

Mark Gutmann

+

Expert in AI and Process Consulting

+

I am an expert in Odoo and system design with years of experience in consulting.

+
    +
  • Odoo functional consulting & development
  • +
  • N8N workflow design & custom nodes
  • +
  • System integration & architecture design
  • +
+
+
+
+ + +
+ + +
+

OD8N Success Stories in Automation

+
+
+ +
+
+

The Challenge: No API, No Problem.

+

+ A growing retail client was struggling with a major operational bottleneck: their shipping provider offered no API for tracking. This meant hours of manual data entry, a high risk of errors, and no real-time visibility into their 800+ daily shipments. +

+

+ We engineered a robust solution using n8n and Puppeteer to create a custom web scraper. This automated system intelligently mimics human interaction to extract shipment statuses twice daily, ensuring near real-time accuracy. +

+

+ The Result: Complete automation, zero manual entry, and a system that provides flawless, up-to-the-minute tracking data. All running seamlessly on our n8n community instance. +

+ +
+
+
+
+ +
+
+

The Challenge: Global Scale, Local Management

+

+ ODOO4projects needed to instantly deploy new Odoo instances for clients worldwide, a process that was manual, time-consuming, and prone to configuration errors. They required a system that could scale globally and provide centralized oversight. +

+

+ We built a smart agent powered by an n8n workflow that completely automates the provisioning of Odoo instances. The system also generates a weekly server status report, providing a clear, consolidated view of their entire infrastructure. +

+

+ The Result: A fully automated, scalable, and reliable system for Odoo instance management, all running on our cost-effective n8n community instance. +

+ +
+
+
+
+ +
+
+

The Challenge: Unlocking the Power of Conversational AI

+

+ A client wanted to move beyond a basic FAQ chatbot. They needed an intelligent agent that could handle complex internal tasks, provide instant knowledge base access, and integrate seamlessly with their Odoo chatter. +

+

+ Leveraging powerful OCA modules and an n8n-powered backend, we built a sophisticated AI agent. This solution connects to LLMs, agents, and RAG pipelines, transforming their Odoo chatter into a powerful, intelligent hub for communication and task management. +

+

+ The Result: A truly intelligent conversational AI that streamlines employee onboarding, provides instant knowledge access, and can be embedded on any website. +

+ +
+
+
+ +
+ +
+
+

The Challenge: Reinventing the Sales Funnel

+

+ We asked ourselves: could we transform a simple conversation into a complete sales transaction? The goal was to create a frictionless procurement workflow that eliminates the need for emails, forms, and spreadsheets. +

+

+ Using only n8n and PayPal, we built a revolutionary checkout process that lives entirely within a chatbox. This allows for a seamless, conversational sales experience, from initial inquiry to final purchase. +

+

+ The Result: A groundbreaking, conversational commerce solution that redefines the client interaction and digital selling. Ready to see it in action? +

+ +
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..c4c2e77 --- /dev/null +++ b/logo.svg @@ -0,0 +1,50 @@ + + + + + + + + + diff --git a/mark.webp b/mark.webp new file mode 100644 index 0000000000000000000000000000000000000000..cac19307a7d01b1b9bfe1f789a1e49bce663337e GIT binary patch literal 9156 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 kRp7r0{8xehD)3(g{;R + + + https://www.od8n.com/ + 2025-07-24 + monthly + 1.0 + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..7e60fae --- /dev/null +++ b/style.css @@ -0,0 +1,421 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Arial', sans-serif; + color: #333; + line-height: 1.6; + background: #f9f9f9; +} + +/* Hero Section */ +.hero { + background: linear-gradient(to right, #4a90e2, #0070c0); + color: #fff; + text-align: center; + padding: 80px 20px; +} + +.hero h1 { + font-size: 2.5rem; + margin-bottom: 20px; +} + +.hero p { + font-size: 1.2rem; + margin-bottom: 30px; +} + +.btn-primary { + background: #fff; + color: #0070c0; + padding: 12px 24px; + text-decoration: none; + border-radius: 25px; + font-weight: bold; + transition: background 0.3s; +} + +.btn-primary:hover { + background: #e0e0e0; +} + +/* Packages */ +.packages { + text-align: center; + padding: 60px 20px; + background: #fff; +} + +.packages h2 { + font-size: 2rem; + margin-bottom: 40px; +} + +.package-list { + display: flex; + justify-content: center; + flex-wrap: wrap; + gap: 20px; +} + +.package { + background: #f5f5f5; + padding: 20px; + border-radius: 12px; + width: 250px; + transition: transform 0.3s; +} + +.package:hover { + transform: translateY(-5px); +} + +.package.featured { + border: 2px solid #0070c0; + background: #eaf4ff; +} + +.price { + font-size: 1.5rem; + color: #0070c0; + display: block; + margin: 15px 0; +} + +.btn-secondary { + background: #0070c0; + color: #fff; + padding: 10px 20px; + text-decoration: none; + border-radius: 20px; + transition: background 0.3s; +} + +.btn-secondary:hover { + background: #005a9e; +} + +.free-offer { + margin-top: 20px; + font-style: italic; +} + +.slider-section { + position: relative; + height: 500px; /* Adjust as needed */ + overflow: hidden; +} + +.slider { + position: relative; + height: 400px; /* Or auto if content is static height */ + overflow: hidden; +} + + .slide { + top: 0; + left: 0; + display: flex; + justify-content: center; + align-items: center; + padding: 40px; + background: linear-gradient(135deg, #f0f4f8, #d9e4f5); + border-radius: 16px; + opacity: 0; + position: absolute; + transition: opacity 1s ease-in-out; + width: 100%; + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); + z-index: 1; + } + + .slide-content { + display: flex; + flex-wrap: wrap; + max-width: 1000px; + align-items: center; + gap: 40px; + } + + .slide-image img { + max-width: 300px; + border-radius: 16px; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); + } + + .slide-text { + flex: 1; + min-width: 250px; + } + + .slide-text h2 { + font-size: 2rem; + margin-bottom: 8px; + color: #222; + } + + .slide-text h4 { + font-size: 1.2rem; + color: #666; + margin-bottom: 16px; + } + + .slide-text p { + font-size: 1rem; + color: #444; + margin-bottom: 20px; + line-height: 1.5; + } + + .slide-text ul { + list-style-type: disc; + padding-left: 20px; + color: #333; + } + + .slide-text ul li { + margin-bottom: 8px; + font-size: 1rem; + } + + @media (max-width: 768px) { + .slide-content { + flex-direction: column; + text-align: center; + } + + .slide-image img { + max-width: 80%; + } + } + + + .slide.active { + opacity: 1; + z-index: 2; + } + + + + +/* Accordion */ +.accordion-section { + padding: 60px 20px; + background: #fff; +} + +.accordion-item { + margin-bottom: 10px; +} + +.accordion-title { + background: #0070c0; + color: #fff; + padding: 15px; + border: none; + width: 100%; + text-align: left; + font-size: 1rem; + cursor: pointer; + border-radius: 8px; +} + +.accordion-title.active { + background: #005a9e; +} + +.accordion-content { + display: none; + padding: 15px; + background: #f1f1f1; + border-radius: 0 0 8px 8px; +} + +/* Footer */ +footer { + text-align: center; + padding: 20px; + background: #333; + color: #fff; + font-size: 0.9rem; +} +.hero-list { + list-style: none; + text-align: left; + max-width: 600px; + margin: 30px auto 0; + padding: 0; + font-size: 1.1rem; +} + +.hero-list li { + margin-bottom: 12px; + padding-left: 28px; + position: relative; +} + +.hero-list li::before { + content: "✔"; + position: absolute; + left: 0; + color: #fff; + background: #0070c0; + border-radius: 50%; + width: 20px; + height: 20px; + text-align: center; + line-height: 20px; + font-size: 0.9rem; +} + +/* cw.css */ + +/* Container */ +#cw-chatToggle { + position: fixed; + bottom: 24px; + right: 24px; + background-color: #FFA500; + color: white; + padding: 12px 16px; + border-radius: 25px; + font-weight: 600; + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + z-index: 100000; + border: none; + user-select: none; + transition: background-color 0.3s ease; +} +#cw-chatToggle:hover { + transform: translateY(-5px); +} +#cw-chatToggle div { + display: flex; + align-items: center; + gap: 8px; +} +#cw-chatToggle img { + width: 120px; + height: 40px; +} +#cw-chatToggle span.text-sm { + font-weight: 500; + font-size: 0.875rem; /* 14px */ +} +#cw-chatToggle span.text-xs { + font-size: 0.75rem; /* 12px */ +} + +/* Chat widget container */ +#cw-chatWidget { + display: none; + position: fixed; + bottom: 100px; + right: 24px; + width: 500px; + max-height: 70vh; + background: white; + border: 1px solid #ccc; + border-radius: 12px; + flex-direction: column; + z-index: 100000; + font-family: system-ui, sans-serif; +} +#cw-chatWidget.active { + display: flex; +} + +/* Logo container */ +#cw-chatWidget .logo-container { + display: flex; + justify-content: center; + padding-top: 16px; + padding-bottom: 10px; +} +#cw-chatWidget .logo-container img { + height: 40px; + user-select: none; +} + +/* Header */ +#cw-chatWidget .header { + background-color: #0070c0; + color: white; + padding: 8px 16px; + font-weight: 600; + text-align: center; + user-select: none; +} + +/* Messages container */ +#cw-chatMessages { + flex: 1 1 auto; + overflow-y: auto; + padding: 16px; + font-size: 0.875rem; + line-height: 1.4; + user-select: text; + scroll-behavior: smooth; + background: #fafafa; +} + +/* Chat form */ +#cw-chatForm { + display: flex; + margin: 0px; + border-top: 1px solid #ddd; +} +#cw-chatInput { + flex: 1; + border: none; + padding: 8px 20px; + font-size: 1rem; + outline-offset: 2px; + border-radius: 0 0 0 12px; +} +#cw-chatInput:focus { + outline: 0px solid #0070c0; +} +#cw-chatForm button { + background-color: #0070c0; + border: none; + color: white; + padding: 0 16px; + cursor: pointer; + font-weight: 600; + border-radius: 0 0 12px 0; + transition: background-color 0.3s ease; +} +#cw-chatForm button:hover { + background-color: #005a9e; +} + +/* Message bubbles */ +.cw-message { + max-width: 75%; + margin-bottom: 8px; + padding: 8px 12px; + border-radius: 12px; + word-wrap: break-word; + white-space: pre-wrap; +} +.cw-message.user { + background-color: #eaf4ff; + color: #333; + margin-left: auto; + text-align: right; +} +.cw-message.bot { + background-color: #f5f5f5; + color: #333; + margin-right: auto; + text-align: left; +}