Help
RSS
API
Feed
Maltego
Contact
Domain > bluetickets.app
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-11-22
172.67.196.137
(
ClassC
)
2026-02-14
104.21.12.228
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Sat, 14 Feb 2026 10:01:10 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveLocation: https://bluetickets.app/Server: cloudflareX-Railway-Edge: railway/us-west2X-Railway-Request-Id: t8GX4D7jQYCDlFbbxtoGcAcf-cache-status: DYNAMICNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sdS%2FgHMWifHffXG2pINl0LRm9a5dD%2BDdfQzS2P%2BBILkFTJ9bXWoBtfRUKEHZ%2BCQENlK61z%2F%2FeYww7qaTfK1UQShGJedEuAoLc8Cp2%2F%2FM%3D}}CF-RAY: 9cdbb900387def38-PDXalt-svc: h3:443; ma86400 a hrefhttps://bluetickets.app/>Moved Permanently/a>.
Port 443
HTTP/1.1 200 OKDate: Sat, 14 Feb 2026 10:01:11 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: private, no-cache, no-store, max-age0, must-revalidateReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s%2FXbVdB9wPEotfkw18z49ti2BzF%2B6%2BuI7L%2BJwSdJyZNSc9fZkkkbAnOWD4naeow62GHwVy7FaGrggDHpLiuuiXccWNdfs%2BL3xhrueMy9TSw%3D%3D}}content-security-policy: default-src self; script-src self unsafe-inline unsafe-eval https://www.googletagmanager.com https://www.youtube.com https://static.cloudflareinsights.com; style-src self unsafe-inline; img-src self data: https: https://www.google-analytics.com https://www.googletagmanager.com; font-src self data:; connect-src self https://www.google-analytics.com https://www.googletagmanager.com https://cloudflareinsights.com; frame-src self blob: data: https://www.youtube.com https://youtube.com; base-uri self; form-action self; frame-ancestors nonelink: https://www.ingeniousdynamics.com/images/logo.svg>; relpreload; asimage, /hero-preview-placeholder_en_light.png>; relpreload; asimage; fetchpriorityhigh, https://trylaunch.ai/launch-icon-dark.png>; relpreload; asimage, https://trylaunch.ai/launch-icon-light.png>; relpreload; asimagepermissions-policy: camera(), microphone(), geolocation()referrer-policy: strict-origin-when-cross-originServer: cloudflarevary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encodingx-content-type-options: nosniffx-frame-options: DENYx-powered-by: Next.jsx-railway-edge: railway/us-west2x-railway-request-id: TZaSN9_hQj-vR9pMxtoGcAcf-cache-status: DYNAMICNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}CF-RAY: 9cdbb9011d594598-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width, initial-scale1/>link relstylesheet href/_next/static/css/a8c66b03c146f496.css data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/webpack-67b93cee552c3862.js/>script src/_next/static/chunks/4bd1b696-f785427dddbba9fb.js async>/script>script src/_next/static/chunks/1255-9494d7e861e97d68.js async>/script>script src/_next/static/chunks/main-app-05a5fe279f4f6e20.js async>/script>script src/_next/static/chunks/2619-3c9e02e22d10480a.js async>/script>script src/_next/static/chunks/9447-6d6b4f53e570ff88.js async>/script>script src/_next/static/chunks/6224-dc49ede0c3761dfd.js async>/script>script src/_next/static/chunks/app/layout-ebdb42368a8a0f47.js async>/script>script src/_next/static/chunks/app/(public)/page-e2e44c7d9ba418e9.js async>/script>link relicon typeimage/png sizes16x16 href/favicon-16x16.png/>link relicon typeimage/png sizes32x32 href/favicon-32x32.png/>link relicon typeimage/x-icon href/favicon.ico/>link relapple-touch-icon sizes180x180 href/apple-touch-icon.png/>style> :root { /* Calculate scale immediately using CSS - prevents flash on page load */ /* Only apply scaling on desktop (> 768px) - mobile doesnt need it */ --section-scale: 1; --vh-scale: 1; --section-min-height: max(360px, calc(100vh - 72px)); } @media (min-width: 768px) { :root { --section-scale: max(0.7, min(1, calc(100vh / 820))); --vh-scale: min(1, calc(100vh / 820)); } } /style>script>(self.__next_sself.__next_s||).push(0,{children:\n\t\t\t\t\t\t\t(function() {\n\t\t\t\t\t\t\t\tfunction updateViewportScale() {\n\t\t\t\t\t\t\t\t\t// Only apply scaling on desktop/larger screens (> 768px width)\n\t\t\t\t\t\t\t\t\t// Mobile has a completely different layout and doesnt need this scaling\n\t\t\t\t\t\t\t\t\tconst isMobile window.innerWidth 768;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif (isMobile) {\n\t\t\t\t\t\t\t\t\t\t// On mobile, set defaults to 1 (no scaling) and only set min-height\n\t\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--vh-scale, 1);\n\t\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-scale, 1);\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tconst vh window.innerHeight || 0;\n\t\t\t\t\t\t\t\t\t\tif (vh) {\n\t\t\t\t\t\t\t\t\t\t\tconst topbar parseFloat(\n\t\t\t\t\t\t\t\t\t\t\t\tgetComputedStyle(document.documentElement).getPropertyValue(--topbar-height) || 72\n\t\t\t\t\t\t\t\t\t\t\t) || 72;\n\t\t\t\t\t\t\t\t\t\t\tconst minHeightPx Math.max(360, vh - topbar);\n\t\t\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-min-height, minHeightPx + px);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tconst vh window.innerHeight || 0;\n\t\t\t\t\t\t\t\t\tif (!vh) return;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t// Scale for small heights: target 820px baseline, floor at 0.7 (~30% shrink)\n\t\t\t\t\t\t\t\t\tconst sectionScale Math.max(0.7, Math.min(1, vh / 820));\n\t\t\t\t\t\t\t\t\tconst vhScale Math.min(1, vh / 820);\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--vh-scale, vhScale.toFixed(3));\n\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-scale, sectionScale.toFixed(3));\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t// Get topbar height (default to 72 if not set yet)\n\t\t\t\t\t\t\t\t\tconst topbar parseFloat(\n\t\t\t\t\t\t\t\t\t\tgetComputedStyle(document.documentElement).getPropertyValue(--topbar-height) || 72\n\t\t\t\t\t\t\t\t\t) || 72;\n\t\t\t\t\t\t\t\t\tconst minHeightPx Math.max(360, vh - topbar);\n\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-min-height, minHeightPx + px);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Run immediately\n\t\t\t\t\t\t\t\tupdateViewportScale();\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Also run on resize (will be replaced by React component)\n\t\t\t\t\t\t\t\twindow.addEventListener(resize, updateViewportScale);\n\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t,id:viewport-scale-init})/script>script src/_next/static/chunks/polyfills-42372ed130431b0a.js noModule>/script>/head>body classmin-h-screen bg-bg text-text antialiased flex flex-col>div hidden>!--$?-->template idB:0>/template>!--/$-->/div>script>(self.__next_sself.__next_s||).push(0,{children:\n(function() {\n function applyTheme(theme) {\n const root document.documentElement;\n if (theme dark) {\n root.classList.add(dark);\n root.classList.remove(light);\n root.style.colorScheme dark;\n } else {\n root.classList.remove(dark);\n root.classList.add(light);\n root.style.colorScheme light;\n }\n void root.offsetHeight;\n document.cookie qt_theme + theme + ; path/; max-age31536000; SameSiteLax;\n }\n \n function getThemeFromCookie() {\n const match document.cookie.match(/(?:^|;\\s*)qt_theme(dark|light)/);\n return match ? match1 : null;\n }\n \n function getTheme() {\n try {\n const cookieTheme getThemeFromCookie();\n if (cookieTheme dark || cookieTheme light) return cookieTheme;\n const savedTheme localStorage.getItem(theme);\n if (savedTheme dark || savedTheme light) return savedTheme;\n const systemPrefersDark window.matchMedia((prefers-color-scheme: dark)).matches;\n return systemPrefersDark ? dark : light;\n } catch (e) {\n return light;\n }\n }\n \n // Apply theme immediately - this runs BEFORE any content renders\n const theme getTheme();\n applyTheme(theme);\n \n // Re-apply when body becomes available (in case script runs before body exists)\n if (!document.body) {\n const bodyObserver new MutationObserver(function() {\n if (document.body) {\n applyTheme(theme);\n bodyObserver.disconnect();\n }\n });\n bodyObserver.observe(document.documentElement, { childList: true });\n }\n \n // Monitor for navigation and re-apply theme immediately\n if (typeof window ! undefined) {\n // Listen for theme changes from ThemeProvider\n window.addEventListener(themechange, function(e) {\n const newTheme e.detail?.theme;\n if (newTheme dark || newTheme light) {\n applyTheme(newTheme);\n }\n });\n \n // Intercept all link clicks to apply theme before navigation\n document.addEventListener(click, function(e) {\n const target e.target;\n let link target.closest(a);\n if (link && link.href && !link.target && link.href.startsWith(window.location.origin)) {\n // Apply theme immediately before navigation\n applyTheme(getTheme());\n }\n }, true); // Use capture phase to run before default action\n \n // Also monitor for class changes (fallback)\n const observer new MutationObserver(function() {\n const currentTheme getTheme();\n const root document.documentElement;\n const hasDark root.classList.contains(dark);\n if (currentTheme dark && !hasDark) {\n applyTheme(dark);\n } else if (currentTheme light && hasDark) {\n applyTheme(light);\n }\n });\n \n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: class\n });\n \n // Also check periodically to catch any missed updates (reduced frequency)\n setInterval(function() {\n const currentTheme getTheme();\n const root document.documentElement;\n const hasDark root.classList.contains(dark);\n if (currentTheme dark && !hasDark) {\n applyTheme(dark);\n } else if (currentTheme light && hasDark) {\n applyTheme(light);\n }\n }, 100); // Check every 100ms\n }\n})();\n,id:theme-script})/script>section aria-labelNotifications alt+T tabindex-1 aria-livepolite aria-relevantadditions text aria-atomicfalse>/section>header data-topbartrue classborder-b border-border-subtle bg-surface/80 dark:bg-surface/90 backdrop-blur-sm sticky top-0 z-50>div classmx-auto flex max-w-7xl items-center justify-between gap-4 px-4 py-4>div classflex items-center gap-6 flex-1 min-w-0>a classgroup flex items-center shrink-0 href/>div classflex h-10 w-10 items-center justify-center rounded-xl bg-primary text-white shadow-sm transition-transform group-hover:scale-105>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4>/path>/svg>/div>div classhidden md:block ml-3>div classtext-xl font-bold text-primary leading-none flex items-center h-6>BlueTickets/div>div classtext-xs text-text/60 hidden>Lightweight ticketing for small teams/div>/div>/a>nav classhidden lg:flex items-center gap-6 mt-1>button classtext-sm font-medium text-text/70 hover:text-primary transition-colors h-6 flex items-center>Why BlueTickets?/button>button classtext-sm font-medium text-text/70 hover:text-primary transition-colors h-6 flex items-center>For Users/button>button classtext-sm font-medium text-text/70 hover:text-primary transition-colors h-6 flex items-center>For Devs/button>a classtext-sm font-medium text-text/70 hover:text-primary transition-colors h-6 flex items-center href/pricing>Pricing/a>button classtext-sm font-medium text-text/70 hover:text-primary transition-colors h-6 flex items-center>FAQ/button>a classtext-sm font-medium text-text/70 hover:text-primary transition-colors h-6 flex items-center href/help>Contacts/a>/nav>/div>div classflex items-center gap-3 shrink-0>div classrounded-lg bg-surface/90 backdrop-blur-sm border border-border-subtle/50>button classrounded-lg p-2 text-text transition hover:bg-primary/10 hover:text-primary focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 aria-labelTheme toggle disabled>svg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24 xmlnshttp://www.w3.org/2000/svg>path stroke-linecapround stroke-linejoinround stroke-width2 dM20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z>/path>/svg>/button>/div>div classhidden md:flex rounded-lg bg-surface/90 backdrop-blur-sm border border-border-subtle/50>div classflex items-center gap-1 text-sm p-1>button classpx-2 py-1 rounded text-text transition hover:bg-primary/10 hover:text-primary disabled:opacity-50 min-w-2.5rem>EN/button>button classpx-2 py-1 rounded text-text transition hover:bg-primary/10 hover:text-primary disabled:opacity-50 min-w-2.5rem>IT/button>/div>/div>a classhidden sm:inline-flex items-center justify-center rounded-xl border-2 border-primary bg-transparent px-4 py-2 text-sm font-semibold text-primary transition-all duration-200 hover:bg-primary/10 hover:border-primary/80 href/register>Sign up/a>a classinline-flex items-center justify-center rounded-xl bg-primary px-4 py-2 text-sm font-semibold text-white shadow-sm transition-all duration-200 hover:bg-primary/90 hover:shadow-md href/login>Login/a>/div>/div>/header>main classflex-1 min-h-calc(100vh-200px)>main classmin-h-screen bg-gradient-to-b from-bg via-surface to-bg>section idhero classrelative overflow-hidden px-4 py-12 md:py-20 lg:py-24 bg-gradient-to-b from-surface via-bg to-surface flex items-center stylemin-height:var(--section-min-height, calc(100vh - var(--topbar-height, 72px)));scroll-margin-top:var(--topbar-height, 72px);padding-top:calc(3.5rem * var(--vh-scale, 1));padding-bottom:calc(3.5rem * var(--vh-scale, 1))>div classpointer-events-none absolute inset-0 -z-10>div classabsolute -top-24 right-0 h-500px w-500px rounded-full bg-blue-100/40 dark:bg-blue-900/20 blur-100px>/div>div classabsolute -bottom-32 left-0 h-400px w-400px rounded-full bg-primary/10 dark:bg-primary/20 blur-120px>/div>/div>div classmx-auto max-w-7xl w-full styletransform:scale(var(--section-scale, 1));transform-origin:top center;width:calc(100% / var(--section-scale, 1));margin-left:auto;margin-right:auto>div classgrid items-stretch gap-8 md:gap-10 lg:grid-cols-2 lg:gap-12>div classflex flex-col space-y-8 md:space-y-10 lg:justify-between lg:min-h-600px>div classflex-shrink-0>h1 classtext-3xl sm:text-4xl font-bold leading-tight tracking-tight text-text md:text-5xl lg:text-6xl>Built for Small Teams and Growing Startups/h1>p classmt-4 md:mt-6 text-base sm:text-lg md:text-xl leading-relaxed text-text/70>BlueTickets gives small teams a premium, distraction-free way to own every inbound request, without paying for enterprise baggage./p>/div>div classmax-w-xl mx-auto flex-shrink-0>a classinline-flex items-center justify-center gap-2 rounded-xl bg-primary px-6 md:px-8 py-3 md:py-4 text-base md:text-lg font-semibold text-white shadow-lg shadow-primary/25 transition-all duration-200 hover:-translate-y-1 hover:bg-primary/90 hover:shadow-xl hover:shadow-primary/30 w-full href/register>Start your 30 days free trialsvg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM13 7l5 5m0 0l-5 5m5-5H6>/path>/svg>/a>div classmt-3 flex items-center justify-center gap-2 text-sm text-text/70>svg classh-4 w-4 shrink-0 text-emerald-600 dark:text-emerald-400 fillcurrentColor viewBox0 0 20 20>path fill-ruleevenodd dM10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z clip-ruleevenodd>/path>/svg>p classfont-medium>span>No credit card needed, Cancel Anytime, /span>a classtext-primary hover:underline href/pricing>Starts from 4.99$/a>span>/span>/p>/div>/div>div classgrid grid-cols-1 gap-3 sm:grid-cols-3 sm:gap-4 flex-shrink-0>div classgroup rounded-xl border border-border-subtle bg-surface p-5 text-center shadow-sm flex flex-col items-center transition-all duration-300 hover:shadow-md>div classmb-3 transition-transform duration-300 ease-out group-hover:scale-110>svg classh-6 w-6 text-primary fillnone strokecurrentColor viewBox0 0 24 24>circle cx12 cy12 r9 stroke-width2>/circle>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8v4l3 3>/path>circle cx12 cy12 r1 fillcurrentColor>/circle>circle cx14.59 cy2.34 r1 fillcurrentColor>/circle>circle cx9.41 cy2.34 r1 fillcurrentColor>/circle>/svg>/div>div classtext-3xl font-bold text-primary transition-transform duration-300 ease-out group-hover:scale-110>15m/div>p classmt-1 text-xs leading-tight text-text/70>Average response time during trial/p>/div>div classgroup rounded-xl border border-border-subtle bg-surface p-5 text-center shadow-sm flex flex-col items-center transition-all duration-300 hover:shadow-md>div classmb-3 transition-transform duration-300 ease-out group-hover:scale-110>svg classh-6 w-6 text-primary fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10>/path>/svg>/div>div classtext-3xl font-bold text-primary transition-transform duration-300 ease-out group-hover:scale-110>92%/div>p classmt-1 text-xs leading-tight text-text/70>Tickets prioritized automatically by rules/p>/div>div classgroup rounded-xl border border-border-subtle bg-surface p-5 text-center shadow-sm flex flex-col items-center transition-all duration-300 hover:shadow-md>div classmb-3 transition-transform duration-300 ease-out group-hover:scale-110>svg classh-6 w-6 text-primary fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>div classtext-3xl font-bold text-primary transition-transform duration-300 ease-out group-hover:scale-110>24/7/div>p classmt-1 text-xs leading-tight text-text/70>Availability for customer intake/p>/div>/div>/div>div classrelative overflow-hidden rounded-2xl border border-border-subtle bg-gradient-to-br from-primary/5 via-surface to-primary/5 shadow-lg>div classrelative min-h-500px lg:min-h-600px bg-gradient-to-br from-slate-50 to-slate-100 dark:from-slate-900 dark:to-slate-800 overflow-hidden>div classabsolute bottom-0 left-0 right-0 px-3 py-2 sm:px-6 sm:py-4 space-y-2 sm:space-y-3 z-30>div classflex items-start gap-3 rounded-xl border border-white/30 bg-primary/5 backdrop-blur-md p-2.5 sm:p-3 shadow-xl shadow-primary/10 max-w-92% sm:max-w-80% mx-auto>div classflex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary>svg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>div classmin-w-0>p classtext-sm font-semibold text-text>Ownership stays clear/p>p classmt-1 text-xs leading-relaxed text-text/70>Track assignments and hand-offs so nothing is left without an owner./p>/div>/div>div classflex items-start gap-3 rounded-xl border border-white/30 bg-primary/5 backdrop-blur-md p-2.5 sm:p-3 shadow-xl shadow-primary/10 max-w-92% sm:max-w-80% mx-auto>div classflex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary>svg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>div classmin-w-0>p classtext-sm font-semibold text-text>Ensure timely responses/p>p classmt-1 text-xs leading-relaxed text-text/70>Attention scores surface tickets before deadlines slip./p>/div>/div>div classflex items-start gap-3 rounded-xl border border-white/30 bg-primary/5 backdrop-blur-md p-2.5 sm:p-3 shadow-xl shadow-primary/10 max-w-92% sm:max-w-80% mx-auto>div classflex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary>svg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>div classmin-w-0>p classtext-sm font-semibold text-text>Capture everything/p>p classmt-1 text-xs leading-relaxed text-text/70>Centralize requests from app, web, email, or agent calls./p>/div>/div>/div>div classabsolute inset-0 transition-transform duration-3000ms ease-in-out styletransform:translateX(0)>div classabsolute inset-y-0 left-0 w-130% h-full>img src/hero-preview-placeholder_en_light.png altBlueTickets Dashboard Preview classh-full w-full object-cover object-left-top z-10 transition-opacity duration-300 opacity-0 loadingeager fetchPriorityhigh/>/div>/div>div classabsolute inset-0 pointer-events-none z-20 bg-gradient-to-b from-white/40 via-white/40 to-transparent dark:from-black/25 dark:via-black/25 dark:to-transparent>/div>/div>/div>/div>/div>/section>section idwhy-bluetickets classrelative overflow-hidden px-4 py-12 md:py-20 lg:py-24 bg-gradient-to-b from-surface via-bg to-surface border-t border-border-subtle flex items-center stylemin-height:var(--section-min-height, calc(100vh - var(--topbar-height, 72px)));scroll-margin-top:var(--topbar-height, 72px);padding-top:calc(3.5rem * var(--vh-scale, 1));padding-bottom:calc(3.5rem * var(--vh-scale, 1))>div classpointer-events-none absolute inset-0 -z-10>div classabsolute -top-24 left-0 h-500px w-500px rounded-full bg-blue-100/40 dark:bg-blue-900/20 blur-100px>/div>div classabsolute -bottom-32 right-0 h-400px w-400px rounded-full bg-primary/10 dark:bg-primary/20 blur-120px>/div>/div>div classmx-auto max-w-7xl w-full styletransform:scale(var(--section-scale, 1));transform-origin:top center;width:calc(100% / var(--section-scale, 1));margin-left:auto;margin-right:auto>div classtext-center mb-12>h2 classtext-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold text-text mb-4>Why BlueTickets?/h2>p classtext-lg text-text/70 max-w-2xl mx-auto hidden>Everything you need, nothing you don't/p>/div>div classmt-12>div classjsx-a715e67dc44646e0 relative w-full>button aria-labelPrevious card classjsx-a715e67dc44646e0 absolute left-0 top-1/2 -translate-y-1/2 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-surface border border-border-subtle shadow-lg hover:bg-surface-hover transition-all duration-200 hover:scale-110>svg fillnone strokecurrentColor viewBox0 0 24 24 classjsx-a715e67dc44646e0 h-5 w-5 text-text>path stroke-linecapround stroke-linejoinround stroke-width2 dM15 19l-7-7 7-7 classjsx-a715e67dc44646e0>/path>/svg>/button>div stylescrollbar-width:none;-ms-overflow-style:none classjsx-a715e67dc44646e0 flex gap-6 overflow-x-auto scrollbar-hide scroll-smooth pb-4 px-12>div classjsx-a715e67dc44646e0 why-card flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(33.333%-16px) min-w-280px max-w-400px>div classjsx-a715e67dc44646e0 h-full rounded-2xl border border-border-subtle bg-surface p-8 shadow-sm transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classjsx-a715e67dc44646e0 flex h-20 w-20 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-6 mx-auto>div classjsx-a715e67dc44646e0 h-12 w-12>svg classh-12 w-12 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>/div>h3 classjsx-a715e67dc44646e0 text-xl font-semibold text-text mb-4>Easy Setup in Under 10 Minutes/h3>p classjsx-a715e67dc44646e0 text-sm leading-relaxed text-text/70>Get your simple email ticketing system running in minutes. Connect your email domain and start creating tickets. Perfect for small businesses needing an easy-to-setup helpdesk without enterprise complexity./p>/div>/div>div classjsx-a715e67dc44646e0 why-card flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(33.333%-16px) min-w-280px max-w-400px>div classjsx-a715e67dc44646e0 h-full rounded-2xl border border-border-subtle bg-surface p-8 shadow-sm transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classjsx-a715e67dc44646e0 flex h-20 w-20 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-6 mx-auto>div classjsx-a715e67dc44646e0 h-12 w-12>svg classh-12 w-12 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>/div>h3 classjsx-a715e67dc44646e0 text-xl font-semibold text-text mb-4>Affordable Pricing for 1-2 Seats/h3>p classjsx-a715e67dc44646e0 text-sm leading-relaxed text-text/70>Affordable pricing designed for small teams. Start with 1-2 seats and scale as you grow. Our simple ticketing system costs a fraction compared to others, making it the best affordable helpdesk for startups./p>/div>/div>div classjsx-a715e67dc44646e0 why-card flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(33.333%-16px) min-w-280px max-w-400px>div classjsx-a715e67dc44646e0 h-full rounded-2xl border border-border-subtle bg-surface p-8 shadow-sm transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classjsx-a715e67dc44646e0 flex h-20 w-20 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-6 mx-auto>div classjsx-a715e67dc44646e0 h-12 w-12>svg classh-12 w-12 fillnone strokecurrentColor viewBox0 0 24 24>defs>mask idphoneMask>rect width24 height24 fillwhite>/rect>rect x13 y7 width10 height9 fillblack>/rect>/mask>/defs>g maskurl(#phoneMask)>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z>/path>/g>path strokecurrentColor stroke-linecapround stroke-linejoinround stroke-width2 fillnone dM14 8h8a1 1 0 011 1v6a1 1 0 01-1 1h-8a1 1 0 01-1-1V9a1 1 0 011-1z>/path>path stroke-linecapround stroke-linejoinround stroke-width2 dM14 8l4 3 4-3>/path>/svg>/div>/div>h3 classjsx-a715e67dc44646e0 text-xl font-semibold text-text mb-4>Email, Web & Mobile Integration/h3>p classjsx-a715e67dc44646e0 text-sm leading-relaxed text-text/70>Our email-based ticketing system converts emails into tickets automatically. Create tickets from email, web, or mobile using our simple API. Centralizes all support requests into one simple system./p>/div>/div>div classjsx-a715e67dc44646e0 why-card flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(33.333%-16px) min-w-280px max-w-400px>div classjsx-a715e67dc44646e0 h-full rounded-2xl border border-border-subtle bg-surface p-8 shadow-sm transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classjsx-a715e67dc44646e0 flex h-20 w-20 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-6 mx-auto>div classjsx-a715e67dc44646e0 h-12 w-12>svg classh-12 w-12 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z>/path>/svg>/div>/div>h3 classjsx-a715e67dc44646e0 text-xl font-semibold text-text mb-4>Developer-Friendly APIs for Custom Workflows/h3>p classjsx-a715e67dc44646e0 text-sm leading-relaxed text-text/70>Integrate with our simple RESTful API. Create tickets programmatically, update statuses, and build custom workflows. Perfect for developers needing a simple API ticketing solution./p>/div>/div>/div>button aria-labelNext card classjsx-a715e67dc44646e0 absolute right-0 top-1/2 -translate-y-1/2 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-surface border border-border-subtle shadow-lg hover:bg-surface-hover transition-all duration-200 hover:scale-110>svg fillnone strokecurrentColor viewBox0 0 24 24 classjsx-a715e67dc44646e0 h-5 w-5 text-text>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classjsx-a715e67dc44646e0>/path>/svg>/button>/div>/div>div classmt-10>div classmt-6 w-full px-2>style> .social-badge-0 img { max-width: 250px; } @media (min-width: 640px) { .social-badge-0 img { max-width: 250px; } } .social-badge-1 img { max-width: 150px; } @media (min-width: 640px) { .social-badge-1 img { max-width: 150px; } } .social-badge-2 img { max-width: 180px; } @media (min-width: 640px) { .social-badge-2 img { max-width: 180px; } } .social-badge-3 img { max-width: 150px; } @media (min-width: 640px) { .social-badge-3 img { max-width: 150px; } } /style>div classmx-auto flex max-w-4xl flex-wrap items-center justify-center gap-x-3 gap-y-3 sm:gap-x-6 sm:gap-y-4 min-h-10>a hrefhttps://www.producthunt.com/products/bluetickets?embedtrue&utm_sourcebadge-featured&utm_mediumbadge&utm_campaignbadge-bluetickets target_blank relnoopener noreferrer aria-labelView BlueTickets on Product Hunt classsocial-badge-0 flex-shrink-0 rounded-lg px-4 py-2 transition inline-flex items-center gap-3 min-h-10 max-w-4xl>img srchttps://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id1055458&themelight&t491962 altBlueTickets Product Hunt badge loadinglazy decodingasync classblock dark:hidden h-10 w-auto sm:h-10/>img srchttps://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id1055458&themedark&t491962 altBlueTickets Product Hunt badge loadinglazy decodingasync classhidden dark:block h-10 w-auto sm:h-10/>/a>a hrefhttps://www.saashub.com/bluetickets?utm_sourcebadge&utm_campaignbadge&utm_contentbluetickets&badge_variantcolor&badge_kindapproved target_blank relnoopener noreferrer aria-labelView BlueTickets on SaaSHub classsocial-badge-1 flex-shrink-0 rounded-lg px-4 py-2 transition inline-flex items-center gap-3 min-h-10 max-w-4xl>img srchttps://cdn-b.saashub.com/img/badges/approved-color.png?v1 altBlueTickets SaaSHub badge loadinglazy decodingasync classh-10 w-auto sm:h-10/>/a>a hrefhttps://www.uneed.best/tool/bluetickets target_blank relnoopener noreferrer aria-labelView BlueTickets on Uneed classsocial-badge-2 flex-shrink-0 rounded-lg px-4 py-2 transition inline-flex items-center gap-3 min-h-10 max-w-4xl>img src/badges/EMBED1.png altBlueTickets Uneed badge loadinglazy decodingasync classblock dark:hidden h-10 w-auto sm:h-10/>img src/badges/EMBED1B.png altBlueTickets Uneed badge loadinglazy decodingasync classhidden dark:block h-10 w-auto sm:h-10/>/a>a hrefhttps://trylaunch.ai/launch/bluetickets target_blank reldofollow aria-labelView BlueTickets on Launch classsocial-badge-3 flex-shrink-0 border border-gray-300 dark:border-gray-700 rounded-lg px-2 py-0 sm:px-3 sm:py-0 transition inline-flex items-center gap-2 text-#1A1A1A dark:text-#FFFFFF min-h-10>img srchttps://trylaunch.ai/launch-icon-dark.png altLaunch width28 height28 classblock dark:hidden h-6 sm:h-10 sm:w-auto/>img srchttps://trylaunch.ai/launch-icon-light.png altLaunch width28 height28 classhidden dark:block h-6 sm:h-10 sm:w-auto/>span classtext-xs font-medium>Live on Launch/span>/a>/div>/div>/div>/div>/section>section idfor-users classrelative overflow-hidden px-4 bg-gradient-to-b from-surface via-bg to-surface border-t border-border-subtle flex items-center stylemin-height:var(--section-min-height, calc(100vh - var(--topbar-height, 72px)));scroll-margin-top:var(--topbar-height, 72px);padding-top:calc(3rem * var(--vh-scale, 1));padding-bottom:calc(3rem * var(--vh-scale, 1))>div classmx-auto max-w-7xl w-full styletransform:scale(var(--section-scale, 1));transform-origin:top center;width:calc(100% / var(--section-scale, 1));margin-left:auto;margin-right:auto>div classtext-center mb-12>h2 classtext-3xl md:text-4xl font-bold text-text mb-4>Team Friendly/h2>p classtext-lg text-text/70 max-w-2xl mx-auto hidden>Built for small teams that move fast/p>/div>div classflex flex-col items-center>div classw-full max-w-3xl mb-8>div classrelative w-full overflow-hidden rounded-lg>div classrelative w-full overflow-hidden rounded-lg stylepadding-bottom:56.25%>div classabsolute top-0 left-0 w-full h-full>/div>/div>/div>/div>div classmt-8 flex flex-wrap items-center justify-center gap-3>a hrefhttps://x.com/BlueTicketsOFC target_blank relnoopener noreferrer classgroup inline-flex items-center justify-center gap-2 rounded-xl border border-border-subtle bg-surface px-4 py-2 text-sm font-semibold text-text/80 transition-all duration-200 hover:border-primary/30 hover:bg-surface/80 hover:text-primary aria-labelFollow us on X>svg classh-5 w-5 fillcurrentColor viewBox0 0 24 24 aria-hiddentrue>path dM18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z>/path>/svg>span classhidden sm:inline>Follow us on X/span>/a>a hrefhttps://www.linkedin.com/company/bluetickethelpdesk target_blank relnoopener noreferrer classgroup inline-flex items-center justify-center gap-2 rounded-xl border border-border-subtle bg-surface px-4 py-2 text-sm font-semibold text-text/80 transition-all duration-200 hover:border-primary/30 hover:bg-surface/80 hover:text-primary aria-labelFollow us on LinkedIn>svg classh-5 w-5 fillcurrentColor viewBox0 0 24 24 aria-hiddentrue>path dM20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z>/path>/svg>span classhidden sm:inline>Follow us on LinkedIn/span>/a>a hrefhttps://www.youtube.com/@BlueTicketsOfficial target_blank relnoopener noreferrer classgroup inline-flex items-center justify-center gap-2 rounded-xl border border-border-subtle bg-surface px-4 py-2 text-sm font-semibold text-text/80 transition-all duration-200 hover:border-primary/30 hover:bg-surface/80 hover:text-primary aria-labelFollow us on YouTube>svg classh-5 w-5 fillcurrentColor viewBox0 0 24 24 aria-hiddentrue>path dM23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z>/path>/svg>span classhidden sm:inline>Follow us on YouTube/span>/a>/div>/div>/div>/section>section idfor-developers classrelative overflow-hidden px-4 bg-gradient-to-b from-surface via-surface/50 to-surface dark:from-bg dark:via-surface dark:to-bg border-t border-border-subtle flex flex-col justify-center stylemin-height:var(--section-min-height, calc(100vh - var(--topbar-height, 72px)));scroll-margin-top:var(--topbar-height, 72px);padding-top:calc(3.5rem * var(--vh-scale, 1));padding-bottom:calc(3.5rem * var(--vh-scale, 1))>div classpointer-events-none absolute inset-0 -z-10 bg-gradient-to-b from-slate-50/50 to-white/50 dark:from-surface/30 dark:to-bg/30>/div>div classmx-auto max-w-7xl w-full styletransform:scale(var(--section-scale, 1));transform-origin:top center;width:calc(100% / var(--section-scale, 1));margin-left:auto;margin-right:auto>div classtext-center>h2 classtext-2xl sm:text-3xl md:text-4xl font-bold text-text>Developers friendly/h2>p classmx-auto mt-4 max-w-2xl text-lg text-text/70 hidden>RESTful APIs, webhooks, and developer-friendly tools to integrate BlueTickets into your applications/p>/div>div classmt-16 grid gap-8 md:grid-cols-2 lg:grid-cols-3>div classrounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg>div classflex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z>/path>/svg>/div>h3 classtext-xl font-semibold text-text mb-2>RESTful API/h3>p classtext-sm leading-relaxed text-text/70>Comprehensive REST API with JSON responses. Create tickets, update statuses, retrieve analytics, and manage your support queue programmatically./p>/div>div classrounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg>div classflex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z>/path>/svg>/div>h3 classtext-xl font-semibold text-text mb-2>API Key Authentication/h3>p classtext-sm leading-relaxed text-text/70>Simple Bearer token authentication. Generate multiple API keys per organization for different environments and applications./p>/div>div classrounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg>div classflex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z>/path>/svg>/div>h3 classtext-xl font-semibold text-text mb-2>Rate Limiting/h3>p classtext-sm leading-relaxed text-text/70>Built-in rate limiting with clear headers. 100 requests per minute per API key with automatic retry-after guidance./p>/div>div classrounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg>div classflex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM13 10V3L4 14h7v7l9-11h-7z>/path>/svg>/div>h3 classtext-xl font-semibold text-text mb-2>Inbound Email/h3>p classtext-sm leading-relaxed text-text/70>Our email-based ticketing system turns inbound emails into tickets automatically, supporting custom domains with SPF, DKIM, and DMARC verification. Perfect for small businesses needing a simple, affordable solution that works with your existing email setup./p>/div>div classrounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg>div classflex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253>/path>/svg>/div>h3 classtext-xl font-semibold text-text mb-2>Complete Documentation/h3>p classtext-sm leading-relaxed text-text/70>Comprehensive API documentation with examples, error codes, and best practices. Interactive test environment included./p>/div>div classrounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg>div classflex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4>svg classh-6 w-6 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z>/path>/svg>/div>h3 classtext-xl font-semibold text-text mb-2>Test Environment/h3>p classtext-sm leading-relaxed text-text/70>Public test API key with live ticket stream. Test your integration without affecting production data or sending notifications./p>/div>/div>div classmt-12 flex flex-col sm:flex-row items-center justify-center gap-4>a classinline-flex items-center justify-center gap-2 rounded-xl bg-primary px-6 py-3 text-base sm:px-8 sm:py-4 sm:text-lg font-semibold text-white transition-all duration-200 hover:bg-primary/90 hover:shadow-lg w-full sm:w-auto min-w-0 sm:min-w-240px href/developers/test>Test the API heresvg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM13 7l5 5m0 0l-5 5m5-5H6>/path>/svg>/a>a classinline-flex items-center justify-center gap-2 rounded-xl border-2 border-primary bg-surface px-6 py-3 text-base sm:px-8 sm:py-4 sm:text-lg font-semibold text-primary transition-all duration-200 hover:bg-primary hover:text-white hover:shadow-lg w-full sm:w-auto min-w-0 sm:min-w-240px href/docs>View API Documentationsvg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM13 7l5 5m0 0l-5 5m5-5H6>/path>/svg>/a>/div>/div>/section>section classrelative overflow-hidden px-4 py-16 md:py-20 bg-gradient-to-b from-bg via-surface to-bg border-t border-border-subtle>div classmx-auto max-w-7xl>div classmb-8 text-center>h2 classtext-3xl font-bold text-text md:text-4xl>Latest Articles & Guides/h2>p classmt-4 text-lg text-text/70 hidden>Expert insights on help desk software, customer support, and ticketing systems/p>/div>div classrelative w-full>div classflex gap-6 overflow-x-auto scrollbar-hide scroll-smooth pb-4 stylescrollbar-width:none;-ms-overflow-style:none>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/ai-powered-email-filtering-smart-ticket-categorization>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/ai-powered-email-filtering-smart-ticket-categorization/image.jpg altAI-Powered Email Filtering and Smart Ticket Categorization: Keep Your Support Team Organized classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>features/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>AI-Powered Email Filtering and Smart Ticket Categorization: Keep Your Support Team Organized/h3>p classtext-sm text-text/70 line-clamp-2>Discover how AI-powered email filtering and automatic ticket categorization help support teams stay organized, reduce false tickets, and save time. Learn how intelligent filtering keeps your inbox clean and your agents focused on real customer issues./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>12!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/top-10-help-desk-software-startups-2026>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/top-10-help-desk-software-startups-2026/image.jpg altTop 10 Help Desk Software for Startups in 2026: A Comprehensive Comparison classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>comparison/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>Top 10 Help Desk Software for Startups in 2026: A Comprehensive Comparison/h3>p classtext-sm text-text/70 line-clamp-2>An in-depth review comparing 10 helpdesk tools (including BlueTickets) based on features like API integrations, pricing, and scalability for growing teams./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>12!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/best-free-affordable-help-desk-tools-bootstrapped-startups>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/best-free-affordable-help-desk-tools-bootstrapped-startups/image.jpg altBest Free and Affordable Help Desk Tools for Bootstrapped Startups classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>guide/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>Best Free and Affordable Help Desk Tools for Bootstrapped Startups/h3>p classtext-sm text-text/70 line-clamp-2>Guide to budget-friendly help desk options, focusing on free trials and low-cost plans. Learn how to transition from spreadsheets to proper ticketing systems./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>10!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/best-affordable-alternatives-zendesk-freshdesk-2026>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/best-affordable-alternatives-zendesk-freshdesk-2026/image.jpg altBest Affordable Alternatives to Zendesk and Freshdesk in 2026 classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>comparison/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>Best Affordable Alternatives to Zendesk and Freshdesk in 2026/h3>p classtext-sm text-text/70 line-clamp-2>Compare affordable helpdesk alternatives to Zendesk and Freshdesk. Discover budget-friendly options with email ticketing, simple APIs, and manual ticket creation perfect for small teams and startups./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>14!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/how-to-choose-cheap-ticketing-system-easy-email-setup>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/how-to-choose-cheap-ticketing-system-easy-email-setup/image.jpg altWhat makes a Ticketing System with Easy Email Setup cheap but good classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>guide/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>What makes a Ticketing System with Easy Email Setup cheap but good/h3>p classtext-sm text-text/70 line-clamp-2>Complete guide to selecting an affordable ticketing system with simple email integration. Learn what to look for, compare pricing, and set up email-based ticketing for your small business in under 30 minutes./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>12!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/simple-vs-complex-helpdesk-email-ticketing>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/simple-vs-complex-helpdesk-email-ticketing/image.jpg altSimple vs. Complex Helpdesk: Why Small Teams Need Email-Based Ticketing classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>comparison/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>Simple vs. Complex Helpdesk: Why Small Teams Need Email-Based Ticketing/h3>p classtext-sm text-text/70 line-clamp-2>Discover why simple email-based ticketing systems are better for small teams than complex enterprise helpdesk software. Learn the key differences and find the right solution for your business size./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>10!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/automated-ticket-management-small-teams>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/automated-ticket-management-small-teams/image.jpg altHow to Set Up Automated Ticket Management for Your Small Team classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>tutorial/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>How to Set Up Automated Ticket Management for Your Small Team/h3>p classtext-sm text-text/70 line-clamp-2>Step-by-step tutorial on implementing automation in helpdesks, using BlueTickets as an example for prioritization, alerts, and integrations. Includes case studies showing time savings./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>15!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>a classarticle-card group flex-shrink-0 w-full sm:w-calc(50%-12px) lg:w-calc(50%-12px) min-w-280px max-w-500px href/articles/developer-friendly-help-desks-api-integration>div classh-full rounded-xl border border-border-subtle bg-surface overflow-hidden transition-all duration-300 hover:border-primary/30 hover:shadow-lg>div classrelative w-full aspect-video overflow-hidden bg-surface/50>img src/articles/en/developer-friendly-help-desks-api-integration/image.jpg altDeveloper-Friendly Help Desks: Integrating APIs for Custom Ticketing Workflows classh-full w-full object-cover transition-transform duration-300 group-hover:scale-105 loadinglazy decodingasync/>/div>div classp-4 space-y-3>span classinline-block rounded-full bg-primary/10 px-2.5 py-1 text-xs font-semibold text-primary uppercase tracking-wide>technical/span>h3 classtext-lg font-bold text-text line-clamp-2 group-hover:text-primary transition-colors>Developer-Friendly Help Desks: Integrating APIs for Custom Ticketing Workflows/h3>p classtext-sm text-text/70 line-clamp-2>Focus on API-driven customizations for tech teams, showcasing BlueTickets' RESTful API and webhooks. Provide examples for developers building on top of it./p>div classflex items-center justify-between pt-2 border-t border-border-subtle>div classflex items-center gap-3 text-xs text-text/60>span>20!-- --> !-- -->min read/span>/div>span classtext-sm font-semibold text-primary group-hover:underline transition-colors>Read more!-- --> →/span>/div>/div>/div>/a>/div>button classabsolute left-0 top-1/2 -translate-y-1/2 -translate-x-4 rounded-full bg-surface/90 p-2 text-text shadow-lg transition hover:bg-surface border border-border-subtle z-10 aria-labelPrevious article>svg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM15 19l-7-7 7-7>/path>/svg>/button>button classabsolute right-0 top-1/2 -translate-y-1/2 translate-x-4 rounded-full bg-surface/90 p-2 text-text shadow-lg transition hover:bg-surface border border-border-subtle z-10 aria-labelNext article>svg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7>/path>/svg>/button>/div>div classmt-8 text-center>a classinline-flex items-center gap-2 rounded-xl border-2 border-primary bg-surface px-6 py-3 text-base font-semibold text-primary transition-all duration-200 hover:bg-primary hover:text-white hover:shadow-lg href/articles>View all articlessvg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM13 7l5 5m0 0l-5 5m5-5H6>/path>/svg>/a>/div>/div>/section>section idfaq classpx-4 border-t border-border-subtle flex items-center stylemin-height:var(--section-min-height, calc(100vh - var(--topbar-height, 72px)));scroll-margin-top:var(--topbar-height, 72px);padding-top:calc(3rem * var(--vh-scale, 1));padding-bottom:calc(3rem * var(--vh-scale, 1))>div classmx-auto max-w-4xl w-full styletransform:scale(var(--section-scale, 1));transform-origin:top center;width:calc(100% / var(--section-scale, 1));margin-left:auto;margin-right:auto>div classtext-center mb-8 md:mb-12>h2 classtext-2xl md:text-3xl lg:text-4xl font-bold text-text>Frequently Asked Questions/h2>p classmt-3 md:mt-4 text-base md:text-lg text-text/70 hidden>Quick answers to common questions/p>/div>div classspace-y-3 md:space-y-4>details classgroup rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md>summary classcursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2>span>What is BlueTickets?/span>svg classh-5 w-5 text-text/40 transition-transform group-open:rotate-180 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7>/path>/svg>/summary>div classmt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none>p classmb-4 leading-relaxed text-text/80>BlueTickets is a multi-tenant helpdesk and ticketing system designed for small teams. It helps you centralize support requests from multiple channels (email, web, mobile apps, and agent-created tickets) into a single, organized workflow./p>/div>/details>details classgroup rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md>summary classcursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2>span>How do I get started?/span>svg classh-5 w-5 text-text/40 transition-transform group-open:rotate-180 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7>/path>/svg>/summary>div classmt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none>ol classlist-decimal list-outside space-y-2 my-4 ml-6>li classmb-1>strong classfont-semibold text-text>Sign up/strong> for a free 30-day trial at bluetickets.app/li>li classmb-1>strong classfont-semibold text-text>Create your organization/strong> - Set your organization name and default settings/li>li classmb-1>strong classfont-semibold text-text>Invite team members/strong> - Add teammates by email; they'll receive secure invitation links/li>li classmb-1>strong classfont-semibold text-text>Connect your support email/strong> (optional) - Set up email forwarding to receive tickets via email/li>li classmb-1>strong classfont-semibold text-text>Start creating tickets/strong> - Use the web interface, API, or email forwarding/li>/ol>/div>/details>details classgroup rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md>summary classcursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2>span>Do I need a credit card to start?/span>svg classh-5 w-5 text-text/40 transition-transform group-open:rotate-180 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7>/path>/svg>/summary>div classmt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none>p classmb-4 leading-relaxed text-text/80>No. The 30-day free trial requires no credit card. You can explore all features during the trial period./p>/div>/details>details classgroup rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md>summary classcursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2>span>How long does setup take?/span>svg classh-5 w-5 text-text/40 transition-transform group-open:rotate-180 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7>/path>/svg>/summary>div classmt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none>p classmb-4 leading-relaxed text-text/80>Most teams can complete the initial setup in under 30 minutes. This includes:/p>ul classlist-disc list-outside space-y-2 my-4 ml-6>li classmb-1>Creating your organization/li>li classmb-1>Inviting team member/li>li classmb-1>Configuring email forwarding for ticket collection/li>li classmb-1>Connecting your support email (if desired)/li>li classmb-1>Configuring basic settings/li>/ul>/div>/details>details classgroup rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md>summary classcursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2>span>What is an organization?/span>svg classh-5 w-5 text-text/40 transition-transform group-open:rotate-180 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7>/path>/svg>/summary>div classmt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none>p classmb-4 leading-relaxed text-text/80>An organization is your workspace in BlueTickets. All tickets, users, API keys, and settings belong to a specific organization. Each organization is completely isolated from others (multi-tenant architecture)./p>/div>/details>/div>div classmt-8 text-center>a classinline-flex items-center gap-2 rounded-xl border-2 border-primary bg-surface px-6 py-3 text-base font-semibold text-primary transition-all duration-200 hover:bg-primary hover:text-white hover:shadow-lg href/help/faq>View all FAQssvg classh-5 w-5 fillnone strokecurrentColor viewBox0 0 24 24>path stroke-linecapround stroke-linejoinround stroke-width2 dM13 7l5 5m0 0l-5 5m5-5H6>/path>/svg>/a>/div>/div>/section>script typeapplication/ld+json>{@context:https://schema.org,@type:SoftwareApplication,name:BlueTickets,applicationCategory:BusinessApplication,operatingSystem:Web,offers:{@type:Offer,price:4.99,priceCurrency:USD,priceSpecification:{@type:UnitPriceSpecification,price:4.99,priceCurrency:USD,unitText:MONTH}},featureList:Email Integration,RESTful API,Manual Ticket Creation,Multi-tenant,API Key Authentication,Custom Domain Support,SPF/DKIM/DMARC Verification,description:Simple, affordable email ticketing system for small businesses. Easy setup, email integration, RESTful APIs, and manual ticket creation.,url:https://bluetickets.app}/script>/main>!--$?-->template idB:1>/template>!--/$-->/main>footer classmt-16 border-t border-border-subtle>div classmx-auto max-w-6xl px-4 py-8 md:py-6>div classflex flex-col gap-6 md:flex-row md:items-center md:justify-between md:gap-4>div classflex items-center justify-center gap-2 text-sm text-text/70 md:justify-start>span>© !-- -->2026!-- --> !-- -->BlueTickets!-- --> powered by/span>a hrefhttps://www.ingeniousdynamics.com target_blank relnoopener noreferrer classflex items-center transition hover:opacity-80>img srchttps://www.ingeniousdynamics.com/images/logo.svg altIngenious Dynamics classh-4 w-auto/>/a>/div>div classflex-1 hidden md:block>/div>nav classgrid grid-cols-2 gap-x-4 gap-y-3 justify-items-center md:flex md:flex-row md:items-center md:gap-4 md:justify-end>a classtext-sm font-medium text-text/70 transition hover:text-primary href/docs>Documentation/a>a classtext-sm font-medium text-text/70 transition hover:text-primary href/help>Help & Support/a>a classtext-sm font-medium text-text/70 transition hover:text-primary href/legal/user-agreement>User Agreement/a>a classtext-sm font-medium text-text/70 transition hover:text-primary href/legal/privacy>Privacy Policy/a>/nav>/div>/div>/footer>script>requestAnimationFrame(function(){$RTperformance.now()});/script>script src/_next/static/chunks/webpack-67b93cee552c3862.js id_R_ async>/script>div hidden idS:1>/div>script>$RB;$RVfunction(a){$RTperformance.now();for(var b0;ba.length;b+2){var cab,eab+1;null!e.parentNode&&e.parentNode.removeChild(e);var fc.parentNode;if(f){var gc.previousSibling,h0;do{if(c&&8c.nodeType){var dc.data;if(/$d||/&d)if(0h)break;else h--;else$!d&&$?!d&&$~!d&&$!!d&&&!d||h++}dc.nextSibling;f.removeChild(c);cd}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data$;g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length0};$RCfunction(a,b){if(bdocument.getElementById(b))(adocument.getElementById(a))?(a.previousSibling.data$~,$RB.push(a,b),2$RB.length&&(number!typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(aperformance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC(B:1,S:1)/script>title>BlueTickets: Simple Affordable Email Ticketing System for Small Businesses/title>meta namedescription contentDiscover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more./>link relmanifest href/site.webmanifest/>meta namekeywords contentsimple email ticketing system,affordable helpdesk,small business ticketing,email-based ticketing,API ticketing,easy setup helpdesk,manual ticket creation/>link relcanonical hrefhttps://bluetickets.app/>meta propertyog:title contentBlueTickets: Simple Affordable Email Ticketing System for Small Businesses/>meta propertyog:description contentDiscover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more./>meta propertyog:url contenthttps://bluetickets.app/>meta propertyog:site_name contentBlueTickets/>meta propertyog:type contentwebsite/>meta nametwitter:card contentsummary_large_image/>meta nametwitter:title contentBlueTickets: Simple Affordable Email Ticketing System for Small Businesses/>meta nametwitter:description contentDiscover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more./>link relicon href/favicon.ico typeimage/x-icon sizes16x16/>link relicon href/favicon-16x16.png sizes16x16 typeimage/png/>link relicon href/favicon-32x32.png sizes32x32 typeimage/png/>link relicon href/favicon.ico sizesany/>link relapple-touch-icon href/apple-touch-icon.png sizes180x180 typeimage/png/>script >document.querySelectorAll(body linkrelicon, body linkrelapple-touch-icon).forEach(el > document.head.appendChild(el))/script>div hidden idS:0>/div>script>$RC(B:0,S:0)/script>script>(self.__next_fself.__next_f||).push(0)/script>script>self.__next_f.push(1,1:\$Sreact.fragment\\n3:I9766,,\\\n4:I8924,,\\\n6:I4431,,\OutletBoundary\\n8:I5278,,\AsyncMetadataOutlet\\na:I4431,,\ViewportBoundary\\nc:I4431,,\MetadataBoundary\\nd:\$Sreact.suspense\\nf:I7150,,\\\n10:I1402,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\\\n14:I3479,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\ThemeProvider\\n15:I6894,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\I18nProvider\\n1f:I2382,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\ToastProvider\\n20:I4330,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\ScrollRestorer\\n21:I7631,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\SessionMonitor\\n22:I8148,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\ActivityMonitor\\n23:I8471,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\ConditionalHeader\\n24:I2619,\2619\,\)/script>script>self.__next_f.push(1,static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\\\n25:I5423,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\CookieConsent\\n26:I1048,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\9447\,\static/chunks/9447-6d6b4f53e570ff88.js\,\6224\,\static/chunks/6224-dc49ede0c3761dfd.js\,\7177\,\static/chunks/app/layout-ebdb42368a8a0f47.js\,\GoogleAnalytics\\n27:I259,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\HomePageScrollToTop\\n28:I5467,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\ViewportScale\\n29:I120,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\AnimatedStat\\n33:I9721,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\HomepagePreviewContainer\\n34:I5070,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\WhyBlueTicketsCarousel\\n37:I1002,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\HomepageVideo\\n38:I299,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\SocialMediaLinks\\n3e:I2975,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\ArticleCarousel\\n4c:I2410,\2619\,\static/chunks/2619-3c9e02e22d10480a.js\,\5359\,\static/chunks/app/(public)/page-e2e44c7d9ba418e9.js\,\SocialProofBadges\\n4d:I622,,\IconMark\\n:HL\/_next/static/css/a8c66b03c146f496.css\,\style\\n)/script>script>self.__next_f.push(1,0:{\P\:null,\b\:\U3q57yulwVBzLfPFVDoO2\,\p\:\\,\c\:\\,\\,\i\:false,\f\:\\,{\children\:\(public)\,{\children\:\__PAGE__\,{}}},\$undefined\,\$undefined\,true,\\,\$\,\$1\,\c\,{\children\:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/css/a8c66b03c146f496.css\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$L2\},{\children\:\(public)\,\$\,\$1\,\c\,{\children\:null,\$\,\$L3\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L4\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\title\,null,{\children\:\404: This page could not be found.\},\$\,\div\,null,{\style\:{\fontFamily\:\system-ui,\\\Segoe UI\\\,Roboto,Helvetica,Arial,sans-serif,\\\Apple Color Emoji\\\,\\\Segoe UI Emoji\\\\,\height\:\100vh\,\textAlign\:\center\,\display\:\flex\,\flexDirection\:\column\,\alignItems\:\center\,\justifyContent\:\center\},\children\:\$\,\div\,null,{\children\:\$\,\style\,null,{\dangerouslySetInnerHTML\:{\__html\:\body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\}},\$\,\h1\,null,{\className\:\next-error-h1\,\style\:{\display\:\inline-block\,\margin\:\0 20px 0 0\,\padding\:\0 23px 0 0\,\fontSize\:24,\fontWeight\:500,\verticalAlign\:\top\,\lineHeight\:\49px\},\children\:404},\$\,\div\,null,{\style\:{\display\:\inline-block\},\children\:\$\,\h2\,null,{\style\:{\fontSize\:14,\fontWeight\:400,\lineHeight\:\49px\,\margin\:0},\children\:\This page could not be found.\}}}},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\}},{\children\:\__PAGE__\,\$\,\$1\,\c\,{\children\:\$L5\,null,\$\,\$L6\,null,{\children\:\$L7\,\$\,\$L8\,null,{\promise\:\$@9\}}},{},null,false},null,false},null,false,\$\,\$1\,\h\,{\children\:null,\$\,\$La\,null,{\children\:\$Lb\},null,\$\,\$Lc\,null,{\children\:\$\,\div\,null,{\hidden\:true,\children\:\$\,\$d\,null,{\fallback\:null,\children\:\$Le\}}}},false,\m\:\$undefined\,\G\:\$f\,,\s\:false,\S\:false}\n)/script>script>self.__next_f.push(1,11:T816,)/script>script>self.__next_f.push(1,\n\t\t\t\t\t\t\t(function() {\n\t\t\t\t\t\t\t\tfunction updateViewportScale() {\n\t\t\t\t\t\t\t\t\t// Only apply scaling on desktop/larger screens (\u003e 768px width)\n\t\t\t\t\t\t\t\t\t// Mobile has a completely different layout and doesnt need this scaling\n\t\t\t\t\t\t\t\t\tconst isMobile window.innerWidth \u003c 768;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif (isMobile) {\n\t\t\t\t\t\t\t\t\t\t// On mobile, set defaults to 1 (no scaling) and only set min-height\n\t\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--vh-scale, 1);\n\t\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-scale, 1);\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tconst vh window.innerHeight || 0;\n\t\t\t\t\t\t\t\t\t\tif (vh) {\n\t\t\t\t\t\t\t\t\t\t\tconst topbar parseFloat(\n\t\t\t\t\t\t\t\t\t\t\t\tgetComputedStyle(document.documentElement).getPropertyValue(--topbar-height) || 72\n\t\t\t\t\t\t\t\t\t\t\t) || 72;\n\t\t\t\t\t\t\t\t\t\t\tconst minHeightPx Math.max(360, vh - topbar);\n\t\t\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-min-height, minHeightPx + px);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tconst vh window.innerHeight || 0;\n\t\t\t\t\t\t\t\t\tif (!vh) return;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t// Scale for small heights: target 820px baseline, floor at 0.7 (~30% shrink)\n\t\t\t\t\t\t\t\t\tconst sectionScale Math.max(0.7, Math.min(1, vh / 820));\n\t\t\t\t\t\t\t\t\tconst vhScale Math.min(1, vh / 820);\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--vh-scale, vhScale.toFixed(3));\n\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-scale, sectionScale.toFixed(3));\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t// Get topbar height (default to 72 if not set yet)\n\t\t\t\t\t\t\t\t\tconst topbar parseFloat(\n\t\t\t\t\t\t\t\t\t\tgetComputedStyle(document.documentElement).getPropertyValue(--topbar-height) || 72\n\t\t\t\t\t\t\t\t\t) || 72;\n\t\t\t\t\t\t\t\t\tconst minHeightPx Math.max(360, vh - topbar);\n\t\t\t\t\t\t\t\t\tdocument.documentElement.style.setProperty(--section-min-height, minHeightPx + px);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Run immediately\n\t\t\t\t\t\t\t\tupdateViewportScale();\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Also run on resize (will be replaced by React component)\n\t\t\t\t\t\t\t\twindow.addEventListener(resize, updateViewportScale);\n\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t)/script>script>self.__next_f.push(1,12:Td4b,)/script>script>self.__next_f.push(1,\n(function() {\n function applyTheme(theme) {\n const root document.documentElement;\n if (theme dark) {\n root.classList.add(dark);\n root.classList.remove(light);\n root.style.colorScheme dark;\n } else {\n root.classList.remove(dark);\n root.classList.add(light);\n root.style.colorScheme light;\n }\n void root.offsetHeight;\n document.cookie qt_theme + theme + ; path/; max-age31536000; SameSiteLax;\n }\n \n function getThemeFromCookie() {\n const match document.cookie.match(/(?:^|;\\s*)qt_theme(dark|light)/);\n return match ? match1 : null;\n }\n \n function getTheme() {\n try {\n const cookieTheme getThemeFromCookie();\n if (cookieTheme dark || cookieTheme light) return cookieTheme;\n const savedTheme localStorage.getItem(theme);\n if (savedTheme dark || savedTheme light) return savedTheme;\n const systemPrefersDark window.matchMedia((prefers-color-scheme: dark)).matches;\n return systemPrefersDark ? dark : light;\n } catch (e) {\n return light;\n }\n }\n \n // Apply theme immediately - this runs BEFORE any content renders\n const theme getTheme();\n applyTheme(theme);\n \n // Re-apply when body becomes available (in case script runs before body exists)\n if (!document.body) {\n const bodyObserver new MutationObserver(function() {\n if (document.body) {\n applyTheme(theme);\n bodyObserver.disconnect();\n }\n });\n bodyObserver.observe(document.documentElement, { childList: true });\n }\n \n // Monitor for navigation and re-apply theme immediately\n if (typeof window ! undefined) {\n // Listen for theme changes from ThemeProvider\n window.addEventListener(themechange, function(e) {\n const newTheme e.detail?.theme;\n if (newTheme dark || newTheme light) {\n applyTheme(newTheme);\n }\n });\n \n // Intercept all link clicks to apply theme before navigation\n document.addEventListener(click, function(e) {\n const target e.target;\n let link target.closest(a);\n if (link \u0026\u0026 link.href \u0026\u0026 !link.target \u0026\u0026 link.href.startsWith(window.location.origin)) {\n // Apply theme immediately before navigation\n applyTheme(getTheme());\n }\n }, true); // Use capture phase to run before default action\n \n // Also monitor for class changes (fallback)\n const observer new MutationObserver(function() {\n const currentTheme getTheme();\n const root document.documentElement;\n const hasDark root.classList.contains(dark);\n if (currentTheme dark \u0026\u0026 !hasDark) {\n applyTheme(dark);\n } else if (currentTheme light \u0026\u0026 hasDark) {\n applyTheme(light);\n }\n });\n \n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: class\n });\n \n // Also check periodically to catch any missed updates (reduced frequency)\n setInterval(function() {\n const currentTheme getTheme();\n const root document.documentElement;\n const hasDark root.classList.contains(dark);\n if (currentTheme dark \u0026\u0026 !hasDark) {\n applyTheme(dark);\n } else if (currentTheme light \u0026\u0026 hasDark) {\n applyTheme(light);\n }\n }, 100); // Check every 100ms\n }\n})();\n)/script>script>self.__next_f.push(1,2:\$\,\html\,null,{\lang\:\en\,\className\:\$undefined\,\suppressHydrationWarning\:true,\children\:\$\,\head\,null,{\children\:\$\,\link\,null,{\rel\:\icon\,\type\:\image/png\,\sizes\:\16x16\,\href\:\/favicon-16x16.png\},\$\,\link\,null,{\rel\:\icon\,\type\:\image/png\,\sizes\:\32x32\,\href\:\/favicon-32x32.png\},\$\,\link\,null,{\rel\:\icon\,\type\:\image/x-icon\,\href\:\/favicon.ico\},\$\,\link\,null,{\rel\:\apple-touch-icon\,\sizes\:\180x180\,\href\:\/apple-touch-icon.png\},\$\,\style\,null,{\dangerouslySetInnerHTML\:{\__html\:\\\n\\t\\t\\t\\t\\t\\t\\t:root {\\n\\t\\t\\t\\t\\t\\t\\t\\t/* Calculate scale immediately using CSS - prevents flash on page load */\\n\\t\\t\\t\\t\\t\\t\\t\\t/* Only apply scaling on desktop (\u003e 768px) - mobile doesnt need it */\\n\\t\\t\\t\\t\\t\\t\\t\\t--section-scale: 1;\\n\\t\\t\\t\\t\\t\\t\\t\\t--vh-scale: 1;\\n\\t\\t\\t\\t\\t\\t\\t\\t--section-min-height: max(360px, calc(100vh - 72px));\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t@media (min-width: 768px) {\\n\\t\\t\\t\\t\\t\\t\\t\\t:root {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t--section-scale: max(0.7, min(1, calc(100vh / 820)));\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t--vh-scale: min(1, calc(100vh / 820));\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\}},\$\,\$L10\,null,{\id\:\viewport-scale-init\,\strategy\:\beforeInteractive\,\dangerouslySetInnerHTML\:{\__html\:\$11\}}},\$\,\body\,null,{\className\:\min-h-screen bg-bg text-text antialiased flex flex-col\,\children\:\$\,\$L10\,null,{\id\:\theme-script\,\strategy\:\beforeInteractive\,\dangerouslySetInnerHTML\:{\__html\:\$12\}},\$L13\}}\n)/script>script>self.__next_f.push(1,13:\$\,\$L14\,null,{\children\:\$\,\$L15\,null,{\dict\:{\common\:{\appName\:\BlueTickets\,\actions\:{\save\:\Save\,\saving\:\Saving...\,\creating\:\Creating...\,\cancel\:\Cancel\,\create\:\Create\,\edit\:\Edit\,\delete\:\Delete\,\update\:\Update\,\changeStatus\:\Change status\,\close\:\Close\,\proceed\:\Yes, proceed\},\verifyEmail\:{\pendingBadge\:\CHECK EMAIL\,\pendingTitle\:\Activate your account\,\pendingSubtitle\:\Check your inbox and spam folder, then click the Activate Account button to finish signing in.\,\pendingHint\:\The link expires in 48 hours.\,\pendingSpam\:\If you can’t find the email, check your spam folder or request a new one.\,\resendCta\:\Resend activation email\,\logoutCta\:\Sign out\,\resentSuccess\:\We just sent you another activation email.\,\subject\:\Activate your BlueTickets account\,\intro\:\Click the button below to activate your account.\,\button\:\Activate account\,\outro\:\If you didn’t create a BlueTickets account, you can ignore this email.\,\missingToken\:\Missing verification token.\,\invalidToken\:\This link is invalid or has already been used.\,\expiredToken\:\This link has expired. Request another activation email.\,\genericError\:\Unable to verify your email right now.\,\successMessage\:\Your email {email} is now verified. You can sign in to continue.\,\alreadyVerified\:\Your email is already verified. You can continue to the dashboard.\,\confirmTitle\:\Email verification\,\goToDashboard\:\Go to dashboard\,\backToLogin\:\Back to login\,\rateLimited\:\Please wait {seconds} seconds before requesting another verification email.\},\nav\:{\home\:\Home\,\dashboard\:\Dashboard\,\tickets\:\Tickets\,\settings\:\Settings\,\help\:\Help\,\devDocs\:\Dev Docs\},\sidebar\:{\adminOnlyTooltip\:\Only admins can access here\},\language\:{\english\:\English\,\italian\:\Italiano\},\auth\:{\login\:\Login\,\logout\:\Logout\,\welcomeBack\:\Welcome back\,\signInToAccount\:\Sign in to your BlueTickets account\,\accountCreated\:\Account created successfully. Please sign in.\,\sessionExpired\:\Your session ended due to inactivity. Please sign in again.\,\noAccount\:\Dont have an account?\,\signUp\:\Sign up\,\signIn\:\Sign in\,\signingIn\:\Signing in...\,\unableToSignIn\:\Unable to sign in\,\incorrectCredentials\:\Incorrect email or password.\,\loginFailedMessage\:\Login failed. Please try again.\,\loginFailedSupportText\:\If the problem persists,\,\contactSupport\:\contact support\,\createAccount\:\Create your account\,\startTrial\:\Start your free trial now\,\alreadyHaveAccount\:\Already have an account?\,\creatingAccount\:\Creating account...\,\unableToCreateAccount\:\Unable to create account\,\emailAlreadyExists\:\An account with this email already exists. Please sign in or use a different email address.\,\unexpectedError\:\Unexpected error. Please try again.\,\emailAddress\:\Email address\,\password\:\Password\,\confirmPassword\:\Confirm Password\,\passwordsDoNotMatch\:\Passwords do not match\,\firstName\:\First name\,\lastName\:\Last name\,\atLeast8Chars\:\At least 8 characters\,\passwordRequirements\:\Minimum 8 characters, include at least one uppercase letter and one number.\,\passwordRequirementMinLength\:\At least 8 characters\,\passwordRequirementUppercase\:\At least one uppercase letter\,\passwordRequirementNumber\:\At least one number\,\emailPlaceholder\:\you@company.com\,\firstNamePlaceholder\:\John\,\lastNamePlaceholder\:\Doe\,\acceptPrivacy\:\I accept the\,\privacyPolicy\:\Privacy Policy\,\acceptAgreement\:\I accept the\,\userAgreement\:\User Agreement\,\mustAcceptTerms\:\You must accept the Privacy Policy and User Agreement to continue.\,\nameRequired\:\First name and last name are required.\,\referralCode\:\Referral Code\,\referralCodeOptional\:\Referral Code (optional)\,\referralCodePlaceholder\:\ABC123\,\invalidReferralCode\:\The referral code you entered is not valid. Please check and try again.\,\referralCodeFromLink\:\Referral code from link (cannot be changed)\,\lostPassword\:\I lost my password\,\forgotPasswordTitle\:\Reset your password\,\forgotPasswordSubtitle\:\Enter your email address and well send you a link to reset your password.\,\sendResetLink\:\Send reset link\,\sendingResetLink\:\Sending...\,\resetLinkSent\:\If an account exists with that email, weve sent a password reset link.\,\resetPasswordTitle\:\Set new password\,\resetPasswordSubtitle\:\Enter your new password below.\,\resetPassword\:\Reset password\,\resettingPassword\:\Resetting...\,\passwordResetSuccess\:\Your password has been reset successfully. You can now sign in.\,\invalidResetToken\:\This reset link is invalid or has already been used.\,\expiredResetToken\:\This reset link has expired. Please request a new one.\,\passwordResetSubject\:\Reset your BlueTickets password\,\passwordResetIntro\:\Click the button below to reset your password. This link will expire in 1 hour.\,\passwordResetButton\:\Reset password\,\passwordResetOutro\:\If you didnt request a password reset, you can safely ignore this email.\,\backToLogin\:\Back to login\},\session\:{\expiredTitle\:\You were signed out\,\expiredMessage\:\For your security we ended the session after inactivity.\,\signBackIn\:\Sign back in\,\redirectingIn\:\Redirecting in {seconds}s\},\header\:{\account\:\Account settings\,\subscription\:\Subscription\,\createOrganization\:\Create Organization\},\footer\:{\description\:\Modern help desk built by Ingenious Dynamics.\,\copyright\:\© {year} BlueTickets\,\links\:{\documentation\:\Documentation\,\help\:\Help \u0026 Support\,\privacy\:\Privacy Policy\,\userAgreement\:\User Agreement\}},\copy\:{\copy\:\Copy\,\copyToClipboard\:\Copy to clipboard\,\copied\:\Copied!\},\tagline\:\Lightweight ticketing for small teams\,\limitExceeded\:{\contactSupport\:\Contact Support\},\meta\:{\description\:\Lightweight ticketing system for small teams. Streamline customer support with email integration, smart prioritization, and a modern interface. Start your free 30-day trial today.\,\seoTitle\:\BlueTickets: Simple Affordable Email Ticketing System for Small Businesses\,\seoDescription\:\Discover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more.\},\empty\:{\noTickets\:\No tickets yet.\},\tickets\:{\create\:\Create Ticket\,\createTicketHint\:\Someone called you for support and you want to track the ticket here? Create it manually →\,\title\:\Tickets\,\subtitle\:\Manage and track all support tickets, scroll down to see all tickets in the next table.\,\myTicketsTitle\:\My Tickets\,\myTicketsDescription\:\Tickets assigned to you. Scroll down to pick a ticket from All Tickets to start working on it.\,\myTicketsEmpty\:\You dont have any ticket assigned, scroll down to pick one from the All Open Tickets table!\,\allTicketsTitle\:\All Tickets\,\allTicketsDescription\:\All tickets in your organization. Click Pick to assign a ticket to yourself.\,\allOpenTicketsTitle\:\All Open Tickets\,\allOpenTicketsDescription\:\All open tickets in your organization. Click Pick to assign a ticket to yourself.\,\autoUrgentBadge\:\Attention\,\sortingInfoLink\:\How are tickets sorted?\,\sortingInfoTooltip\:\Learn how tickets are automatically sorted by importance\,\completedTicketsTitle\:\Completed Tickets\,\completedTicketsDescription\:\All completed tickets in your organization, theyre here mostly as a historical record. Click Reopen to continue working on a ticket.\,\spamTicketsTitle\:\Spam Tickets\,\spamTicketsDescription\:\Tickets marked as spam. Click Pick Ticket to move out of spam.\,\spamBadge\:\Spam\,\pickTicket\:\Pick\,\pickingTicket\:\Assigning ticket...\,\acceptRequest\:\Accept Request\,\pickFromSpamTitle\:\Pick Ticket from Spam\,\pickFromSpamConfirm\:\Are you sure you want to pick this ticket and move it out of spam?\,\pickFromSpamQuestion\:\Are you sure this is not spam?\,\yesPickItButton\:\Yes, Pick It\,\discardButton\:\No, Discard\,\ticketPreviewTitle\:\Ticket Preview\,\loadingTicketBody\:\Loading ticket content...\,\noTicketBody\:\No content available\,\receivedColumn\:\Received\,\pickFromSpamMissingTicketId\:\Ticket ID is required\,\pickFromSpamMissingCategory\:\Category is required\,\pickFromSpamTicketNotFound\:\Ticket not found or not spam\,\pickFromSpamSuccess\:\Ticket moved out of spam\,\pickFromSpamFailed\:\Failed to pick ticket from spam\,\selectCategory\:\Select Category\,\spamTicketWarning\:\This ticket is marked as spam\,\spamTicketDescription\:\This ticket is view-only. Click Pick Ticket below to move it out of spam and start working on it.\,\spamTicketNoReply\:\Replies are disabled for spam tickets. Pick the ticket to enable replies.\,\spamTicketViewOnly\:\View-only: Pick ticket to enable editing\,\reopenTicket\:\Reopen\,\reopeningTicket\:\Reopening ticket...\,\previewTitle\:\Ticket Details\,\previewMessage\:\Message\,\previewLoading\:\Loading...\,\previewError\:\Failed to load ticket details\,\previewNoMessage\:\No message\,\autoUrgentTooltip\:\The urgency level of this ticket has been automatically raised due to delays in agent actions.\,\filters\:{\title\:\Filter by type\,\advancedTitle\:\Advanced filters\,\status\:\Status\,\assignee\:\Assignee\,\source\:\Source\,\priority\:\Priority\,\priorityLow\:\Low\,\priorityMedium\:\Medium\,\priorityHigh\:\High\,\urgent\:\Urgent\,\urgentAll\:\All\,\urgentOnly\:\Only urgent\,\pending\:\Pending\,\unassigned\:\Unassigned\,\escalated\:\Escalated\,\keyword\:\Filter by keyword\,\search\:\Search\,\searchPlaceholder\:\Search tickets...\,\sort\:\Sort\,\reset\:\Reset\,\resetAll\:\Reset all filters\,\all\:\All\,\apply\:\Apply\,\activeInfo\:\Not all tickets are displayed because at least one filter is active. Press Reset all filters to see all tickets.\,\noResults\:\No tickets match the current filters. Adjust your filters to see more tickets.\},\pagination\:{\show\:\Show\,\page\:\Page\},\columns\:{\tags\:\Tags\,\sla\:\SLA\}},\ticketsNav\:{\myTickets\:\My Tickets\,\allTickets\:\All Tickets\},\sla\:{\atRisk\:\At risk\},\ticketDetail\:{\description\:\Initial Request\,\statusHistory\:\Status history\,\comments\:\Comments\,\noComments\:\No comments yet.\,\addComment\:\Add comment\,\commentPlaceholder\:\Type your comment\,\postComment\:\Post comment\,\replyButton\:\Reply\,\sending\:\Sending...\,\changeStatus\:\Change status\,\newStatus\:\New status\,\reasonRequired\:\Reason (required)\,\reasonPlaceholder\:\Why changing status?\,\updateStatus\:\Update status\,\assignee\:\Assignee\,\assign\:\Assign\,\unassigned\:\Unassigned\,\unknownRequester\:\Unknown requester\,\ticketTitleLabel\:\Ticket\,\createdAt\:\Created\,\updatedAt\:\Last update\,\requesterNameLabel\:\Requester\,\noRequesterEmail\:\No email available\,\communications\:\Further Communications\,\messagesLabel\:\messages\,\noMessages\:\No communications yet.\,\unknownAgent\:\Team\,\replyToRequester\:\Reply to requester\,\operationsCardTitle\:\Ticket operations\,\noInternalNotes\:\No internal notes yet.\,\addInternalNote\:\Add internal comment\,\internalNotes\:\Internal comments\,\internalNotePlaceholder\:\Only visible to your team\,\postInternalNote\:\Save note\,\errorStatus\:\Status and reason are required. Please fill in both fields.\,\notifyRequesterLabel\:\Also send as email to the requester\,\notifyRequesterHint\:\We send them your reply along with the quick-action links.\,\sourceTooltip\:\Where this ticket was created: app (mobile app), web (web form), email (inbound email), or agent (manually created).\,\statusChangeReasonTooltip\:\Explain why youre changing the status. This helps track decisions and provides context for the team.\,\internalNotesTooltip\:\Add notes visible only to your team. Customers wont see these comments.\,\notifyRequesterTooltip\:\When checked, the requester will receive this reply by email with quick action links to manage the ticket.\,\notices\:{\assigned\:\Assigned to you. We’ll keep this in your queue.\,\respond_ready\:\Assigned to you and the reply form is ready below.\,\comment_added\:\Comment added.\,\response_sent\:\Reply emailed to the requester.\,\escalated\:\Ticket escalated successfully.\,\closed\:\Ticket marked as solved.\,\not_requester\:\Only the requester can use that shortcut.\,\action_failed\:\We couldn’t complete that shortcut. Please retry from the ticket.\}},\publicTicket\:{\ticketReopenedEscalated\:\Ticket has been reopened and escalated successfully.\,\headerSubtitle\:\Support Ticket\,\replyTitle\:\Reply to this ticket\,\replyLabel\:\Your message\,\replyPlaceholder\:\Type your reply...\,\closeCheckbox\:\Also close this ticket after sending\,\sendButton\:\Send reply\,\replySuccess\:\Your reply has been sent successfully!\,\errorEmpty\:\Please enter a message before sending.\,\ticketClosed\:\This ticket has been closed.\},\ticketNotifications\:{\newTicketSubject\:\BlueTickets New ticket: {title}\,\newTicketIntro\:\A new ticket was opened in {org}.\,\quickLinksLabel\:\Quick links\,\respondHint\:\Respond assigns the ticket to you and opens the reply form.\,\externalInfoTitle\:\Information Only\,\externalInfoMessage\:\This message is for information only. An agent should access BlueTickets from their account to pick the ticket and work on it.\,\links\:{\view\:\View ticket\,\assign\:\Assign to me\,\respond\:\Respond\},\fields\:{\title\:\Title\,\status\:\Status\,\priority\:\Priority\,\source\:\Source\,\owner\:\Assigned to\,\summary\:\Summary\},\acknowledgment\:{\title\:\Weve received your support request\,\greeting\:\Hello {name},\,\intro\:\Thank you for contacting {org}. Weve received your support request and our team is working on it.\,\ticketLabel\:\Ticket:\,\updatesInfo\:\Youll receive updates on this ticket via email. If you need to add more information, simply reply to this email.\,\buttonText\:\View Ticket\,\footerText\:\This is an automated acknowledgment. Your ticket has been assigned a reference number and our team will respond as soon as possible.\},\replySubject\:\Your ticket request \\\{title}\\\ has been answered\,\replyIntro\:\Your ticket request \\\{title}\\\ has been answered.\,\replyBody\:\{name} replied to your ticket. You can answer by clicking \\\Open Conversation\\\ or replying to this email. If your request is already solved, click \\\Mark as solved\\\ so we can continue helping others.\,\requesterLinksLabel\:\Quick actions\,\requesterLinksHint\:\You may be asked to sign in before the action completes.\,\requesterLinks\:{\openConversation\:\Open Conversation\,\escalate\:\Escalate\,\close\:\Mark as solved\},\assignment\:{\subject\:\BT-{ticketTag} You have been assigned ticket #{ticketTag}\,\greeting\:\Hello {name},\,\intro\:\{assignedBy} has assigned ticket #{ticketTag} to you.\,\ticketTitleLabel\:\Ticket:\,\buttonText\:\View Ticket\,\footerText\:\You can view and respond to this ticket from your dashboard.\}},\newTicket\:{\title\:\Create Ticket\,\subtitle\:\Create a ticket manually for support requests that came through phone calls, in-person conversations, or other channels outside the system.\,\titleRequired\:\(required)\,\creating\:\Creating ticket...\,\fields\:{\title\:\Title\,\titlePlaceholder\:\Brief summary\,\description\:\Description\,\descriptionPlaceholder\:\Describe the issue\,\requesterEmail\:\Requester Email\,\requesterEmailPlaceholder\:\customer@example.com\,\requesterEmailInvalid\:\Requester Email must be a valid email address\,\requesterName\:\Requester Name\,\requesterNamePlaceholder\:\John Doe\,\priority\:\Priority\,\priorityHint\:\High priority tickets are automatically marked as urgent.\,\urgent\:\Urgent\},\actions\:{\create\:\Create\,\cancel\:\Cancel\},\limitReachedTitle\:\Ticket Limit Reached\,\limitReachedMessage\:\Youve reached your ticket limit ({current} of {max} tickets used this month). Please upgrade your plan to create more tickets.\,\limitReachedHint\:\Limit reached: {current} of {max} tickets used this month\},\org\:{\createTitle\:\Create Organization\,\fields\:{\name\:\Name\},\namePlaceholder\:\Acme Inc.\,\nameTooltip\:\Enter your company or team name. This will be visible to all members and used in email notifications.\,\actions\:{\continue\:\Continue\,\create\:\Create organization\},\noAccessTitle\:\You’re not part of an organization yet\,\noAccessDescription\:\Your account ({email}) isn’t currently connected to a BlueTickets workspace. Ask your organization admin to invite you using the email below, or create a new organization to keep working.\,\noAccessEmailLabel\:\Share this email with your administrator\,\noAccessHelp\:\They can add you from their Organization → Users page.\,\createHint\:\Prefer to move forward right away? Create a new organization and you’ll be the admin.\,\createFooter\:\You can invite teammates immediately after creating your workspace.\},\columns\:{\id\:\ID\,\title\:\Title\,\status\:\Status\,\priority\:\Priority\,\source\:\Source\,\lastInteraction\:\Touched\,\score\:\Score\},\home\:{\heroTitle\:\Built for Small Teams and Growing Startups\,\heroSub\:\BlueTickets gives small teams a premium, distraction-free way to own every inbound request, without paying for enterprise baggage.\,\quickSetupTitle\:\Set up in under 30 minutes\,\quickSetupDesc\:\Video tutorials and step-by-step docs make it easy for small teams.\,\ctaTrial\:\Start 30‑day free trial\,\ctaGetStarted\:\Get started free\,\ctaStartTrial\:\Start your 30 days free trial\,\ctaSubtitle\:\No credit card needed, Cancel Anytime, Starts from ${price}$\,\plansFromLabel\:\Plans from $${price}\,\navPricing\:\Pricing\,\followOnX\:\Follow us on X\,\followOnLinkedIn\:\Follow us on LinkedIn\,\followOnYouTube\:\Follow us on YouTube\,\whatYouGet\:\What youll get:\,\ctaBenefit1\:\30-day trial, no credit card\,\ctaBenefit2\:\Full setup in 30 minutes\,\ctaBenefit3\:\Cancel anytime\,\trialExplainDashboard\:\Dashboard: Monitor your support tickets, track team activity, and prioritize tickets that need attention\,\trialExplainApis\:\APIs: let your mobile and web apps generate tickets automatically when users need help\,\trialExplainWhy\:\30 days free: experience the workflow end-to-end; after that our starter plan stays affordable\,\benefitsEyebrow\:\Key benefits\,\benefitsTitle\:\Built for small teams that move fast\,\benefitsSub\:\Keep ownership clear, respond on time, and centralize requests — without the enterprise overhead.\,\benefitsBadgeTitle\:\No busywork\,\benefitsBadgeSub\:\Rules + attention score do the triage.\,\previewTitle\:\Preview\,\previewLive\:\Live\,\previewMetric1\:\Open\,\previewMetric2\:\Due soon\,\previewMetric3\:\SLA risk\,\features\:{\title\:\Ownership stays clear\,\description\:\Track assignments and hand-offs so nothing is left without an owner.\},{\title\:\Ensure timely responses\,\description\:\Attention scores surface tickets before deadlines slip.\},{\title\:\Capture everything\,\description\:\Centralize requests from app, web, email, or agent calls.\},\stats\:{\value\:\15m\,\label\:\Average response time during trial\},{\value\:\92%\,\label\:\Tickets prioritized automatically by rules\},{\value\:\24/7\,\label\:\Availability for customer intake\},\trustedTitle\:\Trusted by teams shipping products and services\,\faqTitle\:\Frequently Asked Questions\,\faqSubtitle\:\Quick answers to common questions\,\viewAllFAQs\:\View all FAQs\,\howTitle\:\How it works\,\step1Title\:\Create your admin account\,\step1Desc\:\Create your account, set up your organization, and become its admin. Youll have full control over settings, users, and billing.\,\step2Title\:\Add your teammates\,\step2Desc\:\Invite teammates by email. If they already use BlueTickets, well connect them to your organization; otherwise theyll join via a secure link.\,\noCreditCard\:\No credit card required • Free for 30 days\,\howSubtitle\:\Get started in minutes with our simple two-step onboarding\,\stepLabel\:\Step\,\ctaTitle\:\Ready to get started?\,\ctaBottomSubtitle\:\Join teams whove simplified their support workflow. No credit card required.\,\teamFriendlyTitle\:\Team Friendly\,\teamFriendlySubtitle\:\Built for small teams that move fast\,\videoTitle\:\See BlueTickets in Action\,\videoSubtitle\:\Watch how BlueTickets helps small teams manage support queues effortlessly\,\videoEnableAudio\:\Audio\,\videoDisableAudio\:\Audio\,\developersTitle\:\Developers friendly\,\developersSubtitle\:\RESTful APIs, webhooks, and developer-friendly tools to integrate BlueTickets into your applications\,\developersCards\:{\restfulApi\:{\title\:\RESTful API\,\description\:\Comprehensive REST API with JSON responses. Create tickets, update statuses, retrieve analytics, and manage your support queue programmatically.\},\apiKeyAuth\:{\title\:\API Key Authentication\,\description\:\Simple Bearer token authentication. Generate multiple API keys per organization for different environments and applications.\},\rateLimiting\:{\title\:\Rate Limiting\,\description\:\Built-in rate limiting with clear headers. 100 requests per minute per API key with automatic retry-after guidance.\},\inboundEmail\:{\title\:\Inbound Email\,\description\:\Our email-based ticketing system turns inbound emails into tickets automatically, supporting custom domains with SPF, DKIM, and DMARC verification. Perfect for small businesses needing a simple, affordable solution that works with your existing email setup.\},\completeDocs\:{\title\:\Complete Documentation\,\description\:\Comprehensive API documentation with examples, error codes, and best practices. Interactive test environment included.\},\testEnv\:{\title\:\Test Environment\,\description\:\Public test API key with live ticket stream. Test your integration without affecting production data or sending notifications.\}},\testApiButton\:\Test the API here\,\viewDocsButton\:\View API Documentation\,\articlesTitle\:\Latest Articles \u0026 Guides\,\articlesSubtitle\:\Expert insights on help desk software, customer support, and ticketing systems\,\viewAllArticles\:\View all articles\,\backToHome\:\Home\,\seoSections\:{\easySetupTitle\:\Easy Setup in Under 10 Minutes\,\easySetupDesc\:\Get your simple email ticketing system up and running quickly. Our easy-to-setup helpdesk requires no complex configuration – just connect your email domain and start creating tickets. Perfect for small businesses that need a simple ticketing system without the learning curve of enterprise tools.\,\easySetupDescShort\:\Get your simple email ticketing system running in minutes. Connect your email domain and start creating tickets. Perfect for small businesses needing an easy-to-setup helpdesk without enterprise complexity.\,\affordablePricingTitle\:\Affordable Pricing for 1-2 Seats\,\affordablePricingDesc\:\Unlike expensive enterprise helpdesk software, BlueTickets offers affordable pricing designed for small teams. Start with just 1-2 seats and scale as you grow. Our simple ticketing system costs a fraction of alternatives like Zendesk or Freshdesk, making it the best affordable helpdesk for startups and small businesses.\,\affordablePricingDescShort\:\Affordable pricing designed for small teams. Start with 1-2 seats and scale as you grow. Our simple ticketing system costs a fraction compared to others, making it the best affordable helpdesk for startups.\,\emailIntegrationTitle\:\Email, Web \u0026 Mobile Integration\,\emailIntegrationDesc\:\Our email-based ticketing system automatically converts inbound emails into tickets. Forward emails to your custom domain, and they become tickets instantly. You can also create tickets manually from the dashboard or via API. This simple email ticketing approach centralizes all support requests – whether from email, web forms, or phone calls – into one easy-to-manage system.\,\emailIntegrationDescShort\:\Our email-based ticketing system converts emails into tickets automatically. Create tickets from email, web, or mobile using our simple API. Centralizes all support requests into one simple system.\,\developerApisTitle\:\Developer-Friendly APIs for Custom Workflows\,\developerApisDesc\:\Integrate BlueTickets into your applications with our simple RESTful API. Create tickets programmatically, update statuses, retrieve analytics, and build custom workflows. Our API ticketing integration makes it easy to connect your existing tools and automate your support processes. Perfect for developers who need a simple API ticketing solution.\,\developerApisDescShort\:\Integrate with our simple RESTful API. Create tickets programmatically, update statuses, and build custom workflows. Perfect for developers needing a simple API ticketing solution.\},\navWhyBlueTickets\:\Why BlueTickets?\,\navForUsers\:\For Users\,\navForDevelopers\:\For Devs\,\navFAQ\:\FAQ\,\navContacts\:\Contacts\,\whyBlueTicketsTitle\:\Why BlueTickets?\,\whyBlueTicketsSubtitle\:\Everything you need, nothing you dont\},\registerIntro\:{\title\:\Start your 30‑day free trial\,\sub\:\No credit card needed. Youll set up your workspace in 3 simple steps.\,\quickSetup\:\Complete your setup in just 10 minutes\,\justPrefix\:\Just\,\s1Title\:\Step 1: Create Your Account\,\s1Desc\:\Set up your profile so you can log in and access the support dashboard.\,\s1Time\:\~2 minutes\,\s2Title\:\Step 2: Create Your Organization \u0026 Add Team\,\s2Desc\:\Set up your organization, become admin, and invite team members to manage support requests together.\,\s2Time\:\~4 minutes\,\s3Title\:\Step 3: Connect Your Support Email \u0026 Start Receiving Tickets\,\s3Desc\:\Connect your support email so BlueTickets can create tickets automatically. Your support portal is ready for requests.\,\s3Time\:\~4 minutes\,\s4Title\:\Step 4: Connect email\,\s4Desc\:\Configure your domain to receive support emails directly in BlueTickets.\,\s4Time\:\5 to 20 minutes\,\s5Title\:\Step 5: Ready, pick your first ticket\,\s5Desc\:\Youre all set! Start managing support requests right away.\,\s5Time\:\Ready to go!\,\ctaCreateOrg\:\Create account \u0026 organization\,\ctaHaveAccount\:\I already have an account\},\newMembership\:{\titleSingle\:\Youve been added to {organizationName}\,\titleMultiple\:\Youve been added to {count} organization{plural}\,\descriptionSingle\:\{inviterName} has added you to {organizationName}. You can now access this organization from your dashboard.\,\descriptionMultiple\:\Youve been added to the following organizations:\,\addedBy\:\added by {inviterName}\,\gotIt\:\Got it\,\close\:\Close\,\guidanceTitle\:\Switch organizations\,\guidanceDescription\:\Click the organization dropdown in the header to switch between your organizations.\},\registerUsers\:{\title\:\Invite users\,\desc\:\Add teammate emails. Existing users are connected automatically; others will receive an invitation link.\,\emailsLabel\:\Emails (comma or newline separated)\,\emailsPlaceholder\:\alice@company.com, bob@company.com\,\emailsTooltip\:\Example: user1@yourdomain.com,user2@yourdomain.com,user3@yourdomain.com\,\sendInvites\:\Send invites\,\skip\:\Skip for now\,\invitesSent\:\Invites sent successfully!\,\invitesSentMessage\:\The invited users will receive an email with instructions to join your organization.\,\limitExceededMessage\:\User limit reached. You have {current} of {max} users. Please upgrade your plan to invite more users.\,\limitExceededGeneric\:\User limit reached. Please upgrade your plan to invite more users.\,\limitReachedHint\:\Limit reached: {current} of {max} users\,\inviteFailedMessage\:\Failed to send invitations. Please try again.\},\invite\:{\successTitle\:\Invitation accepted\,\successBody\:\You have joined the organization. Continue to your tickets.\,\goTickets\:\Go to tickets\,\errorTitle\:\Invitation error\,\errorBody\:\The invitation could not be accepted. Make sure youre logged in with the invited email.\},\invitationEmails\:{\newUser\:{\title\:\Youre invited to BlueTickets\,\greeting\:\Hello,\,\intro\:\{inviter} has invited you to join {org} on BlueTickets.\,\action\:\Click the button below to accept the invitation and start collaborating on support tickets.\,\buttonText\:\Accept Invitation\,\footerText\:\If you didnt expect this invitation, you can safely ignore this email.\},\existingUser\:{\title\:\Youve been added to a BlueTickets organization\,\greeting\:\Hello,\,\intro\:\{inviter} has added you to {org} on BlueTickets.\,\action\:\You can now access this organization from your dashboard. Click the button below to get started.\,\buttonText\:\Go to Dashboard\,\footerText\:\If you didnt expect to be added to this organization, please contact the organization admin.\}},\subscriptionEmails\:{\planChanged\:{\title\:\Subscription Plan Changed\,\greeting\:\Hello {name},\,\intro\:\Your subscription plan for {org} has been changed.\,\planChangeLabel\:\Plan Change\,\previousLabel\:\Previous:\,\currentLabel\:\Current:\,\noteLabel\:\Note:\,\downgradeNote\:\Some resources may have been deactivated due to the plan downgrade. Please review your subscription settings.\,\upgradeNote\:\Your new plan includes higher limits. Previously deactivated resources have been reactivated if possible.\,\buttonText\:\View Subscription Settings\,\footerText\:\This is an automated notification from BlueTickets.\,\subject\:\Subscription Plan Changed - {org}\},\limitWarning\:{\criticalLabel\:\Critical\,\warningLabel\:\Warning\,\criticalTitle\:\{severity}: {limit} Limit Reached\,\warningTitle\:\{severity}: {limit} Limit Warning\,\greeting\:\Hello {name},\,\criticalIntro\:\Your organization {org} has reached its {limit} limit.\,\warningIntro\:\Your organization {org} has approached its {limit} limit.\,\criticalActionNoPlan\:\Additional resources will lose access until a plan is activated.\,\criticalActionUpgrade\:\Additional resources will lose access until the plan is upgraded.\,\warningAction\:\Consider upgrading your plan to avoid service interruption.\,\upgradeHint\:\To upgrade your plan, visit your subscription settings in BlueTickets.\,\buttonText\:\View Subscription Settings\,\footerText\:\This is an automated notification from BlueTickets.\,\criticalSubject\:\{severity}: {limit} Limit Reached - {org}\,\warningSubject\:\{severity}: {limit} Limit Warning - {org}\}},\dashboard\:{\title\:\Dashboard\,\subtitle\:\Monitor your support tickets, track team activity, and prioritize tickets that need attention.\,\ticketsSectionTitle\:\Tickets\,\usersSectionTitle\:\Team\,\cards\:{\open\:\Open tickets\,\openHelp\:\Active items across the team\,\openTooltip\:\Tickets that are still being worked on and havent been closed yet.\,\urgent\:\Urgent / escalated\,\urgentHelp\:\Marked urgent or escalated\,\urgentTooltip\:\Tickets that need immediate attention because theyre marked as urgent or have been escalated.\,\unassigned\:\Unassigned\,\unassignedHelp\:\Waiting for an owner\,\unassignedTooltip\:\Tickets that dont have anyone assigned to work on them yet.\,\members\:\Team members\,\membersHelp\:\People with workspace access\,\invites\:\Pending invites\,\invitesHelp\:\Awaiting acceptance\,\slaAtRisk\:\SLA risk\,\slaAtRiskHelp\:\Attention score ≥ 200\,\slaAtRiskTooltip\:\Tickets that might miss their deadline soon. The system calculates this based on how old they are and how urgent they are.\},\attentionTitle\:\Tickets needing attention\,\attentionSubtitle\:\Automatically sorted relevant tickets\,\attentionEmpty\:\All tickets look good, no items need immediate attention.\,\attentionScoreLabel\:\Score\,\attentionScoreTooltip\:\Higher scores mean the ticket needs more attention. Based on age, urgency, and customer activity.\,\attentionSlaFlag\:\SLA at risk\,\attentionUpdated\:\Last updated\,\assignedToLabel\:\Owner\,\unassignedLabel\:\Unassigned\,\viewTickets\:\View all tickets\,\activityTitle\:\Recent updates\,\activitySubtitle\:\Latest status changes across the workspace.\,\activityEmpty\:\No updates yet.\,\activityUnknownUser\:\Someone\,\activityStatusChange\:\moved\,\activityStatusTo\:\to\,\organizationSectionTitle\:\Organization\,\subscriptionPlan\:\Subscription plan\,\editSubscription\:\Edit subscription\,\noSubscription\:\No active plan\,\totalsTitle\:\Totals\,\ticketsQuotaLabel\:\Monthly tickets\,\spamFilteringQuotaLabel\:\Spam filtering requests\,\renewalNote\:\Renews on\,\totalsTickets\:\Tickets created\,\totalsMembers\:\Team members\,\totalsInvites\:\Pending invitations\,\totalsLastUpdated\:\Last ticket update\,\totalsLastUpdatedEmpty\:\No updates yet.\,\editOrganization\:\Edit organization name\,\organizationId\:\Organization ID\},\dashboardNav\:{\title\:\Workspace navigation\,\dashboard\:\Dashboard\,\ticketList\:\Tickets list\,\ticketOptions\:\Settings\,\organization\:\Your Organization\,\users\:\Your Team\,\api\:\API\},\helpPage\:{\title\:\Help \u0026 FAQ\,\subtitle\:\Tutorials and answers to common questions will appear here.\},\helpNav\:{\title\:\Help \u0026 Support\,\subtitle\:\Get help with BlueTickets. Browse FAQs, tutorials, and video guides.\,\faq\:\FAQ\,\faqTitle\:\Frequently Asked Questions\,\faqSubtitle\:\Find answers to common questions about BlueTickets\,\faqDesc\:\Find answers to frequently asked questions\,\tutorials\:\Tutorials\,\tutorialsDesc\:\Step-by-step guides and tutorials\,\tutorialsComingSoon\:\Tutorials and step-by-step guides will be available here soon.\,\videos\:\Videos\,\videosDesc\:\Video guides and walkthroughs\,\videosComingSoon\:\Video guides and walkthroughs will be available here soon.\},\articles\:{\pageTitle\:\Articles \u0026 Guides\,\pageSubtitle\:\Expert insights on help desk software, customer support, and ticketing systems for startups and small teams.\,\pageDescription\:\Expert guides and articles on help desk software, customer support, and ticketing systems for startups and small teams.\,\noArticles\:\No articles available yet. Check back soon!\,\readMore\:\Read more\,\minRead\:\min read\,\by\:\By\,\backToArticles\:\Back to Articles\,\previousArticle\:\Previous article\,\nextArticle\:\Next article\,\ctaTitle\:\Ready to get started?\,\ctaDescription\:\Start your 30-day free trial and see how BlueTickets can help your team.\,\ctaButton\:\Start Free Trial\},\supportRequest\:{\title\:\Contact Support\,\subtitle\:\Cant find what youre looking for? Send us a message and well get back to you as soon as possible.\,\emailLabel\:\Email address\,\emailPlaceholder\:\you@company.com\,\emailRequired\:\Email is required\,\emailInvalid\:\Please enter a valid email address\,\emailReadOnly\:\This email is taken from your account and cannot be changed.\,\topicLabel\:\What can we help you with?\,\topicPlaceholder\:\Select a topic...\,\topicUserAccount\:\User account and settings\,\topicOrganizationAccount\:\Organization account and settings\,\topicTicketsHandling\:\Tickets handling\,\topicTeammatesHandling\:\Teammates handling\,\topicEmailConnection\:\Email connection/DNS setup\,\topicApiUsage\:\API usage/API Keys\,\topicSubscriptionPlan\:\Subscription plan\,\topicSomethingElse\:\Something else\,\messageLabel\:\Message\,\messagePlaceholder\:\Please describe your issue in detail (minimum 100 characters)...\,\messageHint\:\Minimum 100 characters\,\messageMinLength\:\At least 100 characters required ({remaining} more needed)\,\privacyConsentText\:\I have read the \,\privacyConsentSuffix\:\ pursuant to Art. 13 GDPR and consent to the processing of data for the sole purpose of managing this request.\,\privacyDisclaimer\:\By submitting this form, you agree that the email address and information provided will be used solely for the purpose of assisting with your support request, in compliance with GDPR and international privacy regulations.\,\submitButton\:\Send Request\,\submitting\:\Sending...\,\successMessage\:\Your support request has been sent successfully. Well get back to you soon!\,\submitError\:\Failed to send support request. Please try again.\,\writeAtLeast100Chars\:\Write at least 100 characters.\},\faq\:{\categories\:{\id\:\getting-started\,\title\:\Getting Started\,\items\:{\id\:\what-is-bluetickets\,\question\:\What is BlueTickets?\,\answer\:\BlueTickets is a multi-tenant helpdesk and ticketing system designed for small teams. It helps you centralize support requests from multiple channels (email, web, mobile apps, and agent-created tickets) into a single, organized workflow.\},{\id\:\how-do-i-get-started\,\question\:\How do I get started?\,\answer\:\1. **Sign up** for a free 30-day trial at bluetickets.app\\n2. **Create your organization** - Set your organization name and default settings\\n3. **Invite team members** - Add teammates by email; theyll receive secure invitation links\\n4. **Connect your support email** (optional) - Set up email forwarding to receive tickets via email\\n5. **Start creating tickets** - Use the web interface, API, or email forwarding\},{\id\:\do-i-need-a-credit-card-to-start\,\question\:\Do I need a credit card to start?\,\answer\:\No. The 30-day free trial requires no credit card. You can explore all features during the trial period.\},{\id\:\how-long-does-setup-take\,\question\:\How long does setup take?\,\answer\:\Most teams can complete the initial setup in under 30 minutes. This includes:\\n- Creating your organization\\n- Inviting team member\\n- Configuring email forwarding for ticket collection\\n- Connecting your support email (if desired)\\n- Configuring basic settings\},{\id\:\what-languages-are-supported\,\question\:\What languages are supported?\,\answer\:\BlueTickets currently supports English and Italian. The interface automatically adapts based on your browser language preference, and you can manually switch languages at any time.\},{\id\:\best-simple-email-ticketing-for-startups\,\question\:\What is the best simple email ticketing system for startups?\,\answer\:\BlueTickets is an excellent choice for startups seeking a simple email ticketing system. It offers easy setup (under 30 minutes), affordable pricing, email-based ticketing with automatic conversion, manual ticket creation, and a developer-friendly RESTful API. Unlike complex enterprise solutions, BlueTickets focuses on simplicity and affordability, making it perfect for small teams and growing startups.\},{\id\:\setup-email-ticketing-small-business\,\question\:\How do I set up email ticketing for my small business?\,\answer\:\Setting up email ticketing with BlueTickets is straightforward:\\n\\n1. **Sign up** for a free 30-day trial (no credit card required)\\n2. **Create your organization** and configure basic settings\\n3. **Connect your email domain** by setting up DNS records (SPF, DKIM, DMARC)\\n4. **Forward emails** to your organizations unique inbound address\\n5. **Start receiving tickets** automatically from forwarded emails\\n\\nOur email-based ticketing system converts inbound emails into tickets instantly, and you can also create tickets manually from the dashboard or via API.\},{\id\:\cheaper-than-zendesk-freshdesk\,\question\:\Is BlueTickets cheaper than Zendesk or Freshdesk?\,\answer\:\Yes, BlueTickets is significantly more affordable than Zendesk or Freshdesk. While enterprise helpdesk software like Zendesk can cost $19+ per user per month (often $500+ for small teams), BlueTickets offers affordable pricing designed for small teams. We provide a free 30-day trial with no credit card required, and our pricing scales with your team size. This makes BlueTickets an excellent affordable alternative to Zendesk and Freshdesk for startups and small businesses.\},{\id\:\create-tickets-manually\,\question\:\Can I create tickets manually in BlueTickets?\,\answer\:\Yes, you can create tickets manually in BlueTickets in several ways:\\n\\n1. **Dashboard**: Use the \\\Create Ticket\\\ button on the tickets page to manually create tickets with title, description, priority, and assignee\\n2. **API**: Use the RESTful API to programmatically create tickets from your applications\\n3. **Email forwarding**: Forward emails to automatically create tickets\\n\\nManual ticket creation is perfect for capturing support requests from phone calls, in-person interactions, or any other channel outside the system.\},{\id\:\api-for-developers\,\question\:\Does BlueTickets have an API for developers?\,\answer\:\Yes, BlueTickets provides a comprehensive RESTful API for developers. Our API ticketing integration allows you to:\\n\\n- Create tickets programmatically\\n- Update ticket statuses and priorities\\n- Retrieve ticket lists and analytics\\n- Manage your support queue\\n- Use API key authentication (Bearer token)\\n- Benefit from built-in rate limiting (100 requests/minute)\\n\\nWe offer complete API documentation with examples, error codes, and an interactive test environment. The API is designed to be simple and developer-friendly, making it easy to integrate BlueTickets into your existing applications and workflows.\}},{\id\:\account-organization\,\title\:\Account \u0026 Organization\,\items\:{\id\:\what-is-an-organization\,\question\:\What is an organization?\,\answer\:\An organization is your workspace in BlueTickets. All tickets, users, API keys, and settings belong to a specific organization. Each organization is completely isolated from others (multi-tenant architecture).\},{\id\:\can-i-have-multiple-organizations\,\question\:\Can I have multiple organizations?\,\answer\:\Yes. You can be a member of multiple organizations, each with its own tickets, settings, and team members. Switch between organizations using the organization selector in the top navigation bar.\},{\id\:\how-do-i-switch-between-organizations\,\question\:\How do I switch between organizations?\,\answer\:\1. Click the **Organization** dropdown in the top navigation bar\\n2. Select the organization you want to switch to\\n3. Youll be redirected to that organizations dashboard\\n\\n**Note**: If youre added to a new organization, youll receive:\\n- An email notification (if you already have a BlueTickets account)\\n- An in-app popup notification when you log in\\n- A guidance tooltip showing you where to switch organizations\},{\id\:\what-are-the-different-user-roles\,\question\:\What are the different user roles?\,\answer\:\BlueTickets has two roles for registered users:\\n\\n- **ORG_ADMIN (Admin)**: Full control over the organization, including user management, settings, API keys, and billing. Can delete the organization. Only admins can access:\\n - **Settings** (ticket settings, email configuration)\\n - **Organization** (organization name, domain management)\\n - **Users** (invite/remove members, manage roles)\\n - **API Keys** (generate and manage API keys)\\n\\n- **AGENT**: Can view, create, update, and assign tickets. Can add comments and change ticket statuses. Cannot access organization settings, user management, or API keys. Admin-only links appear disabled with a tooltip \\\Only admins can access here\\\.\\n\\n**Note**: People who create tickets via email or API (ticket requesters) are not registered users. They can view and reply to their tickets through email links, but they dont have accounts in BlueTickets.\},{\id\:\what-happens-when-im-added-to-an-organization\,\question\:\What happens when Im added to an organization?\,\answer\:\If you already have a BlueTickets account and are added to an organization:\\n\\n1. **Email notification**: Youll receive an email informing you that youve been added\\n2. **In-app notification**: When you log in (or if already logged in), a popup will appear stating youve been added to the organization\\n3. **Status display**: In the member list, youll appear as \\\Connected\\\ (not \\\Waiting for confirmation\\\)\\n4. **Organization selector**: The organization will appear in your organization dropdown immediately\\n\\nIf you dont have an account yet, youll receive an invitation email to create your account and set a password.\},{\id\:\how-do-i-invite-team-members\,\question\:\How do I invite team members?\,\answer\:\1. Go to **Settings → Users** (admin-only)\\n2. Click **Invite Users**\\n3. Enter email addresses (one per line, comma-separated, or semicolon-separated)\\n4. Click **Send Invitations**\\n\\nInvited users will receive an email with a secure link to join your organization. If they dont have a BlueTickets account, theyll be prompted to create one.\\n\\n**Note**: If you try to invite someone who is already a member or has a pending invitation, that email will be automatically skipped, and youll see a notification listing any skipped emails.\},{\id\:\can-i-manage-pending-invitations\,\question\:\Can I manage pending invitations?\,\answer\:\Yes. Organization admins can manage pending invitations from **Settings → Users**:\\n\\n- **Resend invitation**: Click **\\\Resend\\\** next to a pending invitation to send the invitation email again\\n- **Delete invitation**: Click **\\\Delete\\\** to cancel a pending invitation (requires confirmation)\\n- **View status**: Pending invitations show \\\Awaiting response\\\ status with the invitation date\},{\id\:\can-i-change-a-team-members-role\,\question\:\Can I change a team members role?\,\answer\:\Yes. Organization admins can change team member roles from **Settings → Users**:\\n\\n1. Find the team member in the members list\\n2. Select a new role from the dropdown (Admin or Agent)\\n3. Click **\\\Update\\\** to save the change\\n\\n**Restrictions**:\\n- You cannot demote yourself from admin if youre the only admin in the organization, otherwise that organization will be left orphan\\n- The primary admin (organization creator) cannot be removed from the organization settings page for the same reason\},{\id\:\can-i-remove-a-team-member\,\question\:\Can I remove a team member?\,\answer\:\Yes. Organization admins can remove team members from **Settings → Users**. Removing a member does not delete their tickets or comments, but they will lose access to the organization.\},{\id\:\how-do-i-change-my-password\,\question\:\How do I change my password?\,\answer\:\1. Go to **Settings → Profile**\\n2. Scroll to the **Change Password** section\\n3. Enter your current password\\n4. Enter your new password (minimum 8 characters)\\n5. Confirm your new password\\n6. Click **\\\Update Password\\\**\\n\\nA password strength indicator will show you how strong your password is. For security, use a combination of letters, numbers, and special characters.\},{\id\:\how-do-i-reset-my-password-if-i-forgot-it\,\question\:\How do I reset my password if I forgot it?\,\answer\:\Use the \\\Forgot Password\\\ link on the login page. Youll receive an email with instructions to reset your password.\},{\id\:\what-happens-when-i-accept-an-invitation\,\question\:\What happens when I accept an invitation?\,\answer\:\If you receive an invitation email and dont have a BlueTickets account yet:\\n\\n1. Click the invitation link in the email\\n2. Youll be taken to a signup page with your email pre-filled (but locked)\\n3. Enter a password (minimum 8 characters)\\n4. Confirm your password\\n5. Click **\\\Create account \u0026 join organization\\\**\\n\\nAfter creating your account, youll be automatically logged in and redirected to the dashboard.\},{\id\:\can-i-change-my-email-address\,\question\:\Can I change my email address?\,\answer\:\Yes. Go to **Settings → Profile** to update your email address. Youll need to verify the new email address before it becomes active.\},{\id\:\what-happens-if-i-delete-my-account\,\question\:\What happens if I delete my account?\,\answer\:\Deleting your account removes your user profile. If youre the only admin of an organization, you must transfer admin rights to another member or delete the organization first.\},{\id\:\what-happens-if-i-delete-my-organization\,\question\:\What happens if I delete my organization?\,\answer\:\Deleting an organization permanently removes all associated data, including:\\n- All tickets and their history\\n- All comments and attachments\\n- All API keys\\n- All user memberships\\n- All settings and configurations\\n\\n**This action cannot be undone.** Make sure to export any important data before deleting.\}},{\id\:\tickets\,\title\:\Tickets\,\items\:{\id\:\what-is-a-ticket\,\question\:\What is a ticket?\,\answer\:\A ticket represents a single support request or issue. Each ticket has a title, description, status, priority, source, assignee, and conversation history.\},{\id\:\how-do-i-create-a-ticket\,\question\:\How do I create a ticket?\,\answer\:\You can create tickets in several ways:\\n\\n1. **Web Interface**: Click **\\\Create Ticket\\\** from the tickets page\\n2. **API**: Use the `POST /api/tickets` endpoint with your API key\\n3. **Email**: Forward emails to your organizations unique inbound address (e.g., `org_abc123@bluetickets.app`)\\n4. **Agent Creation**: Agents can manually create tickets from the dashboard\},{\id\:\what-are-ticket-statuses\,\question\:\What are ticket statuses?\,\answer\:\Tickets can have the following statuses:\\n\\n- **pending**: Waiting to be picked up by an agent (default for new tickets)\\n- **processing**: Actively being worked on by an agent\\n- **completed**: Resolved and closed\\n- **reopened**: Previously completed but reopened (issue recurred)\\n- **urgent**: Requires immediate attention\\n- **escalated**: Escalated to higher-level support or management\},{\id\:\can-i-change-a-tickets-status\,\question\:\Can I change a tickets status?\,\answer\:\Yes. When changing a tickets status, you must provide a reason for the change. This helps maintain an audit trail and ensures accountability.\},{\id\:\what-are-ticket-priorities\,\question\:\What are ticket priorities?\,\answer\:\Tickets have three priority levels:\\n\\n- **Low (0)**: Can be handled during normal business hours\\n- **Medium (1)**: Standard priority, should be addressed promptly\\n- **High (2)**: Important issues that need faster response\\n\\nPriority can be set when creating a ticket or updated later.\},{\id\:\what-is-the-urgent-flag\,\question\:\What is the \\\urgent\\\ flag?\,\answer\:\The urgent flag marks tickets that require immediate attention, regardless of their priority level. Urgent tickets are highlighted in the dashboard and ticket list.\},{\id\:\what-is-the-attention-score\,\question\:\What is the \\\attention score\\\?\,\answer\:\The attention score is an automated metric that helps prioritize tickets. It considers:\\n- How long a ticket has been waiting for a response\\n- Whether the ticket is marked as urgent\\n- Whether the ticket has exceeded SLA targets\\n- Whether the ticket has been escalated\\n\\nTickets with higher attention scores appear first in the default ticket list view.\},{\id\:\what-are-ticket-sources\,\question\:\What are ticket sources?\,\answer\:\Tickets can originate from:\\n\\n- **app**: Created via API from a mobile or web application\\n- **web**: Created through the BlueTickets web interface\\n- **email**: Created from an inbound email\\n- **agent**: Manually created by an agent\},{\id\:\how-do-i-assign-a-ticket\,\question\:\How do I assign a ticket?\,\answer\:\1. Open the ticket detail page\\n2. Use the **Assignee** dropdown to select a team member\\n3. Or click **\\\Pick\\\** on a ticket in the \\\All Tickets\\\ list to assign it to yourself\},{\id\:\can-i-unassign-a-ticket\,\question\:\Can I unassign a ticket?\,\answer\:\Yes. Set the assignee to \\\Unassigned\\\ from the ticket detail page.\},{\id\:\what-are-tags\,\question\:\What are tags?\,\answer\:\Tags are labels you can add to tickets for organization and filtering. Each organization can define its own tags with custom colors. Tags help categorize tickets by type, department, or any other classification.\},{\id\:\how-do-i-filter-tickets\,\question\:\How do I filter tickets?\,\answer\:\You can filter tickets by:\\n- Status (pending, processing, completed, etc.)\\n- Priority (low, medium, high)\\n- Source (app, web, email, agent)\\n- Assignee (including \\\Unassigned\\\)\\n- Urgent flag\\n- Tags\\n- Search keywords (searches title and description)\},{\id\:\can-i-see-the-history-of-status-changes\,\question\:\Can I see the history of status changes?\,\answer\:\Yes. Each tickets detail page shows a complete audit log of all status changes, including:\\n- Previous and new status\\n- Reason for the change\\n- Who made the change\\n- When it was changed\},{\id\:\what-is-my-tickets-vs-all-tickets\,\question\:\What is \\\My Tickets\\\ vs \\\All Tickets\\\?\,\answer\:\- **My Tickets**: Shows only open tickets assigned to you\\n- **All Tickets**: Shows all tickets in your organization, regardless of assignee\},{\id\:\how-are-tickets-sorted\,\question\:\How are tickets sorted?\,\answer\:\Tickets are automatically sorted by importance to help you focus on what matters most. The most important tickets appear at the top.\\n\\n**Priority order (most important first):**\\n\\n1. **Urgent tickets** - Marked as urgent or high priority\\n2. **Escalated tickets** - Requiring management attention\\n3. **Unassigned tickets** - Need to be picked up by someone\\n4. **High priority tickets** - Important issues\\n5. **Medium priority tickets** - Standard priority\\n6. **Older unanswered tickets** - Tickets waiting longer for a response rise over time\\n\\nYou can change the sorting using the dropdown menu above the ticket list. The default \\\Attention score\\\ sorting uses this priority system to show the most important tickets first.\},{\id\:\how-do-i-reply-to-a-ticket\,\question\:\How do I reply to a ticket?\,\answer\:\1. Open the ticket detail page\\n2. Scroll to the conversation section\\n3. Type your reply in the comment box\\n4. Optionally check **\\\Notify Requester\\\** to send an email notification\\n5. Click **\\\Add Comment\\\**\},{\id\:\can-i-add-internal-notes-that-customers-cant-see\,\question\:\Can I add internal notes that customers cant see?\,\answer\:\Yes. When adding a comment, you can mark it as an **\\\Internal Comment\\\**. These comments are only visible to agents and admins, not to the requester.\},{\id\:\what-happens-when-i-mark-a-ticket-as-completed\,\question\:\What happens when I mark a ticket as completed?\,\answer\:\When you mark a ticket as completed:\\n- The ticket status changes to \\\completed\\\\\n- The ticket moves out of active views (unless you filter for completed tickets)\\n- You must provide a reason for closing the ticket\\n- The requester can still view the ticket and reopen it if needed\},{\id\:\can-customers-reopen-a-ticket\,\question\:\Can customers reopen a ticket?\,\answer\:\Yes. If a ticket was previously completed, it can be reopened. The ticket will show a \\\reopened\\\ status, and the reopen count is tracked.\},{\id\:\what-is-sla-tracking\,\question\:\What is SLA tracking?\,\answer\:\SLA (Service Level Agreement) tracking helps ensure timely responses. BlueTickets monitors:\\n- **First Response Time**: How long it takes for an agent to respond to a new ticket\\n- **Resolution Time**: How long it takes to resolve a ticket\\n\\nTickets that exceed SLA targets are flagged as \\\at risk\\\ in the dashboard. SLA risk means the ticket is close to the deadline and needs attention.\}},{\id\:\email-integration\,\title\:\Email Integration\,\items\:{\id\:\how-does-email-integration-work\,\question\:\How does email integration work?\,\answer\:\BlueTickets can receive tickets via email using a forwarding setup:\\n\\n1. **Set up forwarding**: Configure your email provider (e.g., Gmail, Outlook, or your domains email service) with a forwarding rule to forward emails received from support@yourdomain.com to the address below.\\n\\n2. **Automatic ticket creation**: When an email is forwarded to your inbound address, BlueTickets automatically creates a ticket with:\\n - Subject line as the ticket title\\n - Email body as the ticket description\\n - Senders email as the requester\\n - Source marked as \\\email\\\\\n\\n3. **Reply threading**: When agents reply to tickets, emails are sent to the requester. Replies to those emails automatically thread back to the original ticket.\},{\id\:\how-do-i-connect-my-support-email\,\question\:\How do I connect my support email?\,\answer\:\1. Go to **Settings → Tickets**\\n2. Click **\\\Connect Support Email\\\**\\n3. Enter your support email address (e.g., `support@yourdomain.com`)\\n4. Follow the DNS setup instructions to verify your domain\\n5. Configure email forwarding from your email provider to the unique inbound address shown\},{\id\:\what-dns-records-do-i-need-to-add\,\question\:\What DNS records do I need to add?\,\answer\:\To send emails from your custom domain, you need to add DNS records for email authentication:\\n\\n1. **DKIM Records** (3 CNAME records): Generated automatically when you connect your domain\\n2. **SPF Record** (TXT): `vspf1 include:_spf.resend.com ~all` (add to existing SPF if you have one)\\n3. **DMARC Record** (TXT): `vDMARC1; pnone; ruamailto:dmarc@yourdomain.com` (recommended)\\n\\nThese records ensure your emails are authenticated and have better deliverability.\},{\id\:\how-do-i-find-my-unique-inbound-address\,\question\:\How do I find my unique inbound address?\,\answer\:\After connecting your support email in **Settings → Tickets**, your unique inbound address is displayed (e.g., `org_abc123@bluetickets.app`). This is the address youll forward emails to.\},{\id\:\can-i-use-multiple-email-addresses\,\question\:\Can I use multiple email addresses?\,\answer\:\Yes. You can forward multiple email addresses to the same inbound address. For example:\\n- `support@yourdomain.com` → `org_abc123@bluetickets.app`\\n- `help@yourdomain.com` → `org_abc123@bluetickets.app`\\n- `sales@yourdomain.com` → `org_abc123@bluetickets.app`\\n\\nAll forwarded emails will create tickets in the same organization.\},{\id\:\what-happens-when-someone-replies-to-an-email\,\question\:\What happens when someone replies to an email?\,\answer\:\When a requester replies to an email notification:\\n1. The reply is automatically forwarded to your inbound address\\n2. BlueTickets matches the reply to the original ticket using email threading headers\\n3. The reply is added as a new comment to the ticket\\n4. All agents can see the reply in the ticket conversation\},{\id\:\why-arent-my-emails-creating-tickets\,\question\:\Why arent my emails creating tickets?\,\answer\:\Common issues:\\n\\n1. **Forwarding not configured**: Make sure your email provider is forwarding to the correct inbound address\\n2. **DNS not verified**: Check that your domains DNS records are correctly added and verified\\n3. **Webhook not receiving emails**: Verify that the inbound email service is properly configured\\n4. **Email in spam**: Check your spam folder; some email providers may filter forwarded emails\\n\\nGo to **Settings → Tickets** and click **\\\Refresh Domain Status\\\** to check the current verification state.\},{\id\:\can-i-send-emails-from-my-custom-domain\,\question\:\Can I send emails from my custom domain?\,\answer\:\Yes. Once your domain is verified (DNS records added and confirmed), all outbound emails (ticket notifications, replies) will be sent from your custom domain (e.g., `support@yourdomain.com` instead of a generic BlueTickets address).\},{\id\:\how-long-does-domain-verification-take\,\question\:\How long does domain verification take?\,\answer\:\Domain verification typically completes within 2-5 minutes after adding the DNS records. You can click **\\\Refresh Domain Status\\\** in **Settings → Tickets** to check the verification status.\},{\id\:\what-if-i-use-cloudflare-for-dns\,\question\:\What if I use Cloudflare for DNS?\,\answer\:\If you use Cloudflare (or any DNS provider), you can still add the required DNS records. The process is the same:\\n1. Log into your DNS providers dashboard\\n2. Add the CNAME records for DKIM (shown in BlueTickets)\\n3. Add the TXT records for SPF and DMARC\\n4. Wait for DNS propagation (usually 2-5 minutes)\\n\\nCloudflares DNS interface supports all required record types.\}},{\id\:\api-integrations\,\title\:\API \u0026 Integrations\,\items\:{\id\:\what-is-the-api\,\question\:\What is the API?\,\answer\:\BlueTickets provides a REST API that allows you to programmatically create, list, update, and manage tickets. This is useful for:\\n- Mobile app integrations\\n- Webhook automation\\n- Custom integrations with other tools\\n- Automated ticket creation from your applications\},{\id\:\how-do-i-get-an-api-key\,\question\:\How do I get an API key?\,\answer\:\**Note**: Only organization admins can generate and manage API keys. If youre not an admin, the API Keys link will appear disabled with a tooltip.\\n\\n1. Go to **Developers → API Keys** (admin-only)\\n2. Click **\\\Generate New API Key\\\**\\n3. Give it a descriptive name (e.g., \\\Mobile App - iOS\\\, \\\Webhook Integration\\\)\\n4. Copy the key immediately - it wont be shown again after closing the dialog\\n5. Store it securely in your applications configuration\\n\\nEach API key is scoped to your organization and can be deleted independently.\},{\id\:\how-do-i-use-the-api\,\question\:\How do I use the API?\,\answer\:\All API requests require authentication using a Bearer token:\\n\\n```\\nAuthorization: Bearer qt_your_api_key_here\\n```\\n\\nAPI keys must start with the `qt_` prefix. Include this header in all API requests.\},{\id\:\what-api-endpoints-are-available\,\question\:\What API endpoints are available?\,\answer\:\- `POST /api/tickets` - Create a new ticket\\n- `GET /api/tickets` - List tickets with filters and pagination\\n- `POST /api/tickets/{id}/status` - Update ticket status\\n- `GET /api/tickets/stats` - Get ticket statistics\\n- `GET /api/tickets/{id}/messages` - Get ticket message history\\n- `POST /api/tickets/{id}/messages` - Reply to a ticket\\n\\nSee the Developer Documentation(/docs) for complete API reference with examples.\},{\id\:\is-there-a-test-api-key\,\question\:\Is there a test API key?\,\answer\:\Yes. Visit `/developers/test` to get a public test API key that rotates every hour. This key allows you to test the API without affecting your production data. Tickets created with the test key are visible in a public stream for testing purposes.\},{\id\:\what-is-rate-limiting\,\question\:\What is rate limiting?\,\answer\:\To ensure fair usage and system stability, all API endpoints are rate limited:\\n- **Limit**: 100 requests per minute per API key\\n- **Scope**: Per API key (each key has its own limit)\\n- **Window**: 1 minute rolling window\\n\\nWhen you exceed the rate limit, youll receive a `429 Too Many Requests` response with a `Retry-After` header indicating when you can retry.\},{\id\:\how-do-i-handle-rate-limits\,\question\:\How do I handle rate limits?\,\answer\:\Implement exponential backoff in your client:\\n1. When you receive a `429` response, read the `Retry-After` header\\n2. Wait for the specified time before retrying\\n3. If you continue to hit rate limits, increase the delay between requests\},{\id\:\can-i-create-multiple-api-keys\,\question\:\Can I create multiple API keys?\,\answer\:\Yes. You can create multiple API keys for different applications or environments (e.g., one for production, one for staging, one for a mobile app). Each key is tracked independently and can be deleted separately.\},{\id\:\what-happens-if-i-lose-my-api-key\,\question\:\What happens if I lose my API key?\,\answer\:\If you lose an API key, you cannot recover it. You must:\\n1. Delete the old key from **Developers → API Keys**\\n2. Generate a new API key\\n3. Update your application with the new key\},{\id\:\can-i-see-when-an-api-key-was-last-used\,\question\:\Can I see when an API key was last used?\,\answer\:\Yes. In **Developers → API Keys**, each API key shows its \\\Last Used\\\ timestamp. This helps you identify unused keys that can be safely deleted.\},{\id\:\what-programming-languages-are-supported\,\question\:\What programming languages are supported?\,\answer\:\The API is RESTful and works with any programming language that can make HTTP requests. We provide examples in:\\n- cURL (command line)\\n- Node.js\\n- Python\\n\\nSee `/developers/test` for ready-to-use code samples.\},{\id\:\can-i-integrate-bluetickets-with-other-tools\,\question\:\Can I integrate BlueTickets with other tools?\,\answer\:\Yes. The API allows you to integrate BlueTickets with:\\n- Mobile apps (iOS, Android, React Native)\\n- Web applications\\n- Automation tools (Zapier, Make, n8n)\\n- Custom scripts and workflows\\n\\nUse webhooks (coming soon) or polling the API to sync data with external systems.\}},{\id\:\billing-subscription\,\title\:\Billing \u0026 Subscription\,\items\:{\id\:\what-is-the-free-trial\,\question\:\What is the free trial?\,\answer\:\The free trial gives you 30 days to explore all BlueTickets features with no credit card required. After 30 days, youll need to choose a subscription plan to continue.\},{\id\:\what-happens-after-the-trial-ends\,\question\:\What happens after the trial ends?\,\answer\:\After your 30-day trial ends, youll need to select a subscription plan to continue using BlueTickets. Plan management and billing configuration will be available in **Settings → Subscription**.\},{\id\:\how-much-does-bluetickets-cost\,\question\:\How much does BlueTickets cost?\,\answer\:\Pricing plans are currently being finalized. Contact support@bluetickets.app for information about available plans and pricing.\},{\id\:\can-i-cancel-my-subscription\,\question\:\Can I cancel my subscription?\,\answer\:\Yes. You can cancel your subscription at any time from **Settings → Subscription**. Your account will remain active until the end of your current billing period.\},{\id\:\do-you-offer-refunds\,\question\:\Do you offer refunds?\,\answer\:\Refund policies depend on your subscription plan. Contact support@bluetickets.app for specific refund information.\},{\id\:\can-i-change-my-plan\,\question\:\Can I change my plan?\,\answer\:\Yes. Plan upgrades and downgrades will be available from **Settings → Subscription** once billing is fully enabled.\},{\id\:\what-payment-methods-do-you-accept\,\question\:\What payment methods do you accept?\,\answer\:\Payment method options will be available when billing is fully enabled. Contact support@bluetickets.app for current payment options.\},{\id\:\do-you-offer-discounts-for-annual-plans\,\question\:\Do you offer discounts for annual plans?\,\answer\:\Annual plan discounts and other pricing options are being finalized. Contact support@bluetickets.app for information about annual billing and discounts.\},{\id\:\what-happens-to-my-data-if-i-cancel\,\question\:\What happens to my data if I cancel?\,\answer\:\Your data remains accessible until the end of your current billing period. After cancellation, you can export your data. Data is permanently deleted after the account closure period (typically 30 days).\}},{\id\:\technical-troubleshooting\,\title\:\Technical \u0026 Troubleshooting\,\items\:{\id\:\what-browsers-are-supported\,\question\:\What browsers are supported?\,\answer\:\BlueTickets works in all modern browsers:\\n- Chrome (latest)\\n- Firefox (latest)\\n- Safari (latest)\\n- Edge (latest)\},{\id\:\do-you-have-a-mobile-app\,\question\:\Do you have a mobile app?\,\answer\:\BlueTickets is a web application optimized for mobile browsers. The interface automatically adapts to mobile screens with:\\n- Collapsible sidebar navigation\\n- Mobile-friendly header with organization selector\\n- Responsive ticket lists and detail views\\n- Touch-optimized controls\\n\\nYou can also integrate BlueTickets into your own mobile apps using the REST API.\},{\id\:\does-bluetickets-support-dark-mode\,\question\:\Does BlueTickets support dark mode?\,\answer\:\Yes. BlueTickets includes a dark mode theme:\\n\\n1. Click the **theme toggle** button in the top navigation bar (sun/moon icon)\\n2. Your preference is saved and will persist across sessions\\n3. The theme applies to all pages, including the dashboard, tickets, settings, and documentation\\n\\nDark mode is available on both desktop and mobile views.\},{\id\:\can-i-self-host-bluetickets\,\question\:\Can I self-host BlueTickets?\,\answer\:\Self-hosting is not currently supported. BlueTickets is a cloud-based SaaS application.\},{\id\:\what-is-the-api-base-url\,\question\:\What is the API base URL?\,\answer\:\- **Production**: `https://www.bluetickets.app` (endpoints are relative, e.g., `/api/tickets`)\},{\id\:\how-do-i-check-if-the-api-is-working\,\question\:\How do I check if the API is working?\,\answer\:\Use the health check endpoint:\\n\\n```bash\\ncurl https://www.bluetickets.app/api/health\\n```\\n\\nA successful response returns:\\n```json\\n{\\n \\\ts\\\: \\\2025-11-25T12:00:00.000Z\\\\\n}\\n```\},{\id\:\why-cant-i-log-in\,\question\:\Why cant I log in?\,\answer\:\Common issues:\\n\\n1. **Incorrect credentials**: Double-check your email and password\\n2. **Email not verified**: Check your email for a verification link\\n3. **Account locked**: Contact support if youre locked out\\n4. **Browser issues**: Try clearing cookies or using an incognito window\\n5. **Session expired**: If your session times out, youll be automatically logged out. Simply log in again.\},{\id\:\why-cant-i-access-certain-settings-pages\,\question\:\Why cant I access certain settings pages?\,\answer\:\Some features are restricted to organization admins only:\\n\\n- **Settings → Tickets**: Admin-only (email configuration, domain management)\\n- **Settings → Organization**: Admin-only (organization name, domain settings)\\n- **Settings → Users**: Admin-only (invite members, manage roles)\\n- **Developers → API Keys**: Admin-only (generate API keys)\\n\\nIf youre not an admin, these links will appear disabled with a tooltip explaining that only admins can access them. Contact your organization admin if you need access to these features.\},{\id\:\why-arent-my-emails-being-sent\,\question\:\Why arent my emails being sent?\,\answer\:\Check the following:\\n\\n1. **Domain verification**: Ensure your domains DNS records are correctly added and verified\\n2. **API key**: Verify your Resend API key is correctly configured\\n3. **Email provider status**: Check Resends status page for any service issues\\n4. **Spam folder**: Check if emails are being filtered to spam\},{\id\:\why-is-my-domain-verification-failing\,\question\:\Why is my domain verification failing?\,\answer\:\Common causes:\\n\\n1. **DNS propagation delay**: Wait 5-10 minutes after adding records\\n2. **Incorrect record values**: Double-check that you copied the exact values from BlueTickets\\n3. **Wrong record type**: Ensure youre adding CNAME records (not A or TXT) for DKIM\\n4. **DNS provider issues**: Some DNS providers have delays; try refreshing the status\\n5. **Duplicate domain**: If you see a \\\Unique constraint failed\\\ error, the domain may already be in use by another organization. Contact support if you believe this is an error.\\n\\nClick **\\\Refresh Domain Status\\\** in **Settings → Tickets** to re-check verification.\\n\\n**Note**: Domain management is admin-only. Only organization admins can connect and verify domains.\},{\id\:\how-do-i-export-my-data\,\question\:\How do I export my data?\,\answer\:\Data export functionality is coming soon. Contact support@bluetickets.app if you need to export your data immediately.\},{\id\:\what-is-the-maximum-file-size-for-attachments\,\question\:\What is the maximum file size for attachments?\,\answer\:\Attachment handling is currently being implemented. File size limits will be documented once the feature is available.\},{\id\:\can-i-customize-the-ticket-fields\,\question\:\Can I customize the ticket fields?\,\answer\:\Custom ticket fields are not currently supported. The standard fields (title, description, status, priority, source, assignee) are available for all tickets.\},{\id\:\how-do-i-report-a-bug\,\question\:\How do I report a bug?\,\answer\:\Report bugs by:\\n1. Contacting support@bluetickets.app\\n2. Including steps to reproduce the issue\\n3. Providing screenshots or error messages if available\},{\id\:\where-can-i-see-system-status\,\question\:\Where can I see system status?\,\answer\:\System status and uptime information will be available on our status page (coming soon). For immediate issues, contact support@bluetickets.app.\}},{\id\:\security-privacy\,\title\:\Security \u0026 Privacy\,\items\:{\id\:\how-is-my-data-secured\,\question\:\How is my data secured?\,\answer\:\BlueTickets uses industry-standard security practices:\\n- **Encryption in transit**: All data is encrypted using HTTPS/TLS\\n- **Encryption at rest**: Database and file storage are encrypted\\n- **Authentication**: Secure session management and API key authentication\\n- **Access control**: Role-based permissions ensure users only see data theyre authorized to access\},{\id\:\where-is-my-data-stored\,\question\:\Where is my data stored?\,\answer\:\Data is stored in secure, compliant data centers. Contact support@bluetickets.app for specific information about data residency and compliance.\},{\id\:\who-can-see-my-tickets\,\question\:\Who can see my tickets?\,\answer\:\Only members of your organization can see your tickets. Each organizations data is completely isolated (multi-tenant architecture). BlueTickets staff cannot access your data unless you explicitly grant permission for support purposes.\},{\id\:\can-i-delete-my-data\,\question\:\Can I delete my data?\,\answer\:\Yes. You can:\\n- Delete individual tickets\\n- Delete your user account\\n- Delete your entire organization (removes all data)\\n\\n**Warning**: Deleting an organization permanently removes all data and cannot be undone.\},{\id\:\how-are-api-keys-secured\,\question\:\How are API keys secured?\,\answer\:\- API keys are hashed in the database (never stored in plain text)\\n- Keys are only shown once when generated\\n- Each key is scoped to a specific organization\\n- Keys can be revoked at any time\},{\id\:\what-should-i-do-if-my-api-key-is-compromised\,\question\:\What should I do if my API key is compromised?\,\answer\:\1. Immediately delete the compromised key from **Developers → API Keys** (admin-only)\\n2. Generate a new API key\\n3. Update all applications using the old key\\n4. Review your API usage logs for any unauthorized activity\\n\\n**Note**: Only organization admins can delete API keys. If youre not an admin, contact your organization admin immediately.\},{\id\:\do-you-comply-with-gdpr\,\question\:\Do you comply with GDPR?\,\answer\:\GDPR compliance features are being implemented. Contact support@bluetickets.app for specific information about data processing agreements and GDPR compliance.\},{\id\:\can-i-request-a-copy-of-my-data\,\question\:\Can I request a copy of my data?\,\answer\:\Yes. Data export functionality is coming soon. Contact support@bluetickets.app to request a data export.\},{\id\:\how-long-is-data-retained-after-account-deletion\,\question\:\How long is data retained after account deletion?\,\answer\:\Data is typically retained for 30 days after account deletion, then permanently removed. Contact support@bluetickets.app for specific retention policies.\},{\id\:\do-you-use-third-party-analytics\,\question\:\Do you use third-party analytics?\,\answer\:\BlueTickets may use analytics to improve the service. Contact support@bluetickets.app for information about third-party services and data sharing.\}}},\settingsPage\:{\title\:\Settings\,\links\:{\profile\:\Profile\,\organization\:\Organization\,\users\:\Users\}},\settingsProfile\:{\title\:\Profile\,\subtitle\:\Manage your personal account details.\,\profileTitle\:\Account details\,\profileSubtitle\:\Update your display name and email address.\,\profileHint\:\Changing your email updates the address you use to sign in.\,\passwordTitle\:\Password\,\passwordSubtitle\:\Set a new password after confirming your current one.\,\samePasswordTitle\:\Same Password?\,\samePasswordMessage\:\The password is the same, such a coincidence! 😄 You still want to proceed?\,\passwordHint\:\Minimum 8 characters, include at least one uppercase letter and one number.\,\dangerTitle\:\Danger zone\,\dangerSubtitle\:\Permanently delete your account.\,\deleteHint\:\This cannot be undone. All memberships and activity will be removed.\,\deleteBlocked\:\You are an organization admin. Delete the organization first {here}.\,\deleteBlockedLink\:\here\,\deleteCta\:\Delete account\,\deleteProcessing\:\Deleting...\,\emailPending\:\Pending confirmation for {email}. Check your inbox.\,\fields\:{\name\:\Name\,\namePlaceholder\:\Full name\,\email\:\Email address\,\currentPassword\:\Current password\,\newPassword\:\New password\,\confirmPassword\:\Confirm new password\,\confirmEmail\:\Type your email to confirm\,\preferredLocale\:\Preferred language\},\languageOptions\:{\auto\:\Automatic (system language)\},\languageInfoPanel\:\This setting controls the language of your dashboard interface. To change the language of emails sent by your organization, go to Organization Settings.\,\messages\:{\profileSuccess\:\Profile updated successfully.\,\profileGenericError\:\Unable to update your profile right now.\,\nameRequired\:\Name must be at least 2 characters.\,\invalidEmail\:\Enter a valid email address.\,\emailInUse\:\That email is already in use.\,\passwordSuccess\:\Password updated successfully.\,\passwordGenericError\:\Unable to update your password right now.\,\passwordRequirements\:\Password must be at least 8 characters and include one uppercase letter and one number.\,\passwordMismatch\:\New password and confirmation must match.\,\currentPasswordInvalid\:\Current password is incorrect.\,\confirmEmailMismatch\:\Enter your email address to confirm deletion.\,\deleteGenericError\:\Unable to delete your account right now.\,\deleteBlocked\:\Organization admins must delete the organization first.\,\deleteBlockedActiveSubscription\:\Cannot delete account: Organization has an active subscription. Please cancel the subscription first or delete the organization.\,\deleteBlockedActiveSubscriptionMember\:\Cannot delete account: You are a member of an organization with an active subscription. Please contact the organization admin to remove you first.\,\emailChangeSent\:\Check your inbox to confirm the new email address.\},\emailChangeSubject\:\Confirm your new BlueTickets email\,\emailChangeIntro\:\We received a request to change your BlueTickets email to {email}.\,\emailChangeButton\:\Confirm new email\,\emailChangeOutro\:\If you didnt request this change, you can ignore this email.\,\emailConfirmTitle\:\Email updated\,\emailConfirmMissing\:\Missing confirmation token.\,\emailConfirmInvalid\:\This link is invalid or has already been used.\,\emailConfirmExpired\:\This link has expired. Please request a new email confirmation.\,\emailConfirmSuccess\:\Your email has been updated to {email}.\,\emailConfirmGenericError\:\Unable to update your email right now. Please try again.\,\returnToProfile\:\Return to profile settings\},\settingsOrganization\:{\title\:\Organization\,\subtitle\:\Manage organization profile and defaults.\,\nameTitle\:\Organization Name\,\nameHelp\:\This name will be visible to all members and used in email notifications.\,\nameLabel\:\Name\,\namePlaceholder\:\Organization name\,\nameTooltip\:\Enter your company or team name. This will be visible to all members and used in email notifications.\,\logoTitle\:\Organization Logo\,\logoSubtitle\:\This logo will appear in emails sent to customers and teammates.\,\logoFormatHint\:\Supported: JPG, PNG, WEBP. Max size: 500KB.\,\logoExamplesTitle\:\Logo examples\,\logoExampleSquareTitle\:\Square logo\,\logoExampleRectTitle\:\Rectangular logo\,\logoDisclaimer\:\We accept JPG, PNG, or WEBP under 500KB.\,\logoTooBig\:\File too large. Max 500KB.\,\logoTypeInvalid\:\Only JPG, PNG, or WEBP files are allowed.\,\logoAlternatives\:\You can upload either a square logo or a rectangular logo (one option is enough).\,\logoUploadCta\:\Upload\,\logoUploading\:\Uploading...\,\logoShowExamples\:\Show Examples\,\languageTitle\:\Organization Language\,\languageHelp\:\This setting controls the language used in emails sent to ticket requesters and team members.\,\languageLabel\:\Organization Language\,\languageInfo\:\This setting controls the language used in emails sent to ticket requesters and team members.\,\languageInfoPanel\:\This setting controls the language used in emails sent by this organization. To change the language of your dashboard interface, go to Profile Settings.\,\successLocaleUpdated\:\Organization language updated successfully.\,\idTitle\:\Organization ID\,\idHelp\:\Your organizations unique identifier. Use this when asking for support.\,\errorName\:\Organization name is required.\,\successUpdated\:\Organization name updated successfully.\,\deleteTitle\:\Delete organization\,\deleteDescription\:\This permanently deletes the organization, including all tickets, comments, tags, and API keys.\,\deleteInstruction\:\Type “{name}” to confirm.\,\deletePlaceholder\:\Organization name\,\deleteWarning\:\This action cannot be undone.\,\deleteCta\:\Delete organization\,\deleteConfirming\:\Deleting…\,\deleteSuccess\:\Your organization was deleted. You can create a new one at any time.\,\messages\:{\deleteNameMismatch\:\The name you entered doesnt match.\,\deleteNotAllowed\:\Only organization admins can delete this organization.\,\deleteGenericError\:\Unable to delete the organization right now. Please try again.\,\deleteBlockedActiveSubscription\:\Cannot delete organization: Active subscription found. Please cancel the subscription first.\}},\settingsTickets\:{\title\:\Settings\,\subtitle\:\Manage organization profile, branding, and ticket notifications.\,\sections\:{\yourOrganization\:{\title\:\Your Organization\,\subtitle\:\Manage organization profile and defaults.\}},\connect\:{\title\:\Connect email\,\subtitle\:\Connect your own support@domain.com address so you can respond to tickets and get notifications using your own email address.\,\optionalHint\:\Connecting an email is not mandatory.\\rIf email is not connected, messages will be sent to your clients using the support@bluetickets.app address.\,\recommended\:\Recommended\,\recommendedDescription\:\Connect a domain now so your clients will receive emails from your branded email support@yourdomain.com.\,\failedHint\:\This domain has been marked as failed. Fix the DNS configuration, then refresh the status to resume inbound email.\,\emailLabel\:\Support email\,\domainLabel\:\Domain\,\domainPlaceholder\:\yourdomain.com\,\domainTooltip\:\Enter only your domain (e.g., company.com).\,\mailboxLabel\:\Mailbox\,\mailboxPlaceholder\:\support\,\mailboxTooltip\:\The mailbox name (default: support). Use support, help, tickets, or any name you prefer.\,\emailHelp\:\Well create this email address for inbound tickets.\,\forwardEmailAddressTooltip\:\Configure your email provider (Gmail, Outlook, etc.) to forward support@yourdomain.com to this address. This address only works with forwarding rules, not direct emails.\,\mailboxHelp\:\Well manage mailbox@domain for inbound tickets.\,\connectCta\:\Connect domain\,\updateCta\:\Update connected email\,\loadingMessage\:\Were performing the requested action\,\statusLabel\:\Status\,\connectedAddressLabel\:\Connected address\,\relayLabel\:\Forward emails to\,\relayTooltip\:\This is the forwarding address where your email provider should forward emails from your support address.\,\relayHint\:\Configure your email provider (Gmail, Outlook, etc.) with a forwarding rule to forward emails received from support@yourdomain.com to the address below.\,\relayWarning\:\⚠️ This address is for forwarding only. Set up a forwarding rule in your email provider, dont send emails directly to this address.\,\refreshCta\:\Refresh status\,\testEmailCta\:\Send test email\,\testEmailTooltip\:\Send a single test email from your connected domain to confirm delivery.\,\dnsNotReady\:\Finish DNS setup to enable test email\,\lastChecked\:\Last checked\,\neverChecked\:\Not checked yet\,\dnsTitle\:\DNS records to add\,\dnsSubtitle\:\Connect your domain following below instructions, this will enable BlueTickets to send emails as @{domain}.\,\dnsSubtitlePlaceholder\:\Connect your domain following below instructions, this will enable BlueTickets to send emails as @{domain}.\,\dnsIntroTitle\:\Follow these steps in your DNS provider:\,\dnsSteps\:\Sign in to the DNS provider that hosts your domain (Cloudflare, GoDaddy, Route53, etc.).\,\Create each record exactly as shown. Use @ for the root domain if your provider requires it.\,\Save the changes and wait for DNS propagation (from a few minutes up to 48 hours).\,\Click “Refresh DNS status” here once the records are live to trigger verification.\,\dkimHeading\:\DKIM CNAME records\,\mxHeading\:\Bounce MX record\,\spfHeading\:\SPF \u0026 DMARC (recommended)\,\dmarcHeading\:\DMARC (TXT) records\,\spfInstructions\:\Add or update your SPF record to include Resend: vspf1 include:_spf.resend.com ~all\,\dmarcInstructions\:\Add a DMARC record (optional): _dmarc.yourdomain.com → vDMARC1; pnone; ruamailto:dmarc@yourcompany.com\,\dnsDetected\:\Detected\,\dnsWaiting\:\Waiting\,\noDnsRecords\:\Generating DNS instructions. Refresh after a few minutes.\,\dnsColumns\:{\type\:\Type\,\name\:\Name / Host\,\value\:\Value / Target\,\priority\:\Priority\,\status\:\Status\,\notes\:\Notes\},\testEmail\:{\subject\:\Test email from your connected domain\,\title\:\Your DNS setup is verified\,\intro\:\This is a test email sent from your newly connected domain. If youre reading this, your DNS setup is working!\,\celebrate\:\🎉 Congrats! Your custom domain is fully configured.\,\buttonText\:\Open BlueTickets\},\dnsNotes\:{\dkim\:\Provides the public key to sign outgoing email.\,\mx\:\Routes bounces and complaints back to your email provider.\,\spf\:\Authorizes to send mail for this domain.\,\dmarc\:\Optional but recommended so you can monitor spoofing attempts.\},\dmarcHintTitle\:\Add a DMARC record after SPF \u0026 DKIM verify\,\dmarcHintDescription\:\Start with pnone so you can receive reports before enforcing the policy.\,\receivingEmailsTitle\:\For receiving emails\,\sendingEmailsTitle\:\For sending emails\,\forwardEmailsFromLabel\:\FORWARD EMAILS FROM\,\toTheAddressLabel\:\TO THE ADDRESS\,\forwardingOnlyAccepted\:\Only forwarded emails from the connected address are accepted.\,\emailsNotProcessedTitle\:\Emails will not be processed into tickets if:\,\emailsNotProcessedDirect\:\They are sent directly to this address, or\,\emailsNotProcessedDifferent\:\They are forwarded from a different email address\,\forwardingConfigurationInstruction\:\Please configure a {forwardingRule} in your email provider ({emailProvider}) to forward emails from {connectedEmail} → {relayEmail}\,\forwardingRuleText\:\forwarding rule\,\emailProviderExamples\:\Gmail, Outlook, etc.\,\forwardingOnlyWarning\:\Above address allows only forwarded emails, and forwarded only from the connected address. If you forward from a different address it wont work. If you send directly without forwarding it wont work from any address.\,\forwardingInstruction\:\We expect instead you to configure your email provider (Gmail, Outlook, etc.) with a {forwardingRule} to {relayEmail} from the address you connected {connectedEmail}.\,\optionalHintDns\:\Connecting your domain is not mandatory. If not connected, emails will be sent to your customers using the standard support@bluetickets.app address.\,\simplifiedSetupTab\:\Simplified Setup\,\advancedSetupTab\:\Advanced Setup\,\simplifiedSetupDescription\:\Copy the text below and share it with your IT team or domain administrator (e.g. who manages your website)\,\downloadDnsSettings\:\Download DNS Settings\,\downloadDnsConfig\:\Download Configuration File\,\dnsConfigLabel\:\Configuration Instructions\,\dnsConfigSubtitle\:\for your IT department/website managers/developers\,\dmarcSampleHost\:\_dmarc\,\dmarcSample\:\vDMARC1; pnone; ruamailto:dmarc@yourcompany.com\,\helpCta\:\I need more help\,\helpTitle\:\How to configure DNS\,\helpIntro\:\Use this checklist if the DNS records remain in Waiting state.\,\helpItems\:\Confirm the records live on the correct domain or subdomain (e.g., send.yourdomain.com).\,\Disable CDN/proxy mode for these records (Cloudflare “DNS only”).\,\Use dig or mxtoolbox.com to look up the TXT/MX values and verify they match exactly.\,\Wait up to 48 hours for propagation, then click “Refresh DNS status” again.\,\helpPrerequisitesTitle\:\Prerequisites\,\helpPrerequisites\:\Log into your DNS provider (e.g., Cloudflare, GoDaddy, Route53).\,\Replace yourdomain.com with your actual domain name in the examples below.\,\After adding records, click \\\Refresh DNS Status\\\ in this page. Verification may take a few minutes to 48 hours.\,\Test with tools like MX Toolbox (mxtoolbox.com) or the dig command to verify propagation.\,\helpDkim\:{\title\:\1. DKIM Record (Verifies Email Signatures)\,\description\:\This is a TXT record (not CNAME). The value is your public key provided by the email service.\,\type\:\TXT\,\name\:\resend._domainkey (or similar)\,\value\:\pMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD... (copy full string from above)\,\notes\:\If the value doesnt start with \\\vDKIM1; krsa;\\\, prepend it: \\\vDKIM1; krsa; p...\\\. The full name will be resend._domainkey.yourdomain.com (or similar based on whats shown above).\},\helpMx\:{\title\:\2. Bounce Handling Record (For Feedback Loops)\,\description\:\This is an MX record to route bounces and complaints back to your email provider.\,\type\:\MX\,\name\:\send (or your subdomain)\,\value\:\feedback-smtp.us-east-1.amazonses.com (or your regions endpoint)\,\priority\:\10\,\notes\:\Full name: send.yourdomain.com (or your subdomain). This handles email feedback and is required for compliance. The endpoint may vary by region (e.g., us-west-2, eu-west-1).\},\helpSpf\:{\title\:\3. SPF Record (Authorizes Senders)\,\description\:\This is a TXT record listing allowed senders for your domain.\,\type\:\TXT\,\name\:\send (or @ for root domain)\,\value\:\vspf1 include:amazonses.com ~all\,\notes\:\Full name: send.yourdomain.com (or @ for root). If you have an existing SPF record, merge it by adding \\\include:amazonses.com\\\ to your current value. Use ~all for soft fail (recommended).\},\helpDmarc\:{\title\:\4. DMARC Record (Policy and Reporting) - Recommended\,\description\:\Add this after SPF and DKIM are verified. Its a TXT record for monitoring and policy enforcement.\,\type\:\TXT\,\name\:\_dmarc.send (or _dmarc for root)\,\value\:\vDMARC1; pnone; ruamailto:reports@yourdomain.com\,\notes\:\Full name: _dmarc.send.yourdomain.com (or _dmarc.yourdomain.com for root). Start with pnone (monitor mode). Later upgrade to pquarantine or preject. Replace the rua email address with your own for receiving reports.\},\helpTroubleshooting\:{\title\:\Troubleshooting\,\items\:\Not verifying? Wait for DNS propagation (up to 48 hours). Check with dig TXT resend._domainkey.yourdomain.com or use MX Toolbox.\,\Errors? Ensure no duplicate records exist. If using a subdomain, send emails from addresses like support@send.yourdomain.com.\,\Cloudflare users: Set \\\Proxy status\\\ to \\\DNS only\\\ (gray cloud) for these records.\,\GoDaddy users: Use \\\@\\\ for the root domain if not using a subdomain.\,\Verify exact match: The email service only verifies records that match exactly. Copy values precisely, including any prefixes or formatting.\},\helpDismiss\:\Close guide\,\priorityLabel\:\Priority {value}\,\disconnect\:\Disconnect\,\disconnectConfirm\:\Are you sure you want to disconnect this email? Youll need to reconnect it to use it again.\,\disconnecting\:\Disconnecting...\,\status\:{\pending\:\Configuration incomplete\,\verified\:\Active\,\failed\:\Attention needed\,\unknown\:\Not connected\}},\recipientsTitle\:\Notifications\,\recipientsTooltip\:\Configure who receives email notifications for new tickets and updates.\,\recipientsDescription\:\Manage team members and external recipients who receive ticket notifications.\,\ticketsSettingsTitle\:\Ticket prioritization\,\ticketsSettingsMenuItemTitle\:\Tickets Settings\,\ticketsSettingsDescription\:\Configure timing rules that help BlueTickets automatically prioritize support tickets.\,\slaTimeHelperText\:\Overall time limit before a ticket becomes critical.\,\slaTimeTooltip\:\Common values: 1 hour, 4 hours, 8 hours, 24 hours, 48 hours. Maximum: 7 days, 23 hours, 59 minutes.\,\resolutionTimeLimitLabel\:\Resolution Time Limit\,\resolutionTimeLimitHelperText\:\Overall time limit before a ticket becomes critical.\,\resolutionTimeLimitTooltip\:\Common values: 1 hour, 4 hours, 8 hours, 24 hours, 48 hours. Maximum: 7 days, 23 hours, 59 minutes.\,\resolutionTimeLimitDescription\:\Resolution Time Limit sets the maximum time a ticket can take before it becomes critical. When this time is reached, the ticket is escalated and marked as Urgent to prevent missed customer expectations.\,\validationUnansweredExceedsResolution\:\Unanswered Ticket Escalation time must be less than or equal to Resolution Time Limit. Resolution time must always be longer than the unanswered time limit.\,\validationUnansweredTooShort\:\Unanswered Ticket Escalation time must be at least 5 minutes. Shorter times would cause everything to escalate immediately.\,\validationResolutionTooShort\:\Resolution Time Limit must be at least 6 minutes. Shorter times would cause everything to escalate immediately or conflict with unanswered time.\,\unansweredEscalationLabel\:\Unanswered Ticket Escalation\,\unansweredEscalationHelperText\:\Time limit to send the first reply and let the customer know youre on it.\,\unansweredEscalationTooltip\:\Common values: 30 minutes, 1 hour, 2 hours, 4 hours. Maximum: 7 days, 23 hours, 59 minutes.\,\unansweredEscalationDescription\:\Unanswered Ticket Escalation ensures every ticket gets an initial response. If a ticket is not answered within this time, it gradually becomes more urgent every 30 minutes until it reaches Urgent, regardless of the Resolution Time Limit.\,\daysLabel\:\days\,\hoursLabel\:\hours\,\minutesLabel\:\minutes\,\saveSettings\:\Save Settings\,\teamRecipientsTitle\:\Team Recipients\,\teamRecipientsSubtitle\:\Team members can enable or disable email notifications.\\nWhen enabled, they receive quick action links to manage tickets.\,\teamRecipientsTooltip\:\These are part of your team and you can choose if they are notified by email or not enabling/disabling: they will receive quick action links to follow up the ticket if they want to.\,\manageTeam\:\Manage team\,\teamTitle\:\Team recipients\,\teamDescription\:\Workspace members receive notifications by default. Disable teammates who prefer to stay out of the queue.\,\teamEmpty\:\No teammates yet. Invite users from the Users page.\,\externalRecipientsTitle\:\External Recipients\,\externalRecipientsSubtitle\:\External recipients receive informational notifications only.\\nThey cannot take actions on tickets as they dont have account access.\,\enableLabel\:\Enable\,\disableLabel\:\Disable\,\externalRecipientsTooltip\:\These are external emails, we will send an email notification with the received info, but the receiver cant take any action as they dont have access to the account like the team members above.\,\enabledLabel\:\Enabled\,\disabledLabel\:\Disabled\,\enable\:\Enable\,\disable\:\Disable\,\customTitle\:\Additional recipients\,\customDescription\:\Forward formatted ticket emails to shared inboxes or partner teams. Theyll see the same quick links.\,\additionalRecipientsTooltip\:\Forward ticket digests to shared mailboxes or external partners. They receive the same formatted notification with quick actions.\,\emailLabelTooltip\:\Optional label to identify this recipient, like Shared inbox or Partner notifications.\,\customEmpty\:\No additional recipients configured yet.\,\emailLabel\:\Email\,\emailPlaceholder\:\alerts@team.com\,\labelLabel\:\Label (optional)\,\labelPlaceholder\:\Shared inbox\,\addEmail\:\Add email\,\remove\:\Remove\,\categories\:{\title\:\Ticket Categories\,\subtitle\:\Manage categories for organizing tickets. Categories can be assigned during ticket creation via API or automatically by AI for email-generated tickets.\,\tooltip\:\Categories can be assigned during ticket creation from APIs (example with a dropdown selection). An API can be used to request the available categories so they can be shown in the app/web dropdown. Categories are self-assigned using AI when a ticket is generated by an incoming email.\,\allowAIOptimization\:\Allow AI to automatically optimize categories\,\allowAIOptimizationTooltip\:\When enabled, AI can suggest category renames and create new categories. Locked categories are never modified by AI.\,\addCategory\:\Add category\,\editCategory\:\Edit category\,\deleteCategory\:\Delete category\,\lockCategory\:\Lock category\,\unlockCategory\:\Unlock category\,\lockedTooltip\:\Locked categories cannot be modified by AI\,\unlockedTooltip\:\Unlocked categories can be optimized by AI\,\lockStatusLocked\:\Locked: AI cannot modify this category. Click to unlock.\,\lockStatusUnlocked\:\Unlocked: AI can optimize this category. Click to lock.\,\maxCategoriesReached\:\Maximum 10 categories allowed\,\categoryLabel\:\Category name\,\categoryColor\:\Color\,\categoryInUse\:\This category is assigned to {count} ticket(s) and cannot be deleted\,\categoryCreated\:\Category created successfully\,\categoryUpdated\:\Category updated successfully\,\categoryDeleted\:\Category deleted successfully\,\categoryLocked\:\Category locked\,\categoryUnlocked\:\Category unlocked\,\aiOptimizationEnabled\:\AI category optimization enabled\,\aiOptimizationDisabled\:\AI category optimization disabled\},\messages\:{\member_enabled\:\Notifications enabled for this teammate.\,\member_disabled\:\Notifications disabled for this teammate.\,\custom_added\:\Additional recipient saved.\,\custom_enabled\:\Recipient enabled.\,\custom_disabled\:\Recipient disabled.\,\custom_deleted\:\Recipient removed.\,\support_connected\:\Domain connected. Add the DNS records to finish verification.\,\support_verified\:\Support email is verified. Inbound email is now live.\,\support_refreshed\:\DNS status refreshed.\,\support_disconnected\:\Support email disconnected successfully.\,\support_connect_failed\:\Unable to connect the domain. Double-check the DNS name and try again.\,\support_refresh_failed\:\Unable to refresh DNS status right now.\,\support_disconnect_failed\:\Unable to disconnect the email. Please try again.\,\support_not_connected\:\No email is currently connected.\,\support_missing\:\Connect a domain before refreshing the DNS status.\,\support_rate_limited\:\Wait a few seconds, then try again.\,\support_limit\:\Domain rejected, try again later.\,\support_domain_in_use\:\This domain is already connected to another organization.\,\test_email_sent\:\Test email sent using your connected domain.\,\test_email_rate_limited\:\You can retry sending a test email in a bit.\,\test_email_failed\:\Unable to send the test email right now.\,\missing_domain\:\Domain is required.\,\invalid_email\:\Enter a valid email address.\,\duplicate_email\:\That email already receives notifications.\,\forbidden\:\Only organization admins can change ticket notifications.\,\missing_member\:\Missing member reference.\,\member_not_found\:\Member not found.\,\missing_recipient\:\Missing recipient reference.\,\recipient_not_found\:\Recipient not found.\,\tickets_settings_saved\:\Tickets settings saved successfully.\,\tickets_settings_save_failed\:\Failed to save tickets settings. Please try again.\,\invalid_sla_time\:\Resolution Time Limit must be between 1 minute and 7 days, 23 hours, 59 minutes.\,\invalid_escalation_time\:\Unanswered escalation time must be between 1 minute and 7 days, 23 hours, 59 minutes.\}},\settingsUsers\:{\title\:\Users\,\subtitle\:\Invite teammates, review pending invitations, and manage membership.\,\inviteCta\:\Invite more teammates\,\goDashboard\:\Go to dashboard\,\membersTitle\:\Team members\,\membersHint\:\Users who currently belong to this organization.\,\membersEmpty\:\No members yet. Invite teammates to get started.\,\pendingTitle\:\Pending invitations\,\pendingHint\:\Invitations waiting for acceptance.\,\pendingEmpty\:\No pending invitations right now.\,\pendingStatus\:\Awaiting response\,\invitedAtLabel\:\Invited\,\roles\:{\PRIMARY_ADMIN\:\Primary Admin\,\ORG_ADMIN\:\Admin\,\AGENT\:\Agent\,\REQUESTER\:\Requester\},\adminNote\:\The primary admin of an organization cannot be removed from the organization settings page. To permanently close the account, delete the organization using the Delete Organization button on the Organization Settings page.\,\primaryAdminProtected\:\Primary admin cannot be removed.\,\primaryAdminTooltip\:\The primary admin of an organization cannot be removed from this Team view page. To permanently remove this account, delete the organization using the Delete Organization function on the Settings page. If you want to replace the primary admin with another account, contact support.\,\confirmRemoveAdmin\:\Are you sure you want to delete this admin? If the intention is to turn this account into a simple agent, select Agent from the dropdown and press Update.\,\remove\:\Remove\,\statusConnected\:\Connected\,\statusWaiting\:\Waiting for confirmation\,\emailNotificationsTooltip\:\When enabled, this user receives email notifications for new tickets and replies in their organization.\,\resend\:\Resend\,\resending\:\Sending...\,\resendSuccess\:\Invitation email sent successfully\,\resendError\:\Failed to resend invitation\,\delete\:\Delete\,\deleting\:\Deleting...\,\deactivatedMembersTitle\:\Deactivated Members\,\deactivatedMembersHint\:\These members have been deactivated and no longer have access to this organization.\,\deactivatedBadge\:\Deactivated\,\deactivatedOn\:\Deactivated on\,\deactivationReasonLimit\:\Subscription limit exceeded\,\deactivationReasonExpired\:\Plan expired\,\deactivationReasonDowngrade\:\Plan downgrade\,\deactivationReasonUnknown\:\Unknown\,\deleteInvitationConfirm\:\Are you sure you want to delete this invitation?\,\deleteInvitationError\:\Failed to delete invitation\,\skippedEmailsTitle\:\Some emails were skipped:\,\skippedReason\:\(already a member or invitation pending)\,\roleLabel\:\Role\,\roleUpdateCta\:\Update\,\youLabel\:\(You)\,\messages\:{\removed\:\Member removed from the workspace.\,\cannot_remove_admin\:\The admin cannot be removed from here. Delete the organization instead.\,\not_found\:\Unable to find that member.\,\missing\:\No member selected.\,\role_updated\:\Member role updated.\,\forbidden\:\Only admins can manage teammates.\,\cannot_edit_self\:\You can’t change your own role.\,\last_admin\:\Add another admin before demoting this one.\,\invalid_role\:\Please choose a valid role.\},\limitReachedTitle\:\User Limit Reached\,\limitReachedMessage\:\Youve reached your user limit ({current} of {max} users). Please upgrade your plan to invite more teammates.\},\subscription\:{\title\:\Subscription plan\,\organizationLabel\:\Youre managing the subscription for\,\intro\:\Review your current plan, usage, and billing preferences. Manage your subscription and billing.\,\activePlanTitle\:\Active plan\,\noActivePlanTitle\:\No Active Plan\,\noActivePlanMessage\:\There is currently no active subscription plan. Account functions are paused until a plan is selected. Please choose a plan below to reactivate your account.\,\currentPlanTitle\:\Current plan\,\currentPlanDetail\:\You are currently on the launch trial. Choose a plan to continue after the trial ends.\,\trialBadge\:\Trial\,\trialSuffix\:\30 days remaining\,\dayRemaining\:\day remaining\,\daysRemaining\:\days remaining\,\trialBadgeTooltip\:\Youre currently on a 30-day trial. After the trial, youll need to choose a plan to continue using BlueTickets.\,\trialCardTitle\:\Trial Period\,\trialCardEndDate\:\Ends on\,\trialCardDescription\:\Choose a plan before your trial expires to continue using BlueTickets. Your trial includes full access to all features.\,\selectAfterTrial\:\Select after trial\,\plansTitle\:\Available Plans\,\plansIntro\:\Choose the plan that fits your teams needs. All plans include full access to BlueTickets features.\,\smallTeamTitle\:\Small Team\,\smallTeamPrice\:\4.99\,\smallTeamOrg\:\1 organization\,\smallTeamUsers\:\Up to 2 users (admin + agent)\,\smallTeamApiKeys\:\Up to 2 API keys\,\smallTeamTickets\:\Up to 300 tickets/month (10 tickets/day)\,\smallTeamTicketsTemplate\:\Up to {monthly} tickets{perMonth} ({daily} tickets{perDay})\,\smallTeamAiFiltering\:\AI-powered email spam filtering and automatic ticket categorization\,\growingStartupTitle\:\Growing Startup\,\growingStartupPrice\:\9.99\,\growingStartupOrg\:\1 organization\,\growingStartupUsers\:\Up to 5 users (admin + agents)\,\growingStartupApiKeys\:\Up to 5 API keys (to handle multiple sources)\,\growingStartupTickets\:\Up to 1000 tickets/month (100 tickets/day)\,\growingStartupTicketsTemplate\:\Up to {monthly} tickets{perMonth} ({daily} tickets{perDay})\,\ticketsPerMonth\:\/month\,\ticketsPerDay\:\/day\,\loadingPrices\:\Loading prices...\,\unableToLoadPrices\:\Unable to load prices\,\growingStartupAiFiltering\:\AI-powered email spam filtering and automatic ticket categorization\,\currency\:\EUR\},\pricing\:{\title\:\Simple, Affordable Pricing\,\description\:\Simple, affordable pricing for small teams. Start with a 30-day free trial, no credit card required.\,\subtitle\:\Choose the plan that fits your team. All plans include full access to BlueTickets features.\,\trialTitle\:\Free Trial\,\trialPrice\:\Free\,\trialPeriod\:\30 days\,\trialFeature1\:\Full access to all features\,\trialFeature2\:\No credit card required\,\trialFeature3\:\Cancel anytime\,\trialFeature4\:\All features unlocked\,\perMonth\:\month\,\billedMonthly\:\Billed monthly\,\contactSupport\:\You dont find your perfect plan? Contact us here and lets see how we can help\},\whyBlueTickets\:{\perMonth\:\per month\,\perYear\:\per year\,\billingMonthly\:\Monthly\,\billingYearly\:\Yearly\,\yearlyDiscount\:\20% off\,\saveLabel\:\Save {amount} EUR/year\,\popularBadge\:\Popular\,\selectPlan\:\Select plan\,\currentPlan\:\Current plan\,\processing\:\Processing...\,\successMessage\:\Subscription activated successfully!\,\canceledMessage\:\Checkout was canceled. No charges were made.\,\planLabel\:\Plan\,\billingLabel\:\Billing\,\statusLabel\:\Status\,\renewsAtLabel\:\Renews on\,\cancelsAtLabel\:\Cancels on\,\statusTrialing\:\Trial\,\statusActive\:\Active\,\statusScheduledToCancel\:\Active (scheduled to cancel)\,\statusPastDue\:\Past Due\,\statusCanceled\:\Canceled\,\statusUnpaid\:\Unpaid\,\statusIncomplete\:\Incomplete\,\statusIncompleteExpired\:\Incomplete Expired\,\subscriptionExpired\:\Subscription Expired\,\subscriptionExpiredMessage\:\Your subscription has expired or been canceled. Please renew to continue using BlueTickets.\,\limitReached\:\Limit Reached\,\approachingLimit\:\Approaching Limit\,\upgradePlan\:\Upgrade Plan\,\manageTitle\:\Manage subscription\,\manageDescription\:\Update your payment method, view invoices, or cancel your subscription.\,\manageButton\:\Manage subscription\,\cancelButton\:\Cancel subscription\,\cancelConfirm\:\Are you sure you want to cancel your subscription? Youll continue to have access until the end of your billing period.\,\reactivateButton\:\I changed my mind, keep subscription active\,\dayRemainingUntilCancellation\:\1 day left before cancellation\,\daysRemainingUntilCancellation\:\{days} days left before cancellation\,\activeSubscriptionMessage\:\You already have an active subscription. Contact support to upgrade.\,\upgradeMessage\:\You have an active subscription. Contact support to upgrade.\,\downgradeMessage\:\You have an active subscription. Contact support to downgrade.\,\checkoutErrors\:{\activeSubscription\:\You already have an active paid subscription. Please use the customer portal to manage your subscription.\,\invalidPlan\:\Invalid subscription plan selected. Please try again.\,\priceNotConfigured\:\Subscription pricing is not configured. Please contact support.\,\invalidPriceId\:\Invalid subscription price. Please contact support.\,\stripeNotConfigured\:\Payment processing is not available. Please contact support.\,\checkoutFailed\:\Failed to create checkout session. Please try again or contact support if the problem persists.\},\nextStepsTitle\:\Need changes?\,\nextStepsDetail\:\If you need a customised plan or want to talk through the roadmap, reach out to the BlueTickets team.\,\contactCta\:\Contact support\,\paymentHistoryTitle\:\Payment History\,\paymentHistoryDesc\:\View and download your past invoices and payment receipts.\,\invoicesLoading\:\Loading invoices...\,\invoicesError\:\Error loading invoices\,\noInvoices\:\No payments made to date.\,\invoiceDate\:\Date\,\invoiceReason\:\Reason\,\invoiceAmount\:\Amount\,\invoiceAction\:\INVOICE\,\downloadInvoice\:\Download\,\invoiceNotAvailable\:\N/A\},\settingsApi\:{\title\:\API Keys\,\subtitle\:\Manage API keys for programmatic access to your tickets.\,\seeDocsCta\:\See how to use the APIs\,\generateTitle\:\Generate New API Key\,\generateHelp\:\Create a new API key for programmatic access. Give it a descriptive name, this short name will be shown in the tickets list as a ticket source.\,\generateButton\:\Generate API Key\,\nameLabel\:\Name\,\namePlaceholder\:\e.g., Mobile App, Webhook Integration\,\nameTooltip\:\Give your API key a descriptive name to identify it later, like Mobile App or Webhook Integration.\,\lastUsedAtTooltip\:\The last time this API key was used to authenticate an API request. Helps identify unused keys.\,\listTitle\:\API Keys\,\listHelp\:\Manage your API keys. Only the last 4 characters are shown for security.\,\listEmpty\:\No API keys yet. Generate one to get started.\,\newKeyTitle\:\New API Key Generated\,\newKeyWarning\:\Copy this key now. It wont be shown again!\,\newBadge\:\New\,\lastUsed\:\Last used\,\deleteTitle\:\Delete API Key\,\deleteConfirm\:\Are you sure you want to delete this API key? This action cannot be undone.\,\errorName\:\API key name is required.\,\errorMissing\:\API key ID is required.\,\errorNotFound\:\API key not found.\,\errorDeleteFailed\:\Failed to delete API key.\,\successDeleted\:\API key deleted successfully.\,\modalWarning\:\⚠️ Copy this key now. It wont be shown again after closing this dialog!\,\copy\:\Copy\,\copied\:\Copied!\,\limitReachedTitle\:\API Key Limit Reached\,\limitReachedMessage\:\Youve reached your API key limit ({current} of {max} API keys). Please upgrade your plan to create more API keys.\,\limitReachedHint\:\Limit reached: {current} of {max} API keys\},\devDocs\:{\title\:\Developers Documentation\,\subtitle\:\Integrate BlueTickets with your stack using our stable REST APIs.\,\overview\:\Overview\,\overviewBody\:\Our REST APIs let you create tickets, list existing ones, update statuses, and pull analytics. The endpoints are stable and versioned, and every request must be authenticated via an API key.\,\overviewPoints\:\Base URL: https://www.bluetickets.app (endpoints are relative to base URL, e.g., /api/tickets)\,\Authentication: Bearer token using your workspace API key (format: Bearer qt_\u003cyour-api-key\u003e)\,\Content-Type: application/json for all POST/PUT/PATCH requests\,\authenticationTitle\:\Authentication\,\authenticationDesc\:\All API requests require authentication using an API key. API keys are scoped to your organization and can be generated from Developers → API Keys.\,\authenticationHeader\:\Include your API key in the Authorization header:\,\authenticationExample\:\Authorization: Bearer qt_your_api_key_here\,\authenticationNote\:\API keys must start with the qt_ prefix. Keep your keys secure and never expose them in client-side code.\,\rateLimitTitle\:\Rate Limiting\,\rateLimitDesc\:\To ensure fair usage and system stability, all API endpoints are rate limited. Rate limits are applied per API key.\,\apiEndpointsTitle\:\API Endpoints\,\referenceValuesTitle\:\References\,\rateLimitApiTitle\:\API Endpoints\,\rateLimitApiDesc\:\All API endpoints have a rate limit of 100 requests per minute per API key. This limit applies to all endpoints combined.\,\rateLimitHeadersTitle\:\Rate Limit Headers\,\rateLimitHeadersDesc\:\Every API response includes rate limit information in the response headers:\,\rateLimitExceededTitle\:\Rate Limit Exceeded\,\rateLimitExceededDesc\:\When the rate limit is exceeded, the API returns a 429 status code with the following response:\,\rateLimitExceededExample\:\{\\n \\\error\\\: \\\RATE_LIMIT_EXCEEDED\\\,\\n \\\message\\\: \\\Rate limit exceeded. Maximum 100 requests per minute.\\\,\\n \\\retryAfter\\\: 45\\n}\,\rateLimitExceededNote\:\Wait for the time specified in the Retry-After header before making additional requests. Implement exponential backoff in your client to handle rate limits gracefully.\,\apisUsage\:\API Endpoints\,\apisIntro\:\Use the endpoints below to automate ticket creation, syncing, and reporting. Replace YOUR_API_KEY with the key generated in Developers → API Keys.\,\createTicketTitle\:\Create Ticket\,\createTicketDesc\:\Create a new support ticket programmatically. Use this from your backend when you need to log issues automatically.\,\createTicketEndpoint\:\POST /api/tickets\,\createTicketAuth\:\Required (API key)\,\createTicketRequestTitle\:\Request Body\,\createTicketFields\:{\title\:{\name\:\title\,\type\:\string\,\required\:true,\desc\:\Brief summary of the issue (max 255 characters)\},\body\:{\name\:\body\,\type\:\string\,\required\:true,\desc\:\Detailed description of the issue, steps to reproduce, or any relevant context\},\requester\:{\name\:\requester\,\type\:\object\,\required\:true,\desc\:\Requester information (see below)\},\requester.email\:{\name\:\requester.email\,\type\:\string\,\required\:true,\desc\:\Email address of the person requesting support (must be valid email format)\},\requester.name\:{\name\:\requester.name\,\type\:\string\,\required\:false,\desc\:\Full name of the requester (optional, but recommended for better ticket management)\},\priority\:{\name\:\priority\,\type\:\number\,\required\:false,\desc\:\Priority level: 0 (Low), 1 (Medium), 2 (High). Default: 0. Note: Priority 2 (High) automatically sets status to \\\urgent\\\.\},\source\:{\name\:\source\,\type\:\string\,\required\:false,\desc\:\Source of the ticket: app, web, email, or agent. Default: app\},\categoryId\:{\name\:\categoryId\,\type\:\string\,\required\:false,\desc\:\Explicit category ID to assign. If not provided, AI will suggest a category or default to General\}},\createTicketExampleTitle\:\Example Request\,\createTicketExampleRequest\:\curl -X POST https://www.bluetickets.app/api/tickets \\\\\\n -H \\\Authorization: Bearer qt_YOUR_API_KEY\\\ \\\\\\n -H \\\Content-Type: application/json\\\ \\\\\\n -d {\\n \\\title\\\: \\\Login button not working\\\,\\n \\\body\\\: \\\When users tap the login button, nothing happens. This occurs on iOS 17.2.\\\,\\n \\\requester\\\: {\\n \\\email\\\: \\\user@example.com\\\,\\n \\\name\\\: \\\John Doe\\\\\n },\\n \\\priority\\\: 2,\\n \\\source\\\: \\\app\\\,\\n \\\categoryId\\\: \\\tag_abc123\\\\\n }\,\createTicketResponseTitle\:\Success Response (200 OK)\,\createTicketResponseExample\:\{\\n \\\ticket\\\: {\\n \\\id\\\: \\\clx1234567890\\\,\\n \\\title\\\: \\\Login button not working\\\,\\n \\\status\\\: \\\urgent\\\,\\n \\\priority\\\: 2,\\n \\\source\\\: \\\app\\\,\\n \\\requester\\\: {\\n \\\email\\\: \\\user@example.com\\\,\\n \\\name\\\: \\\John Doe\\\\\n },\\n \\\createdAt\\\: \\\2025-11-18T13:50:00.000Z\\\\\n }\\n}\,\listTicketsTitle\:\List Tickets\,\listTicketsDesc\:\Fetch tickets with filters for requester email, keywords, status, source, assignee, and urgency. Results are paginated so you can stream them into your stack.\,\listTicketsEndpoint\:\GET /api/tickets\,\listTicketsAuth\:\Required (API key)\,\listTicketsFiltersTitle\:\Query Parameters\,\listTicketFilters\:{\name\:\page\,\type\:\number\,\desc\:\Page number (default: 1)\},{\name\:\pageSize\,\type\:\number\,\desc\:\Items per page, max 100 (default: 25)\},{\name\:\status\,\type\:\string\,\desc\:\Comma-separated list of statuses (e.g., pending,processing)\},{\name\:\source\,\type\:\string\,\desc\:\Filter by source: app, web, email, agent\},{\name\:\requesterEmail\,\type\:\string\,\desc\:\Match requester email (case-insensitive contains)\},{\name\:\requesterName\,\type\:\string\,\desc\:\Match requester name (case-insensitive contains)\},{\name\:\keywords\,\type\:\string\,\desc\:\Search across title, body, requester name/email\},{\name\:\assignee\,\type\:\string\,\desc\:\Filter by assigned agent email, name, id, or use unassigned\},{\name\:\urgent\,\type\:\boolean\,\desc\:\Set to true to filter by urgent status (statusurgent or escalated)\},\listTicketsExampleTitle\:\Example Request\,\listTicketsExampleRequest\:\curl \\\https://www.bluetickets.app/api/tickets?page1\u0026pageSize25\u0026statuspending,processing\u0026assigneeunassigned\\\ \\\\\\n -H \\\Authorization: Bearer qt_YOUR_API_KEY\\\\,\listTicketsResponseTitle\:\Success Response (200 OK)\,\listTicketsExampleResponse\:\{\\n \\\pagination\\\: {\\n \\\page\\\: 1,\\n \\\pageSize\\\: 25,\\n \\\totalResults\\\: 58,\\n \\\totalPages\\\: 3\\n },\\n \\\tickets\\\: \\n {\\n \\\id\\\: \\\clx123\\\,\\n \\\title\\\: \\\Login button not working\\\,\\n \\\status\\\: \\\urgent\\\,\\n \\\priority\\\: 2,\\n \\\source\\\: \\\web\\\,\\n \\\requester\\\: {\\n \\\email\\\: \\\user@example.com\\\,\\n \\\name\\\: \\\John Doe\\\\\n },\\n \\\assignedTo\\\: null,\\n \\\messagesCount\\\: 4,\\n \\\createdAt\\\: \\\2025-11-18T13:50:00.000Z\\\,\\n \\\updatedAt\\\: \\\2025-11-18T14:10:00.000Z\\\\\n }\\n \\n}\,\updateTicketTitle\:\Update Ticket Status\,\updateTicketDesc\:\Update the status of an existing ticket. Authenticate with your API key to keep automations simple while preserving the audit trail.\,\updateTicketEndpoint\:\POST /api/tickets/{ticketId}/status\,\updateTicketAuth\:\Required (API key)\,\updateTicketRequestTitle\:\Request Body\,\updateTicketFields\:{\status\:{\name\:\status\,\type\:\string\,\required\:true,\desc\:\New status value (see Status Values section below)\},\reason\:{\name\:\reason\,\type\:\string\,\required\:true,\desc\:\Reason for the status change (required for audit trail)\}},\updateTicketExampleTitle\:\Example Request\,\updateTicketExampleRequest\:\curl -X POST https://www.bluetickets.app/api/tickets/clx1234567890/status \\\\\\n -H \\\Authorization: Bearer qt_YOUR_API_KEY\\\ \\\\\\n -H \\\Content-Type: application/json\\\ \\\\\\n -d {\\n \\\status\\\: \\\processing\\\,\\n \\\reason\\\: \\\Agent assigned and starting investigation\\\\\n }\,\updateTicketResponseTitle\:\Success Response (200 OK)\,\updateTicketResponseExample\:\{}\,\ticketStatsTitle\:\Ticket Statistics\,\ticketStatsDesc\:\Quickly retrieve counts by status plus useful aggregates for total, open, and completed tickets. Perfect for dashboards or alerting.\,\ticketStatsEndpoint\:\GET /api/tickets/stats\,\ticketStatsAuth\:\Required (API key)\,\ticketStatsResponseTitle\:\Success Response (200 OK)\,\ticketStatsExampleResponse\:\{\\n \\\stats\\\: {\\n \\\total\\\: 132,\\n \\\open\\\: 87,\\n \\\completedCount\\\: 45,\\n \\\byStatus\\\: {\\n \\\pending\\\: 41,\\n \\\processing\\\: 18,\\n \\\completed\\\: 45,\\n \\\urgent\\\: 5,\\n \\\escalated\\\: 3,\\n \\\spam\\\: 2\\n }\\n }\\n}\,\ticketMessagesTitle\:\Ticket Messages \u0026 Replies\,\ticketMessagesDesc\:\Sync conversations or send outbound replies without leaving your tooling. Replies trigger customer emails automatically.\,\ticketMessagesListTitle\:\List Messages\,\ticketMessagesListEndpoint\:\GET /api/tickets/{ticketId}/messages\,\ticketMessagesListExample\:\curl \\\https://www.bluetickets.app/api/tickets/clx123/messages\\\ \\\\\\n -H \\\Authorization: Bearer qt_YOUR_API_KEY\\\\,\ticketMessagesListResponse\:\{\\n \\\messages\\\: \\n {\\n \\\id\\\: \\\cm_1\\\,\\n \\\body\\\: \\\Hi, can you share a screenshot?\\\,\\n \\\author\\\: {\\n \\\id\\\: \\\user_123\\\,\\n \\\name\\\: \\\Support Bot\\\,\\n \\\email\\\: \\\support@example.com\\\,\\n \\\role\\\: \\\agent\\\\\n },\\n \\\createdAt\\\: \\\2025-11-18T14:00:00.000Z\\\\\n }\\n \\n}\,\ticketReplyTitle\:\Reply to Ticket\,\ticketReplyEndpoint\:\POST /api/tickets/{ticketId}/messages\,\ticketReplyRequestTitle\:\Request Body\,\ticketReplyExampleTitle\:\Example Request\,\ticketReplyFields\:{\message\:{\name\:\message\,\type\:\string\,\required\:true,\desc\:\Message body. You can also use body field instead of message (both are accepted for compatibility)\},\notifyRequester\:{\name\:\notifyRequester\,\type\:\boolean\,\required\:false,\desc\:\Whether to send an email notification to the requester. Default: true\}},\ticketReplyRequest\:\curl -X POST https://www.bluetickets.app/api/tickets/clx123/messages \\\\\\n -H \\\Authorization: Bearer qt_YOUR_API_KEY\\\ \\\\\\n -H \\\Content-Type: application/json\\\ \\\\\\n -d {\\n \\\message\\\: \\\We pushed a fix. Can you try again?\\\,\\n \\\notifyRequester\\\: true\\n }\,\ticketReplyResponse\:\{\\n \\\message\\\: {\\n \\\id\\\: \\\cm_9\\\,\\n \\\body\\\: \\\We pushed a fix. Can you try again?\\\,\\n \\\author\\\: {\\n \\\id\\\: \\\api-org\\\,\\n \\\name\\\: \\\API Automation\\\,\\n \\\email\\\: \\\api+org@bluetickets.app\\\,\\n \\\role\\\: \\\agent\\\\\n },\\n \\\createdAt\\\: \\\2025-11-18T15:00:00.000Z\\\,\\n \\\notifiedRequester\\\: true\\n }\\n}\,\statusValuesTitle\:\Ticket Status Values\,\statusValuesDesc\:\The following status values are available for tickets:\,\statusValues\:{\pending\:{\value\:\pending\,\desc\:\Ticket is waiting to be picked up by an agent. This is the default status for newly created tickets.\},\processing\:{\value\:\processing\,\desc\:\Ticket is being actively worked on by an agent.\},\completed\:{\value\:\completed\,\desc\:\Ticket has been resolved and closed. The issue has been addressed.\},\reopened\:{\value\:\reopened\,\desc\:\Ticket was previously completed but has been reopened, typically because the issue recurred or the solution didnt work.\},\urgent\:{\value\:\urgent\,\desc\:\Ticket requires immediate attention due to high priority or critical impact.\},\escalated\:{\value\:\escalated\,\desc\:\Ticket has been escalated to a higher level of support or management for resolution.\}},\sourceValuesTitle\:\Ticket Source Values\,\sourceValuesDesc\:\The following source values indicate where the ticket originated:\,\sourceValues\:{\app\:{\value\:\app\,\desc\:\Ticket created from a mobile application\},\web\:{\value\:\web\,\desc\:\Ticket created from the web interface\},\email\:{\value\:\email\,\desc\:\Ticket created from an inbound email\},\agent\:{\value\:\agent\,\desc\:\Ticket created manually by an agent\}},\priorityValuesTitle\:\Priority Levels\,\priorityValuesDesc\:\Priority levels indicate the importance of a ticket:\,\priorityValues\:{\0\:{\value\:\0\,\label\:\Low\,\desc\:\Low priority - can be handled during normal business hours\},\1\:{\value\:\1\,\label\:\Medium\,\desc\:\Medium priority - should be addressed within a reasonable timeframe\},\2\:{\value\:\2\,\label\:\High\,\desc\:\High priority - requires prompt attention\}},\errorCodesTitle\:\Error Codes\,\errorCodesDesc\:\The API may return the following error codes:\,\errorCodes\:{\400\:{\code\:\400 Bad Request\,\desc\:\Invalid request data. Check that all required fields are present and properly formatted.\},\401\:{\code\:\401 Unauthorized\,\desc\:\Missing or invalid API key. Check your Authorization header format: Bearer qt_\u003cyour-api-key\u003e\},\403\:{\code\:\403 Forbidden\,\desc\:\You dont have permission to perform this action, your email is not verified, or a subscription limit has been exceeded (e.g., ticket quota, user limit, API key limit).\},\429\:{\code\:\429 Too Many Requests\,\desc\:\Rate limit exceeded. Maximum 100 requests per minute per API key. Check the Retry-After header for when you can retry.\},\500\:{\code\:\500 Internal Server Error\,\desc\:\An unexpected error occurred on the server. Please try again later or contact support.\}},\errorExamplesTitle\:\Error Response Examples\,\errorExamples\:{\unauthorized\:\{\\n \\\error\\\: \\\UNAUTHORIZED\\\,\\n \\\message\\\: \\\Missing or invalid Authorization header. Use: Authorization: Bearer \u003capi-key\u003e\\\\\n}\,\validation\:\{\\n \\\error\\\: \\\VALIDATION_ERROR\\\,\\n \\\message\\\: \\\Field title is required\\\\\n}\,\invalidEmail\:\{\\n \\\error\\\: \\\VALIDATION_ERROR\\\,\\n \\\message\\\: \\\Field requesterEmail must be a valid email address\\\\\n}\,\rateLimitExceeded\:\{\\n \\\error\\\: \\\RATE_LIMIT_EXCEEDED\\\,\\n \\\message\\\: \\\Rate limit exceeded. Maximum 100 requests per minute.\\\,\\n \\\retryAfter\\\: 45\\n}\,\limitExceeded\:\{\\n \\\error\\\: \\\LIMIT_EXCEEDED\\\,\\n \\\message\\\: \\\Ticket limit reached. 50 of 100 tickets used this month.\\\,\\n \\\limit\\\: {\\n \\\current\\\: 50,\\n \\\max\\\: 100,\\n \\\remaining\\\: 0,\\n \\\percentage\\\: 100,\\n \\\isWarning\\\: false,\\n \\\isExceeded\\\: true\\n }\\n}\,\internal\:\{\\n \\\error\\\: \\\INTERNAL_ERROR\\\,\\n \\\message\\\: \\\An unexpected error occurred\\\\\n}\},\bestPracticesTitle\:\Best Practices\,\bestPractices\:\Rotate API keys periodically and scope them per automation or application.\,\Use pagination when listing tickets or messages to avoid timeouts and large payloads.\,\Retry POST requests on 5xx responses with exponential backoff (e.g., 1s, 2s, 4s, 8s).\,\Store ticket IDs to correlate future updates or webhook notifications.\,\Validate email addresses before sending requests to avoid validation errors.\,\Include requesterName when available for better ticket management and personalization.\,\Use appropriate priority levels and urgent flags to help agents prioritize work.\,\Always include a reason when updating ticket status for audit trail purposes.\},\developers\:{\title\:\Developers\,\subtitle\:\Integrate BlueTickets into your applications and workflows\,\emailTitle\:\Email Forwarding Integration\,\emailDescription\:\BlueTickets can automatically create tickets from emails forwarded to your organizations unique inbound address. This is perfect for teams that want to receive support requests via email.\,\howItWorks\:\How it works:\,\step1\:\Connect your support email (e.g., support@yourdomain.com) in Settings → Connect Email\,\step2\:\Configure your email provider to forward emails to the unique inbound address shown (e.g., org_abc123@bluetickets.app)\,\step3\:\When someone sends an email to your support address, its automatically forwarded to BlueTickets\,\step4\:\BlueTickets creates a ticket with the email subject as the title and body as the description\,\step5\:\Replies to ticket notifications automatically thread back to the original ticket\,\connectEmail\:\Connect your support email\,\apiTitle\:\REST API Integration\,\apiDescription\:\Use our REST API to programmatically create, update, and manage tickets from your applications. Perfect for mobile apps, webhooks, and automation.\,\apiKeyTitle\:\API Keys\,\apiKeyDescription\:\To use the API, you need an API key. API keys are organization-specific and can only be generated by organization administrators. Each key is scoped to your organization and provides full access to create and manage tickets.\,\apiKeyFeature1\:\Generate multiple keys for different applications or environments\,\apiKeyFeature2\:\Each key is tracked independently with usage timestamps\,\apiKeyFeature3\:\Keys can be revoked at any time for security\,\generateApiKey\:\Generate API Key\,\viewDocs\:\View API Documentation\,\testApi\:\Test the API Live Here\,\quickLinks\:\Quick Links\,\docsDescription\:\Complete API reference with examples and endpoints\,\testDescription\:\Try the API with a public test key and live ticket stream\,\apiKeysDescription\:\Generate and manage API keys for your organization\},\developersTest\:{\title\:\API Test Environment\,\description\:\Test ticket generation with a public API key. Tickets created here wont generate emails or notifications.\,\testApiKeyTitle\:\Test API Key\,\testApiKeyDescription\:\Use this API key to create test tickets. This key is publicly available and can be used by anyone for testing purposes.\,\publicNoticeTooltip\:\This key is publicly available for testing. Anyone can use it to create test tickets. Real API keys in your organization settings are private and secure.\,\rotationTimerTooltip\:\This test API key rotates every hour for security. The timer shows when it will change. Change the key when it expires.\,\exampleCurlCommand\:\Example curl command:\,\languageExamplesTitle\:\Language Examples\,\languageExamplesDescription\:\Prefer SDK-style code? Expand any section below to copy a ready-to-run example.\,\nodejsExample\:\Node.js example\,\nodejsRequires\:\(requires node-fetch)\,\nodejsInstructions\:\Run npm install node-fetch@3 and execute with Node.js 18+.\,\pythonExample\:\Python example\,\pythonRequires\:\(requires requests)\,\pythonInstructions\:\Run pip install requests and execute with Python 3.10+.\,\javaExample\:\Java example\,\javaRequires\:\(Java 11+)\,\javaInstructions\:\Uses built-in java.net.http package. Compile and run with Java 11+.\,\liveTicketStreamTitle\:\Live Ticket Stream\,\liveTicketStreamDescription\:\Tickets created with the test API key will appear here in real-time.\,\docsLabel\:\Docs\,\testLabel\:\Test\},\cookie\:{\bannerTitle\:\We use essential cookies\,\bannerDescription\:\We use essential cookies to make our site work, including authentication, language preferences, and organization selection. These cookies are necessary for the service to function and cannot be disabled.\,\learnMore\:\Learn more in our Privacy Policy\,\managePreferences\:\Manage Preferences\,\acceptEssential\:\Accept Essential Cookies\,\settingsTitle\:\Cookie Preferences\,\settingsDescription\:\Manage your cookie preferences. You can enable or disable different types of cookies below.\,\essentialTitle\:\Essential Cookies\,\essentialAlwaysActive\:\Always Active\,\essentialDescription\:\These cookies are necessary for the website to function and cannot be switched off. They include authentication, session management, language preferences, and organization selection.\,\essentialCookiesUsed\:\Cookies used:\,\analyticsTitle\:\Analytics Cookies\,\analyticsOptional\:\Optional\,\analyticsDescription\:\These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously. Currently not in use, but may be added in the future.\,\marketingTitle\:\Marketing Cookies\,\marketingOptional\:\Optional\,\marketingDescription\:\These cookies may be used to deliver personalized advertisements or track campaigns. Currently not in use, but may be added in the future.\,\rejectOptional\:\Reject Optional\,\limitExceeded\:{\contactSupport\:\Contact Support\},\savePreferences\:\Save Preferences\,\acceptAll\:\Accept All\,\revokeConsent\:\Revoke all consent\},\features\:{\pageTitle\:\Features: Email Integration, API, Manual Creation | BlueTickets\,\pageDescription\:\Complete feature list: email-based ticketing, simple APIs, manual ticket creation, affordable pricing. Perfect for small teams and startups seeking a simple ticketing system.\,\sections\:{\emailConnectivity\:{\title\:\Email Connectivity\,\description\:\Our email-based ticketing system automatically converts inbound emails into tickets. Forward emails to your custom domain, and they become tickets instantly with full SPF, DKIM, and DMARC support.\,\points\:\Automatic email-to-ticket conversion\,\Custom domain support with DNS verification\,\SPF, DKIM, and DMARC authentication\,\Multi-email forwarding support\},\apiIntegration\:{\title\:\API Integration\,\description\:\Integrate BlueTickets into your applications with our simple RESTful API. Create tickets programmatically, update statuses, retrieve analytics, and build custom workflows.\,\points\:\RESTful API with JSON responses\,\API key authentication\,\Rate limiting with clear headers\,\Comprehensive documentation\},\manualCreation\:{\title\:\Manual Ticket Creation\,\description\:\Create tickets manually from the dashboard or via API. Perfect for capturing support requests from phone calls, in-person interactions, or any other channel.\,\points\:\Dashboard ticket creation\,\API-based ticket creation\,\Rich ticket details (title, body, priority)\,\Immediate assignment options\},\pricing\:{\title\:\Simple, Affordable Pricing\,\description\:\Simple, affordable pricing for small teams. Start with a 30-day free trial, no credit card required. Unlike expensive enterprise helpdesk software costing $500+ per month, BlueTickets is designed to start small and scale as you grow.\,\subtitle\:\Choose the plan that fits your team. All plans include full access to BlueTickets features.\,\trialTitle\:\Free Trial\,\trialPrice\:\Free\,\trialPeriod\:\30 days\,\trialFeature1\:\Full access to all features\,\trialFeature2\:\No credit card required\,\trialFeature3\:\Cancel anytime\,\trialFeature4\:\All features unlocked\,\perMonth\:\month\,\billedMonthly\:\Billed monthly\,\contactSupport\:\You dont find your perfect plan? Contact us here and lets see how we can help\,\points\:\Free 30-day trial (no credit card)\,\Affordable monthly pricing\,\Scale as you grow\,\No hidden fees\}},\ctaTitle\:\Ready to Get Started?\,\ctaDescription\:\Join small teams whove simplified their support workflow with our simple email ticketing system. Start your free 30-day trial today.\,\ctaButton\:\Start Free Trial\},\adminPanel\:{\deleteAccount\:{\title\:\Delete User Account\,\message\:\This action will permanently delete the user account and ALL associated data. This cannot be undone.\,\details\:\The following data will be deleted:\,\userData\:\• User account and profile data\,\organizations\:\• Organization(s) (if user is primary admin)\,\tickets\:\• All stored tickets\,\subscriptions\:\• Stripe subscriptions (will be cancelled)\,\s3Data\:\• S3 stored data (logos, attachments)\,\emailSettings\:\• Connected email settings\,\domainSettings\:\• Domain settings in Amazon SES/Resend\,\apiKeys\:\• API keys\,\otherData\:\• All other related data\,\confirmText\:\Type DELETE to confirm\,\deleteButton\:\Delete Account\,\cancelButton\:\Cancel\}}},\status\:{\pending\:\Pending\,\processing\:\Processing\,\completed\:\Completed\,\reopened\:\Re-opened\,\urgent\:\Urgent\,\escalated\:\Escalated\,\resolved\:\Resolved\,\onhold\:\On hold\}},\children\:\$L16\,\$L17\,\$L18\,\$L19\,\$L1a\,null,\$L1b\,\$L1c\,\$L1d\,\$L1e\}}\n)/script>script>self.__next_f.push(1,16:\$\,\$L1f\,null,{}\n17:\$\,\$L20\,null,{}\n18:\$\,\$L21\,null,{}\n19:\$\,\$L22\,null,{}\n1a:\$\,\$L23\,null,{\dict\:\$13:props:children:props:dict\,\user\:null,\organizations\:,\currentOrganizationId\:null,\canManageOrganization\:false,\isPrimaryAdmin\:false,\hasOwnOrganization\:false,\myTicketsCount\:0,\appName\:\BlueTickets\}\n)/script>script>self.__next_f.push(1,1b:\$\,\main\,null,{\className\:\flex-1 min-h-calc(100vh-200px)\,\children\:\$\,\$L3\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L4\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\title\,null,{\children\:\404: This page could not be found.\},\$\,\div\,null,{\style\:\$0:f:0:1:2:children:1:props:children:1:props:notFound:0:1:props:style\,\children\:\$\,\div\,null,{\children\:\$\,\style\,null,{\dangerouslySetInnerHTML\:{\__html\:\body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\}},\$\,\h1\,null,{\className\:\next-error-h1\,\style\:\$0:f:0:1:2:children:1:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\,\children\:404},\$\,\div\,null,{\style\:\$0:f:0:1:2:children:1:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\,\children\:\$\,\h2\,null,{\style\:\$0:f:0:1:2:children:1:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\,\children\:\This page could not be found.\}}}},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\}}\n)/script>script>self.__next_f.push(1,1c:\$\,\footer\,null,{\className\:\mt-16 border-t border-border-subtle\,\children\:\$\,\div\,null,{\className\:\mx-auto max-w-6xl px-4 py-8 md:py-6\,\children\:\$\,\div\,null,{\className\:\flex flex-col gap-6 md:flex-row md:items-center md:justify-between md:gap-4\,\children\:\$\,\div\,null,{\className\:\flex items-center justify-center gap-2 text-sm text-text/70 md:justify-start\,\children\:\$\,\span\,null,{\children\:\© \,2026,\ \,\BlueTickets\,\ powered by\},\$\,\a\,null,{\href\:\https://www.ingeniousdynamics.com\,\target\:\_blank\,\rel\:\noopener noreferrer\,\className\:\flex items-center transition hover:opacity-80\,\children\:\$\,\img\,null,{\src\:\https://www.ingeniousdynamics.com/images/logo.svg\,\alt\:\Ingenious Dynamics\,\className\:\h-4 w-auto\}}},\$\,\div\,null,{\className\:\flex-1 hidden md:block\},\$\,\nav\,null,{\className\:\grid grid-cols-2 gap-x-4 gap-y-3 justify-items-center md:flex md:flex-row md:items-center md:gap-4 md:justify-end\,\children\:\$\,\$L24\,null,{\href\:\/docs\,\className\:\text-sm font-medium text-text/70 transition hover:text-primary\,\children\:\Documentation\},\$\,\$L24\,null,{\href\:\/help\,\className\:\text-sm font-medium text-text/70 transition hover:text-primary\,\children\:\Help \u0026 Support\},\$\,\$L24\,null,{\href\:\/legal/user-agreement\,\className\:\text-sm font-medium text-text/70 transition hover:text-primary\,\children\:\User Agreement\},\$\,\$L24\,null,{\href\:\/legal/privacy\,\className\:\text-sm font-medium text-text/70 transition hover:text-primary\,\children\:\Privacy Policy\}}}}}\n)/script>script>self.__next_f.push(1,1d:\$\,\$L25\,null,{}\n1e:\$\,\$L26\,null,{}\n)/script>script>self.__next_f.push(1,5:\$\,\main\,null,{\className\:\min-h-screen bg-gradient-to-b from-bg via-surface to-bg\,\children\:\$\,\$L27\,null,{},\$\,\$L28\,null,{},\$\,\section\,null,{\id\:\hero\,\className\:\relative overflow-hidden px-4 py-12 md:py-20 lg:py-24 bg-gradient-to-b from-surface via-bg to-surface flex items-center\,\style\:{\minHeight\:\var(--section-min-height, calc(100vh - var(--topbar-height, 72px)))\,\scrollMarginTop\:\var(--topbar-height, 72px)\,\paddingTop\:\calc(3.5rem * var(--vh-scale, 1))\,\paddingBottom\:\calc(3.5rem * var(--vh-scale, 1))\},\children\:\$\,\div\,null,{\className\:\pointer-events-none absolute inset-0 -z-10\,\children\:\$\,\div\,null,{\className\:\absolute -top-24 right-0 h-500px w-500px rounded-full bg-blue-100/40 dark:bg-blue-900/20 blur-100px\},\$\,\div\,null,{\className\:\absolute -bottom-32 left-0 h-400px w-400px rounded-full bg-primary/10 dark:bg-primary/20 blur-120px\}},\$\,\div\,null,{\className\:\mx-auto max-w-7xl w-full\,\style\:{\transform\:\scale(var(--section-scale, 1))\,\transformOrigin\:\top center\,\width\:\calc(100% / var(--section-scale, 1))\,\marginLeft\:\auto\,\marginRight\:\auto\},\children\:\$\,\div\,null,{\className\:\grid items-stretch gap-8 md:gap-10 lg:grid-cols-2 lg:gap-12\,\children\:\$\,\div\,null,{\className\:\flex flex-col space-y-8 md:space-y-10 lg:justify-between lg:min-h-600px\,\children\:\$\,\div\,null,{\className\:\flex-shrink-0\,\children\:\$\,\h1\,null,{\className\:\text-3xl sm:text-4xl font-bold leading-tight tracking-tight text-text md:text-5xl lg:text-6xl\,\children\:\Built for Small Teams and Growing Startups\},\$\,\p\,null,{\className\:\mt-4 md:mt-6 text-base sm:text-lg md:text-xl leading-relaxed text-text/70\,\children\:\BlueTickets gives small teams a premium, distraction-free way to own every inbound request, without paying for enterprise baggage.\}},\$\,\div\,null,{\className\:\max-w-xl mx-auto flex-shrink-0\,\children\:\$\,\$L24\,null,{\className\:\inline-flex items-center justify-center gap-2 rounded-xl bg-primary px-6 md:px-8 py-3 md:py-4 text-base md:text-lg font-semibold text-white shadow-lg shadow-primary/25 transition-all duration-200 hover:-translate-y-1 hover:bg-primary/90 hover:shadow-xl hover:shadow-primary/30 w-full\,\href\:\/register\,\children\:\Start your 30 days free trial\,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M13 7l5 5m0 0l-5 5m5-5H6\}}},\$\,\div\,null,{\className\:\mt-3 flex items-center justify-center gap-2 text-sm text-text/70\,\children\:\$\,\svg\,null,{\className\:\h-4 w-4 shrink-0 text-emerald-600 dark:text-emerald-400\,\fill\:\currentColor\,\viewBox\:\0 0 20 20\,\children\:\$\,\path\,null,{\fillRule\:\evenodd\,\d\:\M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\,\clipRule\:\evenodd\}},\$\,\p\,null,{\className\:\font-medium\,\children\:\$\,\span\,\0\,{\children\:\No credit card needed, Cancel Anytime, \},\$\,\$L24\,\1\,{\href\:\/pricing\,\className\:\text-primary hover:underline\,\children\:\Starts from 4.99$\},\$\,\span\,\2\,{\children\:\\}}}},\$\,\div\,null,{\className\:\grid grid-cols-1 gap-3 sm:grid-cols-3 sm:gap-4 flex-shrink-0\,\children\:\$\,\$L29\,\0\,{\value\:\15m\,\label\:\Average response time during trial\,\icon\:\$\,\svg\,\chrono\,{\className\:\h-6 w-6 text-primary\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\circle\,null,{\cx\:\12\,\cy\:\12\,\r\:\9\,\strokeWidth\:2},\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 8v4l3 3\},\$\,\circle\,null,{\cx\:\12\,\cy\:\12\,\r\:\1\,\fill\:\currentColor\},\$\,\circle\,null,{\cx\:\14.59\,\cy\:\2.34\,\r\:\1\,\fill\:\currentColor\},\$\,\circle\,null,{\cx\:\9.41\,\cy\:\2.34\,\r\:\1\,\fill\:\currentColor\}}},\$\,\$L29\,\1\,{\value\:\92%\,\label\:\Tickets prioritized automatically by rules\,\icon\:\$\,\svg\,\cards\,{\className\:\h-6 w-6 text-primary\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$L2a\}},\$L2b\}},\$L2c\}}},\$L2d\,\$L2e\,false,\$L2f\,\$L30\,\$L31\,\$L32\}\n)/script>script>self.__next_f.push(1,2a:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\}\n2b:\$\,\$L29\,\2\,{\value\:\24/7\,\label\:\Availability for customer intake\,\icon\:\$\,\svg\,\clock\,{\className\:\h-6 w-6 text-primary\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\}}}\n)/script>script>self.__next_f.push(1,2c:\$\,\$L33\,null,{\locale\:\en\,\children\:\$\,\div\,null,{\className\:\absolute bottom-0 left-0 right-0 px-3 py-2 sm:px-6 sm:py-4 space-y-2 sm:space-y-3 z-30\,\children\:\$\,\div\,\0\,{\className\:\flex items-start gap-3 rounded-xl border border-white/30 bg-primary/5 backdrop-blur-md p-2.5 sm:p-3 shadow-xl shadow-primary/10 max-w-92% sm:max-w-80% mx-auto\,\children\:\$\,\div\,null,{\className\:\flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary\,\children\:\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\}},false,false},\$\,\div\,null,{\className\:\min-w-0\,\children\:\$\,\p\,null,{\className\:\text-sm font-semibold text-text\,\children\:\Ownership stays clear\},\$\,\p\,null,{\className\:\mt-1 text-xs leading-relaxed text-text/70\,\children\:\Track assignments and hand-offs so nothing is left without an owner.\}}},\$\,\div\,\1\,{\className\:\flex items-start gap-3 rounded-xl border border-white/30 bg-primary/5 backdrop-blur-md p-2.5 sm:p-3 shadow-xl shadow-primary/10 max-w-92% sm:max-w-80% mx-auto\,\children\:\$\,\div\,null,{\className\:\flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary\,\children\:false,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\}},false},\$\,\div\,null,{\className\:\min-w-0\,\children\:\$\,\p\,null,{\className\:\text-sm font-semibold text-text\,\children\:\Ensure timely responses\},\$\,\p\,null,{\className\:\mt-1 text-xs leading-relaxed text-text/70\,\children\:\Attention scores surface tickets before deadlines slip.\}}},\$\,\div\,\2\,{\className\:\flex items-start gap-3 rounded-xl border border-white/30 bg-primary/5 backdrop-blur-md p-2.5 sm:p-3 shadow-xl shadow-primary/10 max-w-92% sm:max-w-80% mx-auto\,\children\:\$\,\div\,null,{\className\:\flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary\,\children\:false,false,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z\}}},\$\,\div\,null,{\className\:\min-w-0\,\children\:\$\,\p\,null,{\className\:\text-sm font-semibold text-text\,\children\:\Capture everything\},\$\,\p\,null,{\className\:\mt-1 text-xs leading-relaxed text-text/70\,\children\:\Centralize requests from app, web, email, or agent calls.\}}}}}\n)/script>script>self.__next_f.push(1,2d:\$\,\section\,null,{\id\:\why-bluetickets\,\className\:\relative overflow-hidden px-4 py-12 md:py-20 lg:py-24 bg-gradient-to-b from-surface via-bg to-surface border-t border-border-subtle flex items-center\,\style\:{\minHeight\:\var(--section-min-height, calc(100vh - var(--topbar-height, 72px)))\,\scrollMarginTop\:\var(--topbar-height, 72px)\,\paddingTop\:\calc(3.5rem * var(--vh-scale, 1))\,\paddingBottom\:\calc(3.5rem * var(--vh-scale, 1))\},\children\:\$\,\div\,null,{\className\:\pointer-events-none absolute inset-0 -z-10\,\children\:\$\,\div\,null,{\className\:\absolute -top-24 left-0 h-500px w-500px rounded-full bg-blue-100/40 dark:bg-blue-900/20 blur-100px\},\$\,\div\,null,{\className\:\absolute -bottom-32 right-0 h-400px w-400px rounded-full bg-primary/10 dark:bg-primary/20 blur-120px\}},\$\,\div\,null,{\className\:\mx-auto max-w-7xl w-full\,\style\:{\transform\:\scale(var(--section-scale, 1))\,\transformOrigin\:\top center\,\width\:\calc(100% / var(--section-scale, 1))\,\marginLeft\:\auto\,\marginRight\:\auto\},\children\:\$\,\div\,null,{\className\:\text-center mb-12\,\children\:\$\,\h2\,null,{\className\:\text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold text-text mb-4\,\children\:\Why BlueTickets?\},\$\,\p\,null,{\className\:\text-lg text-text/70 max-w-2xl mx-auto hidden\,\children\:\Everything you need, nothing you dont\}},\$\,\div\,null,{\className\:\mt-12\,\children\:\$\,\$L34\,null,{\cards\:{\title\:\Easy Setup in Under 10 Minutes\,\description\:\Get your simple email ticketing system running in minutes. Connect your email domain and start creating tickets. Perfect for small businesses needing an easy-to-setup helpdesk without enterprise complexity.\,\icon\:\$\,\svg\,null,{\className\:\h-12 w-12\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\}}},{\title\:\Affordable Pricing for 1-2 Seats\,\description\:\Affordable pricing designed for small teams. Start with 1-2 seats and scale as you grow. Our simple ticketing system costs a fraction compared to others, making it the best affordable helpdesk for startups.\,\icon\:\$\,\svg\,null,{\className\:\h-12 w-12\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\}}},{\title\:\Email, Web \u0026 Mobile Integration\,\description\:\Our email-based ticketing system converts emails into tickets automatically. Create tickets from email, web, or mobile using our simple API. Centralizes all support requests into one simple system.\,\icon\:\$\,\svg\,null,{\className\:\h-12 w-12\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\defs\,null,{\children\:\$\,\mask\,null,{\id\:\phoneMask\,\children\:\$\,\rect\,null,{\width\:\24\,\height\:\24\,\fill\:\white\},\$\,\rect\,null,{\x\:\13\,\y\:\7\,\width\:\10\,\height\:\9\,\fill\:\black\}}},\$\,\g\,null,{\mask\:\url(#phoneMask)\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z\}},\$\,\path\,null,{\stroke\:\currentColor\,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\fill\:\none\,\d\:\M14 8h8a1 1 0 011 1v6a1 1 0 01-1 1h-8a1 1 0 01-1-1V9a1 1 0 011-1z\},\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M14 8l4 3 4-3\}}},{\title\:\Developer-Friendly APIs for Custom Workflows\,\description\:\Integrate with our simple RESTful API. Create tickets programmatically, update statuses, and build custom workflows. Perfect for developers needing a simple API ticketing solution.\,\icon\:\$L35\}}},\$L36\}}\n)/script>script>self.__next_f.push(1,2e:\$\,\section\,null,{\id\:\for-users\,\className\:\relative overflow-hidden px-4 bg-gradient-to-b from-surface via-bg to-surface border-t border-border-subtle flex items-center\,\style\:{\minHeight\:\var(--section-min-height, calc(100vh - var(--topbar-height, 72px)))\,\scrollMarginTop\:\var(--topbar-height, 72px)\,\paddingTop\:\calc(3rem * var(--vh-scale, 1))\,\paddingBottom\:\calc(3rem * var(--vh-scale, 1))\},\children\:\$\,\div\,null,{\className\:\mx-auto max-w-7xl w-full\,\style\:{\transform\:\scale(var(--section-scale, 1))\,\transformOrigin\:\top center\,\width\:\calc(100% / var(--section-scale, 1))\,\marginLeft\:\auto\,\marginRight\:\auto\},\children\:\$\,\div\,null,{\className\:\text-center mb-12\,\children\:\$\,\h2\,null,{\className\:\text-3xl md:text-4xl font-bold text-text mb-4\,\children\:\Team Friendly\},\$\,\p\,null,{\className\:\text-lg text-text/70 max-w-2xl mx-auto hidden\,\children\:\Built for small teams that move fast\}},\$\,\div\,null,{\className\:\flex flex-col items-center\,\children\:\$\,\div\,null,{\className\:\w-full max-w-3xl mb-8\,\children\:\$\,\$L37\,null,{\locale\:\en\,\youtubeUrlEn\:\https://www.youtube.com/watch?v4hTWTWxaYQA\,\youtubeUrlIt\:\https://www.youtube.com/watch?v1WK6YkoAikw\,\enableAudioText\:\Audio\,\disableAudioText\:\Audio\}},\$\,\$L38\,null,{\xUrl\:\https://x.com/BlueTicketsOFC\,\linkedinUrl\:\https://www.linkedin.com/company/bluetickethelpdesk\,\youtubeUrl\:\https://www.youtube.com/@BlueTicketsOfficial\}}}}\n)/script>script>self.__next_f.push(1,2f:\$\,\section\,null,{\id\:\for-developers\,\className\:\relative overflow-hidden px-4 bg-gradient-to-b from-surface via-surface/50 to-surface dark:from-bg dark:via-surface dark:to-bg border-t border-border-subtle flex flex-col justify-center\,\style\:{\minHeight\:\var(--section-min-height, calc(100vh - var(--topbar-height, 72px)))\,\scrollMarginTop\:\var(--topbar-height, 72px)\,\paddingTop\:\calc(3.5rem * var(--vh-scale, 1))\,\paddingBottom\:\calc(3.5rem * var(--vh-scale, 1))\},\children\:\$\,\div\,null,{\className\:\pointer-events-none absolute inset-0 -z-10 bg-gradient-to-b from-slate-50/50 to-white/50 dark:from-surface/30 dark:to-bg/30\},\$\,\div\,null,{\className\:\mx-auto max-w-7xl w-full\,\style\:{\transform\:\scale(var(--section-scale, 1))\,\transformOrigin\:\top center\,\width\:\calc(100% / var(--section-scale, 1))\,\marginLeft\:\auto\,\marginRight\:\auto\},\children\:\$\,\div\,null,{\className\:\text-center\,\children\:\$\,\h2\,null,{\className\:\text-2xl sm:text-3xl md:text-4xl font-bold text-text\,\children\:\Developers friendly\},\$\,\p\,null,{\className\:\mx-auto mt-4 max-w-2xl text-lg text-text/70 hidden\,\children\:\RESTful APIs, webhooks, and developer-friendly tools to integrate BlueTickets into your applications\}},\$\,\div\,null,{\className\:\mt-16 grid gap-8 md:grid-cols-2 lg:grid-cols-3\,\children\:\$\,\div\,null,{\className\:\rounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg\,\children\:\$\,\div\,null,{\className\:\flex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4\,\children\:\$\,\svg\,null,{\className\:\h-6 w-6\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\}}},\$\,\h3\,null,{\className\:\text-xl font-semibold text-text mb-2\,\children\:\RESTful API\},\$\,\p\,null,{\className\:\text-sm leading-relaxed text-text/70\,\children\:\Comprehensive REST API with JSON responses. Create tickets, update statuses, retrieve analytics, and manage your support queue programmatically.\}},\$\,\div\,null,{\className\:\rounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg\,\children\:\$\,\div\,null,{\className\:\flex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4\,\children\:\$\,\svg\,null,{\className\:\h-6 w-6\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z\}}},\$\,\h3\,null,{\className\:\text-xl font-semibold text-text mb-2\,\children\:\API Key Authentication\},\$\,\p\,null,{\className\:\text-sm leading-relaxed text-text/70\,\children\:\Simple Bearer token authentication. Generate multiple API keys per organization for different environments and applications.\}},\$\,\div\,null,{\className\:\rounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg\,\children\:\$\,\div\,null,{\className\:\flex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4\,\children\:\$\,\svg\,null,{\className\:\h-6 w-6\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\}}},\$\,\h3\,null,{\className\:\text-xl font-semibold text-text mb-2\,\children\:\Rate Limiting\},\$L39\},\$L3a\,\$L3b\,\$L3c\},\$L3d\}}\n)/script>script>self.__next_f.push(1,3f:T1926,)/script>script>self.__next_f.push(1,# AI-Powered Email Filtering and Smart Ticket Categorization: Keep Your Support Team Organized\n\nManaging incoming support requests efficiently is one of the biggest challenges for small teams. When every email that arrives could be a ticket, your support inbox can quickly become cluttered with automated messages, spam, and non-support emails that waste your teams valuable time. This is where **BlueTickets built‑in AI email spam filtering** and **automatic ticket categorization** make a difference—keeping things organized without extra tools or complex setup.\n\n## The Problem: Inbox Chaos and False Tickets\n\nEvery support team faces the same issue: not every email that arrives needs to become a ticket. Automated notifications, marketing emails, system alerts, and spam can flood your support inbox, creating unnecessary work for your agents. These \false tickets\ consume time that should be spent helping real customers.\n\n**Common challenges include:**\n- Sorting through irrelevant emails manually\n- Creating tickets for automated messages that dont require action\n- Missing important customer requests buried in the noise\n- Wasting agent time on non-support emails\n- Difficulty maintaining organization as volume grows\n\n## The Solution: Intelligent Email Filtering (Built In)\n\nAI-powered email filtering uses advanced machine learning to analyze incoming emails before they become tickets. The system evaluates each message to determine whether its a genuine support request, an automated notification, or spam. In **BlueTickets**, this happens automatically as part of the inbound email flow—so your ticket queue stays clean and your agents stay focused on real customer issues.\n\n### How It Works\n\nWhen an email arrives, the AI system analyzes:\n- **Content relevance**: Is this a support request or something else?\n- **Message patterns**: Does this match known automated message formats?\n- **Spam indicators**: Does this exhibit characteristics of unwanted emails?\n- **Context clues**: What does the subject line, sender, and content suggest?\n\nBased on this analysis, the system makes an intelligent decision about whether the email should become a ticket or be filtered out. This happens automatically, in real-time, without requiring manual intervention.\n\n## Automatic Ticket Categorization\n\nBeyond filtering, AI can also automatically categorize tickets as theyre created. This means your tickets are organized from the moment they arrive, making it easier for your team to:\n- **Route tickets efficiently**: Send tickets to the right team member based on category\n- **Track trends**: Understand which types of issues are most common\n- **Improve response times**: Agents can quickly identify and prioritize tickets\n- **Maintain consistency**: Standardized categories ensure nothing falls through the cracks\n\n### Benefits of Smart Categorization\n\n**For Your Team:**\n- Less time spent manually categorizing tickets\n- Faster ticket routing to the right expert\n- Better organization from day one\n- Clearer visibility into support patterns\n\n**For Your Customers:**\n- Faster response times as tickets reach the right person quickly\n- More consistent support experience\n- Better tracking of their issues\n\n## Keeping Things Organized and Tidy\n\nThe primary goal of AI-powered filtering and categorization is organization. A well-organized support system means:\n\n**Clean Ticket Queue**: Only genuine support requests become tickets, reducing noise and clutter.\n\n**Proper Categorization**: Tickets are automatically sorted into the right categories, making it easy to find and manage them.\n\n**Time Savings**: Agents spend less time on administrative tasks like sorting and categorizing, and more time helping customers.\n\n**Scalability**: As your support volume grows, the system continues to organize tickets automatically without requiring additional manual effort.\n\n## Reducing False Tickets\n\nOne of the most significant benefits of AI filtering is the reduction of false tickets—tickets created from emails that dont actually require support action. These might include:\n- Automated system notifications\n- Marketing emails\n- Out-of-office replies\n- Email confirmations\n- Spam and phishing attempts\n\nBy filtering these out before they become tickets, your team avoids wasting time on non-issues. This means:\n- **Higher productivity**: Agents focus on real customer problems\n- **Better metrics**: Your ticket statistics reflect actual support work\n- **Reduced costs**: Less time spent on unnecessary ticket management\n- **Improved morale**: Teams arent frustrated by irrelevant tickets\n\n## Real-World Impact\n\nTeams using AI-powered filtering report significant improvements:\n- **Reduced ticket volume**: Fewer false tickets mean a cleaner queue\n- **Faster response times**: With less noise, important tickets are handled more quickly\n- **Better organization**: Automatic categorization keeps everything in order\n- **Time savings**: Agents save hours each week that would have been spent on manual sorting\n\n## Getting Started with BlueTickets\n\nIf your goal is to reduce noise from email and keep tickets tidy, the fastest path is to use a help desk that already includes these capabilities. **BlueTickets includes AI email filtering and auto‑categorization out of the box**, so you can start benefiting immediately—without building an AI pipeline, prompts, schema validation, retries, or monitoring.\n\nOnce enabled for your organization, the system works in the background and helps you:\n- Keep spam and “false tickets” out of the queue\n- Automatically categorize incoming requests so your workflow stays organized\n- Reduce time wasted on manual triage and cleanup\n\n## Conclusion\n\nAI-powered email filtering and automatic ticket categorization are essential tools for modern support teams. They help keep your support system organized, reduce false tickets, and ensure your agents spend their time on what matters most: helping customers.\n\nBy automatically filtering irrelevant emails and categorizing genuine support requests, these intelligent systems create a cleaner, more efficient support workflow. The result is a better experience for both your team and your customers.\n\nIf youre looking to improve your support teams efficiency and organization, **start with BlueTickets** and let the platform handle the filtering and categorization for you.\n\n- Create your account(/register)\n- See plans(/pricing)\n\n)/script>script>self.__next_f.push(1,40:T1ce6,)/script>script>self.__next_f.push(1,# Top 10 Help Desk Software for Startups in 2026: A Comprehensive Comparison\n\nChoosing the right help desk software is crucial for startups looking to provide excellent customer support without breaking the bank. In this comprehensive comparison, well review 10 leading helpdesk tools, including BlueTickets, to help you make an informed decision.\n\n## Why Help Desk Software Matters for Startups\n\nStartups need customer support tools that are:\n- **Affordable**: Budget-friendly pricing that scales with growth\n- **Easy to set up**: Quick onboarding without complex configurations\n- **API-integrated**: Seamless integration with your existing tools\n- **Scalable**: Grows with your team and customer base\n\n## Comparison Criteria\n\nWe evaluated each tool based on:\n1. **Pricing**: Cost-effectiveness for startups and small teams\n2. **Features**: Core functionality and advanced capabilities\n3. **API Integration**: Developer-friendly APIs and webhooks\n4. **Ease of Use**: User interface and onboarding experience\n5. **Scalability**: Ability to grow with your business\n\n## Top 10 Help Desk Software for Startups\n\n### 1. BlueTickets\n\n**Best for**: Startups and small teams looking for a lightweight, API-first solution\n\n**Key Features**:\n- RESTful API with comprehensive documentation\n- 30-day free trial (no credit card required)\n- Multi-channel support (email, web, API)\n- Smart ticket prioritization\n- Affordable pricing starting at €4.99/month\n\n**Pros**:\n- Developer-friendly with robust API\n- Clean, distraction-free interface\n- Quick setup (under 30 minutes)\n- No enterprise baggage or unnecessary features\n\n**Cons**:\n- Newer platform (less established than competitors)\n- Smaller feature set compared to enterprise solutions\n\n**Pricing**: Starting at €4.99/month for small teams (Small Team plan), €9.99/month for growing startups (Growing Startup plan)\n\n---\n\n### 2. Zendesk\n\n**Best for**: Larger startups with complex support needs\n\n**Key Features**:\n- Comprehensive ticketing system\n- Extensive third-party integrations\n- Advanced reporting and analytics\n- Multi-brand support\n\n**Pros**:\n- Industry leader with proven track record\n- Extensive marketplace of integrations\n- Powerful automation capabilities\n\n**Cons**:\n- Higher pricing ($55+/month per agent)\n- Can be overwhelming for small teams\n- Steeper learning curve\n\n**Pricing**: Starting at $55/month per agent\n\n---\n\n### 3. Freshdesk\n\n**Best for**: Startups needing a feature-rich solution on a budget\n\n**Key Features**:\n- Free tier available\n- Multi-channel support\n- Automation and workflows\n- Team collaboration tools\n\n**Pros**:\n- Generous free tier\n- Good value for money\n- User-friendly interface\n\n**Cons**:\n- Limited customization options\n- API can be complex for beginners\n\n**Pricing**: Free tier available, paid plans from $15/month\n\n---\n\n### 4. Help Scout\n\n**Best for**: Startups focused on personal customer relationships\n\n**Key Features**:\n- Shared inbox approach\n- Knowledge base\n- Live chat\n- Email integration\n\n**Pros**:\n- Excellent for email-based support\n- Clean, simple interface\n- Good customer service focus\n\n**Cons**:\n- Less suitable for complex ticketing\n- Limited API capabilities\n- Higher pricing for advanced features\n\n**Pricing**: Starting at $25/month per user\n\n---\n\n### 5. Intercom\n\n**Best for**: Startups with strong focus on customer engagement\n\n**Key Features**:\n- Live chat and messaging\n- Customer engagement tools\n- Product tours and onboarding\n- Marketing automation\n\n**Pros**:\n- Excellent for proactive customer engagement\n- Modern, intuitive interface\n- Strong mobile app\n\n**Cons**:\n- Expensive for small teams\n- More focused on engagement than support\n- Complex pricing structure\n\n**Pricing**: Starting at $74/month\n\n---\n\n### 6. Jira Service Management\n\n**Best for**: Tech startups already using Jira\n\n**Key Features**:\n- Integration with Jira\n- ITIL-compliant workflows\n- Advanced automation\n- Asset management\n\n**Pros**:\n- Seamless integration if using Jira\n- Powerful automation\n- Good for technical teams\n\n**Cons**:\n- Can be complex for non-technical users\n- Higher pricing\n- Overkill for simple support needs\n\n**Pricing**: Starting at $47/month per agent\n\n---\n\n### 7. Zoho Desk\n\n**Best for**: Startups already in the Zoho ecosystem\n\n**Key Features**:\n- Multi-channel support\n- AI-powered responses\n- Integration with Zoho suite\n- Customizable workflows\n\n**Pros**:\n- Affordable pricing\n- Good integration with other Zoho tools\n- AI features included\n\n**Cons**:\n- Interface can feel cluttered\n- Limited customization on lower tiers\n- API documentation could be better\n\n**Pricing**: Starting at $14/month per agent\n\n---\n\n### 8. Gorgias\n\n**Best for**: E-commerce startups\n\n**Key Features**:\n- E-commerce integrations\n- Automation rules\n- Live chat\n- Social media integration\n\n**Pros**:\n- Excellent for e-commerce\n- Strong automation\n- Good value for money\n\n**Cons**:\n- Less suitable for non-e-commerce businesses\n- Limited API documentation\n- Smaller user base\n\n**Pricing**: Starting at $60/month\n\n---\n\n### 9. Front\n\n**Best for**: Startups needing shared inbox functionality\n\n**Key Features**:\n- Shared inbox\n- Team collaboration\n- Multi-channel support\n- Automation rules\n\n**Pros**:\n- Excellent for team collaboration\n- Clean interface\n- Good email management\n\n**Cons**:\n- Higher pricing\n- Less focused on ticketing workflows\n- Limited API capabilities\n\n**Pricing**: Starting at $59/month per user\n\n---\n\n### 10. HubSpot Service Hub\n\n**Best for**: Startups using HubSpot for marketing\n\n**Key Features**:\n- Integration with HubSpot CRM\n- Knowledge base\n- Live chat\n- Customer feedback tools\n\n**Pros**:\n- Seamless CRM integration\n- Free tier available\n- Good for inbound marketing teams\n\n**Cons**:\n- Can be expensive as you scale\n- Less focused on pure support\n- Complex feature set\n\n**Pricing**: Free tier available, paid from $20/month\n\n---\n\n## Comparison Table\n\n| Feature | BlueTickets | Zendesk | Freshdesk | Help Scout | Intercom |\n|---------|------------|---------|-----------|------------|----------|\n| Starting Price | €4.99/mo | $55/mo | Free | $25/mo | $74/mo |\n| Free Trial | 30 days | 14 days | Free tier | 15 days | 14 days |\n| API Quality | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |\n| Ease of Setup | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |\n| Best For | Small teams | Enterprise | Budget-conscious | Email support | Engagement |\n\n## Making Your Decision\n\nWhen choosing help desk software for your startup, consider:\n\n1. **Your Budget**: Start with tools offering free trials or tiers\n2. **Team Size**: Smaller teams need simpler solutions\n3. **Integration Needs**: If youre developer-heavy, prioritize API quality\n4. **Growth Plans**: Choose a tool that scales with you\n5. **Support Model**: Email-first vs. multi-channel vs. engagement-focused\n\n## Conclusion\n\nFor startups and small teams, **BlueTickets** offers an excellent balance of affordability, ease of use, and developer-friendly features. With a 30-day free trial and pricing starting at just €4.99/month, its an ideal choice for teams that want to get started quickly without the complexity of enterprise solutions.\n\nReady to try BlueTickets? Start your free 30-day trial today(https://bluetickets.app/register) - no credit card required.\n\n---\n\n*This article was last updated in January 2026. Pricing and features may have changed since publication.*\n\n)/script>script>self.__next_f.push(1,41:T1ef5,)/script>script>self.__next_f.push(1,# Best Free and Affordable Help Desk Tools for Bootstrapped Startups\n\nWhen youre bootstrapping a startup, every dollar counts. But customer support cant wait until you have a bigger budget. The good news? There are excellent help desk tools that offer free tiers or affordable pricing perfect for early-stage businesses.\n\nIn this guide, well explore the best free and affordable help desk solutions for bootstrapped startups, helping you move from spreadsheets to a proper ticketing system without breaking the bank.\n\n## Why Move Beyond Spreadsheets?\n\nMany startups begin managing support requests in spreadsheets or email inboxes. While this works initially, it quickly becomes unsustainable:\n\n- **No ticket tracking**: Requests get lost in email threads\n- **No prioritization**: Everything feels urgent\n- **No collaboration**: Team members cant see whos handling what\n- **No analytics**: You cant measure response times or satisfaction\n- **No automation**: Manual work wastes valuable time\n\nA proper help desk tool solves these problems while remaining affordable for bootstrapped teams.\n\n## What to Look for in Budget-Friendly Help Desk Tools\n\nWhen evaluating affordable help desk solutions, prioritize:\n\n1. **Free Trial or Tier**: Test before committing financially\n2. **Transparent Pricing**: No hidden fees or surprise charges\n3. **Essential Features**: Ticket management, email integration, basic automation\n4. **Scalability**: Grows with your team without massive price jumps\n5. **Easy Setup**: Quick onboarding without technical expertise\n\n## Top Free and Affordable Help Desk Tools\n\n### 1. BlueTickets\n\n**Best for**: Bootstrapped startups needing API-first solutions\n\n**Pricing**: 30-day free trial, then €4.99/month for small teams (Small Team plan) or €9.99/month for growing startups (Growing Startup plan)\n\n**Key Features**:\n- RESTful API for custom integrations\n- Multi-channel support (email, web, API)\n- Smart ticket prioritization\n- No credit card required for trial\n- Clean, distraction-free interface\n\n**Why Its Great for Bootstrapped Startups**:\n- Generous 30-day free trial lets you fully evaluate\n- Affordable €4.99/month starting price (Small Team plan)\n- No per-user fees on starter plan\n- Quick setup (under 30 minutes)\n- Developer-friendly for technical teams\n\n**Free Trial**: 30 days, full feature access\n\n---\n\n### 2. Freshdesk\n\n**Best for**: Startups needing a feature-rich free tier\n\n**Pricing**: Free tier available, paid plans from $15/month per agent\n\n**Key Features**:\n- Generous free tier (up to 10 agents)\n- Multi-channel support\n- Basic automation and workflows\n- Knowledge base included\n- Mobile apps\n\n**Why Its Great for Bootstrapped Startups**:\n- Completely free for small teams\n- Good value when you need to upgrade\n- Feature-rich even on free tier\n\n**Free Tier Limitations**:\n- Limited customization\n- Basic reporting only\n- Freshdesk branding\n\n**Free Tier**: Up to 10 agents, unlimited tickets\n\n---\n\n### 3. Zoho Desk\n\n**Best for**: Startups already using Zoho products\n\n**Pricing**: Free tier available, paid from $14/month per agent\n\n**Key Features**:\n- Free tier for up to 3 agents\n- Multi-channel support\n- AI-powered responses\n- Integration with Zoho suite\n- Customizable workflows\n\n**Why Its Great for Bootstrapped Startups**:\n- Affordable pricing\n- Good if youre already in Zoho ecosystem\n- AI features help automate responses\n\n**Free Tier Limitations**:\n- Only 3 agents\n- Limited email volume\n- Basic features only\n\n**Free Tier**: Up to 3 agents, 100 tickets/month\n\n---\n\n### 4. HubSpot Service Hub\n\n**Best for**: Startups using HubSpot for marketing\n\n**Pricing**: Free tier available, paid from $20/month\n\n**Key Features**:\n- Free tier with core features\n- Integration with HubSpot CRM\n- Knowledge base\n- Live chat\n- Customer feedback tools\n\n**Why Its Great for Bootstrapped Startups**:\n- Completely free tier\n- Great if using HubSpot for marketing\n- Seamless CRM integration\n\n**Free Tier Limitations**:\n- Limited automation\n- Basic reporting\n- HubSpot branding\n\n**Free Tier**: Unlimited users, core features\n\n---\n\n### 5. Help Scout\n\n**Best for**: Email-focused support teams\n\n**Pricing**: 15-day free trial, then $25/month per user\n\n**Key Features**:\n- Shared inbox approach\n- Knowledge base\n- Live chat\n- Email integration\n- Team collaboration\n\n**Why Its Great for Bootstrapped Startups**:\n- Simple, email-focused interface\n- Good for small teams\n- Affordable per-user pricing\n\n**Free Trial**: 15 days, full feature access\n\n---\n\n### 6. Tawk.to\n\n**Best for**: Startups needing live chat on a budget\n\n**Pricing**: Completely free\n\n**Key Features**:\n- Free live chat\n- Mobile apps\n- Team collaboration\n- Basic ticketing\n- Knowledge base\n\n**Why Its Great for Bootstrapped Startups**:\n- 100% free forever\n- Good for live chat needs\n- Easy to implement\n\n**Limitations**:\n- Basic ticketing features\n- Limited automation\n- Tawk.to branding\n\n**Free Tier**: Completely free, unlimited\n\n---\n\n## Comparison: Free vs. Affordable Paid Options\n\n| Tool | Free Tier | Paid Starting Price | Best For |\n|------|-----------|---------------------|----------|\n| BlueTickets | 30-day trial | €4.99/month | API-first teams |\n| Freshdesk | Up to 10 agents | $15/month/agent | Feature-rich needs |\n| Zoho Desk | Up to 3 agents | $14/month/agent | Zoho ecosystem |\n| HubSpot | Unlimited users | $20/month | Marketing teams |\n| Help Scout | 15-day trial | $25/month/user | Email support |\n| Tawk.to | Forever free | Free | Live chat |\n\n## Making the Transition from Spreadsheets\n\nMoving from spreadsheets to a help desk tool doesnt have to be overwhelming. Heres a step-by-step approach:\n\n### Step 1: Choose Your Tool\n\n- Start with free trials to test multiple options\n- Consider your team size and growth plans\n- Evaluate API needs if youre developer-heavy\n- Check integration requirements\n\n### Step 2: Set Up Your Workspace\n\n- Create your organization/workspace\n- Add team members\n- Configure basic settings\n- Set up email integration\n\n### Step 3: Import Existing Data\n\n- Export current requests from spreadsheets\n- Import into your new tool (most tools support CSV import)\n- Organize by priority and status\n- Assign to team members\n\n### Step 4: Train Your Team\n\n- Walk through the interface\n- Show how to create and manage tickets\n- Demonstrate automation features\n- Set up workflows\n\n### Step 5: Go Live\n\n- Start using the tool for new requests\n- Monitor for the first week\n- Gather team feedback\n- Adjust workflows as needed\n\n## Tips for Maximizing Your Budget\n\n1. **Start with Free Trials**: Test multiple tools before committing\n2. **Use Free Tiers When Possible**: Many tools offer generous free tiers\n3. **Avoid Per-User Pricing**: Look for flat-rate or per-agent pricing\n4. **Negotiate Annual Plans**: Many tools offer discounts for annual billing\n5. **Start Small**: Begin with essential features, add more as you grow\n\n## When to Upgrade from Free Tiers\n\nConsider upgrading when you:\n- Exceed free tier limits (agents, tickets, etc.)\n- Need advanced automation\n- Require custom branding\n- Need better analytics and reporting\n- Want priority support\n\n## Conclusion\n\nBootstrapped startups dont have to sacrifice quality customer support due to budget constraints. Tools like **BlueTickets** offer generous free trials and affordable pricing (starting at €4.99/month) that make professional help desk functionality accessible to early-stage businesses.\n\nThe key is to start with a free trial, evaluate thoroughly, and choose a tool that scales with your growth. Remember: investing in proper customer support tools early pays dividends as your startup grows.\n\nReady to move beyond spreadsheets? Start your free 30-day trial of BlueTickets(https://bluetickets.app/register) - no credit card required, and youll be up and running in under 30 minutes.\n\n---\n\n*This article was last updated in January 2026. Pricing and features may have changed since publication.*\n\n)/script>script>self.__next_f.push(1,42:T1a07,)/script>script>self.__next_f.push(1,# Best Affordable Alternatives to Zendesk and Freshdesk in 2026\n\nZendesk and Freshdesk are popular helpdesk solutions, but their pricing can be prohibitive for small teams and startups. If youre looking for affordable alternatives that offer email ticketing, simple APIs, and essential features without the enterprise price tag, this guide is for you.\n\n## Why Look for Alternatives?\n\nWhile Zendesk and Freshdesk are powerful tools, they come with significant drawbacks for small teams:\n\n### Pricing Concerns\n\n- **Zendesk**: Starts at $19/user/month (often $500+/month for small teams)\n- **Freshdesk**: Starts at $15/user/month (can exceed $300/month)\n- **Hidden costs**: Setup fees, per-ticket charges, add-on modules\n\n### Complexity Issues\n\n- **Steep learning curve**: Weeks of training required\n- **Feature overload**: Hundreds of features youll never use\n- **Complex setup**: Requires IT expertise or consultants\n- **Ongoing maintenance**: Constant configuration and updates\n\n### Overkill for Small Teams\n\nMost small teams (1-10 people) dont need:\n- Advanced AI and automation\n- Complex workflow builders\n- Enterprise-level reporting\n- Multi-brand support\n- Extensive integrations\n\n## What to Look for in an Alternative\n\nWhen evaluating affordable alternatives, prioritize:\n\n1. **Email-based ticketing** - Simple integration with existing email\n2. **Manual ticket creation** - Capture requests from any channel\n3. **API access** - For developers who need integrations\n4. **Affordable pricing** - Under $15/user/month or flat-rate\n5. **Easy setup** - Running in under 30 minutes\n6. **Essential features** - What you need, nothing you dont\n\n## Top Affordable Alternatives\n\n### 1. BlueTickets\n\n**Best for**: Small teams and startups seeking simplicity\n\n**Pricing**: Starting at $4.99/month\n\n**Key Features**:\n- Email-based ticketing with custom domain support\n- Manual ticket creation from dashboard\n- RESTful API for developers\n- Simple setup (under 30 minutes)\n- SPF/DKIM/DMARC email authentication\n- Free 30-day trial (no credit card)\n\n**Why its a great alternative**: BlueTickets focuses on essential features without enterprise bloat. Perfect for teams that want effective ticket management without complexity.\n\n### 2. Help Scout\n\n**Best for**: Email-first support teams\n\n**Pricing**: $20/user/month\n\n**Key Features**:\n- Email-focused interface\n- Good for small teams\n- Clean, simple design\n\n**Drawbacks**: Higher pricing than some alternatives, limited API compared to developer-focused tools.\n\n### 3. Zoho Desk\n\n**Best for**: Teams already using Zoho ecosystem\n\n**Pricing**: $14/user/month\n\n**Key Features**:\n- Part of Zoho suite\n- Good email integration\n- Reasonable pricing\n\n**Drawbacks**: Can feel clunky, less developer-friendly than API-first solutions.\n\n## Feature Comparison\n\n| Feature | Zendesk | Freshdesk | BlueTickets | Help Scout | Zoho Desk |\n|---------|---------|-----------|-------------|------------|-----------|\n| **Starting Price** | $19/user | $15/user | $4.99/month | $20/user | $14/user |\n| **Email Ticketing** | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **Manual Creation** | ✅ | ✅ | ✅ | Limited | ✅ |\n| **API Access** | ✅ | ✅ | ✅ | Limited | ✅ |\n| **Easy Setup** | ❌ | ⚠️ | ✅ | ⚠️ | ⚠️ |\n| **Small Team Focus** | ❌ | ❌ | ✅ | ✅ | ⚠️ |\n\n## Why BlueTickets Stands Out\n\nAmong affordable alternatives, BlueTickets offers unique advantages:\n\n### 1. True Small Team Focus\n\nDesigned specifically for 1-10 person teams:\n- No enterprise bloat\n- Essential features only\n- Affordable flat-rate pricing\n- Simple, intuitive interface\n\n### 2. Developer-Friendly\n\nUnlike many alternatives, BlueTickets prioritizes developers:\n- Comprehensive RESTful API\n- API key authentication\n- Clear documentation\n- Test environment included\n- Rate limiting with helpful headers\n\n### 3. Email Integration Excellence\n\nBest-in-class email ticketing:\n- Automatic email-to-ticket conversion\n- Custom domain support\n- Full SPF/DKIM/DMARC support\n- Works with any email provider\n\n### 4. Transparent Pricing\n\nNo surprises:\n- Clear, affordable pricing\n- No per-ticket charges\n- No setup fees\n- Free 30-day trial\n\n## Making the Switch\n\nIf youre currently using Zendesk or Freshdesk and finding it too expensive or complex, switching to an affordable alternative is straightforward:\n\n### Step 1: Export Your Data\n\nMost systems allow you to export:\n- Ticket history\n- Customer information\n- Team member data\n\n### Step 2: Set Up Your New System\n\nWith simple alternatives like BlueTickets:\n- Sign up for free trial\n- Configure email domain (20-30 minutes)\n- Import team members\n- Set up basic workflows\n\n### Step 3: Train Your Team\n\nSimple systems require minimal training:\n- Show email integration\n- Demonstrate ticket creation\n- Explain assignment process\n- Review basic features\n\n**Total transition time**: 1-2 days vs. weeks for enterprise systems.\n\n## Cost Savings Analysis\n\nLets compare costs for a 5-person team:\n\n| Solution | Monthly Cost | Annual Cost | Savings vs. Zendesk |\n|----------|--------------|-------------|---------------------|\n| **Zendesk** | $95/month | $1,140/year | - |\n| **Freshdesk** | $75/month | $900/year | $240/year |\n| **BlueTickets** | $4.99/month | $60/year | $1,080/year |\n| **Help Scout** | $100/month | $1,200/year | -$60/year |\n| **Zoho Desk** | $70/month | $840/year | $300/year |\n\n**BlueTickets saves**: Over $1,000 per year compared to Zendesk for small teams.\n\n## When to Choose Each Alternative\n\n**Choose BlueTickets if:**\n- You have 1-10 team members\n- You want the most affordable option\n- You need developer-friendly APIs\n- You value simplicity\n- You want email-based ticketing\n\n**Choose Help Scout if:**\n- Youre purely email-focused\n- Budget allows $20/user/month\n- You dont need extensive API access\n\n**Choose Zoho Desk if:**\n- Youre already using Zoho products\n- You need CRM integration\n- $14/user/month fits your budget\n\n## Conclusion\n\nYou dont need to pay enterprise prices for effective ticket management. Affordable alternatives like BlueTickets offer:\n\n- ✅ Essential features without bloat\n- ✅ Simple setup and operation\n- ✅ Developer-friendly APIs\n- ✅ Significant cost savings\n- ✅ Better fit for small teams\n\nThe best alternative is one that:\n1. Fits your budget\n2. Meets your actual needs\n3. Your team will actually use\n4. Doesnt require IT expertise\n\nDont let feature lists convince you that you need enterprise complexity. Most small teams thrive with simple, focused tools.\n\nReady to try an affordable alternative? Start your free 30-day trial of BlueTickets(https://bluetickets.app/register) and see how much you can save while getting better results.\n\n\n\n)/script>script>self.__next_f.push(1,43:T1684,)/script>script>self.__next_f.push(1,# What makes a Ticketing System with Easy Email Setup cheap but good\n\nFinding the right ticketing system for your small business doesnt have to break the bank. With so many options available, its important to understand what features matter most and how to evaluate affordable solutions that offer simple email integration.\n\n## What Makes a Ticketing System \Cheap\ and Effective?\n\nWhen searching for a cheap ticketing system, youre likely looking for:\n\n- **Affordable pricing** - Typically under $10-20 per user/month, or flat-rate pricing\n- **Easy email setup** - Simple integration with your existing email infrastructure\n- **No hidden costs** - Transparent pricing without setup fees or per-ticket charges\n- **Essential features** - Email-to-ticket conversion, manual ticket creation, basic reporting\n\n## Key Features to Look For\n\n### 1. Email-Based Ticketing\n\nA good cheap ticketing system should support email integration out of the box. Look for:\n\n- **Automatic email-to-ticket conversion** - Emails forwarded to a specific address become tickets automatically\n- **Custom domain support** - Use your own support@yourdomain.com address\n- **SPF/DKIM/DMARC support** - Proper email authentication for deliverability\n\n**Why it matters**: Email-based ticketing means you dont need to change your existing workflow. Customers can email you as usual, and those emails automatically become trackable tickets.\n\n### 2. Manual Ticket Creation\n\nNot all support requests come through email. You need the ability to:\n\n- Create tickets from phone calls\n- Add tickets from in-person interactions\n- Capture support requests from any channel\n\n**Why it matters**: A flexible ticketing system lets you centralize all support requests, regardless of how they arrive.\n\n### 3. Simple Setup Process\n\nThe best cheap ticketing systems can be set up in under 30 minutes. Look for:\n\n- No complex configuration required\n- Clear documentation and setup guides\n- Email domain verification thats straightforward\n- Intuitive dashboard that doesnt require training\n\n**Why it matters**: Time is money. A system that takes days to set up costs more in lost productivity than the monthly subscription fee.\n\n### 4. API Integration (For Developers)\n\nIf you have technical needs, ensure the system offers:\n\n- RESTful API for programmatic access\n- API key authentication\n- Rate limiting and clear error messages\n- Comprehensive documentation\n\n**Why it matters**: Even small businesses often need to integrate ticketing with their existing tools or build custom workflows.\n\n## Pricing Comparison: What to Expect\n\nWhen evaluating cheap ticketing systems, heres what you should expect:\n\n| Feature | Free Tier | Budget Tier ($5-15/month) | Enterprise ($50+/month) |\n|---------|-----------|---------------------------|------------------------|\n| Email Integration | Limited | Full | Full + Advanced |\n| Manual Creation | Yes | Yes | Yes |\n| API Access | Limited/None | Full | Full + Webhooks |\n| Users | 1-2 | 2-10 | Unlimited |\n| Support | Community | Email | Priority |\n\n**Tip**: Many \free\ systems have significant limitations. A budget-friendly paid option often provides better value with more features and reliable support.\n\n## Setting Up Email Ticketing: Step-by-Step\n\nOnce youve chosen a cheap ticketing system, heres how to set up email integration:\n\n### Step 1: Create Your Account\n\nSign up for a free trial (most systems offer 14-30 days). No credit card should be required for the trial period.\n\n### Step 2: Configure Your Email Domain\n\n1. Add your domain to the ticketing system\n2. Set up DNS records (SPF, DKIM, DMARC) as instructed\n3. Verify domain ownership\n4. Configure your inbound email address\n\n### Step 3: Test Email Integration\n\n1. Forward a test email to your ticketing systems address\n2. Verify it appears as a ticket in your dashboard\n3. Reply to the ticket and confirm email delivery\n\n### Step 4: Train Your Team\n\n1. Show team members how to view tickets\n2. Explain the assignment process\n3. Demonstrate how to respond to tickets via email\n\n**Total Time**: Most systems can be fully configured in 20-30 minutes.\n\n## Common Pitfalls to Avoid\n\nWhen choosing a cheap ticketing system, watch out for:\n\n1. **Hidden Costs** - Some systems charge per ticket after a certain limit\n2. **Complex Setup** - If setup takes more than an hour, its probably too complex\n3. **Limited Email Support** - Ensure the system supports your email provider\n4. **Poor Mobile Experience** - Youll need to check tickets on the go\n5. **No API Access** - Even if you dont need it now, you might later\n\n## Why BlueTickets is a Great Choice\n\nBlueTickets offers an excellent balance of affordability and features:\n\n- **Affordable pricing** starting at $4.99/month\n- **Easy email setup** with full SPF/DKIM/DMARC support\n- **Manual ticket creation** from dashboard or API\n- **RESTful API** for developers\n- **30-day free trial** with no credit card required\n- **Simple setup** - Get running in under 30 minutes\n\nPerfect for small businesses and startups that need a simple, affordable ticketing system without enterprise complexity.\n\n## Conclusion\n\nChoosing a cheap ticketing system with easy email setup doesnt mean sacrificing quality. Look for systems that offer:\n\n- Transparent, affordable pricing\n- Simple email integration\n- Manual ticket creation\n- Easy setup process\n- API access (if needed)\n\nThe best system for your business is one that fits your budget, meets your needs, and doesnt require a dedicated IT team to maintain. Start with a free trial, test the email integration, and make sure it works with your existing workflow before committing.\n\nReady to get started? Try BlueTickets free for 30 days(https://bluetickets.app/register) and see how easy email ticketing can be.\n\n\n\n)/script>script>self.__next_f.push(1,44:T151a,)/script>script>self.__next_f.push(1,# Simple vs. Complex Helpdesk: Why Small Teams Need Email-Based Ticketing\n\nWhen choosing a helpdesk solution, small teams often face a dilemma: go with a simple email-based ticketing system or invest in a complex enterprise platform. Understanding the differences can save you time, money, and frustration.\n\n## The Complexity Problem\n\nEnterprise helpdesk software like Zendesk, Freshdesk, and ServiceNow are powerful tools designed for large organizations. However, they come with:\n\n- **Steep learning curves** - Weeks of training required\n- **High costs** - $19-100+ per user per month\n- **Feature bloat** - Hundreds of features youll never use\n- **Complex setup** - Requires IT team or consultants\n- **Ongoing maintenance** - Constant updates and configuration\n\nFor small teams (1-10 people), this complexity is often unnecessary and counterproductive.\n\n## Why Simple Email-Based Ticketing Works Better\n\nSimple email-based ticketing systems are designed with small teams in mind:\n\n### 1. Natural Workflow Integration\n\nEmail-based ticketing works the way your team already works:\n\n- **No new tools to learn** - Everyone knows how to use email\n- **Familiar interface** - Email clients are already part of daily workflow\n- **Automatic conversion** - Emails become tickets without extra steps\n- **Seamless replies** - Respond to tickets directly from your inbox\n\n**Result**: Your team can start using it immediately without training.\n\n### 2. Faster Setup\n\nSimple systems can be set up in under 30 minutes:\n\n- Connect your email domain\n- Configure DNS records (SPF, DKIM, DMARC)\n- Start forwarding emails\n- Begin creating tickets\n\n**Compare to**: Enterprise systems that require days or weeks of configuration, custom workflows, and team training.\n\n### 3. Lower Costs\n\nSimple email ticketing systems are significantly more affordable:\n\n- **Simple systems**: $5-15/month for small teams\n- **Enterprise systems**: $50-500+/month for the same team size\n\n**Savings**: Small teams can save $500-1000+ per year by choosing simplicity.\n\n### 4. Essential Features Only\n\nSimple systems focus on what matters:\n\n- Email-to-ticket conversion\n- Manual ticket creation\n- Basic assignment and status tracking\n- Simple reporting\n- API access for integrations\n\n**No bloat**: You get what you need without paying for features youll never use.\n\n## When Simple is Better\n\nChoose a simple email-based ticketing system if:\n\n- ✅ You have 1-10 team members\n- ✅ Most support requests come via email\n- ✅ You need basic ticket tracking\n- ✅ You want affordable pricing\n- ✅ You need quick setup\n- ✅ You value simplicity over complexity\n\n## When You Might Need Complexity\n\nConsider enterprise solutions only if:\n\n- ❌ You have 50+ support agents\n- ❌ You need advanced automation and AI\n- ❌ You require complex SLA management\n- ❌ You need extensive integrations\n- ❌ You have dedicated IT resources\n- ❌ Budget is not a concern\n\n**Reality check**: Most small teams dont actually need enterprise features, even if they think they do.\n\n## Key Features of Simple Email Ticketing\n\nA good simple email-based ticketing system should include:\n\n### Email Integration\n\n- Automatic email-to-ticket conversion\n- Custom domain support (support@yourdomain.com)\n- SPF/DKIM/DMARC authentication\n- Email replies create ticket updates\n\n### Manual Creation\n\n- Create tickets from dashboard\n- Add tickets from phone calls or in-person interactions\n- API access for programmatic creation\n\n### Basic Management\n\n- Ticket assignment\n- Status tracking (pending, processing, completed)\n- Priority levels\n- Simple search and filtering\n\n### Developer-Friendly\n\n- RESTful API\n- API key authentication\n- Clear documentation\n- Test environment\n\n## Making the Right Choice\n\nHeres a simple decision framework:\n\n**Choose Simple Email Ticketing If:**\n- Team size: 1-10 people\n- Budget: Under $20/user/month\n- Setup time: Need it running in days, not weeks\n- Complexity tolerance: Low - want it to \just work\\n\n**Choose Enterprise Helpdesk If:**\n- Team size: 50+ people\n- Budget: $50+/user/month acceptable\n- Setup time: Weeks/months acceptable\n- Complexity tolerance: High - willing to invest in training\n\n## The BlueTickets Approach\n\nBlueTickets is designed specifically for small teams who need simplicity:\n\n- **Email-based ticketing** - Works with your existing email workflow\n- **Simple setup** - Running in under 30 minutes\n- **Affordable pricing** - Starting at $4.99/month\n- **Essential features** - Everything you need, nothing you dont\n- **Developer-friendly** - RESTful API for when you need it\n\nPerfect for teams that want effective ticket management without enterprise complexity.\n\n## Conclusion\n\nFor small teams, simple email-based ticketing systems offer:\n\n- ✅ Faster setup\n- ✅ Lower costs\n- ✅ Easier adoption\n- ✅ Better ROI\n- ✅ Less maintenance\n\nDont let feature lists convince you that you need complexity. Most small teams thrive with simple, focused tools that solve their actual problems.\n\nThe best helpdesk for your team is the one that:\n1. Fits your budget\n2. Solves your problems\n3. Your team will actually use\n4. Doesnt require a dedicated IT person\n\nStart simple. You can always upgrade later if your needs genuinely require more complexity.\n\nReady to try simple email ticketing? Start your free 30-day trial of BlueTickets(https://bluetickets.app/register) and see how easy support management can be.\n\n\n\n)/script>script>self.__next_f.push(1,45:T2991,)/script>script>self.__next_f.push(1,# How to Set Up Automated Ticket Management for Your Small Team\n\nAutomation is the secret weapon of efficient support teams. For small teams especially, automation can mean the difference between drowning in tickets and staying ahead of customer needs. In this comprehensive guide, well walk you through setting up automated ticket management, using BlueTickets as our example platform.\n\n## Why Automate Ticket Management?\n\nSmall teams face unique challenges:\n- **Limited resources**: Fewer people to handle more requests\n- **Time constraints**: Every minute counts\n- **Consistency needs**: Same quality service regardless of volume\n- **Growth pressure**: Systems must scale without adding headcount\n\nAutomation helps by:\n- **Prioritizing intelligently**: Important tickets surface automatically\n- **Routing efficiently**: Tickets go to the right person\n- **Responding quickly**: Automated acknowledgments and updates\n- **Preventing overload**: Alerts when tickets need attention\n- **Maintaining consistency**: Standardized workflows\n\n## Understanding Automation Types\n\nBefore diving in, lets understand the different types of automation available:\n\n### 1. Ticket Prioritization\nAutomatically assigns priority levels based on keywords, requester type, or ticket source.\n\n### 2. Auto-Assignment\nRoutes tickets to specific team members based on rules (round-robin, skills, workload).\n\n### 3. Automated Responses\nSends acknowledgment emails, status updates, and follow-ups automatically.\n\n### 4. Escalation Rules\nAutomatically escalates tickets that havent been addressed within SLA timeframes.\n\n### 5. Integration Automation\nCreates tickets from external sources (email, API, webhooks) automatically.\n\n## Step-by-Step Setup Guide\n\n### Step 1: Define Your Workflow\n\nBefore configuring automation, map out your current workflow:\n\n1. **How do tickets arrive?**\n - Email forwarding\n - Web form submissions\n - API calls\n - Manual creation\n\n2. **How are tickets prioritized?**\n - By urgency keywords\n - By requester type (VIP, free user, etc.)\n - By ticket source\n - By time since creation\n\n3. **How are tickets assigned?**\n - First available agent\n - Round-robin\n - By expertise area\n - By current workload\n\n4. **What triggers escalations?**\n - Time-based (no response in X hours)\n - Status-based (stuck in \in progress\)\n - Priority-based (high priority unassigned)\n\n### Step 2: Set Up Email Integration\n\nMost help desk tools support inbound email. Heres how to set it up in BlueTickets:\n\n1. **Configure Your Support Email**\n - Go to Settings → Tickets\n - Click \Connect Support Email\\n - Enter your support email (e.g., `support@yourdomain.com`)\n\n2. **Set Up Email Forwarding**\n - Configure your email provider to forward emails to the inbound address\n - Test the connection by sending a test email\n\n3. **Verify DNS Records** (for custom domains)\n - Add SPF record\n - Add DKIM record\n - Add DMARC record (optional but recommended)\n\n**Example Email Forwarding Setup (Gmail)**:\n```\n1. Go to Gmail Settings → Forwarding and POP/IMAP\n2. Add forwarding address (your BlueTickets inbound address)\n3. Verify the forwarding address\n4. Choose \Forward a copy of incoming mail\\n```\n\n### Step 3: Configure Priority Rules\n\nAutomated prioritization ensures urgent tickets get attention first. Set up rules based on:\n\n**Keyword-Based Prioritization**:\n```\nIF ticket contains: \urgent\, \critical\, \down\, \broken\\nTHEN set priority: High\n```\n\n**Requester-Based Prioritization**:\n```\nIF requester email domain: \@vip-customers.com\\nTHEN set priority: High\n```\n\n**Source-Based Prioritization**:\n```\nIF ticket source: \email\ AND contains: \@important-client.com\\nTHEN set priority: High\n```\n\n**Example BlueTickets Priority Rule**:\n```json\n{\n \name\: \Urgent Keywords\,\n \condition\: {\n \field\: \title\,\n \operator\: \contains\,\n \value\: \urgent\, \critical\, \down\\n },\n \action\: {\n \setPriority\: \high\,\n \addTag\: \urgent\\n }\n}\n```\n\n### Step 4: Set Up Auto-Assignment\n\nAutomatically route tickets to the right team member:\n\n**Round-Robin Assignment**:\n- Distributes tickets evenly across team members\n- Prevents any one person from being overloaded\n- Works well for general support\n\n**Skills-Based Assignment**:\n- Routes technical tickets to technical team\n- Routes billing questions to finance team\n- Routes feature requests to product team\n\n**Workload-Based Assignment**:\n- Assigns to team member with fewest open tickets\n- Balances workload automatically\n- Prevents burnout\n\n**Example Assignment Rule**:\n```\nIF ticket contains: \billing\, \payment\, \invoice\\nTHEN assign to: finance@company.com\n\nELSE IF ticket contains: \bug\, \error\, \technical\\nTHEN assign to: tech@company.com\n\nELSE\nTHEN assign using: round-robin\n```\n\n### Step 5: Configure Automated Responses\n\nSet up automatic acknowledgments and updates:\n\n**Immediate Acknowledgment**:\n```\nWhen: New ticket created\nSend: \Weve received your request and ticket #ID has been created. \n Our team will respond within SLA time.\\n```\n\n**Status Update Notifications**:\n```\nWhen: Ticket status changes to \in progress\\nSend: \Your ticket #ID is now being worked on by Agent Name.\\n```\n\n**Resolution Confirmation**:\n```\nWhen: Ticket marked as resolved\nSend: \Your ticket #ID has been resolved. Please let us know if you need anything else.\\n```\n\n### Step 6: Set Up Escalation Rules\n\nAutomatically escalate tickets that need attention:\n\n**Time-Based Escalation**:\n```\nIF ticket status: \new\ AND time since creation: \u003e 4 hours\nTHEN: Escalate to manager AND send alert\n```\n\n**Unassigned Ticket Escalation**:\n```\nIF ticket status: \new\ AND assigned to: \nobody\ AND time: \u003e 2 hours\nTHEN: Assign to team lead AND notify manager\n```\n\n**High Priority Escalation**:\n```\nIF priority: \high\ AND no response: \u003e 1 hour\nTHEN: Escalate AND notify on-call engineer\n```\n\n### Step 7: Integrate with Your Tools\n\nConnect your help desk to other tools for seamless automation:\n\n**API Integration Example**:\n```javascript\n// Create ticket from your app\nconst response await fetch(https://api.bluetickets.app/tickets, {\n method: POST,\n headers: {\n Authorization: Bearer YOUR_API_KEY,\n Content-Type: application/json\n },\n body: JSON.stringify({\n title: User reported issue,\n body: Description of the issue,\n requesterEmail: user@example.com,\n priority: 1,\n source: app\n })\n});\n```\n\n**Webhook Integration**:\n```javascript\n// Receive webhook when ticket is updated\napp.post(/webhook/ticket-updated, (req, res) \u003e {\n const ticket req.body;\n \n if (ticket.status resolved) {\n // Update your internal system\n updateCustomerRecord(ticket.requesterEmail, {\n lastSupportContact: ticket.updatedAt,\n issueResolved: true\n });\n }\n \n res.status(200).send(OK);\n});\n```\n\n## Real-World Case Studies\n\n### Case Study 1: E-commerce Startup\n\n**Challenge**: 50+ support emails daily, all handled manually\n\n**Solution**:\n- Set up email forwarding to BlueTickets\n- Created priority rules for \order\ and \refund\ keywords\n- Auto-assigned billing questions to finance team\n- Set up automated acknowledgment emails\n\n**Results**:\n- 80% reduction in response time\n- 60% of tickets auto-assigned correctly\n- Team saved 10 hours/week on manual routing\n\n### Case Study 2: SaaS Startup\n\n**Challenge**: Support tickets created via API needed immediate attention\n\n**Solution**:\n- Integrated API to create tickets automatically\n- Set high priority for tickets from VIP customers\n- Automated escalation for tickets older than 4 hours\n- Created webhook to update internal dashboard\n\n**Results**:\n- 100% of tickets created automatically\n- Zero missed high-priority tickets\n- Real-time visibility into support queue\n\n### Case Study 3: Agency with Multiple Clients\n\n**Challenge**: Tickets from different clients needed different handling\n\n**Solution**:\n- Created tags for each client\n- Set up client-specific assignment rules\n- Automated SLA tracking per client\n- Customized automated responses per client\n\n**Results**:\n- Clear separation of client tickets\n- Improved client satisfaction scores\n- Better SLA compliance\n\n## Best Practices for Automation\n\n1. **Start Simple**: Begin with basic automation, add complexity gradually\n2. **Test Thoroughly**: Test rules in a staging environment first\n3. **Monitor Regularly**: Review automation effectiveness monthly\n4. **Maintain Flexibility**: Keep manual override options available\n5. **Document Everything**: Document all rules and their purposes\n6. **Train Your Team**: Ensure everyone understands automation rules\n7. **Review and Refine**: Continuously improve based on results\n\n## Common Automation Mistakes to Avoid\n\n1. **Over-Automating**: Not every process needs automation\n2. **Ignoring Edge Cases**: Test unusual scenarios\n3. **Set and Forget**: Regularly review and update rules\n4. **Lack of Monitoring**: Track automation effectiveness\n5. **Poor Documentation**: Document all automation rules\n6. **No Manual Override**: Always allow manual intervention\n\n## Measuring Automation Success\n\nTrack these metrics to measure automation effectiveness:\n\n- **Auto-Assignment Rate**: % of tickets assigned automatically\n- **Response Time**: Average time to first response\n- **Resolution Time**: Average time to resolution\n- **Escalation Rate**: % of tickets requiring escalation\n- **Team Satisfaction**: How team feels about automation\n- **Customer Satisfaction**: Impact on customer experience\n\n## Advanced Automation Ideas\n\nOnce youve mastered the basics, consider:\n\n1. **AI-Powered Triage**: Use AI to categorize and prioritize tickets\n2. **Predictive Escalation**: Escalate before SLA breach\n3. **Smart Routing**: ML-based ticket routing\n4. **Automated Follow-ups**: Check in with customers after resolution\n5. **Integration Automation**: Connect with CRM, project management, etc.\n\n## Conclusion\n\nAutomated ticket management transforms how small teams handle customer support. By setting up smart prioritization, auto-assignment, and escalation rules, you can provide better service with less manual work.\n\nThe key is to start simple, test thoroughly, and iterate based on results. Tools like **BlueTickets** make it easy to set up automation without technical expertise, while still providing powerful API access for advanced use cases.\n\nReady to automate your ticket management? Start your free 30-day trial of BlueTickets(https://bluetickets.app/register) and set up automation in under 30 minutes.\n\n---\n\n*This article was last updated in January 2026. Features and capabilities may have changed since publication.*\n\n)/script>script>self.__next_f.push(1,46:T414b,)/script>script>self.__next_f.push(1,# Developer-Friendly Help Desks: Integrating APIs for Custom Ticketing Workflows\n\nFor technical teams, a help desk isnt just a support tool—its a platform to build upon. Developer-friendly help desks provide robust APIs that let you create custom workflows, integrate with your existing tools, and automate support processes in ways that generic solutions cant match.\n\nIn this technical guide, well explore how to leverage APIs for custom ticketing workflows, using BlueTickets RESTful API as our example. Well cover authentication, common operations, webhooks, and real-world integration patterns.\n\n## Why API-First Help Desks Matter\n\nTraditional help desks often treat APIs as an afterthought. API-first help desks are built differently:\n\n- **RESTful Design**: Standard HTTP methods and status codes\n- **Comprehensive Documentation**: Clear, example-rich docs\n- **Webhook Support**: Real-time event notifications\n- **Rate Limiting**: Clear limits with proper headers\n- **Developer Experience**: Designed for developers, by developers\n\n**Benefits for Technical Teams**:\n- Build custom integrations\n- Automate ticket creation from your apps\n- Sync with your internal systems\n- Create custom dashboards\n- Integrate with CI/CD pipelines\n\n## Understanding RESTful API Basics\n\nBefore diving into specific implementations, lets review RESTful API fundamentals:\n\n### HTTP Methods\n\n- **GET**: Retrieve resources (tickets, users, etc.)\n- **POST**: Create new resources\n- **PUT/PATCH**: Update existing resources\n- **DELETE**: Remove resources\n\n### Status Codes\n\n- **200 OK**: Successful request\n- **201 Created**: Resource created successfully\n- **400 Bad Request**: Invalid request data\n- **401 Unauthorized**: Missing or invalid authentication\n- **404 Not Found**: Resource doesnt exist\n- **429 Too Many Requests**: Rate limit exceeded\n\n### Authentication\n\nMost help desk APIs use API keys for authentication:\n\n```http\nAuthorization: Bearer YOUR_API_KEY\n```\n\n## API Authentication and Setup\n\n### Step 1: Generate API Key\n\nIn BlueTickets (and most help desks):\n\n1. Go to Settings → API Keys\n2. Click \Create API Key\\n3. Give it a descriptive name (e.g., \Production App Integration\)\n4. Copy the key immediately (you wont see it again)\n\n### Step 2: Secure Your API Key\n\n**Never commit API keys to version control!**\n\n```javascript\n// ❌ BAD: Hardcoded API key\nconst API_KEY sk_live_1234567890;\n\n// ✅ GOOD: Environment variable\nconst API_KEY process.env.BLUETICKETS_API_KEY;\n```\n\n**Environment Variable Setup**:\n```bash\n# .env file\nBLUETICKETS_API_KEYsk_live_your_key_here\nBLUETICKETS_API_URLhttps://api.bluetickets.app\n```\n\n### Step 3: Test Authentication\n\n```javascript\nasync function testAuth() {\n const response await fetch(https://api.bluetickets.app/tickets, {\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`\n }\n });\n \n if (response.status 401) {\n console.error(Invalid API key);\n } else if (response.ok) {\n console.log(Authentication successful);\n }\n}\n```\n\n## Core API Operations\n\n### Creating Tickets\n\nThe most common operation is creating tickets programmatically:\n\n```javascript\nasync function createTicket(ticketData) {\n const response await fetch(https://api.bluetickets.app/tickets, {\n method: POST,\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`,\n Content-Type: application/json\n },\n body: JSON.stringify({\n title: ticketData.title,\n body: ticketData.description,\n requesterEmail: ticketData.email,\n priority: ticketData.priority || 0, // 0low, 1medium, 2high\n source: app, // app, web, email, agent\n tags: ticketData.tags || ,\n metadata: {\n appVersion: ticketData.appVersion,\n deviceInfo: ticketData.deviceInfo,\n userId: ticketData.userId\n }\n })\n });\n \n if (!response.ok) {\n throw new Error(`Failed to create ticket: ${response.statusText}`);\n }\n \n return await response.json();\n}\n\n// Usage\nconst ticket await createTicket({\n title: User reported bug in checkout,\n description: Payment fails when using credit card,\n email: user@example.com,\n priority: 2, // High priority\n appVersion: 2.1.0,\n deviceInfo: iOS 17.2, iPhone 14\n});\n```\n\n### Retrieving Tickets\n\nFetch tickets with filtering and pagination:\n\n```javascript\nasync function getTickets(options {}) {\n const params new URLSearchParams({\n status: options.status || open,\n limit: options.limit || 50,\n offset: options.offset || 0,\n ...(options.priority \u0026\u0026 { priority: options.priority }),\n ...(options.assignedTo \u0026\u0026 { assignedTo: options.assignedTo })\n });\n \n const response await fetch(\n `https://api.bluetickets.app/tickets?${params}`,\n {\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`\n }\n }\n );\n \n if (!response.ok) {\n throw new Error(`Failed to fetch tickets: ${response.statusText}`);\n }\n \n return await response.json();\n}\n\n// Usage\nconst openTickets await getTickets({\n status: open,\n priority: 2, // High priority only\n limit: 20\n});\n```\n\n### Updating Ticket Status\n\nUpdate ticket status via dedicated endpoint:\n\n```javascript\nasync function updateTicketStatus(ticketId, status, reason) {\n const response await fetch(\n `https://api.bluetickets.app/tickets/${ticketId}/status`,\n {\n method: POST,\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`,\n Content-Type: application/json\n },\n body: JSON.stringify({\n status: status,\n reason: reason\n })\n }\n );\n \n if (!response.ok) {\n throw new Error(`Failed to update ticket status: ${response.statusText}`);\n }\n \n return await response.json();\n}\n\n// Usage examples\nawait updateTicketStatus(ticket-123, processing, Agent assigned and starting investigation);\nawait updateTicketStatus(ticket-123, completed, Fixed in version 2.1.1);\n```\n\n### Updating Ticket Assignee\n\nAssign or unassign tickets to agents:\n\n```javascript\nasync function updateTicketAssignee(ticketId, assigneeId) {\n const response await fetch(\n `https://api.bluetickets.app/tickets/${ticketId}/assignee`,\n {\n method: POST,\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`,\n Content-Type: application/json\n },\n body: JSON.stringify({\n assigneeId: assigneeId // null to unassign\n })\n }\n );\n \n if (!response.ok) {\n throw new Error(`Failed to update ticket assignee: ${response.statusText}`);\n }\n \n return await response.json();\n}\n```\n\n### Adding Messages/Comments\n\nAdd public messages (comments) to tickets:\n\n```javascript\nasync function addMessage(ticketId, message, notifyRequester true) {\n const response await fetch(\n `https://api.bluetickets.app/tickets/${ticketId}/messages`,\n {\n method: POST,\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`,\n Content-Type: application/json\n },\n body: JSON.stringify({\n message: message,\n notifyRequester: notifyRequester\n })\n }\n );\n \n if (!response.ok) {\n throw new Error(`Failed to add message: ${response.statusText}`);\n }\n \n return await response.json();\n}\n\n// Usage\nawait addMessage(ticket-123, We\\ve identified the problem and are working on a fix, true);\n```\n\n**Note**: The API currently supports adding public messages only. Internal comments are available through the web interface.\n\n## Polling for Real-Time Integration\n\nWhile webhooks are planned for future releases, you can currently use polling to check for ticket updates:\n\n### Polling for Ticket Updates\n\n```javascript\n// Poll for new tickets periodically\nasync function pollForNewTickets(lastCheckedTime) {\n const response await fetch(\n `https://api.bluetickets.app/tickets?page1\u0026pageSize50`,\n {\n headers: {\n Authorization: `Bearer ${process.env.BLUETICKETS_API_KEY}`\n }\n }\n );\n \n if (!response.ok) {\n throw new Error(`Failed to fetch tickets: ${response.statusText}`);\n }\n \n const data await response.json();\n const newTickets data.tickets.filter(\n ticket \u003e new Date(ticket.createdAt) \u003e lastCheckedTime\n );\n \n return newTickets;\n}\n\n// Usage: Poll every 30 seconds\nlet lastCheck new Date();\nsetInterval(async () \u003e {\n const newTickets await pollForNewTickets(lastCheck);\n if (newTickets.length \u003e 0) {\n newTickets.forEach(ticket \u003e {\n handleTicketCreated(ticket);\n });\n lastCheck new Date();\n }\n}, 30000);\n\nfunction handleTicketCreated(ticket) {\n // Update your CRM\n updateCRM(ticket.requesterEmail, {\n lastSupportContact: ticket.createdAt,\n openTickets: ticket.id\n });\n \n // Notify team in Slack\n notifySlack(`New ticket #${ticket.id}: ${ticket.title}`);\n \n // Update internal dashboard\n updateDashboard(tickets, increment);\n}\n```\n\n**Note**: Webhooks are coming soon and will provide a more efficient way to receive real-time notifications. For now, polling is the recommended approach.\n\n## Real-World Integration Patterns\n\n### Pattern 1: Error Reporting Integration\n\nAutomatically create tickets when errors occur in your application:\n\n```javascript\n// Error handler middleware\nasync function errorHandler(error, req, res, next) {\n // Log error internally\n console.error(Application error:, error);\n \n // Create support ticket for critical errors\n if (error.severity critical) {\n try {\n await createTicket({\n title: `Critical Error: ${error.message}`,\n description: `\n Error: ${error.message}\n Stack: ${error.stack}\n User: ${req.user?.email || Anonymous}\n URL: ${req.url}\n Timestamp: ${new Date().toISOString()}\n `,\n email: errors@yourcompany.com,\n priority: 2, // High priority\n source: app,\n tags: error, critical, automated,\n metadata: {\n errorType: error.name,\n userId: req.user?.id,\n requestId: req.id\n }\n });\n } catch (ticketError) {\n console.error(Failed to create error ticket:, ticketError);\n }\n }\n \n res.status(500).json({ error: Internal server error });\n}\n```\n\n### Pattern 2: User Feedback Integration\n\nCreate tickets from in-app feedback forms:\n\n```javascript\n// Feedback form handler\napp.post(/api/feedback, async (req, res) \u003e {\n const { email, message, category, screenshot } req.body;\n \n try {\n // Create ticket\n const ticket await createTicket({\n title: `Feedback: ${category}`,\n description: message,\n email: email,\n priority: category bug ? 2 : 0,\n source: app,\n tags: feedback, category,\n metadata: {\n screenshot: screenshot,\n userAgent: req.headersuser-agent\n }\n });\n \n // Send acknowledgment\n await sendEmail(email, {\n subject: Thank you for your feedback,\n body: `Weve received your feedback and created ticket #${ticket.id}. Well get back to you soon!`\n });\n \n res.json({ ticketId: ticket.id, message: Feedback submitted successfully });\n } catch (error) {\n res.status(500).json({ error: Failed to submit feedback });\n }\n});\n```\n\n### Pattern 3: CRM Synchronization\n\nSync tickets with your CRM system:\n\n```javascript\n// Sync ticket to CRM when created\nasync function syncTicketToCRM(ticket) {\n const crmContact await findOrCreateCRMContact(ticket.requesterEmail);\n \n await updateCRMContact(crmContact.id, {\n lastSupportContact: ticket.createdAt,\n openSupportTickets: await getOpenTicketCount(ticket.requesterEmail),\n supportHistory: {\n ticketId: ticket.id,\n title: ticket.title,\n status: ticket.status,\n createdAt: ticket.createdAt\n }\n });\n}\n\n// Webhook handler\nfunction handleTicketCreated(ticket) {\n syncTicketToCRM(ticket);\n}\n```\n\n### Pattern 4: Automated Ticket Routing\n\nRoute tickets based on content analysis:\n\n```javascript\nasync function routeTicket(ticket) {\n // Analyze ticket content\n const keywords extractKeywords(ticket.body);\n const category categorizeTicket(keywords);\n \n // Route based on category\n const routingRules {\n billing: { assigneeId: user-id-finance, priority: 1 },\n technical: { assigneeId: user-id-tech, priority: 2 },\n feature-request: { assigneeId: user-id-product, priority: 0 },\n bug: { assigneeId: user-id-engineering, priority: 2 }\n };\n \n const rule routingRulescategory || { assigneeId: user-id-support, priority: 0 };\n \n // Update assignee\n if (rule.assigneeId) {\n await updateTicketAssignee(ticket.id, rule.assigneeId);\n }\n \n // Note: Priority is set when creating the ticket, not via update endpoint\n}\n```\n\n## Rate Limiting and Best Practices\n\n### Understanding Rate Limits\n\nBlueTickets API currently does not enforce strict rate limiting, but its recommended to:\n- **Use reasonable request intervals**: Avoid making requests more frequently than every few seconds\n- **Implement client-side rate limiting**: Limit your application to reasonable request rates\n- **Monitor your usage**: Track API calls to ensure responsible usage\n\n**Note**: Rate limiting may be implemented in future releases. Its good practice to implement retry logic with exponential backoff.\n\n### Handling Errors with Retry Logic\n\n```javascript\nasync function apiRequestWithRetry(url, options, maxRetries 3) {\n for (let attempt 0; attempt \u003c maxRetries; attempt++) {\n try {\n const response await fetch(url, options);\n \n if (response.ok) {\n return await response.json();\n }\n \n // If rate limited (429) or server error (5xx), retry with backoff\n if (response.status 429 || response.status \u003e 500) {\n const waitTime Math.min(1000 * Math.pow(2, attempt), 10000); // Exponential backoff, max 10s\n if (attempt \u003c maxRetries - 1) {\n console.log(`Request failed. Retrying in ${waitTime}ms...`);\n await new Promise(resolve \u003e setTimeout(resolve, waitTime));\n continue;\n }\n }\n \n throw new Error(`API request failed: ${response.statusText}`);\n } catch (error) {\n if (attempt maxRetries - 1) throw error;\n const waitTime Math.min(1000 * Math.pow(2, attempt), 10000);\n await new Promise(resolve \u003e setTimeout(resolve, waitTime));\n }\n }\n}\n```\n\n### Best Practices\n\n1. **Cache When Possible**: Dont fetch the same data repeatedly\n2. **Batch Operations**: Combine multiple updates when possible\n3. **Handle Errors Gracefully**: Implement retry logic with exponential backoff\n4. **Monitor API Usage**: Track your API usage to stay within limits\n5. **Use Polling Efficiently**: Poll at reasonable intervals (30-60 seconds) to avoid excessive requests\n\n## Testing Your Integration\n\n### Unit Tests\n\n```javascript\ndescribe(Ticket API Integration, () \u003e {\n it(should create a ticket, async () \u003e {\n const ticket await createTicket({\n title: Test Ticket,\n description: This is a test,\n email: test@example.com\n });\n \n expect(ticket).toHaveProperty(id);\n expect(ticket.title).toBe(Test Ticket);\n });\n \n it(should handle API errors, async () \u003e {\n await expect(\n createTicket({ title: , email: invalid })\n ).rejects.toThrow();\n });\n});\n```\n\n### Integration Tests\n\n```javascript\ndescribe(Webhook Integration, () \u003e {\n it(should handle ticket.created event, async () \u003e {\n const event {\n type: ticket.created,\n data: {\n id: ticket-123,\n title: Test Ticket,\n requesterEmail: test@example.com\n }\n };\n \n const result await handleTicketCreated(event.data);\n expect(result).toBeDefined();\n });\n});\n```\n\n## Conclusion\n\nDeveloper-friendly help desks with robust APIs enable technical teams to build custom workflows, integrate with existing systems, and automate support processes. By leveraging RESTful APIs, webhooks, and proper authentication, you can create powerful integrations that scale with your business.\n\nThe key is to start simple, test thoroughly, and iterate based on your teams needs. Tools like **BlueTickets** provide comprehensive APIs with excellent documentation, making it easy to build custom integrations without fighting against the platform.\n\nReady to build custom ticketing workflows? Start your free 30-day trial of BlueTickets(https://bluetickets.app/register) and explore our comprehensive API documentation.\n\n---\n\n*This article was last updated in February 2026. API endpoints and features may have changed since publication.*\n\n)/script>script>self.__next_f.push(1,30:\$\,\section\,null,{\className\:\relative overflow-hidden px-4 py-16 md:py-20 bg-gradient-to-b from-bg via-surface to-bg border-t border-border-subtle\,\children\:\$\,\div\,null,{\className\:\mx-auto max-w-7xl\,\children\:\$\,\div\,null,{\className\:\mb-8 text-center\,\children\:\$\,\h2\,null,{\className\:\text-3xl font-bold text-text md:text-4xl\,\children\:\Latest Articles \u0026 Guides\},\$\,\p\,null,{\className\:\mt-4 text-lg text-text/70 hidden\,\children\:\Expert insights on help desk software, customer support, and ticketing systems\}},\$\,\$L3e\,null,{\articles\:{\meta\:{\slug\:\ai-powered-email-filtering-smart-ticket-categorization\,\title\:\AI-Powered Email Filtering and Smart Ticket Categorization: Keep Your Support Team Organized\,\description\:\Discover how AI-powered email filtering and automatic ticket categorization help support teams stay organized, reduce false tickets, and save time. Learn how intelligent filtering keeps your inbox clean and your agents focused on real customer issues.\,\keywords\:\AI email filtering\,\automatic ticket categorization\,\smart helpdesk filtering\,\AI-powered support tickets\,\email spam filtering for helpdesk\,\intelligent ticket management\,\automated ticket organization\,\AI customer support tools\,\author\:\BlueTickets Team\,\publishedAt\:\2026-01-07\,\updatedAt\:\2026-01-07\,\featured\:true,\category\:\features\,\readTime\:12,\image\:\/articles/en/ai-powered-email-filtering-smart-ticket-categorization/image.jpg\},\content\:\$3f\,\locale\:\en\},{\meta\:{\slug\:\top-10-help-desk-software-startups-2026\,\title\:\Top 10 Help Desk Software for Startups in 2026: A Comprehensive Comparison\,\description\:\An in-depth review comparing 10 helpdesk tools (including BlueTickets) based on features like API integrations, pricing, and scalability for growing teams.\,\keywords\:\help desk software for startups\,\best ticketing systems 2026\,\affordable customer support tools for small teams\,\API-integrated helpdesk comparison\,\author\:\BlueTickets Team\,\publishedAt\:\2026-01-05\,\updatedAt\:\2026-01-05\,\featured\:true,\category\:\comparison\,\readTime\:12,\image\:\/articles/en/top-10-help-desk-software-startups-2026/image.jpg\},\content\:\$40\,\locale\:\en\},{\meta\:{\slug\:\best-free-affordable-help-desk-tools-bootstrapped-startups\,\title\:\Best Free and Affordable Help Desk Tools for Bootstrapped Startups\,\description\:\Guide to budget-friendly help desk options, focusing on free trials and low-cost plans. Learn how to transition from spreadsheets to proper ticketing systems.\,\keywords\:\free help desk software for startups\,\affordable ticketing systems 2026\,\bootstrapped customer support tools\,\low-cost multi-tenant helpdesk\,\author\:\BlueTickets Team\,\publishedAt\:\2026-01-02\,\updatedAt\:\2026-01-02\,\featured\:true,\category\:\guide\,\readTime\:10,\image\:\/articles/en/best-free-affordable-help-desk-tools-bootstrapped-startups/image.jpg\},\content\:\$41\,\locale\:\en\},{\meta\:{\slug\:\best-affordable-alternatives-zendesk-freshdesk-2026\,\title\:\Best Affordable Alternatives to Zendesk and Freshdesk in 2026\,\description\:\Compare affordable helpdesk alternatives to Zendesk and Freshdesk. Discover budget-friendly options with email ticketing, simple APIs, and manual ticket creation perfect for small teams and startups.\,\keywords\:\affordable alternative to Zendesk\,\budget Freshdesk alternative\,\cheap helpdesk software\,\simple ticketing vs Zendesk\,\affordable email ticketing alternative\,\author\:\BlueTickets Team\,\publishedAt\:\2025-12-24\,\updatedAt\:\2025-12-24\,\featured\:true,\category\:\comparison\,\readTime\:14,\image\:\/articles/en/best-affordable-alternatives-zendesk-freshdesk-2026/image.jpg\},\content\:\$42\,\locale\:\en\},{\meta\:{\slug\:\how-to-choose-cheap-ticketing-system-easy-email-setup\,\title\:\What makes a Ticketing System with Easy Email Setup cheap but good\,\description\:\Complete guide to selecting an affordable ticketing system with simple email integration. Learn what to look for, compare pricing, and set up email-based ticketing for your small business in under 30 minutes.\,\keywords\:\cheap ticketing system\,\easy email setup ticketing\,\affordable helpdesk with email\,\simple email ticketing for small business\,\budget ticketing system\,\author\:\BlueTickets Team\,\publishedAt\:\2025-12-24\,\updatedAt\:\2025-12-24\,\featured\:true,\category\:\guide\,\readTime\:12,\image\:\/articles/en/how-to-choose-cheap-ticketing-system-easy-email-setup/image.jpg\},\content\:\$43\,\locale\:\en\},{\meta\:{\slug\:\simple-vs-complex-helpdesk-email-ticketing\,\title\:\Simple vs. Complex Helpdesk: Why Small Teams Need Email-Based Ticketing\,\description\:\Discover why simple email-based ticketing systems are better for small teams than complex enterprise helpdesk software. Learn the key differences and find the right solution for your business size.\,\keywords\:\simple email ticketing\,\email-based ticketing for small teams\,\simple vs complex helpdesk\,\affordable email ticketing system\,\small business ticketing\,\author\:\BlueTickets Team\,\publishedAt\:\2025-12-24\,\updatedAt\:\2025-12-24\,\featured\:true,\category\:\comparison\,\readTime\:10,\image\:\/articles/en/simple-vs-complex-helpdesk-email-ticketing/image.jpg\},\content\:\$44\,\locale\:\en\},{\meta\:{\slug\:\automated-ticket-management-small-teams\,\title\:\How to Set Up Automated Ticket Management for Your Small Team\,\description\:\Step-by-step tutorial on implementing automation in helpdesks, using BlueTickets as an example for prioritization, alerts, and integrations. Includes case studies showing time savings.\,\keywords\:\automated ticket management for small teams\,\helpdesk automation setup guide\,\ticket prioritization tools for startups\,\inbound email ticketing automation\,\author\:\BlueTickets Team\,\publishedAt\:\2025-12-15\,\updatedAt\:\2025-12-15\,\featured\:true,\category\:\tutorial\,\readTime\:15,\image\:\/articles/en/automated-ticket-management-small-teams/image.jpg\},\content\:\$45\,\locale\:\en\},{\meta\:{\slug\:\developer-friendly-help-desks-api-integration\,\title\:\Developer-Friendly Help Desks: Integrating APIs for Custom Ticketing Workflows\,\description\:\Focus on API-driven customizations for tech teams, showcasing BlueTickets RESTful API and webhooks. Provide examples for developers building on top of it.\,\keywords\:\developer-friendly helpdesk APIs\,\custom ticketing workflows integration\,\RESTful API for ticket management\,\startup developer support tools\,\author\:\BlueTickets Team\,\publishedAt\:\2025-11-05\,\updatedAt\:\2025-11-05\,\featured\:true,\category\:\technical\,\readTime\:20,\image\:\/articles/en/developer-friendly-help-desks-api-integration/image.jpg\},\content\:\$46\,\locale\:\en\},\dict\:{\common\:\$13:props:children:props:dict:common\,\status\:\$13:props:children:props:dict:status\}},\$L47\}}\n)/script>script>self.__next_f.push(1,31:\$\,\section\,null,{\id\:\faq\,\className\:\px-4 border-t border-border-subtle flex items-center\,\style\:{\minHeight\:\var(--section-min-height, calc(100vh - var(--topbar-height, 72px)))\,\scrollMarginTop\:\var(--topbar-height, 72px)\,\paddingTop\:\calc(3rem * var(--vh-scale, 1))\,\paddingBottom\:\calc(3rem * var(--vh-scale, 1))\},\children\:\$\,\div\,null,{\className\:\mx-auto max-w-4xl w-full\,\style\:{\transform\:\scale(var(--section-scale, 1))\,\transformOrigin\:\top center\,\width\:\calc(100% / var(--section-scale, 1))\,\marginLeft\:\auto\,\marginRight\:\auto\},\children\:\$\,\div\,null,{\className\:\text-center mb-8 md:mb-12\,\children\:\$\,\h2\,null,{\className\:\text-2xl md:text-3xl lg:text-4xl font-bold text-text\,\children\:\Frequently Asked Questions\},\$\,\p\,null,{\className\:\mt-3 md:mt-4 text-base md:text-lg text-text/70 hidden\,\children\:\Quick answers to common questions\}},\$\,\div\,null,{\className\:\space-y-3 md:space-y-4\,\children\:\$\,\details\,\what-is-bluetickets\,{\className\:\group rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md\,\children\:\$\,\summary\,null,{\className\:\cursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2\,\children\:\$\,\span\,null,{\children\:\What is BlueTickets?\},\$\,\svg\,null,{\className\:\h-5 w-5 text-text/40 transition-transform group-open:rotate-180\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M19 9l-7 7-7-7\}}},\$\,\div\,null,{\className\:\mt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none\,\dangerouslySetInnerHTML\:{\__html\:\\u003cp class\\\mb-4 leading-relaxed text-text/80\\\\u003eBlueTickets is a multi-tenant helpdesk and ticketing system designed for small teams. It helps you centralize support requests from multiple channels (email, web, mobile apps, and agent-created tickets) into a single, organized workflow.\u003c/p\u003e\}}},\$\,\details\,\how-do-i-get-started\,{\className\:\group rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md\,\children\:\$\,\summary\,null,{\className\:\cursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2\,\children\:\$\,\span\,null,{\children\:\How do I get started?\},\$\,\svg\,null,{\className\:\h-5 w-5 text-text/40 transition-transform group-open:rotate-180\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M19 9l-7 7-7-7\}}},\$\,\div\,null,{\className\:\mt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none\,\dangerouslySetInnerHTML\:{\__html\:\\u003col class\\\list-decimal list-outside space-y-2 my-4 ml-6\\\\u003e\u003cli class\\\mb-1\\\\u003e\u003cstrong class\\\font-semibold text-text\\\\u003eSign up\u003c/strong\u003e for a free 30-day trial at bluetickets.app\u003c/li\u003e\u003cli class\\\mb-1\\\\u003e\u003cstrong class\\\font-semibold text-text\\\\u003eCreate your organization\u003c/strong\u003e - Set your organization name and default settings\u003c/li\u003e\u003cli class\\\mb-1\\\\u003e\u003cstrong class\\\font-semibold text-text\\\\u003eInvite team members\u003c/strong\u003e - Add teammates by email; they\u0026#39;ll receive secure invitation links\u003c/li\u003e\u003cli class\\\mb-1\\\\u003e\u003cstrong class\\\font-semibold text-text\\\\u003eConnect your support email\u003c/strong\u003e (optional) - Set up email forwarding to receive tickets via email\u003c/li\u003e\u003cli class\\\mb-1\\\\u003e\u003cstrong class\\\font-semibold text-text\\\\u003eStart creating tickets\u003c/strong\u003e - Use the web interface, API, or email forwarding\u003c/li\u003e\u003c/ol\u003e\}}},\$L48\,\$L49\,\$L4a\},\$L4b\}}\n)/script>script>self.__next_f.push(1,32:\$\,\script\,null,{\type\:\application/ld+json\,\dangerouslySetInnerHTML\:{\__html\:\{\\\@context\\\:\\\https://schema.org\\\,\\\@type\\\:\\\SoftwareApplication\\\,\\\name\\\:\\\BlueTickets\\\,\\\applicationCategory\\\:\\\BusinessApplication\\\,\\\operatingSystem\\\:\\\Web\\\,\\\offers\\\:{\\\@type\\\:\\\Offer\\\,\\\price\\\:\\\4.99\\\,\\\priceCurrency\\\:\\\USD\\\,\\\priceSpecification\\\:{\\\@type\\\:\\\UnitPriceSpecification\\\,\\\price\\\:\\\4.99\\\,\\\priceCurrency\\\:\\\USD\\\,\\\unitText\\\:\\\MONTH\\\}},\\\featureList\\\:\\\Email Integration\\\,\\\RESTful API\\\,\\\Manual Ticket Creation\\\,\\\Multi-tenant\\\,\\\API Key Authentication\\\,\\\Custom Domain Support\\\,\\\SPF/DKIM/DMARC Verification\\\,\\\description\\\:\\\Simple, affordable email ticketing system for small businesses. Easy setup, email integration, RESTful APIs, and manual ticket creation.\\\,\\\url\\\:\\\https://bluetickets.app\\\}\}}\n)/script>script>self.__next_f.push(1,35:\$\,\svg\,null,{\className\:\h-12 w-12\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\}}\n36:\$\,\div\,null,{\className\:\mt-10\,\children\:\$\,\$L4c\,null,{}}\n39:\$\,\p\,null,{\className\:\text-sm leading-relaxed text-text/70\,\children\:\Built-in rate limiting with clear headers. 100 requests per minute per API key with automatic retry-after guidance.\}\n)/script>script>self.__next_f.push(1,3a:\$\,\div\,null,{\className\:\rounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg\,\children\:\$\,\div\,null,{\className\:\flex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4\,\children\:\$\,\svg\,null,{\className\:\h-6 w-6\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M13 10V3L4 14h7v7l9-11h-7z\}}},\$\,\h3\,null,{\className\:\text-xl font-semibold text-text mb-2\,\children\:\Inbound Email\},\$\,\p\,null,{\className\:\text-sm leading-relaxed text-text/70\,\children\:\Our email-based ticketing system turns inbound emails into tickets automatically, supporting custom domains with SPF, DKIM, and DMARC verification. Perfect for small businesses needing a simple, affordable solution that works with your existing email setup.\}}\n)/script>script>self.__next_f.push(1,3b:\$\,\div\,null,{\className\:\rounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg\,\children\:\$\,\div\,null,{\className\:\flex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4\,\children\:\$\,\svg\,null,{\className\:\h-6 w-6\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253\}}},\$\,\h3\,null,{\className\:\text-xl font-semibold text-text mb-2\,\children\:\Complete Documentation\},\$\,\p\,null,{\className\:\text-sm leading-relaxed text-text/70\,\children\:\Comprehensive API documentation with examples, error codes, and best practices. Interactive test environment included.\}}\n)/script>script>self.__next_f.push(1,3c:\$\,\div\,null,{\className\:\rounded-2xl border border-border-subtle bg-surface p-6 sm:p-8 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg\,\children\:\$\,\div\,null,{\className\:\flex h-12 w-12 items-center justify-center rounded-xl bg-primary/10 dark:bg-primary/20 text-primary mb-4\,\children\:\$\,\svg\,null,{\className\:\h-6 w-6\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z\}}},\$\,\h3\,null,{\className\:\text-xl font-semibold text-text mb-2\,\children\:\Test Environment\},\$\,\p\,null,{\className\:\text-sm leading-relaxed text-text/70\,\children\:\Public test API key with live ticket stream. Test your integration without affecting production data or sending notifications.\}}\n)/script>script>self.__next_f.push(1,3d:\$\,\div\,null,{\className\:\mt-12 flex flex-col sm:flex-row items-center justify-center gap-4\,\children\:\$\,\$L24\,null,{\href\:\/developers/test\,\className\:\inline-flex items-center justify-center gap-2 rounded-xl bg-primary px-6 py-3 text-base sm:px-8 sm:py-4 sm:text-lg font-semibold text-white transition-all duration-200 hover:bg-primary/90 hover:shadow-lg w-full sm:w-auto min-w-0 sm:min-w-240px\,\children\:\Test the API here\,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M13 7l5 5m0 0l-5 5m5-5H6\}}},\$\,\$L24\,null,{\href\:\/docs\,\className\:\inline-flex items-center justify-center gap-2 rounded-xl border-2 border-primary bg-surface px-6 py-3 text-base sm:px-8 sm:py-4 sm:text-lg font-semibold text-primary transition-all duration-200 hover:bg-primary hover:text-white hover:shadow-lg w-full sm:w-auto min-w-0 sm:min-w-240px\,\children\:\View API Documentation\,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M13 7l5 5m0 0l-5 5m5-5H6\}}}}\n)/script>script>self.__next_f.push(1,47:\$\,\div\,null,{\className\:\mt-8 text-center\,\children\:\$\,\$L24\,null,{\href\:\/articles\,\className\:\inline-flex items-center gap-2 rounded-xl border-2 border-primary bg-surface px-6 py-3 text-base font-semibold text-primary transition-all duration-200 hover:bg-primary hover:text-white hover:shadow-lg\,\children\:\View all articles\,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M13 7l5 5m0 0l-5 5m5-5H6\}}}}\n)/script>script>self.__next_f.push(1,48:\$\,\details\,\do-i-need-a-credit-card-to-start\,{\className\:\group rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md\,\children\:\$\,\summary\,null,{\className\:\cursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2\,\children\:\$\,\span\,null,{\children\:\Do I need a credit card to start?\},\$\,\svg\,null,{\className\:\h-5 w-5 text-text/40 transition-transform group-open:rotate-180\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M19 9l-7 7-7-7\}}},\$\,\div\,null,{\className\:\mt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none\,\dangerouslySetInnerHTML\:{\__html\:\\u003cp class\\\mb-4 leading-relaxed text-text/80\\\\u003eNo. The 30-day free trial requires no credit card. You can explore all features during the trial period.\u003c/p\u003e\}}}\n)/script>script>self.__next_f.push(1,49:\$\,\details\,\how-long-does-setup-take\,{\className\:\group rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md\,\children\:\$\,\summary\,null,{\className\:\cursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2\,\children\:\$\,\span\,null,{\children\:\How long does setup take?\},\$\,\svg\,null,{\className\:\h-5 w-5 text-text/40 transition-transform group-open:rotate-180\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M19 9l-7 7-7-7\}}},\$\,\div\,null,{\className\:\mt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none\,\dangerouslySetInnerHTML\:{\__html\:\\u003cp class\\\mb-4 leading-relaxed text-text/80\\\\u003eMost teams can complete the initial setup in under 30 minutes. This includes:\u003c/p\u003e\\n\u003cul class\\\list-disc list-outside space-y-2 my-4 ml-6\\\\u003e\u003cli class\\\mb-1\\\\u003eCreating your organization\u003c/li\u003e\u003cli class\\\mb-1\\\\u003eInviting team member\u003c/li\u003e\u003cli class\\\mb-1\\\\u003eConfiguring email forwarding for ticket collection\u003c/li\u003e\u003cli class\\\mb-1\\\\u003eConnecting your support email (if desired)\u003c/li\u003e\u003cli class\\\mb-1\\\\u003eConfiguring basic settings\u003c/li\u003e\u003c/ul\u003e\}}}\n)/script>script>self.__next_f.push(1,4a:\$\,\details\,\what-is-an-organization\,{\className\:\group rounded-xl md:rounded-2xl border border-border-subtle bg-surface p-3 sm:p-4 md:p-6 shadow-sm transition-all duration-200 hover:shadow-md\,\children\:\$\,\summary\,null,{\className\:\cursor-pointer text-base md:text-lg font-semibold text-text list-none flex items-center justify-between gap-2\,\children\:\$\,\span\,null,{\children\:\What is an organization?\},\$\,\svg\,null,{\className\:\h-5 w-5 text-text/40 transition-transform group-open:rotate-180\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M19 9l-7 7-7-7\}}},\$\,\div\,null,{\className\:\mt-4 text-text/80 leading-relaxed prose prose-slate dark:prose-invert max-w-none\,\dangerouslySetInnerHTML\:{\__html\:\\u003cp class\\\mb-4 leading-relaxed text-text/80\\\\u003eAn organization is your workspace in BlueTickets. All tickets, users, API keys, and settings belong to a specific organization. Each organization is completely isolated from others (multi-tenant architecture).\u003c/p\u003e\}}}\n)/script>script>self.__next_f.push(1,4b:\$\,\div\,null,{\className\:\mt-8 text-center\,\children\:\$\,\$L24\,null,{\href\:\/help/faq\,\className\:\inline-flex items-center gap-2 rounded-xl border-2 border-primary bg-surface px-6 py-3 text-base font-semibold text-primary transition-all duration-200 hover:bg-primary hover:text-white hover:shadow-lg\,\children\:\View all FAQs\,\$\,\svg\,null,{\className\:\h-5 w-5\,\fill\:\none\,\stroke\:\currentColor\,\viewBox\:\0 0 24 24\,\children\:\$\,\path\,null,{\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\strokeWidth\:2,\d\:\M13 7l5 5m0 0l-5 5m5-5H6\}}}}\nb:\$\,\meta\,\0\,{\charSet\:\utf-8\},\$\,\meta\,\1\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1\}\n7:null\n)/script>script>self.__next_f.push(1,9:{\metadata\:\$\,\title\,\0\,{\children\:\BlueTickets: Simple Affordable Email Ticketing System for Small Businesses\},\$\,\meta\,\1\,{\name\:\description\,\content\:\Discover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more.\},\$\,\link\,\2\,{\rel\:\manifest\,\href\:\/site.webmanifest\,\crossOrigin\:\$undefined\},\$\,\meta\,\3\,{\name\:\keywords\,\content\:\simple email ticketing system,affordable helpdesk,small business ticketing,email-based ticketing,API ticketing,easy setup helpdesk,manual ticket creation\},\$\,\link\,\4\,{\rel\:\canonical\,\href\:\https://bluetickets.app\},\$\,\meta\,\5\,{\property\:\og:title\,\content\:\BlueTickets: Simple Affordable Email Ticketing System for Small Businesses\},\$\,\meta\,\6\,{\property\:\og:description\,\content\:\Discover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more.\},\$\,\meta\,\7\,{\property\:\og:url\,\content\:\https://bluetickets.app\},\$\,\meta\,\8\,{\property\:\og:site_name\,\content\:\BlueTickets\},\$\,\meta\,\9\,{\property\:\og:type\,\content\:\website\},\$\,\meta\,\10\,{\name\:\twitter:card\,\content\:\summary_large_image\},\$\,\meta\,\11\,{\name\:\twitter:title\,\content\:\BlueTickets: Simple Affordable Email Ticketing System for Small Businesses\},\$\,\meta\,\12\,{\name\:\twitter:description\,\content\:\Discover BlueTickets – an easy-to-setup helpdesk with email integration, simple APIs, manual ticket creation, and affordable pricing for small teams. Centralize support from emails, web, and more.\},\$\,\link\,\13\,{\rel\:\icon\,\href\:\/favicon.ico\,\type\:\image/x-icon\,\sizes\:\16x16\},\$\,\link\,\14\,{\rel\:\icon\,\href\:\/favicon-16x16.png\,\sizes\:\16x16\,\type\:\image/png\},\$\,\link\,\15\,{\rel\:\icon\,\href\:\/favicon-32x32.png\,\sizes\:\32x32\,\type\:\image/png\},\$\,\link\,\16\,{\rel\:\icon\,\href\:\/favicon.ico\,\sizes\:\any\},\$\,\link\,\17\,{\rel\:\apple-touch-icon\,\href\:\/apple-touch-icon.png\,\sizes\:\180x180\,\type\:\image/png\},\$\,\$L4d\,\18\,{},\error\:null,\digest\:\$undefined\}\n)/script>script>self.__next_f.push(1,e:\$9:metadata\\n)/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]