自動コース登録

上級

これはTicket Management, AI Summarization分野の自動化ワークフローで、16個のノードを含みます。主にSet, GmailTool, FormTrigger, GoogleDrive, GoogleSheetsなどのノードを使用。 AI、Gmail、Google シートを用いた自動コース登録評価

前提条件
  • Googleアカウント + Gmail API認証情報
  • Google Drive API認証情報
  • Google Sheets API認証情報
  • OpenAI API Key
  • Pinecone API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "zXNpe4L6H7ECAhDC",
  "meta": {
    "instanceId": "bbb2977e328381be47d4ff8a327c05d2d20577a0a434b57bef3780be6c5ece76",
    "templateCredsSetupCompleted": true
  },
  "name": "Automatic Course Registration",
  "tags": [],
  "nodes": [
    {
      "id": "912fb0fd-fef4-4feb-8112-6418581342b8",
      "name": "フォーム送信時",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        176,
        -272
      ],
      "webhookId": "4adb8084-7430-4673-b1fe-bf24965bf7ef",
      "parameters": {
        "options": {
          "customCss": ":root {\n\t/* Typography */\n\t--font-family: 'Inter', 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;\n\t--font-weight-light: 300;\n\t--font-weight-normal: 400;\n\t--font-weight-medium: 500;\n\t--font-weight-semibold: 600;\n\t--font-weight-bold: 700;\n\t\n\t/* Font Sizes */\n\t--font-size-xs: 12px;\n\t--font-size-sm: 13px;\n\t--font-size-base: 14px;\n\t--font-size-md: 15px;\n\t--font-size-lg: 16px;\n\t--font-size-xl: 18px;\n\t--font-size-2xl: 20px;\n\t--font-size-3xl: 24px;\n\t--font-size-4xl: 28px;\n\t--font-size-5xl: 32px;\n\t\n\t/* Specific Element Font Sizes */\n\t--font-size-body: var(--font-size-base);\n\t--font-size-label: var(--font-size-md);\n\t--font-size-input: var(--font-size-base);\n\t--font-size-header: var(--font-size-4xl);\n\t--font-size-subheader: var(--font-size-lg);\n\t--font-size-paragraph: var(--font-size-base);\n\t--font-size-link: var(--font-size-sm);\n\t--font-size-error: var(--font-size-sm);\n\t--font-size-test-notice: var(--font-size-sm);\n\t\n\t/* HTML Heading Sizes */\n\t--font-size-html-h1: var(--font-size-5xl);\n\t--font-size-html-h2: var(--font-size-3xl);\n\t--font-size-html-h3: var(--font-size-xl);\n\t--font-size-html-h4: var(--font-size-lg);\n\t--font-size-html-h5: var(--font-size-base);\n\t--font-size-html-h6: var(--font-size-sm);\n\n\t/* Color Palette - Professional Tech Theme */\n\t--color-primary: #2563eb;          /* Blue - Primary brand */\n\t--color-primary-hover: #1d4ed8;    /* Darker blue on hover */\n\t--color-primary-light: #dbeafe;    /* Light blue background */\n\t--color-secondary: #059669;        /* Green - Success/Tech */\n\t--color-accent: #7c3aed;          /* Purple - Automation theme */\n\t--color-warning: #d97706;         /* Orange - Warning */\n\t--color-error: #dc2626;           /* Red - Error states */\n\t\n\t/* Neutral Colors */\n\t--color-background: #fafbfc;\n\t--color-surface: #ffffff;\n\t--color-surface-elevated: #ffffff;\n\t\n\t/* Text Colors */\n\t--color-text-primary: #111827;\n\t--color-text-secondary: #4b5563;\n\t--color-text-tertiary: #6b7280;\n\t--color-text-placeholder: #9ca3af;\n\t--color-text-disabled: #d1d5db;\n\t\n\t/* Border Colors */\n\t--color-border-light: #e5e7eb;\n\t--color-border-medium: #d1d5db;\n\t--color-border-focus: var(--color-primary);\n\t--color-border-error: var(--color-error);\n\t\n\t/* Component Specific Colors */\n\t--color-card-bg: var(--color-surface);\n\t--color-card-border: var(--color-border-light);\n\t--color-card-shadow: rgba(59, 130, 246, 0.08);\n\t\n\t--color-header: var(--color-text-primary);\n\t--color-header-subtext: var(--color-text-secondary);\n\t--color-label: var(--color-text-secondary);\n\t--color-input-border: var(--color-border-light);\n\t--color-input-text: var(--color-text-primary);\n\t--color-focus-border: var(--color-primary);\n\t\n\t--color-submit-btn-bg: var(--color-primary);\n\t--color-submit-btn-text: #ffffff;\n\t--color-submit-btn-hover: var(--color-primary-hover);\n\t\n\t--color-link: var(--color-primary);\n\t--color-required: var(--color-error);\n\t--color-clear-button-bg: var(--color-text-tertiary);\n\t--color-html-text: var(--color-text-secondary);\n\t--color-html-link: var(--color-primary);\n\t\n\t/* Test Notice Colors */\n\t--color-test-notice-text: var(--color-warning);\n\t--color-test-notice-bg: #fef3c7;\n\t--color-test-notice-border: #fcd34d;\n\n\t/* Border Radii - Modern Rounded Design */\n\t--border-radius-xs: 4px;\n\t--border-radius-sm: 6px;\n\t--border-radius-md: 8px;\n\t--border-radius-lg: 12px;\n\t--border-radius-xl: 16px;\n\t--border-radius-2xl: 20px;\n\t--border-radius-full: 50%;\n\t\n\t/* Component Specific Radii */\n\t--border-radius-card: var(--border-radius-xl);\n\t--border-radius-input: var(--border-radius-md);\n\t--border-radius-clear-btn: var(--border-radius-full);\n\t--card-border-radius: var(--border-radius-card);\n\n\t/* Spacing System - 8px Base Grid */\n\t--space-1: 4px;\n\t--space-2: 8px;\n\t--space-3: 12px;\n\t--space-4: 16px;\n\t--space-5: 20px;\n\t--space-6: 24px;\n\t--space-8: 32px;\n\t--space-10: 40px;\n\t--space-12: 48px;\n\t--space-16: 64px;\n\t--space-20: 80px;\n\t\n\t/* Component Specific Spacing */\n\t--padding-container-top: var(--space-8);\n\t--padding-card: var(--space-6);\n\t--padding-test-notice-vertical: var(--space-3);\n\t--padding-test-notice-horizontal: var(--space-4);\n\t--margin-bottom-card: var(--space-4);\n\t--padding-form-input: var(--space-3);\n\t--card-padding: var(--space-6);\n\t--card-margin-bottom: var(--space-4);\n\n\t/* Dimensions */\n\t--container-width: 520px;\n\t--container-max-width: 90vw;\n\t--submit-btn-height: 52px;\n\t--checkbox-size: 20px;\n\t--input-height: 48px;\n\n\t/* Shadows - Layered Design */\n\t--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n\t--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\n\t--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n\t--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n\t--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n\t\n\t/* Component Specific Shadows */\n\t--box-shadow-card: var(--shadow-lg);\n\t--box-shadow-input-focus: 0 0 0 3px rgba(37, 99, 235, 0.1);\n\t--box-shadow-button-hover: var(--shadow-md);\n\n\t/* Transitions */\n\t--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);\n\t--transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);\n\t--transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);\n\n\t/* Z-Index Scale */\n\t--z-dropdown: 1000;\n\t--z-sticky: 1020;\n\t--z-fixed: 1030;\n\t--z-modal-backdrop: 1040;\n\t--z-modal: 1050;\n\t--z-popover: 1060;\n\t--z-tooltip: 1070;\n\n\t/* Opacity Values */\n\t--opacity-placeholder: 0.6;\n\t--opacity-disabled: 0.5;\n\t--opacity-hover: 0.8;\n\n\t/* Breakpoints for Responsive Design */\n\t--breakpoint-sm: 640px;\n\t--breakpoint-md: 768px;\n\t--breakpoint-lg: 1024px;\n\t--breakpoint-xl: 1280px;\n}\n\n/* Enhanced Global Styles */\n* {\n\tbox-sizing: border-box;\n}\n\nbody {\n\tfont-family: var(--font-family);\n\tbackground: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);\n\tmargin: 0;\n\tpadding: 0;\n\tmin-height: 100vh;\n\tline-height: 1.6;\n\tcolor: var(--color-text-primary);\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n/* Container Enhancements */\n.form-container {\n\tmax-width: var(--container-width);\n\twidth: var(--container-max-width);\n\tmargin: 0 auto;\n\tpadding: var(--padding-container-top) var(--space-4);\n}\n\n/* Card Styling */\n.form-card {\n\tbackground: var(--color-card-bg);\n\tborder: 1px solid var(--color-card-border);\n\tborder-radius: var(--card-border-radius);\n\tbox-shadow: var(--box-shadow-card);\n\tpadding: var(--card-padding);\n\tmargin-bottom: var(--card-margin-bottom);\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.form-card::before {\n\tcontent: '';\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\theight: 4px;\n\tbackground: linear-gradient(90deg, var(--color-primary), var(--color-secondary), var(--color-accent));\n}\n\n/* Header Styling */\n.form-header {\n\ttext-align: center;\n\tmargin-bottom: var(--space-8);\n}\n\n.form-title {\n\tfont-size: var(--font-size-header);\n\tfont-weight: var(--font-weight-bold);\n\tcolor: var(--color-header);\n\tmargin: 0 0 var(--space-3) 0;\n\tbackground: linear-gradient(135deg, var(--color-primary), var(--color-accent));\n\t-webkit-background-clip: text;\n\t-webkit-text-fill-color: transparent;\n\tbackground-clip: text;\n}\n\n.form-description {\n\tfont-size: var(--font-size-base);\n\tcolor: var(--color-text-secondary);\n\tmargin: 0;\n\tline-height: 1.7;\n\ttext-align: left;\n\tbackground: rgba(249, 250, 251, 0.8);\n\tpadding: var(--space-6);\n\tborder-radius: var(--border-radius-lg);\n\tborder: 1px solid var(--color-border-light);\n\tbackdrop-filter: blur(10px);\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.form-description::before {\n\tcontent: '';\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\theight: 3px;\n\tbackground: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 50%, var(--color-accent) 100%);\n}\n\n.form-description h4 {\n\tfont-size: var(--font-size-lg);\n\tfont-weight: var(--font-weight-semibold);\n\tcolor: var(--color-text-primary);\n\tmargin: 0 0 var(--space-3) 0;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-2);\n}\n\n.form-description h4::before {\n\tcontent: attr(data-icon);\n\tfont-size: var(--font-size-xl);\n\tline-height: 1;\n}\n\n.form-description ul {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0 0 var(--space-4) 0;\n}\n\n.form-description li {\n\tmargin-bottom: var(--space-2);\n\tpadding-left: var(--space-6);\n\tposition: relative;\n\tfont-size: var(--font-size-sm);\n\tline-height: 1.6;\n}\n\n.form-description li::before {\n\tcontent: '▶';\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tcolor: var(--color-primary);\n\tfont-size: var(--font-size-xs);\n\ttransform: scale(0.8);\n}\n\n.form-description strong {\n\tcolor: var(--color-text-primary);\n\tfont-weight: var(--font-weight-semibold);\n}\n\n.form-description a {\n\tcolor: var(--color-primary);\n\ttext-decoration: none;\n\tfont-weight: var(--font-weight-medium);\n\tborder-bottom: 1px solid transparent;\n\ttransition: all var(--transition-fast);\n}\n\n.form-description a:hover {\n\tborder-bottom-color: var(--color-primary);\n\tcolor: var(--color-primary-hover);\n}\n\n.form-description .highlight-box {\n\tbackground: linear-gradient(135deg, var(--color-primary-light), rgba(124, 58, 237, 0.1));\n\tpadding: var(--space-4);\n\tborder-radius: var(--border-radius-md);\n\tmargin: var(--space-4) 0;\n\tborder-left: 4px solid var(--color-primary);\n}\n\n.form-description .highlight-box strong {\n\tcolor: var(--color-primary);\n}\n\n/* Course Details Section Styling */\n.course-section {\n\tmargin-bottom: var(--space-5);\n\tpadding: var(--space-4);\n\tbackground: rgba(255, 255, 255, 0.6);\n\tborder-radius: var(--border-radius-md);\n\tborder: 1px solid rgba(37, 99, 235, 0.1);\n}\n\n.course-section:last-child {\n\tmargin-bottom: 0;\n}\n\n.section-title {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-2);\n\tfont-size: var(--font-size-md);\n\tfont-weight: var(--font-weight-semibold);\n\tcolor: var(--color-text-primary);\n\tmargin-bottom: var(--space-3);\n\tpadding-bottom: var(--space-2);\n\tborder-bottom: 2px solid var(--color-primary-light);\n}\n\n.section-icon {\n\tfont-size: var(--font-size-lg);\n\tcolor: var(--color-primary);\n}\n\n/* Payment Structure Styling */\n.payment-grid {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr 1fr;\n\tgap: var(--space-4);\n\tmargin: var(--space-3) 0;\n}\n\n@media (max-width: 640px) {\n\t.payment-grid {\n\t\tgrid-template-columns: 1fr;\n\t}\n}\n\n.payment-option {\n\tbackground: rgba(5, 150, 105, 0.05);\n\tpadding: var(--space-3);\n\tborder-radius: var(--border-radius-sm);\n\tborder-left: 3px solid var(--color-secondary);\n\tfont-size: var(--font-size-sm);\n}\n\n.payment-option.split-payment {\n\tbackground: rgba(124, 58, 237, 0.05);\n\tborder-left-color: var(--color-accent);\n}\n\n/* Mentorship CTA Styling */\n.mentorship-cta {\n\tbackground: linear-gradient(135deg, var(--color-accent), var(--color-primary));\n\tcolor: white;\n\tpadding: var(--space-4);\n\tborder-radius: var(--border-radius-lg);\n\ttext-align: center;\n\tmargin-top: var(--space-4);\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.mentorship-cta::before {\n\tcontent: '';\n\tposition: absolute;\n\ttop: -50%;\n\tleft: -50%;\n\twidth: 200%;\n\theight: 200%;\n\tbackground: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);\n\ttransform: rotate(45deg);\n\tanimation: shimmer 3s infinite;\n}\n\n@keyframes shimmer {\n\t0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }\n\t100% { transform: translateX(100%) translateY(100%) rotate(45deg); }\n}\n\n.mentorship-cta strong {\n\tcolor: white;\n\tfont-size: var(--font-size-md);\n}\n\n.mentorship-cta a {\n\tcolor: rgba(255, 255, 255, 0.9);\n\tfont-weight: var(--font-weight-medium);\n\tborder-bottom: 1px solid rgba(255, 255, 255, 0.3);\n\ttransition: all var(--transition-fast);\n}\n\n.mentorship-cta a:hover {\n\tcolor: white;\n\tborder-bottom-color: white;\n}\n\n/* Dark mode adjustments for description */\n@media (prefers-color-scheme: dark) {\n\t.form-description {\n\t\tbackground: rgba(30, 41, 59, 0.8);\n\t\tborder-color: var(--color-border-light);\n\t}\n\t\n\t.course-section {\n\t\tbackground: rgba(51, 65, 85, 0.6);\n\t\tborder-color: rgba(148, 163, 184, 0.1);\n\t}\n\t\n\t.payment-option {\n\t\tbackground: rgba(5, 150, 105, 0.1);\n\t}\n\t\n\t.payment-option.split-payment {\n\t\tbackground: rgba(124, 58, 237, 0.1);\n\t}\n}\n\n/* Form Field Styling */\n.form-field {\n\tmargin-bottom: var(--space-6);\n}\n\n.form-label {\n\tdisplay: block;\n\tfont-size: var(--font-size-label);\n\tfont-weight: var(--font-weight-medium);\n\tcolor: var(--color-label);\n\tmargin-bottom: var(--space-2);\n\tposition: relative;\n}\n\n.form-label.required::after {\n\tcontent: '*';\n\tcolor: var(--color-required);\n\tmargin-left: var(--space-1);\n\tfont-weight: var(--font-weight-bold);\n}\n\n/* Input Styling */\n.form-input,\n.form-select,\n.form-textarea {\n\twidth: 100%;\n\theight: var(--input-height);\n\tpadding: var(--padding-form-input) var(--space-4);\n\tfont-size: var(--font-size-input);\n\tfont-family: var(--font-family);\n\tcolor: var(--color-input-text);\n\tbackground: var(--color-surface);\n\tborder: 2px solid var(--color-input-border);\n\tborder-radius: var(--border-radius-input);\n\ttransition: all var(--transition-fast);\n\toutline: none;\n}\n\n.form-textarea {\n\theight: auto;\n\tmin-height: 120px;\n\tresize: vertical;\n\tpadding-top: var(--space-3);\n\tpadding-bottom: var(--space-3);\n}\n\n.form-input:focus,\n.form-select:focus,\n.form-textarea:focus {\n\tborder-color: var(--color-focus-border);\n\tbox-shadow: var(--box-shadow-input-focus);\n\ttransform: translateY(-1px);\n}\n\n.form-input::placeholder,\n.form-textarea::placeholder {\n\tcolor: var(--color-text-placeholder);\n\topacity: var(--opacity-placeholder);\n}\n\n.form-input:hover,\n.form-select:hover,\n.form-textarea:hover {\n\tborder-color: var(--color-border-medium);\n}\n\n/* Select Styling */\n.form-select {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e\");\n\tbackground-position: right var(--space-3) center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: 16px;\n\tpadding-right: var(--space-10);\n\tcursor: pointer;\n}\n\n/* Checkbox and Radio Styling */\n.form-checkbox,\n.form-radio {\n\twidth: var(--checkbox-size);\n\theight: var(--checkbox-size);\n\tmargin-right: var(--space-3);\n\taccent-color: var(--color-primary);\n\tcursor: pointer;\n}\n\n.form-checkbox-label,\n.form-radio-label {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tcursor: pointer;\n\tfont-size: var(--font-size-base);\n\tline-height: 1.5;\n\tmargin-bottom: var(--space-3);\n}\n\n/* Multiple Choice Styling */\n.form-multiple-choice {\n\tdisplay: grid;\n\tgap: var(--space-3);\n}\n\n/* Submit Button Styling */\n.form-submit {\n\twidth: 100%;\n\theight: var(--submit-btn-height);\n\tpadding: 0 var(--space-6);\n\tfont-size: var(--font-size-lg);\n\tfont-weight: var(--font-weight-semibold);\n\tcolor: var(--color-submit-btn-text);\n\tbackground: var(--color-submit-btn-bg);\n\tborder: none;\n\tborder-radius: var(--border-radius-input);\n\tcursor: pointer;\n\ttransition: all var(--transition-normal);\n\tposition: relative;\n\toverflow: hidden;\n\ttext-transform: uppercase;\n\tletter-spacing: 0.5px;\n}\n\n.form-submit::before {\n\tcontent: '';\n\tposition: absolute;\n\ttop: 0;\n\tleft: -100%;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);\n\ttransition: left var(--transition-slow);\n}\n\n.form-submit:hover {\n\tbackground: var(--color-submit-btn-hover);\n\tbox-shadow: var(--box-shadow-button-hover);\n\ttransform: translateY(-2px);\n}\n\n.form-submit:hover::before {\n\tleft: 100%;\n}\n\n.form-submit:active {\n\ttransform: translateY(0);\n\tbox-shadow: var(--shadow-sm);\n}\n\n/* Error Styling */\n.form-error {\n\tcolor: var(--color-error);\n\tfont-size: var(--font-size-error);\n\tmargin-top: var(--space-1);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-1);\n}\n\n.form-error::before {\n\tcontent: '⚠';\n\tfont-size: var(--font-size-sm);\n}\n\n.form-input.error,\n.form-select.error,\n.form-textarea.error {\n\tborder-color: var(--color-border-error);\n\tbox-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);\n}\n\n/* Test Notice Styling */\n.test-notice {\n\tbackground: var(--color-test-notice-bg);\n\tcolor: var(--color-test-notice-text);\n\tborder: 1px solid var(--color-test-notice-border);\n\tborder-radius: var(--border-radius-md);\n\tpadding: var(--padding-test-notice-vertical) var(--padding-test-notice-horizontal);\n\tmargin-bottom: var(--space-6);\n\tfont-size: var(--font-size-test-notice);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-2);\n}\n\n.test-notice::before {\n\tcontent: 'ℹ';\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-base);\n}\n\n/* Progress Indicator */\n.form-progress {\n\theight: 4px;\n\tbackground: var(--color-border-light);\n\tborder-radius: var(--border-radius-sm);\n\tmargin-bottom: var(--space-6);\n\toverflow: hidden;\n}\n\n.form-progress-bar {\n\theight: 100%;\n\tbackground: linear-gradient(90deg, var(--color-primary), var(--color-secondary));\n\tborder-radius: var(--border-radius-sm);\n\ttransition: width var(--transition-slow);\n\twidth: 0%;\n}\n\n/* Loading State */\n.form-loading {\n\topacity: var(--opacity-disabled);\n\tpointer-events: none;\n\tposition: relative;\n}\n\n.form-loading::after {\n\tcontent: '';\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\twidth: 20px;\n\theight: 20px;\n\tmargin: -10px 0 0 -10px;\n\tborder: 2px solid var(--color-primary);\n\tborder-top-color: transparent;\n\tborder-radius: var(--border-radius-full);\n\tanimation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n/* Responsive Design */\n@media (max-width: 640px) {\n\t:root {\n\t\t--container-width: 100%;\n\t\t--padding-container-top: var(--space-4);\n\t\t--card-padding: var(--space-4);\n\t\t--font-size-header: var(--font-size-3xl);\n\t}\n\t\n\t.form-container {\n\t\tpadding: var(--space-4) var(--space-3);\n\t}\n\t\n\t.form-submit {\n\t\theight: 48px;\n\t\tfont-size: var(--font-size-base);\n\t}\n}\n\n/* Dark Mode Support */\n@media (prefers-color-scheme: dark) {\n\t:root {\n\t\t--color-background: #0f172a;\n\t\t--color-surface: #1e293b;\n\t\t--color-surface-elevated: #334155;\n\t\t--color-text-primary: #f8fafc;\n\t\t--color-text-secondary: #cbd5e1;\n\t\t--color-text-tertiary: #94a3b8;\n\t\t--color-text-placeholder: #64748b;\n\t\t--color-border-light: #334155;\n\t\t--color-border-medium: #475569;\n\t\t--color-card-border: #334155;\n\t\t--color-card-shadow: rgba(0, 0, 0, 0.3);\n\t}\n\t\n\tbody {\n\t\tbackground: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);\n\t}\n}\n\n/* Accessibility Improvements */\n@media (prefers-reduced-motion: reduce) {\n\t* {\n\t\tanimation-duration: 0.01ms !important;\n\t\tanimation-iteration-count: 1 !important;\n\t\ttransition-duration: 0.01ms !important;\n\t}\n}\n\n.sr-only {\n\tposition: absolute;\n\twidth: 1px;\n\theight: 1px;\n\tpadding: 0;\n\tmargin: -1px;\n\toverflow: hidden;\n\tclip: rect(0, 0, 0, 0);\n\twhite-space: nowrap;\n\tborder: 0;\n}",
          "appendAttribution": false
        },
        "formTitle": "API testing and Automation Mastery Program - Enrollment Form",
        "formFields": {
          "values": [
            {
              "html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n  <style>\n    body {\n      font-family: 'Segoe UI', sans-serif;\n      background-color: #f7f9fc;\n      margin: 0;\n      padding: 30px;\n      line-height: 1.6;\n      color: #333;\n    }\n\n    .container {\n      max-width: 900px;\n      margin: auto;\n      background: #ffffff;\n      padding: 40px;\n      border-radius: 10px;\n      box-shadow: 0 0 12px rgba(0, 0, 0, 0.06);\n    }\n\n    h1 {\n      text-align: center;\n      color: #0056b3;\n    }\n\n    h2 {\n      color: #003366;\n      margin-top: 30px;\n      margin-bottom: 10px;\n      border-bottom: 1px solid #ddd;\n      padding-bottom: 5px;\n    }\n\n    ul {\n      padding-left: 20px;\n    }\n\n    ul li {\n      margin-bottom: 10px;\n    }\n\n    a {\n      color: #007bff;\n      text-decoration: none;\n    }\n\n    a:hover {\n      text-decoration: underline;\n    }\n\n    .highlight {\n      background-color: #e9f5ff;\n      padding: 10px 15px;\n      border-left: 4px solid #007bff;\n      margin-top: 20px;\n      border-radius: 5px;\n    }\n\n    .footer {\n      margin-top: 40px;\n      text-align: center;\n      font-size: 0.9em;\n      color: #555;\n    }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <h1>API Testing & Automation Training Enrollment</h1>\n\n    <p>Please complete the form below to enroll in our comprehensive hands-on training program focused on <strong>API Testing & Automation using Postman and RestAssured</strong>.</p>\n\n    <h2>📚 Course Overview</h2>\n    <ul>\n      <li><strong>Schedule:</strong> 3 days per week</li>\n      <li><strong>Sessions:</strong> 2 recorded Zoom sessions daily (1.5 hours each)</li>\n      <li><strong>Total Weekly Time:</strong> ~5+ hours/week</li>\n      <li><strong>Content Focus:</strong> Demo projects only (no real-world projects)</li>\n      <li><strong>Certification:</strong> <em>No certificate</em> – focus is on practical skills</li>\n    </ul>\n\n    <h2>🧠 Course Content</h2>\n    <ul>\n      <li>🔹 Introduction to APIs & API Testing Fundamentals</li>\n      <li>🔹 API Testing and Automation using <strong>Postman</strong></li>\n      <li>🔹 API Test Automation using <strong>Newman</strong> (Postman CLI Runner)</li>\n      <li>🔹 API Testing and Automation using <strong>RestAssured</strong> (Java)</li>\n      <li>🔹 Data-driven Testing & Environment Variables</li>\n      <li>🔹 API Testing with <strong>Cucumber</strong> (BDD Framework)</li>\n      <li>🔹 CI/CD Integration for API Automation (GitHub Actions, Jenkins, etc.)</li>\n      <li>🔹 Generating Professional Reports</li>\n      <li>🔹 Version Control with <strong>Git & GitHub</strong></li>\n    </ul>\n\n    <h2>💳 Payment Structure</h2>\n    <ul>\n      <li><strong>API, Performance, Database & Security Courses:</strong> Full payment upon completion</li>\n      <li><strong>Web, Mobile & AI Automation Courses:</strong>\n        <ul>\n          <li>50% after the first month</li>\n          <li>Remaining 50% at course completion</li>\n        </ul>\n      </li>\n      <li><strong>Risk-Free:</strong> Cancel anytime within the first month – no fees</li>\n    </ul>\n\n    <h2>✅ Requirements for Enrollment</h2>\n    <ul>\n  <li>\n    Must have <strong>basic knowledge of any programming language</strong> (preferably Java)\n  </li>\n  <li>\n    If you don’t have this background, please watch the first 60 videos of this\n    <a href=\"https://www.youtube.com/playlist?list=PL28DDB2DCF87BEE43\" target=\"_blank\">\n      YouTube Programming Basics Playlist\n    </a>\n    before enrolling.\n  </li>\n      <li>Completion of <strong>all assigned projects</strong> and tasks by deadlines</li>\n      <li>Active participation in sessions and assignments</li>\n      <li>Failure to meet requirements may affect future course access</li>\n    </ul>\n\n    <h2>🎁 Free Mentorship</h2>\n    <p>Have questions or need personalized guidance? Connect on LinkedIn:</p>\n    <p><a href=\"https://www.linkedin.com/in/shady-ahmed97/\" target=\"_blank\">Shady Ahmed – LinkedIn</a></p>\n\n    <h2>⏳ Course Duration</h2>\n    <p><strong>2 to 3 months</strong> depending on pace and availability.</p>\n\n    <div class=\"highlight\">\n      <strong>💬 Ready to get started?</strong> Fill out the form below to begin your journey into professional API automation.\n    </div>\n\n    <div class=\"footer\">\n      &copy; 2025 Shady Ahmed | Testing Automation Instructor\n    </div>\n  </div>\n  <br><br>\n</body>\n</html>",
              "fieldType": "html",
              "elementName": "form-desc"
            },
            {
              "fieldLabel": "Full Name",
              "placeholder": "Enter your full name",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "Email Address",
              "placeholder": "your.email@example.com",
              "requiredField": true
            },
            {
              "fieldLabel": "WhatsApp Number",
              "placeholder": "+201234567890",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Do you have basics of any programming language?",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Yes"
                  },
                  {
                    "option": "No"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "checkbox",
              "fieldLabel": "I commit to 3 days per week for 2-3 months",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Agree"
                  },
                  {
                    "option": "Not Agree"
                  }
                ]
              },
              "requiredField": true,
              "limitSelection": "exact"
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Terms and Conditions",
              "fieldOptions": {
                "values": [
                  {
                    "option": "I agree to follow all deadlines and complete assigned tasks/projects"
                  },
                  {
                    "option": "I don't agree"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "1d13a6b7-9cfd-40d0-8c91-53f203a8feb7",
      "name": "付箋ノート",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -304
      ],
      "parameters": {
        "height": 336,
        "content": "### Student Enrollment\n\n\n\n\n\n\n\n\n\n\nThis workflow starts **automatically** when a new student submits the enrollment form for the training program.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6c60192e-98d6-492d-83ec-08ebb6ee3a63",
      "name": "ユーザーデータ結合",
      "type": "n8n-nodes-base.set",
      "position": [
        432,
        -272
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a4b4f135-34bd-4bc2-ba72-f2cb9a3b949d",
              "name": "user_context",
              "type": "string",
              "value": "={{ $json['Full Name'] }}, {{ $json['Email Address'] }}, {{ $json['WhatsApp Number'] }}, {{ $json['Do you have basics of any programming language?'] }}, {{ $json['Terms and Conditions'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "d80d0ad8-779d-4c61-a78b-e655b18c7879",
      "name": "AIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1280,
        -272
      ],
      "parameters": {
        "text": "=**Role**\nact as software testing instructor assistant to evaluate students answers then make output of JSON object include if accepted to course or not if user anser with yes and agree for terms and conditions and commit to follow all deadlines and complete assigned tasks/projects then will be accepted otherwise will not be accpted\nfor example \n{\n\"accepted\": true\n}\n\n{{ $('Combine User Data').item.json.user_context }}\n",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "2175cf5a-a984-437d-a636-2ad403ed175d",
      "name": "OpenAI チャットモデル",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1136,
        144
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "CXEjPKMAyq5p5Jjm",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3c2a315b-c88c-49f8-b9b6-1bd9139286bc",
      "name": "構造化出力パーサー",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1296,
        144
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"accepted\": true\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "922f1c54-bf54-47dc-845f-f824749fc09a",
      "name": "ファイルをダウンロード",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        624,
        -272
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "list",
          "value": "1HxM_NWizFnOhf4jk-7BQRpTvfd9xQuFNfGrH5hiqTxA",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HxM_NWizFnOhf4jk-7BQRpTvfd9xQuFNfGrH5hiqTxA/edit?usp=drivesdk",
          "cachedResultName": "Course Enrollment"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "zvPCbUMwmjWtNM0a",
          "name": "Google Drive account 2"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "86cb7c06-c364-40d9-a147-ddb37f84c981",
      "name": "Pinecone ベクターストア",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        880,
        -272
      ],
      "parameters": {
        "mode": "insert",
        "options": {
          "pineconeNamespace": "course_enrollment"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "course-enrollment",
          "cachedResultName": "course-enrollment"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "ZRuijEjAOJkoX2hV",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cbd60d6a-773c-4aca-8ac6-5927cb5b9259",
      "name": "埋め込み Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "position": [
        672,
        160
      ],
      "parameters": {},
      "credentials": {
        "googlePalmApi": {
          "id": "VhlEL4kZCaqxUKQd",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0a217b14-1ecb-42ac-9e33-a5d193465010",
      "name": "デフォルトデータローダー",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        832,
        160
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "b3122baf-ca34-4f58-b4b9-4c01acf20f3c",
      "name": "AIエージェント1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1632,
        -272
      ],
      "parameters": {
        "text": "=**Role**\nact as mail agent to send message to mail address with his enrollment status with my course if accpted or not based on the accpted result below if true mean accepted other mean not accepted\n {{ $json.output.accepted }}\n- also use this data of the registered user to format professional email for accepted and rejected.\n{{ $('Combine User Data').item.json.user_context }}\n- - if student \"accepted\" value is false then guide him in the email to check first 60 videos from this youtube playlist \nhttps://www.youtube.com/playlist?list=PL28DDB2DCF87BEE43\n- confirm sending only one email based on accepted result true or false below\n{{ $json.output.accepted }}\n- confirm to use html template on System Message",
        "options": {
          "systemMessage": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n  <style>\n    body {\n      font-family: 'Segoe UI', sans-serif;\n      background-color: #f4f6f9;\n      padding: 30px;\n      color: #333;\n    }\n\n    .container {\n      max-width: 800px;\n      background: #fff;\n      margin: auto;\n      padding: 40px;\n      border-radius: 12px;\n      box-shadow: 0 0 15px rgba(0,0,0,0.05);\n    }\n\n    h1 {\n      color: #0056b3;\n      margin-bottom: 10px;\n    }\n\n    .status {\n      padding: 15px;\n      border-radius: 5px;\n      font-size: 1.1rem;\n      margin-bottom: 20px;\n    }\n\n    .accepted {\n      background-color: #e6ffed;\n      border-left: 5px solid #28a745;\n      color: #155724;\n    }\n\n    .rejected {\n      background-color: #fff3f3;\n      border-left: 5px solid #dc3545;\n      color: #721c24;\n    }\n\n    .details {\n      margin-top: 20px;\n    }\n\n    .details h2 {\n      color: #333;\n      margin-bottom: 10px;\n    }\n\n    .details p {\n      margin: 5px 0;\n    }\n\n    .summary {\n      margin-top: 30px;\n      padding: 15px;\n      background: #f0f8ff;\n      border-left: 5px solid #007bff;\n    }\n\n    strong {\n      color: #000;\n    }\n\n    .signature {\n      margin-top: 40px;\n      font-style: italic;\n      color: #333;\n      border-top: 1px solid #ddd;\n      padding-top: 20px;\n      text-align: right;\n      font-size: 1rem;\n    }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <h1>📨 Enrollment Status Notification</h1>\n\n    {{#if $json.output.accepted}}\n      <div class=\"status accepted\">\n        ✅ <strong>{{ $('Combine User Data').item.json.user_context.name }}</strong> has been <strong>accepted</strong> into the course.\n      </div>\n    {{else}}\n      <div class=\"status rejected\">\n        ❌ <strong>{{ $('Combine User Data').item.json.user_context.name }}</strong> was <strong>not accepted</strong> into the course at this time.\n      </div>\n    {{/if}}\n\n    <div class=\"details\">\n      <h2>📄 Student Details</h2>\n      <p><strong>Name:</strong> {{ $('Combine User Data').item.json.user_context.name }}</p>\n      <p><strong>Email:</strong> {{ $('Combine User Data').item.json.user_context.email }}</p>\n      <p><strong>WhatsApp:</strong> {{ $('Combine User Data').item.json.user_context.whatsapp }}</p>\n      <p><strong>Programming Basics:</strong> {{ $('Combine User Data').item.json.user_context.has_basics }}</p>\n      <p><strong>Availability:</strong> {{ $('Combine User Data').item.json.user_context.availability }}</p>\n    </div>\n\n    <div class=\"summary\">\n      <h3>📬 Email Summary</h3>\n      <ul>\n        {{#if $json.output.accepted}}\n          <li><strong>Acceptance Email:</strong> Sent successfully to {{ $('Combine User Data').item.json.user_context.email }}</li>\n        {{else}}\n          <li><strong>Rejection Email:</strong> Sent to {{ $('Combine User Data').item.json.user_context.email }}</li>\n        {{/if}}\n        <li>Notification processed automatically based on form input.</li>\n      </ul>\n    </div>\n\n    <div class=\"signature\">\n      Best regards,<br>\n      <strong>Shady Ahmed</strong><br>\n      Automation Instructor\n    </div>\n  </div>\n</body>\n</html>"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "12297e0d-48a3-4a7b-a511-922a1f97b004",
      "name": "OpenAI チャットモデル1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1504,
        144
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "CXEjPKMAyq5p5Jjm",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "34f98f22-8839-43cc-a4e2-df4b28828bff",
      "name": "Gmail でメッセージを送信",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1968,
        144
      ],
      "webhookId": "dec56e5e-50e9-48f0-95f5-5118f5ccb2eb",
      "parameters": {
        "sendTo": "={{ $('On form submission').item.json['Email Address'] }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "JfSof8X3kWXePnXK",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "dbf537a6-8c5c-460b-8d76-695eb2ab79fb",
      "name": "シートに行を追加",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1984,
        -272
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $('On form submission').item.json['Full Name'] }}",
            "Time": "={{ $('On form submission').item.json.submittedAt }}",
            "Email": "={{ $('On form submission').item.json['Email Address'] }}",
            "Accepted": "={{ $('AI Agent').item.json.output.accepted }}",
            "WhatsApp": "={{ $('On form submission').item.json['WhatsApp Number'] }}",
            "Have Basics of Programming": "={{ $('On form submission').item.json['Do you have basics of any programming language?'] }}",
            "Agree to Terms and Conditions": "={{ $('On form submission').item.json['Terms and Conditions'] }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "WhatsApp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "WhatsApp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Have Basics of Programming",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Have Basics of Programming",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Agree to Terms and Conditions",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Agree to Terms and Conditions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Accepted",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Accepted",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HxM_NWizFnOhf4jk-7BQRpTvfd9xQuFNfGrH5hiqTxA/edit#gid=0",
          "cachedResultName": "API"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1HxM_NWizFnOhf4jk-7BQRpTvfd9xQuFNfGrH5hiqTxA",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HxM_NWizFnOhf4jk-7BQRpTvfd9xQuFNfGrH5hiqTxA/edit?usp=drivesdk",
          "cachedResultName": "Course Enrollment"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "lCnwBHjgpXXtRTYx",
          "name": "Google Sheets account 2"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "9fb77584-d69e-4e5e-8550-3ce40e72684e",
      "name": "Pinecone ベクターストア1",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        1632,
        144
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 5,
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "course-enrollment",
          "cachedResultName": "course-enrollment"
        },
        "toolDescription": "=retreive data based on this email:  {{ $('On form submission').item.json['Email Address'] }}"
      },
      "credentials": {
        "pineconeApi": {
          "id": "ZRuijEjAOJkoX2hV",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "efb9c765-3141-4264-ba4c-433756c685e8",
      "name": "埋め込み Google Gemini1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "position": [
        1712,
        304
      ],
      "parameters": {},
      "credentials": {
        "googlePalmApi": {
          "id": "VhlEL4kZCaqxUKQd",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "b24a262a-d576-4b24-837e-b375b45404cd",
  "connections": {
    "d80d0ad8-779d-4c61-a78b-e655b18c7879": {
      "main": [
        [
          {
            "node": "b3122baf-ca34-4f58-b4b9-4c01acf20f3c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b3122baf-ca34-4f58-b4b9-4c01acf20f3c": {
      "main": [
        [
          {
            "node": "dbf537a6-8c5c-460b-8d76-695eb2ab79fb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "922f1c54-bf54-47dc-845f-f824749fc09a": {
      "main": [
        [
          {
            "node": "86cb7c06-c364-40d9-a147-ddb37f84c981",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c60192e-98d6-492d-83ec-08ebb6ee3a63": {
      "main": [
        [
          {
            "node": "922f1c54-bf54-47dc-845f-f824749fc09a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2175cf5a-a984-437d-a636-2ad403ed175d": {
      "ai_languageModel": [
        [
          {
            "node": "d80d0ad8-779d-4c61-a78b-e655b18c7879",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "912fb0fd-fef4-4feb-8112-6418581342b8": {
      "main": [
        [
          {
            "node": "6c60192e-98d6-492d-83ec-08ebb6ee3a63",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "12297e0d-48a3-4a7b-a511-922a1f97b004": {
      "ai_languageModel": [
        [
          {
            "node": "b3122baf-ca34-4f58-b4b9-4c01acf20f3c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "0a217b14-1ecb-42ac-9e33-a5d193465010": {
      "ai_document": [
        [
          {
            "node": "86cb7c06-c364-40d9-a147-ddb37f84c981",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "86cb7c06-c364-40d9-a147-ddb37f84c981": {
      "main": [
        [
          {
            "node": "d80d0ad8-779d-4c61-a78b-e655b18c7879",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "ai_tool": [
        []
      ]
    },
    "9fb77584-d69e-4e5e-8550-3ce40e72684e": {
      "ai_tool": [
        [
          {
            "node": "b3122baf-ca34-4f58-b4b9-4c01acf20f3c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "34f98f22-8839-43cc-a4e2-df4b28828bff": {
      "ai_tool": [
        [
          {
            "node": "b3122baf-ca34-4f58-b4b9-4c01acf20f3c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "cbd60d6a-773c-4aca-8ac6-5927cb5b9259": {
      "ai_embedding": [
        [
          {
            "node": "86cb7c06-c364-40d9-a147-ddb37f84c981",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "3c2a315b-c88c-49f8-b9b6-1bd9139286bc": {
      "ai_outputParser": [
        [
          {
            "node": "d80d0ad8-779d-4c61-a78b-e655b18c7879",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "efb9c765-3141-4264-ba4c-433756c685e8": {
      "ai_embedding": [
        [
          {
            "node": "9fb77584-d69e-4e5e-8550-3ce40e72684e",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - チケット管理, AI要約

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数16
カテゴリー2
ノードタイプ12
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34