Background tasks (also called scheduled tasks or cron jobs) allow you to automate operations at specific times or intervals. They are ideal for recurring jobs like data cleanup, report generation, or sending notifications.Each background task has:
A name (unique identifier, e.g., daily_sales_report)
Logic (the actions to perform)
A schedule (when and how often to run)
Unlike APIs, background tasks do not have inputs or responses. They only contain logic and a schedule block.
From the sidebar, click Tasks, then click Add Background Task. You can also just hover over Tasks and click the + icon.
2
Configure the Task
Give your task a name and description, and choose the data source that the task will run against, by default. If you don’t choose a data source, scheduled runs will always use the live data source.
Build Visually
XanoScript
Add functions to your task by clicking Add Function. You can use any function available in Xano, just like in APIs. When you’ve finished building your logic, you can set up the schedule by clicking the Add a schedule option.Schedules have a start date / time, and can run once or on a repeating interval (e.g., every hour, day, week, etc.). For tasks that have a repeating schedule, you can also set an end date. After configuring the schedule, click Save to create your background task.You’ll need to enable your task before publishing by selecting the option.
Active/Inactive toggle in the Canvas View
Enable option in the Function Stack view
Once you’ve set your schedule and enabled the task, click Publish to deploy your background task.
A basic background task in XanoScript has two parts — logic and schedule:
Example of a basic background task in XanoScript
// This task runs every day at 11 PM UTC and generates a sales reporttask daily_sales_report { description = "Generate a daily sales report at 11 PM UTC" stack { db.query payment_transactions { description = "Get all transactions from the past 24 hours" where = $db.payment_transactions.transaction_date >= (now|transform_timestamp:"24 hours ago":"UTC") } as $daily_sales var $transaction_count { value = $daily_sales|count description = "Count number of transactions" } var $total_sales { value = ($daily_sales[$$].amount)|sum description = "Calculate total sales amount" } db.add reports { data = { report_type : "daily_sales" report_date : now total_sales : $total_sales transaction_count: $transaction_count } description = "Insert daily sales report" } as $report_result debug.log { value = "Daily sales report generated" description = "Log report generation" } } schedule = [{starts_on: 2025-10-20 13:47:35+0000, freq: 86400}]}
Learn how to build Tasks in XanoScript
For more information on how to build background tasks in XanoScript, see the XanoScript Task documentation.
Was this page helpful?
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Xano Documentation","colors":{"primary":"#1b62f8","light":"#3884ff","dark":"#1b62f8"},"logo":{"light":"https://mintcdn.com/xano-997cb9ee/hLg--ImSu58u2jLW/logo/logo_wordmark_blue_1_.svg?fit=max\u0026auto=format\u0026n=hLg--ImSu58u2jLW\u0026q=85\u0026s=487b8933249723b2ebc7bf7b6179ea0c","dark":"https://mintcdn.com/xano-997cb9ee/hLg--ImSu58u2jLW/logo/logo_wordmark_white.svg?fit=max\u0026auto=format\u0026n=hLg--ImSu58u2jLW\u0026q=85\u0026s=2d791d4d44350552266e449b7bea065c"},"favicon":"https://mintcdn.com/xano-997cb9ee/hLg--ImSu58u2jLW/logo/logo_symbol_blue.svg?fit=max\u0026auto=format\u0026n=hLg--ImSu58u2jLW\u0026q=85\u0026s=5d31c3241d161111c202c2ec3afcbcc0","background":{"color":{"light":"#f9f9f9","dark":"#141518"}},"navbar":{"links":[{"href":"/legal","label":"Legal"},{"href":"/updates","label":"Releases"},{"href":"https://status.xano.com/","label":"Status"},{"href":"https://app.xano.com/","label":"Log in"}],"primary":{"type":"button","label":"Get started for free","href":"https://app.xano.com/signup?plan=build\u0026cluster_id=1\u0026segment=eyJhbm9ueW1vdXNJZCI6IjU4NTcwNzY4NDUuODY1MzMwMTE5MCIsInV0bV9tZWRpdW0iOiIiLCJ1dG1fc291cmNlIjoiIiwidXRtX2NhbXBhaWduIjoiIiwidXRtX3Rlcm0iOiIiLCJ1dG1fY29udGVudCI6IiIsInJlZmVycmVyIjoiIn0%3D"}},"footer":{"socials":{"x":"https://x.com/nocodebackend","youtube":"https://www.youtube.com/@nocodebackend","linkedin":"https://www.linkedin.com/company/xano","facebook":"https://www.facebook.com/xanoinc"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Xano Documentation","og:description":"Visual-first unified backend for modern apps. Build APIs, AI Agents, data, logic, auth, \u0026 more—all in one platform."},"indexing":"all"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"intercom":{"appId":"abk6h5qu"},"segment":{"key":"manKNsFY6zkgO9hggr91nc5yFYUh2d4B"}},"errors":{"404":{"redirect":false,"title":"Looks like a wire came loose","description":"The page you're looking for doesn't exist, or it moved. Try the search bar above, browse the [documentation home](/), or [contact support](https://xano.com/contact/) if you think something's broken."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"xano-997cb9ee","hasAudioNarration":false,"actualSubdomain":"xano-997cb9ee","customDomains":["docs.xano.com"],"gitSource":{"type":"github","owner":"xano-labs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af389f8852f6902678b3f65","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Metadata API","count":208},{"language":"default","tag":"Xano","count":132},{"language":"default","tag":"Build","count":47},{"language":"default","tag":"XanoScript","count":46},{"language":"default","tag":"References","count":32},{"language":"default","tag":"table / schema / type","count":25},{"language":"default","tag":"Test \u0026 Deploy","count":20},{"language":"default","tag":"CLI","count":18},{"language":"default","tag":"Enterprise","count":17},{"language":"default","tag":"Logic \u0026 Workflows","count":13}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area .link{color:#103B95}.prose img:not([data-rmiz-modal-img]){max-width:60%;height:auto}.w-full aspect-video rounded-xl{max-width:60%!important}[data-rmiz-modal-content] img[data-rmiz-modal-img]{max-width:90vw!important;max-height:90vh!important;object-fit:contain}html.dark #content-area .link{color:#6B99FA}html.dark .mermaid svg g.node .label text,html.dark .mermaid svg g.node span.nodeLabel{fill:#eaf1ff!important;color:#103B95!important}html.dark .mermaid svg g.node rect,html.dark .mermaid svg g.node circle,html.dark .mermaid svg g.node ellipse,html.dark .mermaid svg g.node polygon,html.dark .mermaid svg g.node path{stroke:#8fb3ff!important;stroke-width:15px!important}img{background:none!important;background-color:transparent!important}.nodeLabel{font-size:12px}.stickyDiagram{position:sticky;top:var(--scroll-mt);flex:0 0 180px;min-width:100px}@media (max-width: 768px){.stickyDiagram{position:static;top:auto;flex:none;width:100%;margin-bottom:1rem}}table{display:table!important;width:100%;table-layout:auto}table th,table td{vertical-align:top;border-left:1px solid #dadada!important;border-right:1px solid #dadada!important;padding:0.5rem!important}.table-wrapper{overflow-x:visible}.supportButton{border:0px!important}.arcadediv{position:relative;padding-bottom:calc(80.4861% + 41px);height:0px;width:100%}.arcadeiframe{position:absolute;top:0;left:0;width:100%;height:100%!important;color-scheme:light}.tab-icon{display:inline-block;border-radius:4px;padding:2px}html.dark .tab-icon{background-color:#bababa!important}h2>span>.icon{position:relative;top:-0.1em;margin-right:0.4rem;vertical-align:middle}.ui-bubble{display:inline-flex;align-items:center;gap:0.35rem;padding:0.2rem 0.5rem;margin-bottom:0.2rem;margin-left:0.2rem;margin-right:0.2rem;background-color:var(--mintlify-code-bg, #f3f4f6);border:1px solid var(--mintlify-border-color, #e5e7eb);border-radius:6px;font:inherit;vertical-align:middle;font-size:0.9em!important;font-weight:800!important}html.dark .ui-bubble{background-color:#1f2937;border-color:#374151}.ui-bubble .icon{width:1.2em!important;height:1.2em!important;flex-shrink:0;display:inline-block;vertical-align:middle}.kb{display:inline-flex;align-items:center;gap:0.35rem;padding:0.2rem 0.5rem;margin-bottom:0.2rem;margin-left:0.2rem;margin-right:0.2rem;background-color:var(--mintlify-code-bg, #f3f4f6);border:1px solid var(--mintlify-border-color, #e5e7eb);border-radius:6px;font:inherit;vertical-align:middle;font-size:0.8em!important;font-weight:600!important;font-family:ui-monospace, \"SFMono-Regular\", \"Fira Code\",\n \"Cascadia Code\", Menlo, Consolas, monospace!important}html.dark .kb{background-color:#1f2937;border-color:#374151}.kb .icon{width:1em!important;height:1em!important;flex-shrink:0;display:inline-block;vertical-align:middle}.kbd{display:inline-flex;align-items:center;gap:0.3rem;padding:0.15rem 0.45rem;margin-bottom:0.2rem;margin-left:0.2rem;margin-right:0.2rem;background-color:var(--mintlify-code-bg, #f3f4f6);border:1px solid var(--mintlify-border-color, #e5e7eb);border-bottom-width:3px;border-radius:6px;font:inherit;vertical-align:middle;font-size:0.85em!important;font-weight:700!important;line-height:1.4;white-space:nowrap;user-select:none;color:var(--mintlify-content-color, #374151)}html.dark .kbd{background-color:#1f2937;border-color:#374151;border-bottom-color:#4b5563;color:#e5e7eb}.kbd .icon{width:1.1em!important;height:1.1em!important;flex-shrink:0;display:inline-block;vertical-align:middle}.kbd svg{width:1em;height:1em;flex-shrink:0;vertical-align:middle}.kbd--mac::before{font-family:\"Font Awesome 6 Brands\", \"Font Awesome 6 Free\", FontAwesome;content:\"\\f179\";font-weight:900;font-style:normal;font-size:0.95em;margin-right:0.25em;vertical-align:middle}.kbd--windows::before{font-family:\"Font Awesome 6 Brands\", \"Font Awesome 6 Free\", FontAwesome;content:\"\\f17a\";font-weight:400;font-style:normal;font-size:0.9em;margin-right:0.25em;vertical-align:middle}.kbd--linux::before{font-family:\"Font Awesome 6 Brands\", \"Font Awesome 6 Free\", FontAwesome;content:\"\\f17c\";font-weight:400;font-style:normal;font-size:0.95em;margin-right:0.25em;vertical-align:middle}:root[data-theme=\"dark\"] .prose :where(h1,h2,h3,h4,h5,h6),html.dark .prose :where(h1,h2,h3,h4,h5,h6){color:#fff!important}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.prose :where(h1,h2,h3,h4,h5,h6)[id]{scroll-margin-top:120px!important}.browser-frame{--bf-radius: 10px;--bf-shadow: 0 8px 24px rgba(0,0,0,.06);--bf-border: #e5e7eb;--bf-bg: #ffffff;--bf-chrome: #f3f4f6;--bf-text: #6b7280;--bf-address-bg: rgba(255,255,255,.75);border:1px solid var(--bf-border);border-radius:var(--bf-radius);background:var(--bf-bg);box-shadow:var(--bf-shadow);overflow:hidden;max-width:100%}.dark .browser-frame{--bf-border: rgba(255,255,255,.12);--bf-bg: #0b0f19;--bf-chrome: #111827;--bf-text: rgba(255,255,255,.70);--bf-address-bg: rgba(255,255,255,.06);--bf-shadow: 0 12px 34px rgba(0,0,0,.45)}.browser-frame__top{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bf-chrome);border-bottom:1px solid var(--bf-border)}.browser-frame__controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.browser-frame__dot{width:10px;height:10px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.dark .browser-frame__dot{box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}.browser-frame__dot--red{background:#ff5f57}.browser-frame__dot--yellow{background:#febc2e}.browser-frame__dot--green{background:#28c840}.browser-frame__address{flex:1 1 auto;height:22px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:var(--bf-address-bg);display:flex;align-items:center;justify-content:center;padding:0 10px;font:500 11px/1.2 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;color:var(--bf-text);letter-spacing:.2px;user-select:none}.dark .browser-frame__address{border-color:rgba(255,255,255,.08)}.browser-frame__body{background:var(--bf-bg)}.browser-frame__body img{width:100%;height:auto}.browser-frame__body *{border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.browser-frame__body>*{margin:0!important;padding:0!important}.browser-frame__body pre{margin:0!important;padding:0!important}.browser-frame__body .browser-frame__img--light{display:block}.browser-frame__body .browser-frame__img--dark{display:none}.dark .browser-frame__body .browser-frame__img--light{display:none}.dark .browser-frame__body .browser-frame__img--dark{display:block}.qs-step{border:1px solid var(--mintlify-border-color, #e5e7eb);border-radius:1rem;padding:2rem;margin-bottom:2rem;position:relative}.qs-step-number{position:absolute;top:-0.75rem;left:1.25rem;width:1.75rem;height:1.75rem;border-radius:50%;background:linear-gradient(135deg, #1b62f8, #6366f1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.8rem;font-weight:700;line-height:1}.qs-step h3:first-of-type{margin-top:0.25rem}.feature-grid{display:grid;grid-template-columns:1fr 1fr;border:none;margin:0.5rem 0 0.5rem}.feature-grid__item{padding:1.25rem 1.5rem;text-align:justify}.feature-grid__item strong{font-size:1.15rem}.feature-grid__item svg{margin-right:0.4rem;width:1.75em;height:1.75em;vertical-align:middle;position:relative;top:-0.1em}.feature-grid__desc{margin-top:0.75rem}.feature-grid__item:nth-child(odd){border-right:1px solid var(--mintlify-border-color, #e5e7eb)}.feature-grid__item:nth-child(n+3){border-top:1px solid var(--mintlify-border-color, #e5e7eb)}html.dark .feature-grid__item:nth-child(odd){border-right-color:rgba(255, 255, 255, 0.1)}html.dark .feature-grid__item:nth-child(n+3){border-top-color:rgba(255, 255, 255, 0.1)}@media (max-width: 640px){.feature-grid{grid-template-columns:1fr}.feature-grid__item:nth-child(odd){border-right:none}.feature-grid__item:nth-child(n+2){border-top:1px solid var(--mintlify-border-color, #e5e7eb)}}html.dark .callout[data-callout-type=\"tip\"]{background-color:rgba(5, 46, 22, 0.6)!important}.hero-tabs [role=\"tablist\"]{display:flex!important;gap:0.75rem;border-bottom:none!important;margin-bottom:1.5rem}.hero-tabs [role=\"tab\"]{flex:1;text-align:center;padding:0.625rem 1rem;border:1px solid var(--mintlify-border-color, #e5e7eb);border-radius:0.75rem;font-weight:500;font-size:0.9rem;color:#374151;background:var(--mintlify-card-bg, #fff);cursor:pointer;transition:all 0.15s ease;box-shadow:0 1px 2px rgba(0, 0, 0, 0.04)}html.dark .hero-tabs [role=\"tab\"]{color:#d1d5db;background:var(--mintlify-card-bg, rgba(255, 255, 255, 0.05));border-color:var(--mintlify-border-color, rgba(255, 255, 255, 0.1));box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.hero-tabs [role=\"tab\"]:hover{border-color:#1b62f8;color:#111827;box-shadow:0 1px 3px rgba(56, 132, 255, 0.15)}html.dark .hero-tabs [role=\"tab\"]:hover{border-color:#3884ff;color:#f3f4f6;box-shadow:0 1px 3px rgba(56, 132, 255, 0.25)}.hero-tabs [role=\"tab\"][aria-selected=\"true\"]{border-color:#1b62f8;color:#103B95;background:#eef4ff;box-shadow:0 1px 3px rgba(56, 132, 255, 0.18)}html.dark .hero-tabs [role=\"tab\"][aria-selected=\"true\"]{border-color:#6B99FA;color:#eaf1ff;background:rgba(56, 132, 255, 0.16);box-shadow:0 1px 3px rgba(0, 0, 0, 0.3)}.hero-tabs [role=\"tab\"],.hero-tabs [role=\"tab\"] *{text-decoration:none!important}.hero-tabs [role=\"tab\"] *{border-bottom:none!important}@media (min-width: 1024px){#content-area{max-width:1100px!important}}@media (min-width: 1280px){#content-area{margin-left:auto!important;margin-right:auto!important}}@media (min-width: 1800px){#content-area{max-width:1200px!important}}.opsai-hero{position:relative;display:flex;flex-direction:column;align-items:center;margin:0 0 2.5rem;padding:3.25rem 2rem 3rem;border-radius:1.25rem;overflow:hidden;text-align:center;background:radial-gradient(120% 140% at 50% -20%, rgba(56, 132, 255, 0.35) 0%, rgba(56, 132, 255, 0) 60%),\n linear-gradient(160deg, #0b1220 0%, #0e1729 55%, #0b1220 100%);border:1px solid rgba(56, 132, 255, 0.25)}.opsai-hero::after{content:\"\";position:absolute;inset:0;background-image:linear-gradient(rgba(56, 132, 255, 0.06) 1px, transparent 1px),\n linear-gradient(90deg, rgba(56, 132, 255, 0.06) 1px, transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(70% 70% at 50% 0%, #000 0%, transparent 75%);mask-image:radial-gradient(70% 70% at 50% 0%, #000 0%, transparent 75%);pointer-events:none}.opsai-hero>*{position:relative;z-index:1}.opsai-mark{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 0 1rem;border-radius:50%;background:rgba(56, 132, 255, 0.12);box-shadow:0 0 0 8px rgba(56, 132, 255, 0.06);animation:opsai-glow 4.5s ease-in-out infinite}.opsai-mark::before{content:\"\";width:34px;height:34px;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237db4ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E\")}@keyframes opsai-glow{0%,100%{box-shadow:0 0 0 8px rgba(56, 132, 255, 0.06)}50%{box-shadow:0 0 0 13px rgba(56, 132, 255, 0.03)}}@media (prefers-reduced-motion: reduce){.opsai-mark{animation:none}}.opsai-wordmark{display:flex;justify-content:center;align-items:baseline;width:100%;font-size:3rem!important;font-weight:800!important;letter-spacing:-0.04em;line-height:1!important;margin:0!important;padding:0!important;border:0!important;color:#f8fafc!important}.opsai-wordmark .accent{background:linear-gradient(90deg, #1b62f8, #7db4ff);-webkit-background-clip:text;background-clip:text;color:transparent}.opsai-tagline{margin:1.15rem 0 0!important;max-width:40rem;font-size:1.15rem;line-height:1.55;color:#cbd5e1!important}.opsai-tagline strong{color:#f1f5f9;font-weight:700}.opsai-pills{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-top:1.5rem}.opsai-pill{font-size:0.8rem;font-weight:600;letter-spacing:0.01em;color:#bfdbfe;padding:0.35rem 0.85rem;border-radius:999px;border:1px solid rgba(56, 132, 255, 0.35);background:rgba(56, 132, 255, 0.10)}.opsai-stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem;margin:0 0 2.5rem}@media (max-width: 720px){.opsai-stats{grid-template-columns:1fr}}.opsai-stat{text-align:center;padding:1.4rem 1rem;border-radius:0.9rem;border:1px solid rgba(148, 163, 184, 0.18);background:linear-gradient(180deg, rgba(56, 132, 255, 0.06), rgba(56, 132, 255, 0.01))}.opsai-stat__num{font-size:1.7rem;font-weight:800;letter-spacing:-0.03em;background:linear-gradient(90deg, #1b62f8, #7db4ff);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.opsai-stat__label{margin-top:0.45rem;font-size:0.9rem;color:#94a3b8;line-height:1.45}.opsai-nav{display:flex;gap:1rem;margin-top:3rem}@media (max-width: 600px){.opsai-nav{flex-direction:column}}.opsai-nav a{flex:1 1 0;display:block;padding:1rem 1.15rem;border-radius:0.75rem;border:1px solid rgba(148, 163, 184, 0.22);background:linear-gradient(180deg, rgba(56, 132, 255, 0.05), rgba(56, 132, 255, 0.01));text-decoration:none!important;transition:border-color 0.15s ease, transform 0.15s ease}.opsai-nav a:hover{border-color:rgba(56, 132, 255, 0.5);transform:translateY(-1px)}.opsai-nav a.opsai-nav--next{text-align:right}.opsai-nav__dir{display:block;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b}.opsai-nav__title{display:block;margin-top:0.25rem;font-size:1.02rem;font-weight:600;color:#1b62f8}div:has(>div>.chat-assistant-input){background-color:#eef4ff!important;border-color:#cbd5e1!important;box-shadow:0 2px 12px rgba(16, 59, 149, 0.14)!important;transition:border-color 0.15s ease, box-shadow 0.15s ease,\n opacity 0.25s ease!important}html.chat-dimmed div:has(>div>.chat-assistant-input){opacity:0.35}html.chat-dimmed div:has(>div>.chat-assistant-input):hover,html.chat-dimmed div:has(>div>.chat-assistant-input):focus-within{opacity:1}@media (prefers-reduced-motion: reduce){div:has(>div>.chat-assistant-input){transition:none!important}}div:has(>div>.chat-assistant-input):hover{border-color:#94a3b8!important}div:has(>div>.chat-assistant-input):focus-within{border-color:#1b62f8!important;box-shadow:0 4px 18px rgba(16, 59, 149, 0.22)!important}html.dark div:has(>div>.chat-assistant-input){background-color:#16203a!important;border-color:rgba(255, 255, 255, 0.3)!important;box-shadow:0 2px 14px rgba(0, 0, 0, 0.45)!important}html.dark div:has(>div>.chat-assistant-input):hover{border-color:rgba(255, 255, 255, 0.5)!important}html.dark div:has(>div>.chat-assistant-input):focus-within{border-color:#6B99FA!important}.chat-assistant-input::placeholder{color:#103B95!important;opacity:1!important;font-weight:600}html.dark .chat-assistant-input::placeholder{color:#9dc0ff!important}.steps [data-component-part=\"step-number\"]>div{border-radius:0.5rem!important;background-color:#f1f5f9!important;border:1px solid #cbd5e1;color:#0f172a!important;box-shadow:0 1px 2px rgba(15, 23, 42, 0.06)}html.dark .steps [data-component-part=\"step-number\"]>div{background-color:#1f2937!important;border-color:rgba(255, 255, 255, 0.18);color:#f3f4f6!important;box-shadow:none}.steps [data-component-part=\"step-line\"]{width:1.5px!important}.steps [data-component-part=\"step-line\"]:not([class*=\"to-transparent\"]){background-color:#cbd5e1!important}.steps [data-component-part=\"step-line\"][class*=\"to-transparent\"]{background-color:transparent!important;background-image:linear-gradient(to bottom, #cbd5e1, rgba(203, 213, 225, 0))!important}html.dark .steps [data-component-part=\"step-line\"]:not([class*=\"to-transparent\"]){background-color:rgba(255, 255, 255, 0.18)!important}html.dark .steps [data-component-part=\"step-line\"][class*=\"to-transparent\"]{background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0))!important}.steps [data-component-part=\"step-content\"]:first-child>h3:first-child{margin-top:0;font-size:1em;line-height:1.75;font-weight:600}nav ul.toc{position:relative;padding-left:0.875rem}nav ul.toc li.toc-item>a{position:relative}nav ul.toc li.toc-item>a::after{content:\"\";position:absolute;top:0;bottom:0;left:calc(var(--toc-padding-left, 0rem) - 0.875rem);width:1.5px;background-color:#e5e7eb;transition:background-color 0.2s ease}html.dark nav ul.toc li.toc-item>a::after{background-color:rgba(255, 255, 255, 0.12)}nav ul.toc .toc-slider{position:absolute;top:0;left:0;z-index:1;list-style:none;width:1.5px;height:0;opacity:0;background-color:#1b62f8;transition:transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n height 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s ease;pointer-events:none}html.dark nav ul.toc .toc-slider{background-color:#6B99FA}nav ul.toc .toc-link,nav ul.toc .toc-tracer{position:absolute;top:0;left:0;height:1.5px;list-style:none;pointer-events:none}nav ul.toc .toc-link{background-image:repeating-linear-gradient(\n to right,\n #d1d5db 0 2px,\n transparent 2px 5px\n )}html.dark nav ul.toc .toc-link{background-image:repeating-linear-gradient(\n to right,\n rgba(255, 255, 255, 0.22) 0 2px,\n transparent 2px 5px\n )}nav ul.toc .toc-tracer{width:0;opacity:0;z-index:1;background-color:#1b62f8;transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1),\n width 0.15s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s ease}html.dark nav ul.toc .toc-tracer{background-color:#6B99FA}@media (prefers-reduced-motion: reduce){nav ul.toc .toc-slider,nav ul.toc .toc-tracer{transition:none}}html:not(.toc-slide) nav ul.toc li.toc-item[data-active]>a::after{background-color:#1b62f8}html:not(.toc-slide) nav ul.toc li.toc-item[data-active]:has(li.toc-item[data-active])>a::after,html:not(.toc-slide) nav ul.toc li.toc-item[data-active]:has(~li.toc-item[data-active])>a::after{background-color:#e5e7eb}html.dark:not(.toc-slide) nav ul.toc li.toc-item[data-active]>a::after{background-color:#6B99FA}html.dark:not(.toc-slide) nav ul.toc li.toc-item[data-active]:has(li.toc-item[data-active])>a::after,html.dark:not(.toc-slide) nav ul.toc li.toc-item[data-active]:has(~li.toc-item[data-active])>a::after{background-color:rgba(255, 255, 255, 0.12)}div.border-l:has(ul.toc){border-left:none!important}.chat-assistant-send-button{background-color:#1b62f8!important}.chat-assistant-send-button:hover{background-color:#1f6dea!important}@font-face{font-family:\"Press Start 2P\";font-style:normal;font-weight:400;font-display:swap;src:url(\"/fonts/press-start-2p-latin.woff2\") format(\"woff2\");unicode-range:U+0030-0039}div:has(>#error-badge)::before{content:\"\";display:block;width:100%;max-width:131px;aspect-ratio:262 / 292;margin:0 auto -0.9rem;translate:-5px;z-index:1;background:url(\"/images/robot-not-found.png\") center bottom / contain no-repeat;image-rendering:pixelated}#error-badge{font-family:\"Press Start 2P\", ui-monospace, monospace;font-size:5.5rem;line-height:1;letter-spacing:0;padding:0}.sidebar-group-header .sidebar-title{text-transform:uppercase;font-size:0.6875rem;font-weight:600;letter-spacing:0.06em}#navigation-items div:has(>.sidebar-group-header):not(:first-child){margin-top:2.5rem}#navigation-items button.group>div:has(>svg.transition-transform){margin-left:auto}#navigation-items li ul li a>div:first-child:has(>:is(svg,img)){display:none}.prompt{padding:1.25rem!important;gap:0.875rem!important;border-color:#cfe0ff!important;background:linear-gradient(180deg, #f6faff 0%, #edf4ff 100%)!important;box-shadow:0 1px 2px rgba(16, 59, 149, 0.06)}html.dark .prompt{border-color:rgba(56, 132, 255, 0.28)!important;background:rgba(56, 132, 255, 0.08)!important;box-shadow:none}.prompt [data-component-part=\"prompt-icon\"] svg{background-color:#1b62f8!important}html.dark .prompt [data-component-part=\"prompt-icon\"] svg{background-color:#6b99fa!important}.prompt [data-component-part=\"prompt-description\"]{font-size:0.9375rem;line-height:1.5}.prompt [data-component-part=\"prompt-actions-wrapper\"]{flex-basis:100%;justify-content:flex-end;gap:0.5rem!important}.prompt [data-component-part=\"prompt-action-copy-button\"],.prompt [data-component-part=\"prompt-action-cursor-button\"]{padding:0.4375rem 0.875rem!important;font-size:0.8125rem!important;line-height:1.25rem!important;border-radius:0.625rem!important}.prompt [data-component-part=\"prompt-action-copy-button\"]{background-color:#1b62f8!important;box-shadow:0 1px 2px rgba(16, 59, 149, 0.18)}.prompt [data-component-part=\"prompt-action-copy-button\"]:hover{background-color:#2f6fd9!important}.prompt [data-component-part=\"prompt-action-cursor-button\"]{color:#103b95!important;background:#fff!important;border-color:#cfe0ff!important;box-shadow:0 1px 2px rgba(16, 59, 149, 0.06)}.prompt [data-component-part=\"prompt-action-cursor-button\"]:hover{background:#f3f8ff!important;border-color:#1b62f8!important}html.dark .prompt [data-component-part=\"prompt-action-cursor-button\"]{color:#eaf1ff!important;background:rgba(255, 255, 255, 0.06)!important;border-color:rgba(56, 132, 255, 0.35)!important;box-shadow:none}html.dark .prompt [data-component-part=\"prompt-action-cursor-button\"]:hover{background:rgba(56, 132, 255, 0.18)!important;border-color:#6b99fa!important}@font-face{font-family:\"Kalam\";font-style:normal;font-weight:400;font-display:swap;src:url(\"/fonts/kalam-latin-400.woff2\") format(\"woff2\");unicode-range:U+0000-00FF, U+2018-2019, U+201C-201D, U+2013-2014}.hand-note{position:relative;z-index:5;display:flex;align-items:flex-end;gap:0.25rem;margin:1.5rem 0 0.75rem;color:#1b62f8;pointer-events:none}.hand-note-right{justify-content:flex-end;padding-right:1rem}.hand-note-left{justify-content:flex-start;padding-left:1rem;flex-direction:row-reverse}html.dark .hand-note{color:#6b99fa}.hand-note-text{font-family:\"Kalam\", \"Comic Sans MS\", cursive;font-size:1.125rem;line-height:1.2;transform:rotate(-3deg)}.hand-note-arrow{width:44px;height:66px;margin-bottom:-44px;flex:none}.hand-note-left .hand-note-arrow{transform:scaleX(-1)}:not(pre)>code{color:#18181b!important;background-color:rgba(17, 24, 39, 0.08)!important;border-color:rgba(17, 24, 39, 0.1)!important}html.dark :not(pre)>code{color:#f4f4f5!important;background-color:rgba(255, 255, 255, 0.1)!important;border-color:rgba(255, 255, 255, 0.14)!important}a :not(pre)>code,a>code{color:inherit!important}details.accordion{border-color:rgba(17, 24, 39, 0.08)!important;background:#fff!important}html.dark details.accordion{border-color:rgba(255, 255, 255, 0.12)!important;background:transparent!important}details.accordion>summary{padding:1.0625rem 1.5rem!important}details.accordion>summary:hover{background:#f6f8fb!important}details.accordion>[data-component-part=\"accordion-content\"]{padding-top:0.75rem!important}html.dark details.accordion>summary:hover{background:rgba(255, 255, 255, 0.04)!important}.faqx{--faqx-line:var(--gray-200,#e5e7eb);--faqx-fg:var(--gray-900,#111827);--faqx-fg2:var(--gray-500,#6b7280);--faqx-bg:#fff;--faqx-accent:#3884ff;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:12px}html.dark .faqx{--faqx-line:rgba(255,255,255,.1);--faqx-fg:var(--gray-100,#f3f4f6);--faqx-fg2:var(--gray-400,#9ca3af);--faqx-bg:transparent}.faqx--inline{margin-top:-2.5rem}@media (max-width:640px){.faqx--inline{margin-top:0;justify-content:flex-start}}.faqx-search{position:relative;flex:0 1 260px;min-width:180px}.faqx-search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--faqx-fg2);pointer-events:none}.faqx-input{width:100%;box-sizing:border-box;font-size:13px;line-height:1.4;color:var(--faqx-fg);background:var(--faqx-bg);border:1px solid var(--faqx-line);border-radius:8px;padding:6px 10px 6px 27px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.faqx-input::placeholder{color:var(--faqx-fg2)}.faqx-input:focus{border-color:var(--faqx-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--faqx-accent) 18%,transparent)}.faqx-input::-webkit-search-cancel-button{cursor:pointer}.faqx-btn{font-size:13px;line-height:1.4;font-weight:500;color:var(--faqx-fg);white-space:nowrap;background:var(--faqx-bg);border:1px solid var(--faqx-line);border-radius:8px;padding:6px 11px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.faqx-btn:hover{border-color:var(--faqx-accent);color:var(--faqx-accent)}.faqx-btn:focus-visible{outline:2px solid var(--faqx-accent);outline-offset:2px}.faqx-count{font-size:12px;color:var(--faqx-fg2);white-space:nowrap}.faqx--hero{flex-wrap:nowrap;gap:10px;margin:0 0 2rem}.faqx--hero .faqx-search{flex:1 1 auto;min-width:0}.faqx--hero .faqx-search svg{left:14px;width:16px;height:16px}.faqx--hero .faqx-input{font-size:15px;padding:11px 84px 11px 40px;border-radius:12px;box-shadow:0 1px 2px rgba(17,24,39,.05)}.faqx--hero .faqx-btn{font-size:14px;padding:11px 16px;border-radius:12px;flex:none}.faqx--hero .faqx-count{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}html.dark .faqx--hero .faqx-input{background:rgba(255,255,255,.03);box-shadow:none}.faqx-empty{font-size:14px;color:var(--faqx-fg2);border:1px dashed var(--faqx-line);border-radius:12px;padding:16px;text-align:center;margin-bottom:12px}.accordion-group>details[data-faqx-hidden]{display:none!important}.accordion-group[data-faqx-hidden],h2[data-faqx-hidden],h3[data-faqx-hidden]{display:none!important}.accordion-group>details[data-faqx-first]{border-top-width:0!important}::highlight(faqx-hit){background:color-mix(in srgb,#3884ff 22%,transparent);color:inherit;border-radius:2px}html.dark ::highlight(faqx-hit){background:color-mix(in srgb,#3884ff 38%,transparent)}@media (prefers-reduced-motion:reduce){.faqx-input,.faqx-btn{transition:none}}.faqx-count[hidden],.faqx-empty[hidden]{display:none}.xano-hs-trigger{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;line-height:1.25rem;color:#ffffff;background-color:#3884ff;border:none;border-radius:0.5rem;cursor:pointer;transition:background-color 0.15s ease, transform 0.15s ease}.xano-hs-trigger:hover{background-color:#2f74e6}.xano-hs-trigger:active{transform:translateY(1px)}.xano-hs-trigger:focus-visible{outline:2px solid #3884ff;outline-offset:2px}.xano-hs-trigger--header{margin-right:0.5rem;padding:0.375rem 0.75rem;border-radius:0.75rem;font-weight:500;color:#ffffff;background-color:#3884ff;white-space:nowrap;flex-shrink:0}.xano-hs-trigger--header:hover{background-color:#2f74e6}#page-context-menu{flex-wrap:wrap;row-gap:0.5rem}.xano-hs-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;overflow-y:auto;background-color:rgba(15, 17, 21, 0.55);backdrop-filter:blur(2px)}.xano-hs-modal{position:relative;width:100%;max-width:30rem;margin:auto;padding:1.75rem;border-radius:0.875rem;background-color:#ffffff;border:1px solid rgba(0, 0, 0, 0.08);box-shadow:0 24px 48px -12px rgba(0, 0, 0, 0.35);color:#1a1c20}html.dark .xano-hs-modal{background-color:#1a1c20;border-color:rgba(255, 255, 255, 0.1);color:#f2f3f5}.xano-hs-close{position:absolute;top:0.75rem;right:0.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:inherit;opacity:0.55;background:transparent;border:none;border-radius:0.375rem;cursor:pointer}.xano-hs-close:hover{opacity:1;background:rgba(127, 127, 127, 0.14)}.xano-hs-title{margin:0 1.75rem 0.375rem 0;font-size:1.125rem;font-weight:600;line-height:1.4}.xano-hs-subtitle{margin:0 0 1.25rem 0;font-size:0.875rem;line-height:1.5;opacity:0.7}.xano-hs-status{font-size:0.875rem;line-height:1.5;opacity:0.7}.xano-hs-status--error{color:#dc2626;opacity:1}html.dark .xano-hs-status--error{color:#f87171}.xano-hs-row{display:grid;grid-template-columns:1fr 1fr;gap:0 0.75rem}@media (max-width: 480px){.xano-hs-row{grid-template-columns:1fr}}.xano-hs-form .hs-form-field{margin-bottom:0.875rem}.xano-hs-form label{display:block;margin-bottom:0.3rem;font-size:0.8125rem;font-weight:500}.xano-hs-form .hs-form-required{color:#dc2626;margin-left:0.15rem}.xano-hs-form .hs-input:not([type=\"checkbox\"]):not([type=\"radio\"]){width:100%;box-sizing:border-box;padding:0.5rem 0.7rem;font-size:0.875rem;font-family:inherit;color:inherit;background-color:rgba(127, 127, 127, 0.07);border:1px solid rgba(127, 127, 127, 0.3);border-radius:0.5rem}.xano-hs-form .hs-input:focus{outline:none;border-color:#3884ff;box-shadow:0 0 0 3px rgba(56, 132, 255, 0.2)}.xano-hs-form .hs-error-msgs{margin:0.35rem 0 0 0;padding:0;list-style:none}.xano-hs-form .hs-error-msgs li{padding:0!important;margin:0!important}.xano-hs-form .hs-error-msgs li::before{display:none!important}.xano-hs-form .hs-error-msgs label{margin:0;font-weight:400;font-size:0.8125rem;color:#dc2626}html.dark .xano-hs-form .hs-error-msgs label{color:#f87171}.xano-hs-form .legal-consent-container{font-size:0.75rem;line-height:1.5}.xano-hs-form .legal-consent-container p{margin:0 0 0.625rem 0;opacity:0.75}.xano-hs-form .legal-consent-container a{color:#3884ff}.xano-hs-form .xano-hs-consent{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:0.625rem}.xano-hs-form .xano-hs-consent input{flex:none;width:1rem;height:1rem;margin:0.1rem 0 0 0;accent-color:#3884ff;cursor:pointer}.xano-hs-form .xano-hs-consent label{margin:0;font-size:0.8125rem;line-height:1.4;cursor:pointer}.xano-hs-form .xano-hs-consent+.hs-error-msgs{margin:-0.3rem 0 0.625rem 1.5rem}.xano-hs-form .hs-button{width:100%;margin-top:0.5rem;padding:0.55rem 1rem;font-size:0.875rem;font-weight:600;font-family:inherit;color:#ffffff;background-color:#3884ff;border:none;border-radius:0.5rem;cursor:pointer}.xano-hs-form .hs-button:hover{background-color:#2f74e6}.xano-hs-form .hs-button:disabled{opacity:0.7;cursor:progress}.xano-hs-form .hs-button:focus-visible{outline:2px solid #3884ff;outline-offset:2px}.xano-hs-form .xano-hs-status{margin-bottom:0.5rem}.xano-hs-toast{position:fixed;left:50%;bottom:1.5rem;z-index:2147483000;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 2rem);padding:0.75rem 1rem;font-size:0.875rem;line-height:1.5;color:#ffffff;background-color:#1a1c20;border:1px solid rgba(255, 255, 255, 0.1);border-left:3px solid #3884ff;border-radius:0.625rem;box-shadow:0 12px 32px -8px rgba(0, 0, 0, 0.35)}.xano-hs-toast[hidden]{display:none}html.dark .xano-hs-toast{color:#1a1c20;background-color:#ffffff;border-color:rgba(0, 0, 0, 0.08);border-left-color:#3884ff}"}],"page":{"pagePath":"building/logic/background-tasks","slug":"/building/logic/background-tasks","pageMetadata":{"title":"Background Tasks in Xano","sidebarTitle":"Background Tasks","description":"Learn how to build and schedule background tasks (cron jobs) in Xano using the visual builder or XanoScript.","href":"/building/logic/background-tasks"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to build and schedule background tasks (cron jobs) in Xano using the visual builder or XanoScript.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CodeBlock,Frame,Heading,Icon,OptimizedImage,Step,Steps,Tab,Tabs,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(Tip,{children:[_jsx(_components.p,{children:`Before continuing, make sure you’re familiar with:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/building/logic/core-components`,children:`Core Components`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/building/logic/working-with-data`,children:`Working with Data`})}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`background-tasks-in-xano`,children:`Background Tasks in Xano`}),`\n`,_jsx(_components.p,{children:`Background tasks (also called scheduled tasks or cron jobs) allow you to automate operations at specific times or intervals. They are ideal for recurring jobs like data cleanup, report generation, or sending notifications.`}),`\n`,_jsx(_components.p,{children:`Each background task has:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A name (unique identifier, e.g., `,_jsx(_components.code,{children:`daily_sales_report`}),`)`]}),`\n`,_jsx(_components.li,{children:`Logic (the actions to perform)`}),`\n`,_jsx(_components.li,{children:`A schedule (when and how often to run)`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Unlike APIs, background tasks `,_jsx(_components.strong,{children:`do not`}),` have inputs or responses. They only contain logic and a schedule block.`]}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-background-task`,children:`Creating a Background Task`}),`\n`,_jsx(_components.p,{children:`You can create background tasks visually or with XanoScript.`}),`\n`,_jsx(Heading,{level:`3`,id:`visual-builder`,children:`Visual Builder`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Add a New Task`,children:[_jsxs(_components.p,{children:[`From the sidebar, click `,_jsx(`span`,{class:`ui-bubble`,children:`Tasks`}),`, then click `,_jsxs(`span`,{class:`ui-bubble`,children:[_jsx(Icon,{icon:`plus`}),` Add Background Task`]}),`. You can also just hover over Tasks and click the `,_jsx(`span`,{class:`ui-bubble`,children:`+`}),` icon.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=93315864f4f4072f8a10ace691ead1bf`,alt:`background-tasks-20260401-115558`,\"data-og-width\":`241`,width:`241`,\"data-og-height\":`468`,height:`468`,\"data-path\":`images/background-tasks-20260401-115558.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?w=280\u0026fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=06f58ab6e4ab3765d5542c07c65d622d 280w, https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?w=560\u0026fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=ef68acc720a4b06a5f8ad757d01fd9b0 560w, https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?w=840\u0026fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=f3daf25f8eab2db1193dc58e5c9f8fb1 840w, https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?w=1100\u0026fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=6990dc21e4374b3d5ebd7780771deaad 1100w, https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?w=1650\u0026fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=3a2f35d3ef9d92d2beee575183f02495 1650w, https://mintcdn.com/xano-997cb9ee/S3ilNIfm8nUzbg0w/images/background-tasks-20260401-115558.png?w=2500\u0026fit=max\u0026auto=format\u0026n=S3ilNIfm8nUzbg0w\u0026q=85\u0026s=7a6daceb06cce74e1174239e5ff058c5 2500w`})})]}),_jsxs(Step,{title:`Configure the Task`,children:[_jsx(_components.p,{children:`Give your task a name and description, and choose the data source that the task will run against, by default. If you don’t choose a data source, scheduled runs will always use the live data source.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=e6ce6e4342ad33d0a17a538ebf197a3f`,alt:`background-tasks-20251020-084540`,\"data-og-width\":`1350`,width:`1350`,\"data-og-height\":`624`,height:`624`,\"data-path\":`images/background-tasks-20251020-084540.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?w=280\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=32a26adac1f29d1dbfab3e89cbab6f18 280w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?w=560\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=9a5e8bdc30ae046faa6f07c37f3c5738 560w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?w=840\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=dc8a65c826407a1abf78247967328f39 840w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=28c7c0d2ec8ae40cff7d056dcca7ae92 1100w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=c901b17d0222b67806683dc385bc6c06 1650w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084540.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=0b4d8d2b7d9d2f6f3d220056f690311d 2500w`})})]})]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Build Visually`,id:`build-visually`,children:[_jsxs(_components.p,{children:[`Add functions to your task by clicking `,_jsxs(`span`,{class:`ui-bubble`,children:[_jsx(Icon,{icon:`plus`}),` Add Function`]}),`. You can use any function available in Xano, just like in APIs.`,_jsx(`br`,{}),_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=d2e19587a6d559d8e9f53784fb3367ab`,alt:`background-tasks-20251020-084713`,\"data-og-width\":`2553`,width:`2553`,\"data-og-height\":`880`,height:`880`,\"data-path\":`images/background-tasks-20251020-084713.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?w=280\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=03ae9a1dabffaf16e37cf4ff4fee4527 280w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?w=560\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=64e28e1077b219ff2372430bd1110745 560w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?w=840\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=469f8232697a316c8a52c72e0ea554fb 840w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=e7ca6a40cefe7b6f2bb6673eb9c26834 1100w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=87c7da3fd2102ac8e836cd537b397056 1650w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084713.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=149acbef0dda24cc9c184cf62c94802c 2500w`})]}),_jsxs(_components.p,{children:[`When you’ve finished building your logic, you can set up the schedule by clicking the `,_jsxs(`span`,{class:`ui-bubble`,children:[_jsx(Icon,{icon:`plus`}),` Add a schedule`]}),` option.`]}),_jsxs(_components.p,{children:[`Schedules have a start date / time, and can run once or on a repeating interval (e.g., every hour, day, week, etc.). For tasks that have a repeating schedule, you can also set an end date.`,_jsx(`br`,{}),_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=6fbb3c8b51a4bfed649a30225314caef`,alt:`background-tasks-20251020-084908`,\"data-og-width\":`658`,width:`658`,\"data-og-height\":`695`,height:`695`,\"data-path\":`images/background-tasks-20251020-084908.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?w=280\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=985592952a103cefbea759ab607aef40 280w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?w=560\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=81e77c0a14ec164b8aefd52336180a8e 560w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?w=840\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=8102e6db2748dbea5b2de2e08a4c317a 840w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=8ced0ef726a6a171256945ccce0c7a32 1100w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=df4eb5569fb241572a8098aa29a89d61 1650w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-084908.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=e203bd5640c1752bb14ed77e310395d4 2500w`})]}),_jsxs(_components.p,{children:[`After configuring the schedule, click `,_jsx(`span`,{class:`ui-bubble`,children:`Save`}),` to create your background task.`]}),_jsx(_components.p,{children:`You’ll need to enable your task before publishing by selecting the option.`}),_jsx(Frame,{caption:`Active/Inactive toggle in the Canvas View`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=d7bec7f2bc8bfa52a046a1b2134f848e`,alt:`background-tasks-20251020-085101`,\"data-og-width\":`602`,width:`602`,\"data-og-height\":`274`,height:`274`,\"data-path\":`images/background-tasks-20251020-085101.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?w=280\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=0fd59b87f5eafc99e7de34dbd6b3c740 280w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?w=560\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=b1e2b4e71e47e452d7901f740c38b9da 560w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?w=840\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=b01a0cce310a5130b142f473c4a675dc 840w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=6d5bd0bb11a5c946976c49171c3cdf4f 1100w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=321e1394ff29b35722a6dd787ae18958 1650w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085101.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=2a5ef0b26078af8ef6da4d10a32f1d44 2500w`})}),_jsx(`br`,{}),_jsx(Frame,{caption:`Enable option in the Function Stack view`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=c8cc66d19ffa888726ae84b65add0898`,alt:`background-tasks-20251020-085136`,\"data-og-width\":`2264`,width:`2264`,\"data-og-height\":`479`,height:`479`,\"data-path\":`images/background-tasks-20251020-085136.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?w=280\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=96c19b100dc9ce30a29410d7584f299b 280w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?w=560\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=13c723898920bfb0b6799bf88c9b9940 560w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?w=840\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=ce7b487a6b3a4d4dde561d70f5052f29 840w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=5e9e573166c9cfad110da3e2b39d8aca 1100w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=67153ee739dbc85c9405bfde2832e2cb 1650w, https://mintcdn.com/xano-997cb9ee/2BfSBW9hPbKyXtF8/images/background-tasks-20251020-085136.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2BfSBW9hPbKyXtF8\u0026q=85\u0026s=97aa24ce5de99e23aac3522dab831bd3 2500w`})}),_jsxs(_components.p,{children:[`Once you’ve set your schedule and enabled the task, click `,_jsx(`span`,{class:`ui-bubble`,children:`Publish`}),` to deploy your background task.`]})]}),_jsxs(Tab,{title:`XanoScript`,id:`xanoscript`,\"data-child-heading-ids\":`[\"xanoscript\"]`,children:[_jsx(Heading,{level:`3`,id:`xanoscript`,children:`XanoScript`}),_jsxs(_components.p,{children:[`A basic background task in XanoScript has two parts — `,_jsx(_components.strong,{children:`logic`}),` and `,_jsx(_components.strong,{children:`schedule`}),`:`]}),_jsx(CodeBlock,{filename:`Example of a basic background task in XanoScript`,icon:`code`,lines:`true`,numberOfLines:`37`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`37`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// This task runs every day at 11 PM UTC and generates a sales report`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`task`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` daily_sales_report`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Generate a daily sales report at 11 PM UTC\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` stack`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` db`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` payment_transactions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Get all transactions from the past 24 hours\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` where`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $db`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`payment_transactions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`transaction_date`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`now`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`transform_timestamp`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"24 hours ago\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"UTC\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` $daily_sales`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $transaction_count`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $daily_sales`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`count`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Count number of transactions\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $total_sales`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$daily_sales`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$$`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`amount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`sum`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Calculate total sales amount\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` db`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`add`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` reports`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` report_type :`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"daily_sales\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` report_date`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` : `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`now`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` total_sales`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` : `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$total_sales`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` transaction_count`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$transaction_count`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Insert daily sales report\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` $report_result`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` debug`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Daily sales report generated\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Log report generation\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` schedule`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`starts_on:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2025`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`10`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 13`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`47`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`35`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`freq:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 86400`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(Card,{title:`Learn how to build Tasks in XanoScript`,icon:`code`,horizontal:true,href:`/xanoscript/tasks`,children:_jsx(_components.p,{children:`For more information on how to build background tasks in XanoScript, see the XanoScript Task documentation.`})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Background Tasks in Xano","sidebarTitle":"Background Tasks","description":"Learn how to build and schedule background tasks (cron jobs) in Xano using the visual builder or XanoScript.","href":"/building/logic/background-tasks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Background Tasks in Xano","slug":"background-tasks-in-xano","depth":2,"children":[]},{"title":"Creating a Background Task","slug":"creating-a-background-task","depth":2,"children":[{"title":"Visual Builder","slug":"visual-builder","depth":3,"children":[]},{"title":"XanoScript","slug":"xanoscript","depth":3,"children":[],"tabId":"xanoscript"}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/xano-997cb9ee/7ccbde81bbdf9fb7/remark-link-graph.js","/_mintlify/custom/xano-997cb9ee/8b02dc1f3860c4eb/iconvisibility.js","/_mintlify/custom/xano-997cb9ee/8bba6e93fd00475c/chat-dim.js","/_mintlify/custom/xano-997cb9ee/f6ebfcfeda318efb/toc-indicator.js","/_mintlify/custom/xano-997cb9ee/2152a7ac01bb32e6/accordion-hash.js","/_mintlify/custom/xano-997cb9ee/d9385cd9a5429ca0/faq-controls.js"],"subdomain":"xano-997cb9ee","siteName":"Xano Documentation","title":"Background Tasks in Xano - Xano Documentation","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"contextualStarterQuestions":[{"_id":"6a72681dec4c2e9ce1382e5a","deploymentId":"680ff9808abe3a2c762b86fa","questionText":"What are background tasks used for?","status":"active","generatedBy":"contextual","path":"building/logic/background-tasks","createdAt":"2026-08-04T22:30:53.042Z","updatedAt":"2026-08-04T22:30:53.042Z","__v":0},{"_id":"6a72681dec4c2e9ce1382e59","deploymentId":"680ff9808abe3a2c762b86fa","questionText":"How do I create a background task?","status":"active","generatedBy":"contextual","path":"building/logic/background-tasks","createdAt":"2026-08-04T22:30:53.042Z","updatedAt":"2026-08-04T22:30:53.042Z","__v":0},{"_id":"6a72681dec4c2e9ce1382e5b","deploymentId":"680ff9808abe3a2c762b86fa","questionText":"How do I schedule task timing?","status":"active","generatedBy":"contextual","path":"building/logic/background-tasks","createdAt":"2026-08-04T22:30:53.042Z","updatedAt":"2026-08-04T22:30:53.042Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-20T20:21:37.659Z","originalFileLocation":"building/logic/background-tasks.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to build and schedule background tasks (cron jobs) in Xano using the visual builder or XanoScript.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Xano Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Background Tasks in Xano - Xano Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Visual-first unified backend for modern apps. Build APIs, AI Agents, data, logic, auth, \u0026amp; more—all in one platform.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Xano Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.xano.com/building/logic/background-tasks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://xano-997cb9ee.mintlify.site/_mintlify/api/og/v2?division=Logic+%26+Workflows\u0026amp;title=Background+Tasks+in+Xano\u0026amp;description=Learn+how+to+build+and+schedule+background+tasks+%28cron+jobs%29+in+Xano+using+the+visual+builder+or+XanoScript.\u0026amp;theme=0109c854116588ad84872d4a\u0026amp;signature=e4d6f43fd62e8b45909f72ec6175b7e08405b22d9676763561a6ba07c7383438\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Background Tasks in Xano - Xano Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Visual-first unified backend for modern apps. Build APIs, AI Agents, data, logic, auth, \u0026amp; more—all in one platform.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://xano-997cb9ee.mintlify.site/_mintlify/api/og/v2?division=Logic+%26+Workflows\u0026amp;title=Background+Tasks+in+Xano\u0026amp;description=Learn+how+to+build+and+schedule+background+tasks+%28cron+jobs%29+in+Xano+using+the+visual+builder+or+XanoScript.\u0026amp;theme=0109c854116588ad84872d4a\u0026amp;signature=e4d6f43fd62e8b45909f72ec6175b7e08405b22d9676763561a6ba07c7383438\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/xano-997cb9ee/cgGwIFviWDgTKtuE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Xano Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1b62f8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.xano.com/building/logic/background-tasks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/building/logic/background-tasks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.xano.com/#organization\",\"name\":\"Xano Documentation\",\"url\":\"https://docs.xano.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/xano-997cb9ee/hLg--ImSu58u2jLW/logo/logo_wordmark_blue_1_.svg?fit=max\u0026auto=format\u0026n=hLg--ImSu58u2jLW\u0026q=85\u0026s=487b8933249723b2ebc7bf7b6179ea0c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.xano.com#website\",\"name\":\"Xano Documentation\",\"url\":\"https://docs.xano.com\",\"publisher\":{\"@id\":\"https://docs.xano.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.xano.com/building/logic/background-tasks#webpage\",\"url\":\"https://docs.xano.com/building/logic/background-tasks\",\"name\":\"Background Tasks in Xano\",\"description\":\"Learn how to build and schedule background tasks (cron jobs) in Xano using the visual builder or XanoScript.\",\"dateModified\":\"2026-04-20T20:21:37.659Z\",\"isPartOf\":{\"@id\":\"https://docs.xano.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.xano.com/building/logic/background-tasks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.xano.com/building/logic/background-tasks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Build\",\"item\":\"https://docs.xano.com/getting-started-ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Logic \u0026 Workflows\",\"item\":\"https://docs.xano.com/building/logic/logic\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Background Tasks in Xano\",\"item\":\"https://docs.xano.com/building/logic/background-tasks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.xano.com/building/logic/background-tasks#article\",\"headline\":\"Background Tasks in Xano\",\"name\":\"Background Tasks in Xano\",\"description\":\"Learn how to build and schedule background tasks (cron jobs) in Xano using the visual builder or XanoScript.\",\"url\":\"https://docs.xano.com/building/logic/background-tasks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.xano.com/building/logic/background-tasks#webpage\"},\"dateModified\":\"2026-04-20T20:21:37.659Z\",\"publisher\":{\"@id\":\"https://docs.xano.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.xano.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Xano Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Xano Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/building/logic/background-tasks.md","siteName":"Xano Documentation","nav":{"global":null,"tabs":[{"tab":"Xano","icon":"https://mintlify.s3.us-west-1.amazonaws.com/xano-997cb9ee/images/icons/xano.svg","pages":[{"title":"Get Started","icon":"rocket","href":""},{"title":"What's New","icon":"newspaper","href":"/updates"},{"title":"Xano — Features \u0026 Capabilities FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/frequently-asked-questions"},{"title":"Navigating Xano","icon":"compass","tag":"NEW","href":"/navigating-xano"},{"group":"Build","pages":[{"title":"Build from your Local Agent","sidebarTitle":"Agentic Development","icon":"robot","href":"/getting-started-ai"},{"title":"Xano Agent","tag":"NEW","icon":"wand-magic-sparkles","href":"/building/xano-agent"},{"title":"Knowledge","tag":"NEW","icon":"brain","href":"/agent-knowledge"},{"group":"Logic \u0026 Workflows","icon":"diagram-project","pages":[{"title":"Logic \u0026 Workflows","sidebarTitle":"Logic \u0026 Workflows","icon":"sitemap","href":"/building/logic/logic"},{"title":"Building APIs in Xano","sidebarTitle":"APIs","href":"/building/logic/apis"},{"title":"Building Custom Functions in Xano","sidebarTitle":"Custom Functions","description":"Learn how to build Custom Functions (reusable logic)","href":"/building/logic/custom-functions"},{"title":"Background Tasks in Xano","sidebarTitle":"Background Tasks","href":"/building/logic/background-tasks"},{"title":"Triggers","description":"Triggers are workflows that can run based on other events that happen in your workspace.","href":"/building/logic/triggers"},{"title":"Middleware","href":"/building/logic/middleware"},{"title":"Inputs","sidebarTitle":"Inputs","href":"/building/logic/core-components/inputs"},{"title":"Logic","sidebarTitle":"Logic","href":"/building/logic/core-components/logic"},{"title":"Functions","sidebarTitle":"Functions","href":"/building/logic/core-components/functions"},{"title":"Variables","sidebarTitle":"Variables","href":"/building/logic/working-with-data/variables"},{"title":"Environment Variables","sidebarTitle":"Environment Variables","href":"/building/logic/working-with-data/environment-variables"},{"title":"Filters","sidebarTitle":"Filters","href":"/building/logic/core-components/filters"},{"title":"Response","sidebarTitle":"Response","href":"/building/logic/core-components/response"}]},{"group":"Database","icon":"database","pages":[{"title":"Database Overview","href":"/the-database/database"},{"title":"Database Basics","href":"/the-database/database-basics"},{"title":"Field Types","href":"/the-database/database-basics/field-types"},{"title":"Database Design Fundamentals","href":"/the-database/designing-your-database"},{"title":"Migrating Data to Xano","href":"/the-database/migrating-your-data"},{"title":"Data Sources","href":"/the-database/database-basics/data-sources"},{"title":"Database Views","href":"/the-database/database-basics/database-views"},{"title":"Export And Sharing","href":"/the-database/database-basics/export-and-sharing"},{"title":"Database Performance And Maintenance","href":"/the-database/database-performance-and-maintenance"}]},{"group":"AI Agents","icon":"robot","pages":[{"title":"Agents","href":"/ai-tools/agents"},{"title":"Using OpenTelemetry with AI Agents","sidebarTitle":"OpenTelemetry","href":"/ai-tools/agents/opentelemetry"},{"title":"Templates","href":"/ai-tools/agents/templates"}]},{"group":"MCP Servers","icon":"plug","pages":[{"title":"MCP Builder","sidebarTitle":"MCP Builder","href":"/ai-tools/mcp-builder"},{"title":"Prompts and Resources","href":"/ai-tools/mcp-builder/prompts-and-resources"},{"title":"MCP Functions","href":"/ai-tools/mcp-builder/mcp-functions"},{"title":"Connecting Clients","href":"/ai-tools/mcp-builder/connecting-clients"},{"title":"Require sign-in (OAuth) on an MCP server","sidebarTitle":"OAuth Sign-In","href":"/ai-tools/mcp-builder/sign-in"},{"title":"Bring your own identity provider","sidebarTitle":"Bring Your Own IdP","href":"/ai-tools/mcp-builder/oauth-proxy"}]},{"group":"Authentication","icon":"lock-keyhole","pages":[{"title":"User Auth \u0026 Data","href":"/building-backend-features/user-authentication-and-user-data"},{"title":"Separating User Data","href":"/building-backend-features/user-authentication-and-user-data/separating-user-data"},{"title":"Restricting Access (RBAC)","href":"/building-backend-features/user-authentication-and-user-data/restricting-access-rbac"},{"title":"OAuth (SSO)","href":"/building-backend-features/user-authentication-and-user-data/oauth-sso"},{"title":"Best Practices","icon":"shield-check","href":"/security/best-practices"},{"title":"Getting Answers to Security Questions","sidebarTitle":"Security Questionnaires","icon":"clipboard-question","href":"/security/getting-answers-to-security-questions"}]},{"group":"File Storage","icon":"folder-open","pages":[{"title":"File Storage In Xano","sidebarTitle":"File Storage","href":"/file-storage/file-storage-in-xano"},{"title":"Private File Storage","href":"/file-storage/private-file-storage"}]},{"group":"Realtime","icon":"signal-stream","pages":[{"title":"Realtime","sidebarTitle":"Overview","href":"/realtime/overview"},{"title":"Realtime Servers \u0026 Channels","sidebarTitle":"Servers \u0026 Channels","href":"/realtime/realtime-servers-and-channels"},{"title":"Connecting a Realtime Client","sidebarTitle":"Connecting a Client","href":"/realtime/connecting-a-client"},{"title":"Realtime Messages","sidebarTitle":"Messages","href":"/realtime/messages"},{"title":"Realtime Access Control","sidebarTitle":"Access Control","href":"/realtime/access-control"},{"title":"Realtime Triggers","sidebarTitle":"Triggers","href":"/realtime/realtime-triggers"},{"title":"Publishing to a Channel from Xano","sidebarTitle":"Publishing from Xano","href":"/realtime/publishing-from-xano"},{"title":"Legacy Realtime vs Realtime","sidebarTitle":"Legacy vs Realtime","href":"/realtime/migrating-from-legacy-realtime"}]}]},{"group":"Test \u0026 Deploy","pages":[{"group":"Test","icon":"flask","pages":[{"title":"Test Suites","href":"/testing-debugging/test-suites"},{"title":"Unit Tests","href":"/testing-debugging/unit-tests"},{"title":"Ephemeral Tenants","icon":"hourglass-half","tag":"NEW","href":"/xano-cli/ephemeral"},{"title":"Publishing","href":"/the-function-stack/building-with-visual-development/publishing"},{"title":"Swagger/OpenAPI Docs","href":"/the-function-stack/building-with-visual-development/apis/swagger-openapi-documentation"}]},{"group":"Deploy","icon":"cloud-arrow-up","tag":"NEW","pages":[{"title":"Deployment Readiness","icon":"clipboard-check","href":"/deployment-readiness"},{"title":"Static Hosting","href":"/xano-features/static-hosting"},{"title":"Sandbox Testing","tag":"NEW","href":"/testing-debugging/sandbox"},{"group":"Connecting a Frontend","pages":[{"title":"Connecting a Frontend","icon":"browser","href":"/connecting-to-a-frontend/overview"},{"title":"Custom Coded Apps","href":"/connecting-to-a-frontend/custom-coded-apps"},{"title":"AI App Builders","href":"/connecting-to-a-frontend/ai-app-builders"},{"title":"No-Code App Builders","href":"/connecting-to-a-frontend/no-code-builders"}]},{"title":"Git Sync","sidebarTitle":"Git Sync","href":"/xano-features/workspace-settings/git-sync"}]},{"group":"Monitor \u0026 Troubleshoot","icon":"gauge-high","tag":"NEW","pages":[{"title":"Performance Insights","href":"/maintenance-monitoring-and-logging/performance-insights"},{"title":"Request History","tag":"UPDATED","href":"/maintenance-monitoring-and-logging/request-history"},{"title":"Statement Explorer","href":"/maintenance-monitoring-and-logging/statement-explorer"},{"title":"Error Logs","tag":"NEW","href":"/maintenance-monitoring-and-logging/error-logs"},{"title":"Audit Logs","href":"/xano-features/workspace-settings/audit-logs"},{"title":"What to Do If Your APIs Aren't Responding","href":"/troubleshooting-and-support/my-apis-arent-responding"},{"title":"What to Do If Your Instance Is Down","href":"/troubleshooting-and-support/my-instance-is-down"},{"title":"Error Reference","href":"/troubleshooting-and-support/error-reference"},{"title":"Reporting Potential Bugs and Issues","href":"/troubleshooting-and-support/reporting-potential-bugs-and-issues"}]}]},{"group":"Team Collaboration","pages":[{"title":"Team Collaboration","icon":"users","href":"/team-collaboration/team-collaboration"},{"title":"Managing Team Members","icon":"user-gear","href":"/team-collaboration/managing-team-members"},{"title":"Realtime Collaboration","icon":"arrows-rotate","href":"/team-collaboration/realtime-collaboration"},{"title":"Branching \u0026 Merging","icon":"code-branch","href":"/team-collaboration/branching-and-merging"},{"title":"Role Based Access Control (RBAC)","icon":"user-shield","href":"/team-collaboration/role-based-access-control-rbac"}]},{"group":"Integrations","pages":[{"title":"Browse Integrations","url":"https://www.xano.com/connect/","icon":"puzzle-piece","href":"/connect"},{"title":"Webhooks","icon":"webhook","href":"/building-backend-features/webhooks"},{"title":"Connecting a Frontend","icon":"browser","href":"/connecting-to-a-frontend/overview"},{"title":"Metadata API","icon":"brackets-curly","href":"/xano-features/metadata-api"},{"title":"Xano MCP Server","icon":"share-nodes","href":"/ai-tools/xano-mcp-server"}]},{"group":"Security","pages":[{"title":"Best Practices","icon":"shield-check","href":"/security/best-practices"},{"title":"Securing Your App Before Launch","sidebarTitle":"Pre-Launch Security","icon":"list-check","href":"/security/pre-launch-security-checklist"},{"title":"Getting Answers to Security Questions","sidebarTitle":"Security Questionnaires","icon":"clipboard-question","href":"/security/getting-answers-to-security-questions"},{"title":"GDPR","url":"https://security.xano.com/certifications/gdpr","icon":"earth-europe","href":"/security/gdpr"},{"title":"HIPAA","url":"https://security.xano.com/certifications/hipaa","icon":"suitcase-medical","href":"/security/hipaa"},{"title":"SOC 2","url":"https://security.xano.com/certifications/soc-2","icon":"certificate","href":"/security/soc2"},{"title":"security.xano.com","url":"https://security.xano.com","icon":"shield-halved","href":"/security/security"}]},{"group":"Tutorials","pages":[{"group":"Ready-to-use Building Blocks","icon":"cubes","expanded":false,"pages":[{"title":"Snippets","icon":"scissors","href":"/xano-features/snippets"},{"title":"Actions","icon":"block-brick","href":"/xano-actions/what-are-actions"},{"title":"Browse Actions","url":"https://xano.com/actions","href":"/xano-actions/browse-actions"},{"title":"Browse Snippets","url":"https://xano.com/snippet","href":"/browse-snippets"}]},{"group":"Build-along Guides","icon":"graduation-cap","expanded":false,"pages":[{"title":"User Auth \u0026 Data","href":"/building-backend-features/user-authentication-and-user-data"},{"title":"Emails","href":"/building-backend-features/emails"},{"title":"Webhooks","icon":"webhook","href":"/building-backend-features/webhooks"},{"title":"Fuzzy Search","href":"/building-backend-features/fuzzy-search"},{"title":"Messaging","href":"/building-backend-features/messaging"},{"title":"Chatbots","href":"/building-backend-features/chatbots"},{"title":"Custom Report Generation","href":"/building-backend-features/custom-report-generation"}]}]},{"group":"Enterprise","pages":[{"title":"Tenant Center","icon":"building","href":"/enterprise/enterprise-features/tenant-center"},{"title":"Compliance Center","icon":"clipboard-check","href":"/enterprise/enterprise-features/compliance-center"},{"title":"Security Policy","icon":"file-shield","href":"/enterprise/enterprise-features/security-policy"},{"title":"Instance Activity","icon":"chart-line","href":"/enterprise/enterprise-features/instance-activity"},{"title":"Deployment","icon":"rocket-launch","href":"/enterprise/enterprise-features/deployment"},{"title":"RBAC (Role-based Access Control)","icon":"user-shield","href":"/enterprise/enterprise-features/rbac-role-based-access-control"},{"title":"Xano Link","icon":"link","href":"/enterprise/enterprise-features/xano-link"},{"title":"Resource Management","icon":"sliders-up","href":"/enterprise/enterprise-features/resource-management"},{"group":"Microservices","icon":"boxes-stacked","pages":[{"title":"Microservices","sidebarTitle":"Instance Level Microservices","href":"/enterprise/enterprise-features/microservices"},{"group":"In the Workspace","icon":"sitemap","tag":"NEW","pages":[{"title":"Microservices in the Workspace","sidebarTitle":"Overview","icon":"sitemap","href":"/enterprise/enterprise-features/microservices/workspace-microservices"},{"title":"Creating a Microservice","icon":"plus","href":"/enterprise/enterprise-features/microservices/workspace-microservices/creating-a-microservice"},{"title":"Private Registries","icon":"key","href":"/enterprise/enterprise-features/microservices/workspace-microservices/private-registries"},{"title":"Deploying and Monitoring","icon":"chart-line","href":"/enterprise/enterprise-features/microservices/workspace-microservices/deploying-and-monitoring"},{"title":"Calling from the Function Stack","icon":"code","href":"/enterprise/enterprise-features/microservices/workspace-microservices/calling-from-the-function-stack"},{"title":"Releases and Tenants","icon":"building","href":"/enterprise/enterprise-features/microservices/workspace-microservices/releases-and-tenants"},{"title":"XanoScript Reference","icon":"file-code","href":"/enterprise/enterprise-features/microservices/workspace-microservices/xanoscript-reference"}]},{"title":"Ollama","sidebarTitle":"Example: Ollama","href":"/enterprise/enterprise-features/microservices/ollama"}]}]},{"group":"Agencies","pages":[{"title":"Xano For Agencies","icon":"handshake","href":"/agencies/xano-for-agencies"},{"title":"Agency Features","icon":"briefcase","href":"/agencies/agency-features"}]},{"group":"Account and Settings","pages":[{"title":"Workspace Settings","icon":"gear","href":"/xano-features/workspace-settings"},{"title":"Instance Settings","sidebarTitle":"Instance Settings","icon":"server","href":"/xano-features/instance-settings"},{"title":"Account Settings","icon":"circle-user","href":"/your-xano-account/account-page"},{"title":"Billing","icon":"credit-card","href":"/your-xano-account/billing"},{"title":"Getting Help","sidebarTitle":"Getting Support in Xano","icon":"life-ring","href":"/troubleshooting-and-support/getting-help"}]},{"group":"Legal","pages":[{"title":"Terms \u0026 Conditions","icon":"scale-balanced","href":"/legal"},{"title":"AI Terms","icon":"file-contract","href":"/legal/ai-terms"},{"title":"Xano Engine License","icon":"file-contract","href":"/legal/xano-engine-license"},{"title":"Privacy Notice","icon":"lock","href":"/legal/privacy-notice"},{"title":"Cookie Policy","icon":"cookie-bite","href":"/legal/cookie-policy"},{"title":"DMCA Policy","icon":"copyright","href":"/legal/dmca-policy"},{"title":"General Disclaimer","icon":"triangle-exclamation","href":"/legal/general-disclaimer"},{"title":"Subprocessors","icon":"sitemap","href":"/legal/xano-subprocessors"},{"title":"Referral Agreement","icon":"file-signature","href":"/legal/referral-program/agreement"},{"title":"FAQ","icon":"question","href":"/legal/referral-program/faq"}]}]},{"tab":"XanoScript","icon":"code","pages":[{"title":"XanoScript","href":"/xanoscript/introduction"}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/xano-cli/get-started"}]},{"tab":"Developer MCP","icon":"robot","pages":[{"title":"Developer MCP","href":"/developer-mcp/get-started"}]},{"tab":"Metadata API","icon":"webhook","pages":[{"title":"Metadata API","href":"/api-reference/audit-logs/search-audit-logs-across-all-workspaces"}]}]},"basePath":"","title":"Background Tasks in Xano - Xano Documentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BXrZabKK.js","DynamicMarkdown-CtasenyM.js","zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}