자동화된 과정 등록
고급
이것은Ticket Management, AI Summarization분야의자동화 워크플로우로, 16개의 노드를 포함합니다.주로 Set, GmailTool, FormTrigger, GoogleDrive, GoogleSheets 등의 노드를 사용하며. AI, Gmail 및 Google Sheets를 사용한 자동화된 과정 등록 평가
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •Google Drive API 인증 정보
- •Google Sheets API 인증 정보
- •OpenAI API Key
- •Pinecone API Key
사용된 노드 (16)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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 © 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)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
AI 기반 고객 지원: 이메일, 지식 베이스 및 인간 에스컬레이션 자동화
AI이메일支持系统:통합Gmail、Gemini、GPT-4、Slack및Google Sheets의워크플로우程
Set
Gmail
Slack
+
Set
Gmail
Slack
26 노드David Olusola
티켓 관리
AI驱动의이메일分诊与자동回复系统,통합OpenAI에이전트및Gmail
AI驱动의이메일分诊与자동回复系统,통합OpenAI에이전트및Gmail
If
Set
Gmail
+
If
Set
Gmail
68 노드Abdullahi Ahmed
콘텐츠 제작
AI 고객 지원 분류 및 요약 시스템
GPT-4o, Slack 및 CRM 통합을 사용한 고객 지원 자동 처리
If
Set
Code
+
If
Set
Code
32 노드NodeAlchemy
티켓 관리
🎧 IT 음성 지원 자동화 봇 – Telegram 음성 메시지를 JIRA 티켓으로 전환 (OpenAI Whisper 사용)
Whisper 및 GPT-4.1 Mini를 통한 Telegram 음성 메시지 자동 JIRA 티켓 변환
If
Set
Code
+
If
Set
Code
25 노드Trung Tran
티켓 관리
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능