When entering the database in Xano, you’re presented with some quick shortcuts to get started faster. This section of our documentation is designed to accompany those shortcuts.
Choosing this option opens our AI Database Assistant.
The database assistant can be used to modify your database schema. You can prompt it to add or edit existing tables, delete tables, and help you design your database while following best practices.
2
Prompting the AI Database Assistant
Your prompts to the assistant can be as simple or as complex as necessary. Here’s a quick example:
3
Approving Changes
Each change that the assistant suggests will need to be approved individually. This ensures that no changes are made that you do not explicitly review first. In addition, some changes rely on the previous change being completed — the assistant will notify you of this as you continue.For each table being created, you can choose to just create the table, or create the table and default CRUD API endpoints at the same time.
4
Review and Iterate
You can leave and return to the Database Assistant at any time. Here’s the final schema we ended up with using the above example of an Airbnb-style application.
Xano’s CSV file import is ultra-robust. Import your file with confidence, even if you have millions of records. The import process runs on Xano’s special import service, which has dedicated resources separate from your instance, so it can handle all of your data no matter how large it is.The CSV file import allows you to create a brand new table from scratch and will generate the schema automatically.Additionally, you can edit existing records if the file can be mapped to a primary key or append data to an existing table.Uploads of over 5,000 records will be performed in the background. You can easily monitor the import’s progress in the settings of your workspace and will be notified on Xano and via email when the import is complete.
When the right panel opens up, select Import Data and choose the CSV file option.
Select import data from CSV.
Next, drag and drop a CSV file onto the uploader or browse the files on your computer for the file you wish to upload.
Once you select a CSV file, the preview of your CSV will open up. The preview will display the first 100 rows of your file. You can make any final adjustments to the data types, primary key, or table name here before beginning the import.
Xano will try to automatically detect a primary key field. Currently, only integers are supported for the primary key field. The drop-down will show any fields compatible to be a primary key. If there is no primary key, then Xano will create the primary key automatically.Once you are ready, click Upload . If you are uploading over 5,000 records, then your upload will be performed in the background. You can monitor the progress of your upload from the settings page of your workspace. Once your background upload is complete a green banner will appear notifying you to refresh your browser and an email notification will be sent with confirmation of a successful import.
Add to an Existing TableYou can import a CSV to an existing table if you’d like to add records to it. The process is the same as importing to a new table — just access the import option from inside of the database table you want to add to.
During the import, make sure to review the columns and make sure they are mapped to the right columns that already exist in your database table.
Edit Records in an Existing TableJust like adding records to an existing table, you can also use a CSV upload to edit records in a table.The only difference between adding a new table or adding to an existing table is that you’ll need to make sure your CSV contains an id field. This is what Xano will use to find the records to apply changes to.
It’s important that you use a valid CSV file format in order to successfully import your data. If there is an issue with initiating the upload then this could likely be the issue.
A CSV stands for a comma-separate file, which is a delimited text file that uses a comma to separate values. The importer does not support other separators, such as semicolons. Each line of the file is a data record. Each record consists of one or more fields, separated by commas.
The first row must contain the column names - not the file name or any other data.
The second row begins the values. They should be in the same order as the columns they belong to.
Each row should have the same amount of values as there are columns.
Enclosure characters are required when working with text strings that contain quotation marks. This is because if a quotation mark is detected, this is typically something that would mark the beginning or end of a value. You can use a double quote ("") to dictate if a value should contain this quotation mark somewhere inside the value.
CSV files should be UTF-8 encoded. If you’re having trouble importing your CSV properly in Xano and have determined you are using both the proper separator and enclosure characters, please make sure your file us UTF-8 encoded. This ensures that there are no special characters that might not be supported in Xano.
You can review the format of your CSV file format in a number of ways. Open the file in Text Editor, Visual Studio Code, or another code editor. You can also do an online search for CSV file format validators and use an online service.How can I edit my CSV file format?Tools like Text Editor, Visual Studio Code, and other code editors allow you to make any necessary edits to your file and save the changes. When opening the file from your computer, right click and choose open with to choose from the different options available on your computer.
In the new table menu, choose Import Data > Import From Airtable
3
Provide your Airtable personal access token
You can generate a personal access token in Airtable by heading to your account settings, and from there visiting the Developer Hub.Choose Personal Access Tokens from the left-side navigation, and create a token with the following scopes:
data:base.readschema:base.read
4
Select the tables and/or views you want to import into Xano, and confirm your selection
While there is no direct migration of your Airtable automations to Xano, we want to make it as easy as possible to rebuild. Please see the table and linked resources below for common Airtable -> Xano functionality translations. Click on the Xano Function name to be taken to Xano’s documentation, or review the video examples provided.
After you’ve created your database schema, you can generate some sample data to use right away by clicking 🪄Generate RecordsThis option is located at the bottom of your database records — so, if you have no records, you should see it right at the top.
The record generation will look at the name and the data type for each of your fields and try to auto-suggest what they should be filled with.
You can click on one of those data types to change what that field is populated with, or specific settings related to that data type.
In the bottom-right corner, you can change the number of records generated, up to 100 at a time.When you’re ready, click “Generate” and you should see your new sample data populated. You can always generate more records if you’d like.
HintWant to clear out all of the sample data? There’s a quick “Clear All Records” shortcut in the upper-right settings menu. This will delete all records in the table in one swing.
You can find database triggers on each table by clicking the settings icon in the top-right corner.Click + Add Database Trigger to create a new database trigger.You can specify what Data Sources the trigger will execute on. If no data source is set, then it will execute on all data sources.Select the actions that will activate this trigger.Inserts Any time a record is added to the tableUpdates Any time a record is editedDeletes Any time a record is deletedTruncates When the content of the database table is clearedFinally, you can set up custom filters so that the trigger only runs if the record matches certain conditions. For example, if you only want the trigger to run if a new order is created for a user, or a new user is created with a certain role.Database triggers have predefined inputs that contain all of the information you’ll need to build a workflow based on the database event.new This is the contents of the new record — if you’re adding a record, this will contain the contents of the new record, and if you’re updating a record, this will contain the contents of the updated record. On deletes and truncates, this will be empty.old This is the contents of the old record — if you’re deleting or editing a record, this will contain the contents of the record before the change. On inserts and truncates, this will be empty.Both new and old carry every column of the record, including Internal ones such as a password’s stored hash, which a default Get Record leaves out. See Database Triggers.action The action that activated the triggerdata source The datasource this trigger has been executed against
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":""},"chroma":{"liveDeploymentHistoryId":"6adbc67731be3f4b42acf43a","collectionId":"afd3e8fa-b20d-4309-894a-bb09275508cf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adbc67731be3f4b42acf43a"},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adc28a6d1a26b8362e32d63","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Metadata API","count":208},{"language":"default","tag":"Xano","count":131},{"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},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@keyframes opsai-glow{0%,to{box-shadow:0 0 0 8px rgba(56,132,255,.06)}50%{box-shadow:0 0 0 13px rgba(56,132,255,.03)}}#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 circle,html.dark .mermaid svg g.node ellipse,html.dark .mermaid svg g.node path,html.dark .mermaid svg g.node polygon,html.dark .mermaid svg g.node rect{stroke:#8fb3ff!important;stroke-width:15px!important}img{background:0 0!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 td,table th{vertical-align:top;border-left:1px solid #dadada!important;border-right:1px solid #dadada!important;padding:.5rem!important}.table-wrapper{overflow-x:visible}.supportButton{border:0!important}.arcadediv{position:relative;padding-bottom:calc(80.4861% + 41px);height:0;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:-.1em;margin-right:.4rem;vertical-align:middle}.ui-bubble{gap:.35rem;padding:.2rem .5rem;font-size:.9em!important;font-weight:800!important}html.dark .kb,html.dark .kbd,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,.kbd,.ui-bubble{display:inline-flex;align-items:center;margin-bottom:.2rem;margin-left:.2rem;margin-right:.2rem;background-color:var(--mintlify-code-bg, #f3f4f6);border:1px solid var(--mintlify-border-color, #e5e7eb);border-radius:6px;font:inherit;vertical-align:middle}.kb{gap:.35rem;padding:.2rem .5rem;font-size:.8em!important;font-weight:600!important;font-family:ui-monospace,\"SFMono-Regular\",\"Fira Code\",\"Cascadia Code\",Menlo,Consolas,monospace!important}.kb .icon{width:1em!important;height:1em!important;display:inline-block}.kbd{gap:.3rem;padding:.15rem .45rem;border-bottom-width:3px;font-size:.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{border-color:#374151 #374151 #4b5563;color:#e5e7eb}.kb .icon,.kbd .icon,.kbd svg{flex-shrink:0;vertical-align:middle}.kbd .icon{width:1.1em!important;height:1.1em!important;display:inline-block}.kbd svg{width:1em;height:1em}.kbd--linux::before,.kbd--mac::before,.kbd--windows::before{font-family:\"Font Awesome 6 Brands\",\"Font Awesome 6 Free\",FontAwesome;content:\"\\f179\";font-weight:900;font-style:normal;font-size:.95em;margin-right:.25em;vertical-align:middle}.kbd--linux::before,.kbd--windows::before{content:\"\\f17a\";font-weight:400;font-size:.9em}.kbd--linux::before{content:\"\\f17c\";font-size:.95em}: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,.1)}.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:0!important;border-radius:0!important;box-shadow:none!important;background:0 0!important}.browser-frame__body pre,.browser-frame__body>*{margin:0!important;padding:0!important}.browser-frame__body .browser-frame__img--light{display:block}.browser-frame__body .browser-frame__img--dark,.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:-.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:.8rem;font-weight:700;line-height:1}.qs-step h3:first-of-type{margin-top:.25rem}.feature-grid{display:grid;grid-template-columns:1fr 1fr;border:0;margin:.5rem 0}.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:.4rem;width:1.75em;height:1.75em;vertical-align:middle;position:relative;top:-.1em}.feature-grid__desc{margin-top:.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,.1)}html.dark .feature-grid__item:nth-child(n+3){border-top-color:rgba(255,255,255,.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,.6)!important}.hero-tabs [role=tablist]{display:flex!important;gap:.75rem;border-bottom:none!important;margin-bottom:1.5rem}.hero-tabs [role=tab]{flex:1;text-align:center;padding:.625rem 1rem;border:1px solid var(--mintlify-border-color, #e5e7eb);border-radius:.75rem;font-weight:500;font-size:.9rem;color:#374151;background:var(--mintlify-card-bg, #fff);cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px rgba(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,.2)}.hero-tabs [role=tab]:hover{border-color:#1b62f8;color:#111827;box-shadow:0 1px 3px rgba(56,132,255,.15)}html.dark .hero-tabs [role=tab]:hover{border-color:#3884ff;color:#f3f4f6;box-shadow:0 1px 3px rgba(56,132,255,.25)}.hero-tabs [role=tab][aria-selected=true]{border-color:#1b62f8;color:#103b95;background:#eef4ff;box-shadow:0 1px 3px rgba(56,132,255,.18)}html.dark .hero-tabs [role=tab][aria-selected=true]{border-color:#6b99fa;color:#eaf1ff;background:rgba(56,132,255,.16);box-shadow:0 1px 3px rgba(0,0,0,.3)}.hero-tabs [role=tab],.hero-tabs [role=tab] *,.opsai-nav a{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,.35) 0,rgba(56,132,255,0) 60%),linear-gradient(160deg,#0b1220 0,#0e1729 55%,#0b1220 100%);border:1px solid rgba(56,132,255,.25)}.opsai-hero::after{content:\"\";position:absolute;inset:0;background-image:linear-gradient(rgba(56,132,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,132,255,.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,.12);box-shadow:0 0 0 8px rgba(56,132,255,.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\")}@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:-.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:.5rem;justify-content:center;margin-top:1.5rem}.opsai-pill{font-size:.8rem;font-weight:600;letter-spacing:.01em;color:#bfdbfe;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(56,132,255,.35);background:rgba(56,132,255,.1)}.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:.9rem;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(56,132,255,.06),rgba(56,132,255,.01))}.opsai-stat__num{font-size:1.7rem;font-weight:800;letter-spacing:-.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:.45rem;font-size:.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:.75rem;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(56,132,255,.05),rgba(56,132,255,.01));transition:border-color .15s ease,transform .15s ease}.opsai-nav a:hover{border-color:rgba(56,132,255,.5);transform:translateY(-1px)}.opsai-nav a.opsai-nav--next{text-align:right}.opsai-nav__dir{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.opsai-nav__title{display:block;margin-top:.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,.14)!important;transition:border-color .15s ease,box-shadow .15s ease,opacity .25s ease!important}html.chat-dimmed div:has(>div>.chat-assistant-input){opacity:.35}html.chat-dimmed div:has(>div>.chat-assistant-input):focus-within,html.chat-dimmed div:has(>div>.chat-assistant-input):hover{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,.22)!important}html.dark div:has(>div>.chat-assistant-input){background-color:#16203a!important;border-color:rgba(255,255,255,.3)!important;box-shadow:0 2px 14px rgba(0,0,0,.45)!important}html.dark div:has(>div>.chat-assistant-input):hover{border-color:rgba(255,255,255,.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:.5rem!important;background-color:#f1f5f9!important;border:1px solid #cbd5e1;color:#0f172a!important;box-shadow:0 1px 2px rgba(15,23,42,.06)}html.dark .steps [data-component-part=step-number]>div{background-color:#1f2937!important;border-color:rgba(255,255,255,.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,.18)!important}html.dark .steps [data-component-part=step-line][class*=to-transparent]{background-image:linear-gradient(to bottom,rgba(255,255,255,.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{padding-left:.875rem}nav ul.toc,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) - .875rem);width:1.5px;background-color:#e5e7eb;transition:background-color .2s ease}html.dark nav ul.toc li.toc-item>a::after{background-color:rgba(255,255,255,.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 .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),opacity .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(to right,#d1d5db 0 2px,transparent 2px 5px)}html.dark nav ul.toc .toc-link{background-image:repeating-linear-gradient(to right,rgba(255,255,255,.22) 0 2px,transparent 2px 5px)}nav ul.toc .toc-tracer{width:0;opacity:0;z-index:1;background-color:#1b62f8;transition:transform .15s cubic-bezier(.4,0,.2,1),width .15s cubic-bezier(.4,0,.2,1),opacity .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,.12)}div.border-l:has(ul.toc){border-left:none!important}.chat-assistant-send-button,.prompt [data-component-part=prompt-icon] svg{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 -.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:.6875rem;font-weight:600;letter-spacing:.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:.875rem!important;border-color:#cfe0ff!important;background:linear-gradient(180deg,#f6faff 0,#edf4ff 100%)!important;box-shadow:0 1px 2px rgba(16,59,149,.06)}html.dark .prompt{border-color:rgba(56,132,255,.28)!important;background:rgba(56,132,255,.08)!important;box-shadow:none}html.dark .prompt [data-component-part=prompt-icon] svg{background-color:#6b99fa!important}.prompt [data-component-part=prompt-description]{font-size:.9375rem;line-height:1.5}.prompt [data-component-part=prompt-actions-wrapper]{flex-basis:100%;justify-content:flex-end;gap:.5rem!important}.prompt [data-component-part=prompt-action-copy-button],.prompt [data-component-part=prompt-action-cursor-button]{padding:.4375rem .875rem!important;font-size:.8125rem!important;line-height:1.25rem!important;border-radius:.625rem!important}.prompt [data-component-part=prompt-action-copy-button]{background-color:#1b62f8!important;box-shadow:0 1px 2px rgba(16,59,149,.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,.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,.06)!important;border-color:rgba(56,132,255,.35)!important;box-shadow:none}html.dark .prompt [data-component-part=prompt-action-cursor-button]:hover{background:rgba(56,132,255,.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:.25rem;margin:1.5rem 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,.08)!important;border-color:rgba(17,24,39,.1)!important}html.dark :not(pre)>code{color:#f4f4f5!important;background-color:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.14)!important}a :not(pre)>code,a>code{color:inherit!important}details.accordion{border-color:rgba(17,24,39,.08)!important;background:#fff!important}html.dark details.accordion{border-color:rgba(255,255,255,.12)!important;background:0 0!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:.75rem!important}html.dark details.accordion>summary:hover{background:rgba(255,255,255,.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:0;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],.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-btn,.faqx-input{transition:none}}.faqx-count[hidden],.faqx-empty[hidden]{display:none}.xano-hs-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;color:#fff;background-color:#3884ff;border:0;border-radius:.5rem;cursor:pointer;transition:background-color .15s ease,transform .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:.5rem;padding:.375rem .75rem;border-radius:.75rem;font-weight:500;color:#fff;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:.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,.55);backdrop-filter:blur(2px)}.xano-hs-modal{position:relative;width:100%;max-width:30rem;margin:auto;padding:1.75rem;border-radius:.875rem;background-color:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 24px 48px -12px rgba(0,0,0,.35);color:#1a1c20}html.dark .xano-hs-modal{background-color:#1a1c20;border-color:rgba(255,255,255,.1);color:#f2f3f5}.xano-hs-close{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:inherit;opacity:.55;background:0 0;border:0;border-radius:.375rem;cursor:pointer}.xano-hs-close:hover{opacity:1;background:rgba(127,127,127,.14)}.xano-hs-title{margin:0 1.75rem .375rem 0;font-size:1.125rem;font-weight:600;line-height:1.4}.xano-hs-subtitle{margin:0 0 1.25rem}.xano-hs-status,.xano-hs-subtitle{font-size:.875rem;line-height:1.5;opacity:.7}.xano-hs-status--error{color:#dc2626;opacity:1}html.dark .xano-hs-form .hs-error-msgs label,html.dark .xano-hs-status--error{color:#f87171}.xano-hs-row{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}@media (max-width:480px){.xano-hs-row{grid-template-columns:1fr}}.xano-hs-form .hs-form-field{margin-bottom:.875rem}.xano-hs-form label{display:block;margin-bottom:.3rem;font-size:.8125rem;font-weight:500}.xano-hs-form .hs-form-required{color:#dc2626;margin-left:.15rem}.xano-hs-form .hs-input:not([type=checkbox]):not([type=radio]){width:100%;box-sizing:border-box;padding:.5rem .7rem;font-size:.875rem;font-family:inherit;color:inherit;background-color:rgba(127,127,127,.07);border:1px solid rgba(127,127,127,.3);border-radius:.5rem}.xano-hs-form .hs-input:focus{outline:0;border-color:#3884ff;box-shadow:0 0 0 3px rgba(56,132,255,.2)}.xano-hs-form .hs-error-msgs{margin:.35rem 0 0;padding:0;list-style:none}.xano-hs-form .hs-error-msgs label{margin:0;font-weight:400;font-size:.8125rem;color:#dc2626}.xano-hs-form .legal-consent-container{font-size:.75rem;line-height:1.5;opacity:.75}.xano-hs-form .hs-button{width:100%;margin-top:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;font-family:inherit;color:#fff;background-color:#3884ff;border:0;border-radius:.5rem;cursor:pointer}.xano-hs-form .hs-button:hover{background-color:#2f74e6}.xano-hs-form .hs-button:disabled{opacity:.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:.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:.75rem 1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#1a1c20;border:1px solid rgba(255,255,255,.1);border-left:3px solid #3884ff;border-radius:.625rem;box-shadow:0 12px 32px -8px rgba(0,0,0,.35)}.xano-hs-toast[hidden]{display:none}html.dark .xano-hs-toast{color:#1a1c20;background-color:#fff;border-color:rgba(0,0,0,.08);border-left-color:#3884ff}"}],"page":{"pagePath":"the-database/getting-started-shortcuts","slug":"/the-database/getting-started-shortcuts","pageMetadata":{"title":"Getting Started Shortcuts","icon":"person-running-fast","description":null,"href":"/the-database/getting-started-shortcuts"},"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`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Check,CodeBlock,Frame,Heading,Info,OptimizedImage,Step,Steps,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Check)_missingMdxReference(`Check`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`getting-started-shortcuts`,children:`Getting Started Shortcuts`}),`\n`,_jsx(_components.p,{children:`When entering the database in Xano, you’re presented with some quick shortcuts to get started faster. This section of our documentation is designed to accompany those shortcuts.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{children:_jsxs(_components.p,{children:[`✨ `,_jsx(_components.strong,{children:`Modify your table schema with AI`})]})}),_jsx(Card,{children:_jsxs(_components.p,{children:[`📔 `,_jsx(_components.strong,{children:`Import data from a CSV`})]})}),_jsx(Card,{children:_jsx(_components.p,{children:_jsx(_components.strong,{children:`Import data from Airtable`})})}),_jsx(Card,{children:_jsxs(_components.p,{children:[`🪄 `,_jsx(_components.strong,{children:`Generate test records for table`})]})}),_jsx(Card,{children:_jsxs(_components.p,{children:[`💡 `,_jsx(_components.strong,{children:`Create flows from database triggers`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`modify-your-table-schema-with-ai`,children:`Modify your table schema with AI`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choosing this option opens our AI Database Assistant.`,children:_jsx(_components.p,{children:`The database assistant can be used to modify your database schema. You can prompt it to add or edit existing tables, delete tables, and help you design your database while following best practices.`})}),_jsxs(Step,{title:`Prompting the AI Database Assistant`,children:[_jsx(_components.p,{children:`Your prompts to the assistant can be as simple or as complex as necessary. Here’s a quick example:`}),_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=75fcc8d52cd7887354c3a4535a29cde3`,alt:``,\"data-og-width\":`796`,width:`796`,\"data-og-height\":`242`,height:`242`,\"data-path\":`images/69545139-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=f06943f15b8c15be40bae30a81fcb5ad 280w, https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=11ce55281baffdb87cf5337e98b1c44f 560w, https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=df0856e71fb95e7760de35933b4a293d 840w, https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=1b5181147be5dff5b70c739d35af441a 1100w, https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=f3097e38788a9f0665bba8b1e53abf13 1650w, https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/69545139-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=pz6e9Ndbn8i3u8Zz\u0026q=85\u0026s=f36c33bf1b870dea7c9fa2f19a04ad61 2500w`})})]}),_jsxs(Step,{title:`Approving Changes`,children:[_jsx(_components.p,{children:`Each change that the assistant suggests will need to be approved individually. This ensures that no changes are made that you do not explicitly review first. In addition, some changes rely on the previous change being completed — the assistant will notify you of this as you continue.`}),_jsxs(_components.p,{children:[`For each table being created, you can choose to just create the table, or create the table and `,_jsx(_components.a,{href:`/the-function-stack/building-with-visual-development/apis#auto-generated-apis`,children:`default CRUD API endpoints`}),` at the same time.`]}),_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=60b84db07250d39572d1f0681d689b9b`,alt:``,\"data-og-width\":`426`,width:`426`,\"data-og-height\":`165`,height:`165`,\"data-path\":`images/d3789573-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=d3b327414bed0e047c9ee8232f7badde 280w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=7e6dc6035df2a756901e79c78b726647 560w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=d6230050bcf671c010eb6cea18e45894 840w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=0fd9f42cf5a5227a98e7648a925d128a 1100w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=340da650edb34a4c0de7f09e89cd8592 1650w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/d3789573-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=514c5e46f961bd0b2707dfc84dcc9d7a 2500w`})})]}),_jsxs(Step,{title:`Review and Iterate`,children:[_jsx(_components.p,{children:`You can leave and return to the Database Assistant at any time. Here’s the final schema we ended up with using the above example of an Airbnb-style application.`}),_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=820585530d2bcf09504d42c8bc12d263`,alt:``,\"data-og-width\":`2211`,width:`2211`,\"data-og-height\":`1217`,height:`1217`,\"data-path\":`images/975db15d-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=4c940bf26fec1cfd3820e5379a2e18b5 280w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=4d841989e0c70ba982cb029693e181a6 560w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=48729f3e1100934042c5360720273121 840w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=2922372896ca03233f45c7369683e1cb 1100w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=e251b6b748e3a1a6250ed5a8392d5bb1 1650w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/975db15d-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=1e6b000fa6bf6266599f58dd4576078c 2500w`})})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`import-data-from-a-csv`,children:`Import data from a CSV`}),`\n`,_jsx(_components.p,{children:`Xano’s CSV file import is ultra-robust. Import your file with confidence, even if you have millions of records. The import process runs on Xano’s special import service, which has dedicated resources separate from your instance, so it can handle all of your data no matter how large it is.`}),`\n`,_jsx(_components.p,{children:`The CSV file import allows you to create a brand new table from scratch and will generate the schema automatically.`}),`\n`,_jsx(_components.p,{children:`Additionally, you can edit existing records if the file can be mapped to a primary key or append data to an existing table.`}),`\n`,_jsx(_components.p,{children:`Uploads of over 5,000 records will be performed in the background. You can easily monitor the import’s progress in the settings of your workspace and will be notified on Xano and via email when the import is complete.`}),`\n`,_jsx(Heading,{level:`3`,id:`add-a-new-table`,children:`Add a New Table`}),`\n`,_jsx(_components.p,{children:`From the database select Add Table.`}),`\n`,_jsx(Frame,{caption:`Select Add Table and Select Import Data.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=e26acd0f4bdaa2e5cd9c62bba5eb6a39`,alt:``,\"data-og-width\":`1483`,width:`1483`,\"data-og-height\":`292`,height:`292`,\"data-path\":`images/b06083d5-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=c14f8c5eb5a682203a904c8e9da2ec0e 280w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=d27d27be7affd5440458c0aee79bf3dc 560w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=76c64643fd4a6c2bf311b917c081125b 840w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=99102095040c4db36a350d6e0a13f183 1100w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=4a77f0ec298361b6459dc5655e62b9bf 1650w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b06083d5-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=720c02bc74d81da06cdbc4e4db22b867 2500w`})}),`\n`,_jsxs(_components.p,{children:[`When the right panel opens up, select `,_jsx(_components.strong,{children:`Import Data`}),` and choose the `,_jsx(_components.strong,{children:`CSV`}),` file option.`]}),`\n`,_jsx(Frame,{caption:`Select import data from CSV.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=922171ec1012816883d429f146fb2e9c`,alt:``,\"data-og-width\":`404`,width:`404`,\"data-og-height\":`289`,height:`289`,\"data-path\":`images/c7e372d5-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=fcf90aba0c6848508bb2f2e2d04ca023 280w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=1f9fb811962bc21aa0ab27e83b78e2c7 560w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=b3fa3b1601df40be09c3b8bdbca1d41f 840w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=05618b83b83aa3b92203e51c658ee970 1100w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=343add274f4c716161d5c5ae7d4714ec 1650w, https://mintcdn.com/xano-997cb9ee/_Sd90ZcMa6hsPScv/images/c7e372d5-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=_Sd90ZcMa6hsPScv\u0026q=85\u0026s=c7c13f70bd1da81f9889f79c114fd16b 2500w`})}),`\n`,_jsx(_components.p,{children:`Next, drag and drop a CSV file onto the uploader or browse the files on your computer for the file you wish to upload.`}),`\n`,_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=b9f22d6ea97fbd6abb6e691b2582ef2b`,alt:``,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`464`,height:`464`,\"data-path\":`images/2f14d5d5-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=dd0f016922716b21e404e7a0f7ab3239 280w, https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=4b43b8bad08a5b5d25f7a460e85dd266 560w, https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=4fef2742a239c4a6caeb07c3de21bc6e 840w, https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=d0214273fca3c5bc26320344d482a8c8 1100w, https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=8e6e146bf564b02acdab02113f67a291 1650w, https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/2f14d5d5-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=dC3SQWgPCF_-1qn6\u0026q=85\u0026s=fa0df61c903c47a4fc2034cd9f109376 2500w`})}),`\n`,_jsx(_components.p,{children:`Once you select a CSV file, the preview of your CSV will open up. The preview will display the first 100 rows of your file. You can make any final adjustments to the data types, primary key, or table name here before beginning the import.`}),`\n`,_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=960c4a0f8cdca4c0497746435c5e22c4`,alt:``,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1073`,height:`1073`,\"data-path\":`images/0d68827b-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=8bd87f488db612e2f0ad8591df47799d 280w, https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=45e46c267f89c949f17663d90157fbf2 560w, https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=d484ac947dc818dd9d2175cd0f603cc9 840w, https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=3778ae15ea2276923fe4b1529b6fe344 1100w, https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=dfaf818a4c2cf035b4d51d9f5526b441 1650w, https://mintcdn.com/xano-997cb9ee/RVHCrB1RJjFkWEmQ/images/0d68827b-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=RVHCrB1RJjFkWEmQ\u0026q=85\u0026s=a61d1e820a4f92279a6f2cd793ab073c 2500w`})}),`\n`,_jsx(_components.p,{children:`Xano will try to automatically detect a primary key field. Currently, only integers are supported for the primary key field. The drop-down will show any fields compatible to be a primary key. If there is no primary key, then Xano will create the primary key automatically.`}),`\n`,_jsx(_components.p,{children:`Once you are ready, click Upload . If you are uploading over 5,000 records, then your upload will be performed in the background. You can monitor the progress of your upload from the settings page of your workspace. Once your background upload is complete a green banner will appear notifying you to refresh your browser and an email notification will be sent with confirmation of a successful import.`}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:`Add to an Existing Table`}),_jsx(_components.p,{children:`You can import a CSV to an existing table if you’d like to add records to it. The process is the same as importing to a new table — just access the import option from inside of the database table you want to add to.`}),_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=366e308216202a87a53c8656749185a7`,alt:``,\"data-og-width\":`900`,width:`900`,\"data-og-height\":`207`,height:`207`,\"data-path\":`images/b79145d5-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=a8cd20389abd840d8f692174d3fa510f 280w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=1a4fc67164f7e8fe2ff98f0c4d042b4e 560w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=08942045a56ddcf14194924173907cfb 840w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=84d1c209330114d91c9db2433eced185 1100w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=63aede6756b00ccc8538dff3f65ce881 1650w, https://mintcdn.com/xano-997cb9ee/p57kHPQ04p_0aEqF/images/b79145d5-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=p57kHPQ04p_0aEqF\u0026q=85\u0026s=6626b8959011caed733aaf9f063ef30d 2500w`})}),_jsx(_components.p,{children:`During the import, make sure to review the columns and make sure they are mapped to the right columns that already exist in your database table.`}),_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=53bbdf0a2933dc08e9e39705813ff433`,alt:``,\"data-og-width\":`900`,width:`900`,\"data-og-height\":`457`,height:`457`,\"data-path\":`images/9070f054-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=7293c8e619044af107dba27796bac3e9 280w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=0b348a1918d8283cb59c033b212e3e16 560w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=bc61fa3413dd617ac5ab60988998bb6a 840w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=865efc12da1e4887ffc1ada1c557d6ad 1100w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=a8b53e65d762d9b43a2b54477d0f7415 1650w, https://mintcdn.com/xano-997cb9ee/nsvdyKK4Dg7VUAZs/images/9070f054-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=nsvdyKK4Dg7VUAZs\u0026q=85\u0026s=477e567dc390cc30189c1195d8f31412 2500w`})})]}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:`Edit Records in an Existing Table`}),_jsxs(_components.p,{children:[`Just like adding records to an existing table, you can also use a CSV upload to `,_jsx(_components.strong,{children:`edit records`}),` in a table.`]}),_jsxs(_components.p,{children:[`The only difference between adding a new table or adding to an existing table is that you’ll need to make sure your CSV contains an `,_jsx(_components.code,{children:`id`}),` field. This is what Xano will use to find the records to apply changes to.`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`valid-csv-format`,children:`Valid CSV Format`}),`\n`,_jsx(_components.p,{children:`It’s important that you use a valid CSV file format in order to successfully import your data. If there is an issue with initiating the upload then this could likely be the issue.`}),`\n`,_jsx(Heading,{level:`4`,id:`what-is-a-valid-csv-file-format`,children:`What is a valid CSV file format?`}),`\n`,_jsxs(_components.p,{children:[`A CSV stands for a comma-separate file, which is a delimited text file that uses a `,_jsx(_components.strong,{children:`comma`}),` to separate values. The importer does not support other separators, such as semicolons. Each line of the file is a data record. Each record consists of one or more fields, separated by commas.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The first row must contain the column names - not the file name or any other data.`}),`\n`,_jsx(_components.li,{children:`The second row begins the values. They should be in the same order as the columns they belong to.`}),`\n`,_jsx(_components.li,{children:`Each row should have the same amount of values as there are columns.`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enclosure characters`}),` are required when working with text strings that contain quotation marks. This is because if a quotation mark is detected, this is typically something that would mark the beginning or end of a value. You can use a `,_jsx(_components.strong,{children:`double quote (\"\")`}),` to dictate if a value should contain this quotation mark somewhere inside the value.`]}),`\n`,_jsx(_components.li,{children:`CSV files should be UTF-8 encoded. If you’re having trouble importing your CSV properly in Xano and have determined you are using both the proper separator and enclosure characters, please make sure your file us UTF-8 encoded. This ensures that there are no special characters that might not be supported in Xano.`}),`\n`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`UTF-8 Encoding in Notepad (Windows)`,id:`utf-8-encoding-in-notepad-windows`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open your file in Notepad.`}),`\n`,_jsx(_components.li,{children:`Click File > Save As…`}),`\n`,_jsx(_components.li,{children:`Click “Save As Type”, and choose All Files.`}),`\n`,_jsx(_components.li,{children:`Click “UTF-8” in the Encoding dropdown.`}),`\n`,_jsx(_components.li,{children:`Save the file.`}),`\n`]})}),_jsx(Accordion,{title:`UTF-8 Encoding in Google Sheets (All platforms)`,id:`utf-8-encoding-in-google-sheets-all-platforms`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open your file in Google Sheets`}),`\n`,_jsx(_components.li,{children:`Click File > Download > Comma separated values (CSV)`}),`\n`,_jsx(_components.li,{children:`The file will be downloaded in CSV format using UTF-8 encoding.`}),`\n`]})}),_jsx(Accordion,{title:`UTF-8 Encoding in Numbers (Mac)`,id:`utf-8-encoding-in-numbers-mac`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open your file in Numbers`}),`\n`,_jsx(_components.li,{children:`Click File > Export To… > CSV`}),`\n`,_jsx(_components.li,{children:`In the “Text Encoding” dropdown, choose UTF-8`}),`\n`,_jsx(_components.li,{children:`Save the file.`}),`\n`]})})]}),`\n`,_jsxs(Card,{title:`Xano-Sample-CSV.csv`,icon:`file-arrow-down`,horizontal:true,href:`https://3699875497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2tWsL4o1vHmDGb2UAUDD%2Fuploads%2FTcftKcnn1uEplLEXG1qg%2FXano-Sample-CSV.csv?alt=media\\\\\u0026token=f037ad45-d0ca-4962-a338-a0b8e0a28776`,children:[_jsx(_components.p,{children:`160B`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Here is a sample CSV file demonstrating both the proper separator and enclosure characters.`})})]}),`\n`,_jsx(Heading,{level:`4`,id:`how-can-i-check-my-csv-file-format`,children:`How can I check my CSV file format?`}),`\n`,_jsx(_components.p,{children:`You can review the format of your CSV file format in a number of ways. Open the file in Text Editor, Visual Studio Code, or another code editor. You can also do an online search for CSV file format validators and use an online service.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`How can I edit my CSV file format?`})}),`\n`,_jsx(_components.p,{children:`Tools like Text Editor, Visual Studio Code, and other code editors allow you to make any necessary edits to your file and save the changes. When opening the file from your computer, right click and choose open with to choose from the different options available on your computer.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`import-data-from-airtable`,children:`Import data from Airtable`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Head to the database and click + Add table`}),_jsx(Step,{title:`In the new table menu, choose Import Data > Import From Airtable`}),_jsxs(Step,{title:`Provide your Airtable personal access token`,children:[_jsxs(_components.p,{children:[`You can generate a personal access token in Airtable by heading to your account settings, and from there visiting the `,_jsx(_components.strong,{children:`Developer Hub`}),`.`]}),_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Personal Access Tokens`}),` from the left-side navigation, and create a token with the following scopes:`]}),_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data:base.read`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`schema:base.read`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),_jsx(Step,{title:`Select the tables and/or views you want to import into Xano, and confirm your selection`})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`rebuilding-automations`,children:`Rebuilding Automations`}),`\n`,_jsx(_components.p,{children:`While there is no direct migration of your Airtable automations to Xano, we want to make it as easy as possible to rebuild. Please see the table and linked resources below for common Airtable -> Xano functionality translations. Click on the Xano Function name to be taken to Xano’s documentation, or review the video examples provided.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Airtable Function`}),_jsx(_components.th,{children:`Xano Function`}),_jsx(_components.th,{children:`Video Example`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create Record`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/functions/database-requests/add-record`,children:`Add Record`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/k0GpUdsRkL0`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Update record`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/functions/database-requests/edit-record`,children:`Edit record`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/rTeJamc_MYE`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Find records`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/functions/database-requests/query-all-records`,children:`Query all records`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/-XjcXEtPNmk`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Conditional logic`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/functions/data-manipulation/conditional`,children:`Conditional statement`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/QR4UJ2GpYDo`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Repeating group`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/functions/data-manipulation/loops`,children:`For each loop`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/AGe5JN0rZ2M`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`At scheduled time`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/building-with-visual-development/background-tasks`,children:`Background task`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/SDXWVhBGKmQ`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Link to another record`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-database/database-basics/field-types#table-reference`,children:`Table reference`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/z-TwxiQOIBs`,children:`Video Example`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lookup`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/the-function-stack/functions/database-requests/query-all-records#using-addons`,children:`Addons`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://youtu.be/z-TwxiQOIBs`,children:`Video Example`})})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`generate-test-records-for-table`,children:`Generate test records for table`}),`\n`,_jsxs(_components.p,{children:[`After you’ve created your database schema, you can generate some sample data to use right away by clicking 🪄`,_jsx(_components.strong,{children:`Generate Records`})]}),`\n`,_jsxs(_components.p,{children:[`This option is located at the `,_jsx(_components.strong,{children:`bottom`}),` of your database records — so, if you have no records, you should see it right at the top.`]}),`\n`,_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=9c0c46ad71670a30ab01a5a4c5e51b28`,alt:``,\"data-og-width\":`1051`,width:`1051`,\"data-og-height\":`230`,height:`230`,\"data-path\":`images/a48209cc-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=17d18f7a004c63793cf25c87a489abf6 280w, https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=fa7df202cd213a1b32577eb4678d506f 560w, https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=ddfd9cdde1c3ce0fdf36e2f5860020d2 840w, https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=308d4b2e35b3a5b42730eeb2416a2884 1100w, https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=5166e30ea804b89b616cde4c237893ef 1650w, https://mintcdn.com/xano-997cb9ee/kBkSb_XZ48XRxJA_/images/a48209cc-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=kBkSb_XZ48XRxJA_\u0026q=85\u0026s=fe24f281a1a8909540ab18d993a37e07 2500w`})}),`\n`,_jsx(_components.p,{children:`The record generation will look at the name and the data type for each of your fields and try to auto-suggest what they should be filled with.`}),`\n`,_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=ca3d427c7f8f85da6e4134bd3b922de2`,alt:``,\"data-og-width\":`873`,width:`873`,\"data-og-height\":`440`,height:`440`,\"data-path\":`images/3907a803-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=482636474590ed38f08b88fca6770970 280w, https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=d4ca2e02a09206972edddb7433a2233f 560w, https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=e0e79db9a1be83b8dadd2ed0d0443486 840w, https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=32e5c195c91983aa67d74a649537a2c8 1100w, https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=55a7cd03ee00bd45c72f0620dec1f8e2 1650w, https://mintcdn.com/xano-997cb9ee/kUGpIho8LJSMl5Gv/images/3907a803-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=kUGpIho8LJSMl5Gv\u0026q=85\u0026s=25c9d4070e965b85b02b49da959b5c16 2500w`})}),`\n`,_jsx(_components.p,{children:`You can click on one of those data types to change what that field is populated with, or specific settings related to that data type.`}),`\n`,_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=4f3c16f3ac19d67d358738305d1393a1`,alt:``,\"data-og-width\":`729`,width:`729`,\"data-og-height\":`619`,height:`619`,\"data-path\":`images/6ee0b56f-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=15899fdf824cc154e735e21fc2d4cb0c 280w, https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=eb28d41d5edfe9677bd84d29687c5740 560w, https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=28bbdefe8a8a00591b0d251ee909827b 840w, https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=7611c58e0c3577d5a69d78db739883bd 1100w, https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=0dd475ba082c657e1582149604693bd0 1650w, https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/6ee0b56f-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=SGxJ0muPK3um9hNH\u0026q=85\u0026s=2440f7fe6b9e24d111d6ff62b216e399 2500w`})}),`\n`,_jsx(_components.p,{children:`In the bottom-right corner, you can change the number of records generated, up to 100 at a time.`}),`\n`,_jsx(_components.p,{children:`When you’re ready, click “Generate” and you should see your new sample data populated. You can always generate more records if you’d like.`}),`\n`,_jsx(Frame,{caption:true,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=5d2373765174ce66e865df5f0c677eba`,alt:``,\"data-og-width\":`881`,width:`881`,\"data-og-height\":`792`,height:`792`,\"data-path\":`images/43b546eb-image.jpeg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?w=280\u0026fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=b9df9a4f148c6d3869062b5575355a82 280w, https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?w=560\u0026fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=e623a2f1800058a307c0ae4fa043f664 560w, https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?w=840\u0026fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=0fd2e339b25a717005c4999959ae6cc3 840w, https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?w=1100\u0026fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=d0ef01fa119d762e916d05bb1d097b51 1100w, https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?w=1650\u0026fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=861edbf5a08d67459a5aead2bba694cd 1650w, https://mintcdn.com/xano-997cb9ee/ClU5W_-qt6GI3QWZ/images/43b546eb-image.jpeg?w=2500\u0026fit=max\u0026auto=format\u0026n=ClU5W_-qt6GI3QWZ\u0026q=85\u0026s=7cbac075117a1d40f3246175d78e3261 2500w`})}),`\n`,_jsxs(Check,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Hint`})}),_jsxs(_components.p,{children:[`Want to clear out all of the sample data? There’s a quick “Clear All Records” shortcut in the upper-right settings menu. `,_jsx(_components.strong,{children:`This will delete all records in the table in one swing.`})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`create-flows-from-database-triggers`,children:`Create flows from database triggers`}),`\n`,_jsx(_components.p,{children:`You can find database triggers on each table by clicking the settings icon in the top-right corner.`}),`\n`,_jsx(_components.p,{children:`Click + Add Database Trigger to create a new database trigger.`}),`\n`,_jsxs(_components.p,{children:[`You can specify what `,_jsx(_components.a,{href:`/the-database/database-basics/data-sources`,children:`Data Sources`}),` the trigger will execute on. If no data source is set, then it will execute on all data sources.`]}),`\n`,_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`actions`}),` that will activate this trigger.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Inserts`}),` Any time a record is added to the table`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Updates`}),` Any time a record is edited`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Deletes`}),` Any time a record is deleted`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Truncates`}),` When the content of the database table is cleared`]}),`\n`,_jsx(_components.p,{children:`Finally, you can set up custom filters so that the trigger only runs if the record matches certain conditions. For example, if you only want the trigger to run if a new order is created for a user, or a new user is created with a certain role.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.p,{children:`Database triggers have predefined inputs that contain all of the information you’ll need to build a workflow based on the database event.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`new`}),` This is the contents of the new record — if you’re adding a record, this will contain the contents of the new record, and if you’re updating a record, this will contain the contents of the updated record. On deletes and truncates, this will be empty.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`old`}),` This is the contents of the old record — if you’re deleting or editing a record, this will contain the contents of the record before the change. On inserts and truncates, this will be empty.`]}),`\n`,_jsxs(_components.p,{children:[`Both `,_jsx(_components.code,{children:`new`}),` and `,_jsx(_components.code,{children:`old`}),` carry every column of the record, including Internal ones such as a password’s stored hash, which a default Get Record leaves out. See `,_jsx(_components.a,{href:`/building/logic/triggers/database`,children:`Database Triggers`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`action`}),` The action that activated the trigger`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`data source`}),` The datasource this trigger has been executed against`]})]})}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":"Getting Started Shortcuts","icon":"person-running-fast","description":null,"href":"/the-database/getting-started-shortcuts"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Getting Started Shortcuts","slug":"getting-started-shortcuts","depth":2,"children":[]},{"title":"Modify your table schema with AI","slug":"modify-your-table-schema-with-ai","depth":2,"children":[]},{"title":"Import data from a CSV","slug":"import-data-from-a-csv","depth":2,"children":[{"title":"Add a New Table","slug":"add-a-new-table","depth":3,"children":[]},{"title":"Valid CSV Format","slug":"valid-csv-format","depth":3,"children":[]},{"title":"What is a valid CSV file format?","slug":"what-is-a-valid-csv-file-format","depth":4,"children":[]},{"title":"How can I check my CSV file format?","slug":"how-can-i-check-my-csv-file-format","depth":4,"children":[]}]},{"title":"Import data from Airtable","slug":"import-data-from-airtable","depth":2,"children":[{"title":"Rebuilding Automations","slug":"rebuilding-automations","depth":3,"children":[]}]},{"title":"Generate test records for table","slug":"generate-test-records-for-table","depth":2,"children":[]},{"title":"Create flows from database triggers","slug":"create-flows-from-database-triggers","depth":2,"children":[]}],"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":"Getting Started Shortcuts - Xano Documentation","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"contextualStarterQuestions":[{"_id":"6adbc6d18f48412b404c3b7e","deploymentId":"680ff9808abe3a2c762b86fa","questionText":"How do I generate test records?","status":"active","generatedBy":"contextual","path":"the-database/getting-started-shortcuts","createdAt":"2026-10-23T20:42:57.950Z","updatedAt":"2026-10-23T20:42:57.950Z","__v":0},{"_id":"6adbc6d18f48412b404c3b7d","deploymentId":"680ff9808abe3a2c762b86fa","questionText":"Can I import CSV data easily?","status":"active","generatedBy":"contextual","path":"the-database/getting-started-shortcuts","createdAt":"2026-10-23T20:42:57.950Z","updatedAt":"2026-10-23T20:42:57.950Z","__v":0},{"_id":"6adbc6d18f48412b404c3b7c","deploymentId":"680ff9808abe3a2c762b86fa","questionText":"How do I use AI to modify tables?","status":"active","generatedBy":"contextual","path":"the-database/getting-started-shortcuts","createdAt":"2026-10-23T20:42:57.950Z","updatedAt":"2026-10-23T20:42:57.950Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T20:42:27.687Z","originalFileLocation":"the-database/getting-started-shortcuts.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=\"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=\"Getting Started Shortcuts - 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/the-database/getting-started-shortcuts\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://xano-997cb9ee.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Getting+Started+Shortcuts\u0026amp;theme=69266f7a07374488cfd61b9f\u0026amp;signature=29e657d857d52d0b8149f919a27a337360c4351054af0a4a29c77bdc5d941efa\">\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=\"Getting Started Shortcuts - 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.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Getting+Started+Shortcuts\u0026amp;theme=69266f7a07374488cfd61b9f\u0026amp;signature=29e657d857d52d0b8149f919a27a337360c4351054af0a4a29c77bdc5d941efa\">\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/the-database/getting-started-shortcuts\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/the-database/getting-started-shortcuts.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/the-database/getting-started-shortcuts#webpage\",\"url\":\"https://docs.xano.com/the-database/getting-started-shortcuts\",\"name\":\"Getting Started Shortcuts\",\"dateModified\":\"2026-10-23T20:42:27.687Z\",\"isPartOf\":{\"@id\":\"https://docs.xano.com#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.xano.com/the-database/getting-started-shortcuts#article\",\"headline\":\"Getting Started Shortcuts\",\"name\":\"Getting Started Shortcuts\",\"url\":\"https://docs.xano.com/the-database/getting-started-shortcuts\",\"mainEntityOfPage\":{\"@id\":\"https://docs.xano.com/the-database/getting-started-shortcuts#webpage\"},\"dateModified\":\"2026-10-23T20:42:27.687Z\",\"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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","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","href":"/building/logic/custom-functions"},{"title":"Background Tasks in Xano","sidebarTitle":"Background Tasks","href":"/building/logic/background-tasks"},{"title":"Triggers","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":"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":[{"group":"Start","icon":"book-open","pages":[{"group":"Getting Started","icon":"book-open","pages":[{"title":"Intro to XanoScript","href":"/xanoscript/introduction"},{"title":"XanoScript Key Concepts","sidebarTitle":"Key Concepts","href":"/xanoscript/key-concepts"},{"title":"Get the Extension","url":"https://marketplace.visualstudio.com/items?itemName=xano.xanoscript-language-server","icon":"https://mintlify.s3.us-west-1.amazonaws.com/xano-997cb9ee/images/icons/vscode.svg","href":"/vscode-ext"}]},{"title":"XanoScript for the Database","sidebarTitle":"Database","icon":"table","href":"/xanoscript/db"},{"group":"Logic","icon":"function","pages":[{"title":"XanoScript for APIs","sidebarTitle":"APIs","href":"/xanoscript/api"},{"title":"XanoScript for Custom Functions","sidebarTitle":"Custom Functions","href":"/xanoscript/custom-functions"},{"title":"XanoScript for Background Tasks","sidebarTitle":"Background Tasks","href":"/xanoscript/tasks"},{"title":"XanoScript for Triggers","sidebarTitle":"Triggers","href":"/xanoscript/triggers"},{"title":"XanoScript for Middleware","sidebarTitle":"Middleware","href":"/xanoscript/middleware"},{"title":"XanoScript for Addons","sidebarTitle":"Addons","href":"/xanoscript/addons"},{"title":"XanoScript for Tests","sidebarTitle":"Tests","href":"/xanoscript/tests"}]}]},{"group":"AI","icon":"robot","pages":[{"title":"XanoScript for AI Agents","sidebarTitle":"AI Agents","href":"/xanoscript/agents"},{"title":"XanoScript for AI Tools","sidebarTitle":"AI Tools","href":"/xanoscript/ai-tools"},{"title":"XanoScript for MCP Servers","sidebarTitle":"MCP Servers","href":"/xanoscript/mcp-servers"}]},{"group":"References","icon":"book","pages":[{"group":"Functions","icon":"function","pages":[{"title":"Database Operations","href":"/xanoscript/function-reference/database-operations"},{"title":"Security","href":"/xanoscript/function-reference/security"},{"title":"APIs \u0026 Lambdas","href":"/xanoscript/function-reference/apis-and-lambdas"},{"title":"AI Tools","href":"/xanoscript/function-reference/ai-tools"},{"title":"Data Caching (Redis)","href":"/xanoscript/function-reference/data-caching-redis"},{"title":"Custom Functions","href":"/xanoscript/function-reference/custom-functions"},{"title":"Utility Functions","href":"/xanoscript/function-reference/utility-functions"},{"title":"File Storage","href":"/xanoscript/function-reference/file-storage"}]},{"group":"Data Manipulation","icon":"brackets","pages":[{"title":"Arrays","href":"/xanoscript/function-reference/data-manipulation/arrays"},{"title":"Conditionals","href":"/xanoscript/function-reference/data-manipulation/conditionals"},{"title":"Loops","href":"/xanoscript/function-reference/data-manipulation/loops"},{"title":"Math","href":"/xanoscript/function-reference/data-manipulation/math"},{"title":"Objects","href":"/xanoscript/function-reference/data-manipulation/objects"},{"title":"Text","href":"/xanoscript/function-reference/data-manipulation/text"},{"title":"Variables","href":"/xanoscript/function-reference/data-manipulation/variables"}]},{"group":"Cloud Services","icon":"cloud","pages":[{"title":"Algolia","href":"/xanoscript/function-reference/cloud-services/algolia"},{"title":"AWS OpenSearch","href":"/xanoscript/function-reference/cloud-services/aws-opensearch"},{"title":"AWS S3","href":"/xanoscript/function-reference/cloud-services/aws-s3"},{"title":"Azure Blob Storage","href":"/xanoscript/function-reference/cloud-services/azure-blob-storage"},{"title":"Google Cloud Storage","href":"/xanoscript/function-reference/cloud-services/google-cloud-storage"},{"title":"Elasticsearch","href":"/xanoscript/function-reference/cloud-services/elasticsearch"}]},{"group":"Filters","icon":"filter","pages":[{"title":"Manipulation","href":"/xanoscript/filter-reference/manipulation"},{"title":"Math","href":"/xanoscript/filter-reference/math"},{"title":"Timestamp","href":"/xanoscript/filter-reference/timestamp"},{"title":"Text","href":"/xanoscript/filter-reference/text"},{"title":"Array","href":"/xanoscript/filter-reference/array"},{"title":"Transform","href":"/xanoscript/filter-reference/transform"},{"title":"Comparison","href":"/xanoscript/filter-reference/comparison"},{"title":"Security","href":"/xanoscript/filter-reference/security"}]},{"group":"Other References","icon":"book","pages":[{"title":"Field Types Reference","icon":"list-radio","href":"/xanoscript/field-type-reference"},{"title":"Input types","href":"/xanoscript/input-types-reference"},{"title":"Multidoc","sidebarTitle":"Multidoc","icon":"files","href":"/xanoscript/multidoc"}]}]}]},{"tab":"CLI","icon":"terminal","pages":[{"group":"Getting Started","pages":[{"title":"Get Started","icon":"terminal","tag":"NEW","href":"/xano-cli/get-started"}]},{"group":"Core Concepts","pages":[{"title":"Profiles","icon":"user-gear","href":"/xano-cli/profiles"},{"title":"Workspaces \u0026 Branches","icon":"code-branch","href":"/xano-cli/workspaces-and-branches"},{"title":"Push \u0026 Pull","icon":"arrows-rotate","href":"/xano-cli/push-pull"},{"title":"Team Workflows","sidebarTitle":"Team Workflows","icon":"users","tag":"NEW","href":"/xano-cli/team-workflows"},{"title":"Managing Data Schema \u0026 Records","sidebarTitle":"Managing Data","icon":"database","href":"/xano-cli/managing-data"}]},{"group":"Commands","pages":[{"title":"Releases","icon":"tag","href":"/xano-cli/releases"},{"title":"Tenants","icon":"building","href":"/xano-cli/tenants"},{"title":"Deployment Requests","icon":"clipboard-check","href":"/xano-cli/tenant-deploy-requests"},{"title":"Sandbox","icon":"flask","tag":"NEW","href":"/xano-cli/sandbox"},{"title":"Ephemeral Tenants","icon":"hourglass-half","tag":"NEW","href":"/xano-cli/ephemeral"},{"title":"Platforms","icon":"server","href":"/xano-cli/platforms"},{"title":"Testing","icon":"flask-vial","href":"/xano-cli/workflow-tests"},{"title":"Static Hosting","icon":"globe","tag":"UPDATED","href":"/xano-cli/static-hosting"}]},{"group":"Guides","pages":[{"title":"Start from Scratch","icon":"sparkles","href":"/xano-cli/guide-from-scratch"},{"title":"Work from Existing","icon":"download","href":"/xano-cli/guide-from-existing"}]},{"group":"Reference","pages":[{"title":"Cheat Sheet","icon":"bolt","tag":"NEW","href":"/xano-cli/cheatsheet"},{"title":"Command Reference","icon":"rectangle-list","tag":"UPDATED","href":"/xano-cli/command-reference"}]}]},{"tab":"Developer MCP","icon":"robot","pages":[{"group":"Getting Started","pages":[{"title":"Developer MCP","href":"/developer-mcp/get-started"}]},{"group":"Clients","pages":[{"title":"Claude Code","href":"/developer-mcp/clients/claude-code"},{"title":"Claude Desktop","href":"/developer-mcp/clients/claude-desktop"},{"title":"VS Code + AI","href":"/developer-mcp/clients/vs-code"},{"title":"Cursor","href":"/developer-mcp/clients/cursor"},{"title":"Windsurf","href":"/developer-mcp/clients/windsurf"},{"title":"Codex","href":"/developer-mcp/clients/codex"},{"title":"Gemini CLI","href":"/developer-mcp/clients/gemini-cli"},{"title":"opencode","href":"/developer-mcp/clients/opencode"}]},{"group":"Reference","pages":[{"title":"Tools Reference","icon":"wrench","href":"/developer-mcp/tools"},{"title":"Resources \u0026 Library Usage","icon":"book","href":"/developer-mcp/resources"}]}]},{"tab":"Metadata API","icon":"webhook","groups":[{"group":"audit logs","pages":[{"title":"Search audit logs across all workspaces","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /audit_log/search","href":"/api-reference/audit-logs/search-audit-logs-across-all-workspaces"},{"title":"Browse audit logs across all workspaces","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /audit_log","href":"/api-reference/audit-logs/browse-audit-logs-across-all-workspaces"},{"title":"Search workspace audit logs","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/audit_log/search","href":"/api-reference/audit-logs/search-workspace-audit-logs"},{"title":"Retrieve workspace audit logs with pagination support","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/audit_log","href":"/api-reference/audit-logs/retrieve-workspace-audit-logs-with-pagination-support"}]},{"group":"authentication","pages":[{"title":"Retrieve information about the authenticated user including ID, name, and email address.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /auth/me","href":"/api-reference/authentication/retrieve-information-about-the-authenticated-user-including-id-name-and-email-address"}]},{"group":"mcp server","pages":[{"title":"Retrieve MCP server documentation and available commands","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /mcp_server/documentation","href":"/api-reference/mcp-server/retrieve-mcp-server-documentation-and-available-commands"},{"title":"Retrieve a specific MCP server by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/mcp_server/{mcp_server_id}","href":"/api-reference/mcp-server/retrieve-a-specific-mcp-server-by-id"},{"title":"Update MCP server details using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/mcp_server/{mcp_server_id}","href":"/api-reference/mcp-server/update-mcp-server-details-using-xanoscript"},{"title":"Delete a MCP server permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/mcp_server/{mcp_server_id}","href":"/api-reference/mcp-server/delete-a-mcp-server-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all MCP servers in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/mcp_server","href":"/api-reference/mcp-server/retrieve-all-mcp-servers-in-a-workspace"},{"title":"Create a new MCP server using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/mcp_server","href":"/api-reference/mcp-server/create-a-new-mcp-server-using-xanoscript"}]},{"group":"addon","pages":[{"title":"Update addon security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/addon/{addon_id}/security","href":"/api-reference/addon/update-addon-security-settings"},{"title":"Retrieve a workspace addon","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/addon/{addon_id}","href":"/api-reference/addon/retrieve-a-workspace-addon"},{"title":"Update a workspace addon","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/addon/{addon_id}","href":"/api-reference/addon/update-a-workspace-addon"},{"title":"Delete a workspace addon","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/addon/{addon_id}","href":"/api-reference/addon/delete-a-workspace-addon"},{"title":"Retrieve all workspace addons","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/addon","href":"/api-reference/addon/retrieve-all-workspace-addons"},{"title":"Add a workspace addon","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/addon","href":"/api-reference/addon/add-a-workspace-addon"}]},{"group":"agent trigger","pages":[{"title":"Update agent trigger security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/agent/trigger/{trigger_id}/security","href":"/api-reference/agent-trigger/update-agent-trigger-security-settings"},{"title":"Retrieve an agent trigger by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/agent/trigger/{trigger_id}","href":"/api-reference/agent-trigger/retrieve-an-agent-trigger-by-id"},{"title":"Update agent trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/agent/trigger/{trigger_id}","href":"/api-reference/agent-trigger/update-agent-trigger-using-xanoscript"},{"title":"Delete an agent trigger permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/agent/trigger/{trigger_id}","href":"/api-reference/agent-trigger/delete-an-agent-trigger-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all agent triggers","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/agent/trigger","href":"/api-reference/agent-trigger/retrieve-all-agent-triggers"},{"title":"Create a new agent trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/agent/trigger","href":"/api-reference/agent-trigger/create-a-new-agent-trigger-using-xanoscript"}]},{"group":"agent","pages":[{"title":"Retrieve a specific agent by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/agent/{agent_id}","href":"/api-reference/agent/retrieve-a-specific-agent-by-id"},{"title":"Update agent details using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/agent/{agent_id}","href":"/api-reference/agent/update-agent-details-using-xanoscript"},{"title":"Delete an agent permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/agent/{agent_id}","href":"/api-reference/agent/delete-an-agent-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all agents in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/agent","href":"/api-reference/agent/retrieve-all-agents-in-a-workspace"},{"title":"Create a new agent using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/agent","href":"/api-reference/agent/create-a-new-agent-using-xanoscript"}]},{"group":"api group / api","pages":[{"title":"Generate OpenAPI specification for a specific API endpoint","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/apigroup/{apigroup_id}/api/{api_id}/openapi","href":"/api-reference/api-group-api/generate-openapi-specification-for-a-specific-api-endpoint"},{"title":"Update API endpoint security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/apigroup/{apigroup_id}/api/{api_id}/security","href":"/api-reference/api-group-api/update-api-endpoint-security-settings"},{"title":"Retrieve a specific API endpoint by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/apigroup/{apigroup_id}/api/{api_id}","href":"/api-reference/api-group-api/retrieve-a-specific-api-endpoint-by-id"},{"title":"Update an API endpoint","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/apigroup/{apigroup_id}/api/{api_id}","href":"/api-reference/api-group-api/update-an-api-endpoint"},{"title":"Delete an API endpoint permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/apigroup/{apigroup_id}/api/{api_id}","href":"/api-reference/api-group-api/delete-an-api-endpoint-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all API endpoints in a group","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/apigroup/{apigroup_id}/api","href":"/api-reference/api-group-api/retrieve-all-api-endpoints-in-a-group"},{"title":"Create a new API endpoint using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/apigroup/{apigroup_id}/api","href":"/api-reference/api-group-api/create-a-new-api-endpoint-using-xanoscript"}]},{"group":"api group","pages":[{"title":"Get OpenAPI spec for an API group","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/apigroup/{apigroup_id}/openapi","href":"/api-reference/api-group/get-openapi-spec-for-an-api-group"},{"title":"Update API group security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/apigroup/{apigroup_id}/security","href":"/api-reference/api-group/update-api-group-security-settings"},{"title":"Retrieve a specific API group","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/apigroup/{apigroup_id}","href":"/api-reference/api-group/retrieve-a-specific-api-group"},{"title":"Update an API group","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/apigroup/{apigroup_id}","href":"/api-reference/api-group/update-an-api-group"},{"title":"Delete an API group","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/apigroup/{apigroup_id}","href":"/api-reference/api-group/delete-an-api-group"},{"title":"Retrieve all API groups in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/apigroup","href":"/api-reference/api-group/retrieve-all-api-groups-in-a-workspace"},{"title":"Create a new API group","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/apigroup","href":"/api-reference/api-group/create-a-new-api-group"}]},{"group":"branch","pages":[{"title":"Set a branch as the live (active) branch for the workspace.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/branch/{branch_label}/live","href":"/api-reference/branch/set-a-branch-as-the-live-active-branch-for-the-workspace"},{"title":"Retrieve a specific branch by label.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/branch/{branch_label}","href":"/api-reference/branch/retrieve-a-specific-branch-by-label"},{"title":"Update a workspace branch","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/branch/{branch_label}","href":"/api-reference/branch/update-a-workspace-branch"},{"title":"Delete a workspace branch","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/branch/{branch_label}","href":"/api-reference/branch/delete-a-workspace-branch"},{"title":"Retrieve all branches in a workspace.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/branch","href":"/api-reference/branch/retrieve-all-branches-in-a-workspace"},{"title":"Create a new branch by cloning an existing branch.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/branch","href":"/api-reference/branch/create-a-new-branch-by-cloning-an-existing-branch"}]},{"group":"workspace","pages":[{"title":"Generate full workspace context","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/context","href":"/api-reference/workspace/generate-full-workspace-context"},{"title":"Export database table schemas and branch configuration as a file","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/export-schema","href":"/api-reference/workspace/export-database-table-schemas-and-branch-configuration-as-a-file"},{"title":"Export complete workspace data and configuration as an archive","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/export","href":"/api-reference/workspace/export-complete-workspace-data-and-configuration-as-an-archive"},{"title":"Import database schema into a new branch with optional deployment","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/import-schema","href":"/api-reference/workspace/import-database-schema-into-a-new-branch-with-optional-deployment"},{"title":"Replace workspace content and configuration with imported archive","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/import","href":"/api-reference/workspace/replace-workspace-content-and-configuration-with-imported-archive"},{"title":"Retrieve workspace-wide OpenAPI spec","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/openapi","href":"/api-reference/workspace/retrieve-workspace-wide-openapi-spec"},{"title":"Retrieve detailed information about a specific workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}","href":"/api-reference/workspace/retrieve-detailed-information-about-a-specific-workspace"},{"title":"Update an existing workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}","href":"/api-reference/workspace/update-an-existing-workspace"},{"title":"Delete a workspace permanently","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}","href":"/api-reference/workspace/delete-a-workspace-permanently"},{"title":"Retrieve all accessible workspaces for the authenticated user","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace","href":"/api-reference/workspace/retrieve-all-accessible-workspaces-for-the-authenticated-user"},{"title":"Create a new workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace","href":"/api-reference/workspace/create-a-new-workspace"}]},{"group":"convert","pages":[{"title":"Convert from XanoScript to JSON","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/convert/fromXS","href":"/api-reference/convert/convert-from-xanoscript-to-json"},{"title":"Convert from JSON to XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/convert/toXS","href":"/api-reference/convert/convert-from-json-to-xanoscript"}]},{"group":"workspace / datasource","pages":[{"title":"Update an existing data source's label and color properties","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/datasource/{label}","href":"/api-reference/workspace-datasource/update-an-existing-data-sources-label-and-color-properties"},{"title":"Delete a data source permanently. This action cannot be undone.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/datasource/{label}","href":"/api-reference/workspace-datasource/delete-a-data-source-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all external data sources for a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/datasource","href":"/api-reference/workspace-datasource/retrieve-all-external-data-sources-for-a-workspace"},{"title":"Create a new external data source with custom label and color","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/datasource","href":"/api-reference/workspace-datasource/create-a-new-external-data-source-with-custom-label-and-color"}]},{"group":"file","pages":[{"title":"Delete multiple files permanently. This action cannot be undone.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/file/bulk_delete","href":"/api-reference/file/delete-multiple-files-permanently-this-action-cannot-be-undone"},{"title":"Delete a file permanently. This action cannot be undone.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/file/{file_id}","href":"/api-reference/file/delete-a-file-permanently-this-action-cannot-be-undone"},{"title":"Retrieve workspace files","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/file","href":"/api-reference/file/retrieve-workspace-files"},{"title":"Upload files to workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/file","href":"/api-reference/file/upload-files-to-workspace"}]},{"group":"function","pages":[{"title":"Update function security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/function/{function_id}/security","href":"/api-reference/function/update-function-security-settings"},{"title":"Retrieve a specific function by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/function/{function_id}","href":"/api-reference/function/retrieve-a-specific-function-by-id"},{"title":"Update a function","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/function/{function_id}","href":"/api-reference/function/update-a-function"},{"title":"Delete a function permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/function/{function_id}","href":"/api-reference/function/delete-a-function-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all functions in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/function","href":"/api-reference/function/retrieve-all-functions-in-a-workspace"},{"title":"Create a new function using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/function","href":"/api-reference/function/create-a-new-function-using-xanoscript"}]},{"group":"request history","pages":[{"title":"Search function request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/function_history/search","href":"/api-reference/request-history/search-function-request-history"},{"title":"Retrieve API function request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/function_history","href":"/api-reference/request-history/retrieve-api-function-request-history"},{"title":"Search middleware request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/middleware_history/search","href":"/api-reference/request-history/search-middleware-request-history"},{"title":"Retrieve middleware request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/middleware_history","href":"/api-reference/request-history/retrieve-middleware-request-history"},{"title":"Search API request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/request_history/search","href":"/api-reference/request-history/search-api-request-history"},{"title":"Retrieve API request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/request_history","href":"/api-reference/request-history/retrieve-api-request-history"},{"title":"Search task request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/task_history/search","href":"/api-reference/request-history/search-task-request-history"},{"title":"Retrieve task request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/task_history","href":"/api-reference/request-history/retrieve-task-request-history"},{"title":"Search tool request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/tool_history/search","href":"/api-reference/request-history/search-tool-request-history"},{"title":"Retrieve tool request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/tool_history","href":"/api-reference/request-history/retrieve-tool-request-history"},{"title":"Search trigger request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/trigger_history/search","href":"/api-reference/request-history/search-trigger-request-history"},{"title":"Retrieve trigger request history","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/trigger_history","href":"/api-reference/request-history/retrieve-trigger-request-history"}]},{"group":"mcp server trigger","pages":[{"title":"Update MCP server trigger security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/mcp_server/trigger/{trigger_id}/security","href":"/api-reference/mcp-server-trigger/update-mcp-server-trigger-security-settings"},{"title":"Retrieve an MCP server trigger by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/mcp_server/trigger/{trigger_id}","href":"/api-reference/mcp-server-trigger/retrieve-an-mcp-server-trigger-by-id"},{"title":"Update an MCP server trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/mcp_server/trigger/{trigger_id}","href":"/api-reference/mcp-server-trigger/update-an-mcp-server-trigger-using-xanoscript"},{"title":"Delete an MCP server trigger permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/mcp_server/trigger/{trigger_id}","href":"/api-reference/mcp-server-trigger/delete-an-mcp-server-trigger-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all MCP server triggers","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/mcp_server/trigger","href":"/api-reference/mcp-server-trigger/retrieve-all-mcp-server-triggers"},{"title":"Create a new MCP server trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/mcp_server/trigger","href":"/api-reference/mcp-server-trigger/create-a-new-mcp-server-trigger-using-xanoscript"}]},{"group":"middleware","pages":[{"title":"Update middleware security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/middleware/{middleware_id}/security","href":"/api-reference/middleware/update-middleware-security-settings"},{"title":"Retrieve a specific middleware by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/middleware/{middleware_id}","href":"/api-reference/middleware/retrieve-a-specific-middleware-by-id"},{"title":"Update a middleware","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/middleware/{middleware_id}","href":"/api-reference/middleware/update-a-middleware"},{"title":"Delete a middleware permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/middleware/{middleware_id}","href":"/api-reference/middleware/delete-a-middleware-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all middlewares in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/middleware","href":"/api-reference/middleware/retrieve-all-middlewares-in-a-workspace"},{"title":"Create a new middleware using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/middleware","href":"/api-reference/middleware/create-a-new-middleware-using-xanoscript"}]},{"group":"xanoscript","pages":[{"title":"Retrieve XanoScript multidoc","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/multidoc","href":"/api-reference/xanoscript/retrieve-xanoscript-multidoc"},{"title":"Push XanoScript multidoc","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/multidoc","href":"/api-reference/xanoscript/push-xanoscript-multidoc"}]},{"group":"realtime trigger","pages":[{"title":"Update realtime trigger security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/realtime/channel/trigger/{trigger_id}/security","href":"/api-reference/realtime-trigger/update-realtime-trigger-security-settings"},{"title":"Retrieve a realtime trigger by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/realtime/channel/trigger/{trigger_id}","href":"/api-reference/realtime-trigger/retrieve-a-realtime-trigger-by-id"},{"title":"Update realtime trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/realtime/channel/trigger/{trigger_id}","href":"/api-reference/realtime-trigger/update-realtime-trigger-using-xanoscript"},{"title":"Delete a realtime trigger permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/realtime/channel/trigger/{trigger_id}","href":"/api-reference/realtime-trigger/delete-a-realtime-trigger-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all realtime triggers","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/realtime/channel/trigger","href":"/api-reference/realtime-trigger/retrieve-all-realtime-triggers"},{"title":"Create a new realtime trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/realtime/channel/trigger","href":"/api-reference/realtime-trigger/create-a-new-realtime-trigger-using-xanoscript"}]},{"group":"realtime","pages":[{"title":"Retrieve a realtime channel","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/realtime/channel/{channel_id}","href":"/api-reference/realtime/retrieve-a-realtime-channel"},{"title":"Update realtime channel details using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/realtime/channel/{channel_id}","href":"/api-reference/realtime/update-realtime-channel-details-using-xanoscript"},{"title":"Delete a realtime channel permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/realtime/channel/{channel_id}","href":"/api-reference/realtime/delete-a-realtime-channel-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all realtime channels","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/realtime/channel","href":"/api-reference/realtime/retrieve-all-realtime-channels"},{"title":"Create a new realtime channel using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/realtime/channel","href":"/api-reference/realtime/create-a-new-realtime-channel-using-xanoscript"},{"title":"Retrieve real-time operational metrics and connection details","deprecated":true,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/realtime","href":"/api-reference/realtime/retrieve-real-time-operational-metrics-and-connection-details"},{"title":"Update real-time settings and connection configuration","deprecated":true,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/realtime","href":"/api-reference/realtime/update-real-time-settings-and-connection-configuration"}]},{"group":"static host","pages":[{"title":"Update static hosting environment","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/static_host/{static_host}/build/{build_id}/env","href":"/api-reference/static-host/update-static-hosting-environment"},{"title":"Retrieve a specific build for a static host","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/static_host/{static_host}/build/{build_id}","href":"/api-reference/static-host/retrieve-a-specific-build-for-a-static-host"},{"title":"Delete a static host build","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/static_host/{static_host}/build/{build_id}","href":"/api-reference/static-host/delete-a-static-host-build"},{"title":"Retrieve builds for a static host","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/static_host/{static_host}/build","href":"/api-reference/static-host/retrieve-builds-for-a-static-host"},{"title":"Create a static host build","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/static_host/{static_host}/build","href":"/api-reference/static-host/create-a-static-host-build"},{"title":"Retrieve workspace static hosts","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/static_host","href":"/api-reference/static-host/retrieve-workspace-static-hosts"}]},{"group":"table trigger","pages":[{"title":"Update table trigger security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/trigger/{trigger_id}/security","href":"/api-reference/table-trigger/update-table-trigger-security-settings"},{"title":"Retrieve a specific table trigger by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/trigger/{trigger_id}","href":"/api-reference/table-trigger/retrieve-a-specific-table-trigger-by-id"},{"title":"Update table trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/trigger/{trigger_id}","href":"/api-reference/table-trigger/update-table-trigger-using-xanoscript"},{"title":"Delete a table trigger permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/table/trigger/{trigger_id}","href":"/api-reference/table-trigger/delete-a-table-trigger-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all table triggers","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/trigger","href":"/api-reference/table-trigger/retrieve-all-table-triggers"},{"title":"Create a new table trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/trigger","href":"/api-reference/table-trigger/create-a-new-table-trigger-using-xanoscript"}]},{"group":"table","pages":[{"title":"Update table autocomplete settings","deprecated":true,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}/autocomplete","href":"/api-reference/table/update-table-autocomplete-settings"},{"title":"Update table properties","deprecated":true,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}/meta","href":"/api-reference/table/update-table-properties"},{"title":"Configure table security rules","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}/security","href":"/api-reference/table/configure-table-security-rules"},{"title":"Retrieve detailed information for a specific table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/{table_id}","href":"/api-reference/table/retrieve-detailed-information-for-a-specific-table"},{"title":"Update a workspace table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}","href":"/api-reference/table/update-a-workspace-table"},{"title":"Delete a database table and all its data permanently","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/table/{table_id}","href":"/api-reference/table/delete-a-database-table-and-all-its-data-permanently"},{"title":"Retrieve all tables in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table","href":"/api-reference/table/retrieve-all-tables-in-a-workspace"},{"title":"Create a new database table with optional schema definition","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table","href":"/api-reference/table/create-a-new-database-table-with-optional-schema-definition"}]},{"group":"table / content","pages":[{"title":"Delete multiple records by their IDs in a single operation","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content/bulk/delete","href":"/api-reference/table-content/delete-multiple-records-by-their-ids-in-a-single-operation"},{"title":"Update multiple records in a single batch operation","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content/bulk/patch","href":"/api-reference/table-content/update-multiple-records-in-a-single-batch-operation"},{"title":"Create multiple records in a single batch operation","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content/bulk","href":"/api-reference/table-content/create-multiple-records-in-a-single-batch-operation"},{"title":"Delete all records matching specified search criteria","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content/search/delete","href":"/api-reference/table-content/delete-all-records-matching-specified-search-criteria"},{"title":"Update all records matching specified search criteria","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content/search/patch","href":"/api-reference/table-content/update-all-records-matching-specified-search-criteria"},{"title":"Search table records","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content/search","href":"/api-reference/table-content/search-table-records"},{"title":"Retrieve a specific record by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/{table_id}/content/{content_id}","href":"/api-reference/table-content/retrieve-a-specific-record-by-id"},{"title":"Update a specific record by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}/content/{content_id}","href":"/api-reference/table-content/update-a-specific-record-by-id"},{"title":"Delete a specific record by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/table/{table_id}/content/{content_id}","href":"/api-reference/table-content/delete-a-specific-record-by-id"},{"title":"Retrieve paginated records from a table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/{table_id}/content","href":"/api-reference/table-content/retrieve-paginated-records-from-a-table"},{"title":"Create a new record in the table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/content","href":"/api-reference/table-content/create-a-new-record-in-the-table"},{"title":"Truncate a database table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/table/{table_id}/truncate","href":"/api-reference/table-content/truncate-a-database-table"}]},{"group":"table / index","pages":[{"title":"Create a btree index on table columns","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/index/btree","href":"/api-reference/table-index/create-a-btree-index-on-table-columns"},{"title":"Create a full-text search index on table columns","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/index/search","href":"/api-reference/table-index/create-a-full-text-search-index-on-table-columns"},{"title":"Create a spatial index on a table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/index/spatial","href":"/api-reference/table-index/create-a-spatial-index-on-a-table"},{"title":"Create a unique index on table columns","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/index/unique","href":"/api-reference/table-index/create-a-unique-index-on-table-columns"},{"title":"Create a vector index on a table column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/index/vector","href":"/api-reference/table-index/create-a-vector-index-on-a-table-column"},{"title":"Delete a specific table index. This action cannot be undone.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/table/{table_id}/index/{index_id}","href":"/api-reference/table-index/delete-a-specific-table-index-this-action-cannot-be-undone"},{"title":"Retrieve all indexes for a database table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/{table_id}/index","href":"/api-reference/table-index/retrieve-all-indexes-for-a-database-table"},{"title":"Replace all indexes for a database table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}/index","href":"/api-reference/table-index/replace-all-indexes-for-a-database-table"}]},{"group":"table / schema","pages":[{"title":"Rename a column in a table's schema","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/rename","href":"/api-reference/table-schema/rename-a-column-in-a-tables-schema"},{"title":"Retrieve details for a specific column in a table's schema","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/{table_id}/schema/{schema_name}","href":"/api-reference/table-schema/retrieve-details-for-a-specific-column-in-a-tables-schema"},{"title":"Delete a column from a table's schema. This action cannot be undone.","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/table/{table_id}/schema/{schema_name}","href":"/api-reference/table-schema/delete-a-column-from-a-tables-schema-this-action-cannot-be-undone"},{"title":"Retrieve the complete schema definition for a database table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/table/{table_id}/schema","href":"/api-reference/table-schema/retrieve-the-complete-schema-definition-for-a-database-table"},{"title":"Replace the entire schema definition for a database table","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/table/{table_id}/schema","href":"/api-reference/table-schema/replace-the-entire-schema-definition-for-a-database-table"}]},{"group":"table / schema / type","pages":[{"title":"Create an attachment column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/attachment","href":"/api-reference/table-schema-type/create-an-attachment-column"},{"title":"Create an audio column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/audio","href":"/api-reference/table-schema-type/create-an-audio-column"},{"title":"Create a boolean column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/bool","href":"/api-reference/table-schema-type/create-a-boolean-column"},{"title":"Create a date column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/date","href":"/api-reference/table-schema-type/create-a-date-column"},{"title":"Create a decimal column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/decimal","href":"/api-reference/table-schema-type/create-a-decimal-column"},{"title":"Create an email column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/email","href":"/api-reference/table-schema-type/create-an-email-column"},{"title":"Create an enum column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/enum","href":"/api-reference/table-schema-type/create-an-enum-column"},{"title":"Create a geographic linestring column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/geo_linestring","href":"/api-reference/table-schema-type/create-a-geographic-linestring-column"},{"title":"Create a geographic multilinestring column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/geo_multilinestring","href":"/api-reference/table-schema-type/create-a-geographic-multilinestring-column"},{"title":"Create a geographic multipoint column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/geo_multipoint","href":"/api-reference/table-schema-type/create-a-geographic-multipoint-column"},{"title":"Create a geographic multipolygon column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/geo_multipolygon","href":"/api-reference/table-schema-type/create-a-geographic-multipolygon-column"},{"title":"Create a geographic point column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/geo_point","href":"/api-reference/table-schema-type/create-a-geographic-point-column"},{"title":"Create a geographic polygon column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/geo_polygon","href":"/api-reference/table-schema-type/create-a-geographic-polygon-column"},{"title":"Create an image column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/image","href":"/api-reference/table-schema-type/create-an-image-column"},{"title":"Create an integer column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/int","href":"/api-reference/table-schema-type/create-an-integer-column"},{"title":"Create a JSON column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/json","href":"/api-reference/table-schema-type/create-a-json-column"},{"title":"Create an object column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/object","href":"/api-reference/table-schema-type/create-an-object-column"},{"title":"Create a password column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/password","href":"/api-reference/table-schema-type/create-a-password-column"},{"title":"Create a UUID-based table reference column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/tablerefuuid","href":"/api-reference/table-schema-type/create-a-uuid-based-table-reference-column"},{"title":"Create a table reference column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/tableref","href":"/api-reference/table-schema-type/create-a-table-reference-column"},{"title":"Create a text column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/text","href":"/api-reference/table-schema-type/create-a-text-column"},{"title":"Create a timestamp column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/timestamp","href":"/api-reference/table-schema-type/create-a-timestamp-column"},{"title":"Create a UUID column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/uuid","href":"/api-reference/table-schema-type/create-a-uuid-column"},{"title":"Create a vector column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/vector","href":"/api-reference/table-schema-type/create-a-vector-column"},{"title":"Create a video column","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/table/{table_id}/schema/type/video","href":"/api-reference/table-schema-type/create-a-video-column"}]},{"group":"task","pages":[{"title":"Update scheduled task security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/task/{task_id}/security","href":"/api-reference/task/update-scheduled-task-security-settings"},{"title":"Retrieve a specific scheduled task by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/task/{task_id}","href":"/api-reference/task/retrieve-a-specific-scheduled-task-by-id"},{"title":"Update a scheduled task","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/task/{task_id}","href":"/api-reference/task/update-a-scheduled-task"},{"title":"Delete a scheduled task permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/task/{task_id}","href":"/api-reference/task/delete-a-scheduled-task-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all scheduled tasks in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/task","href":"/api-reference/task/retrieve-all-scheduled-tasks-in-a-workspace"},{"title":"Create a new scheduled task using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/task","href":"/api-reference/task/create-a-new-scheduled-task-using-xanoscript"}]},{"group":"tool","pages":[{"title":"Update tool security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/tool/{tool_id}/security","href":"/api-reference/tool/update-tool-security-settings"},{"title":"Retrieve a specific tool by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/tool/{tool_id}","href":"/api-reference/tool/retrieve-a-specific-tool-by-id"},{"title":"Update a tool","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/tool/{tool_id}","href":"/api-reference/tool/update-a-tool"},{"title":"Delete a tool permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/tool/{tool_id}","href":"/api-reference/tool/delete-a-tool-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all tools in a workspace","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/tool","href":"/api-reference/tool/retrieve-all-tools-in-a-workspace"},{"title":"Create a new tool using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/tool","href":"/api-reference/tool/create-a-new-tool-using-xanoscript"}]},{"group":"workspace trigger","pages":[{"title":"Update workspace trigger security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/trigger/{trigger_id}/security","href":"/api-reference/workspace-trigger/update-workspace-trigger-security-settings"},{"title":"Retrieve a specific workspace trigger by ID","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/trigger/{trigger_id}","href":"/api-reference/workspace-trigger/retrieve-a-specific-workspace-trigger-by-id"},{"title":"Update a workspace trigger","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/trigger/{trigger_id}","href":"/api-reference/workspace-trigger/update-a-workspace-trigger"},{"title":"Delete a workspace trigger permanently. This action cannot be undone","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/trigger/{trigger_id}","href":"/api-reference/workspace-trigger/delete-a-workspace-trigger-permanently-this-action-cannot-be-undone"},{"title":"Retrieve all workspace triggers","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/trigger","href":"/api-reference/workspace-trigger/retrieve-all-workspace-triggers"},{"title":"Create a new workspace trigger using XanoScript","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/trigger","href":"/api-reference/workspace-trigger/create-a-new-workspace-trigger-using-xanoscript"}]},{"group":"workflow_test","pages":[{"title":"Update workflow test security settings","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/workflow_test/{workflow_test_id}/security","href":"/api-reference/workflow_test/update-workflow-test-security-settings"},{"title":"Retrieve a workflow test","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/workflow_test/{workflow_test_id}","href":"/api-reference/workflow_test/retrieve-a-workflow-test"},{"title":"Update a workflow test","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json put /workspace/{workspace_id}/workflow_test/{workflow_test_id}","href":"/api-reference/workflow_test/update-a-workflow-test"},{"title":"Delete a workflow test","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json delete /workspace/{workspace_id}/workflow_test/{workflow_test_id}","href":"/api-reference/workflow_test/delete-a-workflow-test"},{"title":"Retrieve all workflow tests","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json get /workspace/{workspace_id}/workflow_test","href":"/api-reference/workflow_test/retrieve-all-workflow-tests"},{"title":"Add a workflow test","deprecated":null,"version":null,"openapi":"/apispec_meta_instance.json post /workspace/{workspace_id}/workflow_test","href":"/api-reference/workflow_test/add-a-workflow-test"}]}]}]},"title":"Getting Started Shortcuts - Xano Documentation","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["07c022d89b","a74be98ba7","a9bb46feb3"],"chunks":["Frame-D1UCVuPB.js","DynamicMarkdown-Crwq6WG_.js","zoom-image-lightbox-CFBqa0On.js","lightbox-handle-r17bVUz3.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}