[{"data":1,"prerenderedAt":1381},["ShallowReactive",2],{"navigation":3,"\u002Fworkflows\u002Ftriggers\u002Fmanual":773,"\u002Fworkflows\u002Ftriggers\u002Fmanual-surround":1376},[4,28,63,85,103,112,269,355,453,485,506,542,576,594,647,669,693,721,747],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","\u002Fgetting-started","01.getting-started\u002F01.index",[9,11,15,19,23],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Installation","\u002Fgetting-started\u002Finstallation","01.getting-started\u002F02.installation",{"title":16,"path":17,"stem":18},"Quickstart with AI","\u002Fgetting-started\u002Fquickstart-with-ai","01.getting-started\u002F03.quickstart-with-ai",{"title":20,"path":21,"stem":22},"Quickstart by Hand","\u002Fgetting-started\u002Fquickstart-by-hand","01.getting-started\u002F04.quickstart-by-hand",{"title":24,"path":25,"stem":26},"The Admin","\u002Fgetting-started\u002Fadmin-tour","01.getting-started\u002F05.admin-tour","i-lucide-rocket",{"title":29,"icon":30,"path":31,"stem":32,"children":33,"page":62},"Concepts","i-lucide-lightbulb","\u002Fconcepts","02.concepts",[34,38,42,46,50,54,58],{"title":35,"path":36,"stem":37},"PostgreSQL First","\u002Fconcepts\u002Fpostgresql-first","02.concepts\u002F01.postgresql-first",{"title":39,"path":40,"stem":41},"Resources","\u002Fconcepts\u002Fresources","02.concepts\u002F02.resources",{"title":43,"path":44,"stem":45},"Users and Roles","\u002Fconcepts\u002Fusers-and-roles","02.concepts\u002F03.users-and-roles",{"title":47,"path":48,"stem":49},"Permissions","\u002Fconcepts\u002Fpermissions","02.concepts\u002F04.permissions",{"title":51,"path":52,"stem":53},"Drafts and Publishing","\u002Fconcepts\u002Fdrafts-and-publishing","02.concepts\u002F05.drafts-and-publishing",{"title":55,"path":56,"stem":57},"Audit and Events","\u002Fconcepts\u002Faudit-and-events","02.concepts\u002F06.audit-and-events",{"title":59,"path":60,"stem":61},"Object Access","\u002Fconcepts\u002Fobject-access","02.concepts\u002F07.object-access",false,{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":62},"App","i-lucide-app-window","\u002Fapp","03.app",[69,73,77,81],{"title":70,"path":71,"stem":72},"The App","\u002Fapp\u002Foverview","03.app\u002F01.overview",{"title":74,"path":75,"stem":76},"DataViews","\u002Fapp\u002Fdataviews","03.app\u002F02.dataviews",{"title":78,"path":79,"stem":80},"Dashboards","\u002Fapp\u002Fdashboards","03.app\u002F03.dashboards",{"title":82,"path":83,"stem":84},"Arrange menu","\u002Fapp\u002Farrange-menu","03.app\u002F04.arrange-menu",{"title":86,"icon":87,"path":88,"stem":89,"children":90,"page":62},"Database","i-lucide-database","\u002Fdatabase","04.database",[91,95,99],{"title":92,"path":93,"stem":94},"Tables","\u002Fdatabase\u002Ftables","04.database\u002F01.tables",{"title":96,"path":97,"stem":98},"Views","\u002Fdatabase\u002Fviews","04.database\u002F02.views",{"title":100,"path":101,"stem":102},"Functions","\u002Fdatabase\u002Ffunctions","04.database\u002F03.functions",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":62},"SQL Console","i-lucide-square-terminal","\u002Fsql-console","05.sql-console",[109],{"title":104,"path":110,"stem":111},"\u002Fsql-console\u002Foverview","05.sql-console\u002F01.overview",{"title":74,"icon":113,"path":114,"stem":115,"children":116,"page":62},"i-lucide-layout-list","\u002Fdataviews","06.dataviews",[117,121,125,129,183,214],{"title":118,"path":119,"stem":120},"Overview","\u002Fdataviews\u002Foverview","06.dataviews\u002F01.overview",{"title":122,"path":123,"stem":124},"Creating a DataView","\u002Fdataviews\u002Fcreating","06.dataviews\u002F02.creating",{"title":126,"path":127,"stem":128},"Publishing","\u002Fdataviews\u002Fpublishing","06.dataviews\u002F03.publishing",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":62},"Types","i-lucide-shapes","\u002Fdataviews\u002Ftypes","06.dataviews\u002F04.types",[135,139,143,147,151,155,159,163,167,171,175,179],{"title":136,"path":137,"stem":138},"Table","\u002Fdataviews\u002Ftypes\u002Ftable","06.dataviews\u002F04.types\u002F01.table",{"title":140,"path":141,"stem":142},"Cards","\u002Fdataviews\u002Ftypes\u002Fcards","06.dataviews\u002F04.types\u002F02.cards",{"title":144,"path":145,"stem":146},"Kanban","\u002Fdataviews\u002Ftypes\u002Fkanban","06.dataviews\u002F04.types\u002F03.kanban",{"title":148,"path":149,"stem":150},"Calendar","\u002Fdataviews\u002Ftypes\u002Fcalendar","06.dataviews\u002F04.types\u002F04.calendar",{"title":152,"path":153,"stem":154},"Gantt","\u002Fdataviews\u002Ftypes\u002Fgantt","06.dataviews\u002F04.types\u002F05.gantt",{"title":156,"path":157,"stem":158},"Map","\u002Fdataviews\u002Ftypes\u002Fmap","06.dataviews\u002F04.types\u002F06.map",{"title":160,"path":161,"stem":162},"Tree","\u002Fdataviews\u002Ftypes\u002Ftree","06.dataviews\u002F04.types\u002F07.tree",{"title":164,"path":165,"stem":166},"Form","\u002Fdataviews\u002Ftypes\u002Fform","06.dataviews\u002F04.types\u002F08.form",{"title":168,"path":169,"stem":170},"Master-detail","\u002Fdataviews\u002Ftypes\u002Fmaster-detail","06.dataviews\u002F04.types\u002F09.master-detail",{"title":172,"path":173,"stem":174},"Settings","\u002Fdataviews\u002Ftypes\u002Fsettings","06.dataviews\u002F04.types\u002F10.settings",{"title":176,"path":177,"stem":178},"Custom","\u002Fdataviews\u002Ftypes\u002Fcustom","06.dataviews\u002F04.types\u002F11.custom",{"title":180,"path":181,"stem":182},"External Frame","\u002Fdataviews\u002Ftypes\u002Fexternal-frame","06.dataviews\u002F04.types\u002F12.external-frame",{"title":172,"icon":184,"path":185,"stem":186,"children":187,"page":62},"i-lucide-settings-2","\u002Fdataviews\u002Fsettings","06.dataviews\u002F05.settings",[188,192,196,199,202,206,210],{"title":189,"path":190,"stem":191},"General","\u002Fdataviews\u002Fsettings\u002Fgeneral","06.dataviews\u002F05.settings\u002F01.general",{"title":193,"path":194,"stem":195},"Data","\u002Fdataviews\u002Fsettings\u002Fdata","06.dataviews\u002F05.settings\u002F02.data",{"title":96,"path":197,"stem":198},"\u002Fdataviews\u002Fsettings\u002Fviews","06.dataviews\u002F05.settings\u002F03.views",{"title":164,"path":200,"stem":201},"\u002Fdataviews\u002Fsettings\u002Fform","06.dataviews\u002F05.settings\u002F04.form",{"title":203,"path":204,"stem":205},"Actions","\u002Fdataviews\u002Fsettings\u002Factions","06.dataviews\u002F05.settings\u002F05.actions",{"title":207,"path":208,"stem":209},"Security","\u002Fdataviews\u002Fsettings\u002Fsecurity","06.dataviews\u002F05.settings\u002F06.security",{"title":211,"path":212,"stem":213},"Versions","\u002Fdataviews\u002Fsettings\u002Fversions","06.dataviews\u002F05.settings\u002F07.versions",{"title":215,"icon":216,"path":217,"stem":218,"children":219,"page":62},"Design Form","i-lucide-pencil-ruler","\u002Fdataviews\u002Fdesign-form","06.dataviews\u002F06.design-form",[220,223,257,261,265],{"title":118,"path":221,"stem":222},"\u002Fdataviews\u002Fdesign-form\u002Foverview","06.dataviews\u002F06.design-form\u002F01.overview",{"title":224,"icon":131,"path":225,"stem":226,"children":227,"page":62},"Widgets","\u002Fdataviews\u002Fdesign-form\u002Fwidgets","06.dataviews\u002F06.design-form\u002F02.widgets",[228,231,234,238,242,246,250,254],{"title":224,"path":229,"stem":230},"\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Foverview","06.dataviews\u002F06.design-form\u002F02.widgets\u002F01.overview",{"title":164,"path":232,"stem":233},"\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Fform","06.dataviews\u002F06.design-form\u002F02.widgets\u002F02.form",{"title":235,"path":236,"stem":237},"Inputs","\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Finputs","06.dataviews\u002F06.design-form\u002F02.widgets\u002F03.inputs",{"title":239,"path":240,"stem":241},"Display","\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Fdisplay","06.dataviews\u002F06.design-form\u002F02.widgets\u002F04.display",{"title":243,"path":244,"stem":245},"Embeds","\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Fembeds","06.dataviews\u002F06.design-form\u002F02.widgets\u002F05.embeds",{"title":247,"path":248,"stem":249},"Layout","\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Flayout","06.dataviews\u002F06.design-form\u002F02.widgets\u002F06.layout",{"title":251,"path":252,"stem":253},"Overlays","\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Foverlays","06.dataviews\u002F06.design-form\u002F02.widgets\u002F07.overlays",{"title":203,"path":255,"stem":256},"\u002Fdataviews\u002Fdesign-form\u002Fwidgets\u002Factions","06.dataviews\u002F06.design-form\u002F02.widgets\u002F08.actions",{"title":258,"path":259,"stem":260},"Variables","\u002Fdataviews\u002Fdesign-form\u002Fvariables","06.dataviews\u002F06.design-form\u002F03.variables",{"title":262,"path":263,"stem":264},"Code","\u002Fdataviews\u002Fdesign-form\u002Fcode","06.dataviews\u002F06.design-form\u002F04.code",{"title":266,"path":267,"stem":268},"Formulas","\u002Fdataviews\u002Fdesign-form\u002Fformulas","06.dataviews\u002F06.design-form\u002F05.formulas",{"title":78,"icon":270,"path":271,"stem":272,"children":273,"page":62},"i-lucide-layout-dashboard","\u002Fdashboards","07.dashboards",[274,277,281,285,332],{"title":118,"path":275,"stem":276},"\u002Fdashboards\u002Foverview","07.dashboards\u002F01.overview",{"title":278,"path":279,"stem":280},"Creating a Dashboard","\u002Fdashboards\u002Fcreating","07.dashboards\u002F02.creating",{"title":282,"path":283,"stem":284},"Editor","\u002Fdashboards\u002Feditor","07.dashboards\u002F03.editor",{"title":224,"icon":286,"path":287,"stem":288,"children":289,"page":62},"i-lucide-chart-bar","\u002Fdashboards\u002Fwidgets","07.dashboards\u002F04.widgets",[290,293,297,301,305,309,313,317,321,324,328],{"title":224,"path":291,"stem":292},"\u002Fdashboards\u002Fwidgets\u002Foverview","07.dashboards\u002F04.widgets\u002F01.overview",{"title":294,"path":295,"stem":296},"Editing a Widget","\u002Fdashboards\u002Fwidgets\u002Fediting-a-widget","07.dashboards\u002F04.widgets\u002F02.editing-a-widget",{"title":298,"path":299,"stem":300},"Indicators","\u002Fdashboards\u002Fwidgets\u002Findicators","07.dashboards\u002F04.widgets\u002F03.indicators",{"title":302,"path":303,"stem":304},"Comparison","\u002Fdashboards\u002Fwidgets\u002Fcomparison","07.dashboards\u002F04.widgets\u002F04.comparison",{"title":306,"path":307,"stem":308},"Trend","\u002Fdashboards\u002Fwidgets\u002Ftrend","07.dashboards\u002F04.widgets\u002F05.trend",{"title":310,"path":311,"stem":312},"Proportion","\u002Fdashboards\u002Fwidgets\u002Fproportion","07.dashboards\u002F04.widgets\u002F06.proportion",{"title":314,"path":315,"stem":316},"Distribution and Relation","\u002Fdashboards\u002Fwidgets\u002Fdistribution-and-relation","07.dashboards\u002F04.widgets\u002F07.distribution-and-relation",{"title":318,"path":319,"stem":320},"Maps","\u002Fdashboards\u002Fwidgets\u002Fmaps","07.dashboards\u002F04.widgets\u002F08.maps",{"title":92,"path":322,"stem":323},"\u002Fdashboards\u002Fwidgets\u002Ftables","07.dashboards\u002F04.widgets\u002F09.tables",{"title":325,"path":326,"stem":327},"Visualization and Insertion","\u002Fdashboards\u002Fwidgets\u002Fvisualization-and-insertion","07.dashboards\u002F04.widgets\u002F10.visualization-and-insertion",{"title":329,"path":330,"stem":331},"SQL Conventions","\u002Fdashboards\u002Fwidgets\u002Fsql-conventions","07.dashboards\u002F04.widgets\u002F11.sql-conventions",{"title":172,"icon":184,"path":333,"stem":334,"children":335,"page":62},"\u002Fdashboards\u002Fsettings","07.dashboards\u002F05.settings",[336,339,342,345,349,352],{"title":189,"path":337,"stem":338},"\u002Fdashboards\u002Fsettings\u002Fgeneral","07.dashboards\u002F05.settings\u002F01.general",{"title":258,"path":340,"stem":341},"\u002Fdashboards\u002Fsettings\u002Fvariables","07.dashboards\u002F05.settings\u002F02.variables",{"title":193,"path":343,"stem":344},"\u002Fdashboards\u002Fsettings\u002Fdata","07.dashboards\u002F05.settings\u002F03.data",{"title":346,"path":347,"stem":348},"Share","\u002Fdashboards\u002Fsettings\u002Fshare","07.dashboards\u002F05.settings\u002F04.share",{"title":207,"path":350,"stem":351},"\u002Fdashboards\u002Fsettings\u002Fsecurity","07.dashboards\u002F05.settings\u002F05.security",{"title":211,"path":353,"stem":354},"\u002Fdashboards\u002Fsettings\u002Fversions","07.dashboards\u002F05.settings\u002F06.versions",{"title":356,"icon":357,"path":358,"stem":359,"children":360,"page":62},"Workflows","i-lucide-workflow","\u002Fworkflows","08.workflows",[361,364,368,371,393,432],{"title":118,"path":362,"stem":363},"\u002Fworkflows\u002Foverview","08.workflows\u002F01.overview",{"title":365,"path":366,"stem":367},"Creating a Workflow","\u002Fworkflows\u002Fcreating","08.workflows\u002F02.creating",{"title":282,"path":369,"stem":370},"\u002Fworkflows\u002Feditor","08.workflows\u002F03.editor",{"title":372,"icon":373,"path":374,"stem":375,"children":376,"page":62},"Triggers","i-lucide-zap","\u002Fworkflows\u002Ftriggers","08.workflows\u002F04.triggers",[377,381,385,389],{"title":378,"path":379,"stem":380},"Manual","\u002Fworkflows\u002Ftriggers\u002Fmanual","08.workflows\u002F04.triggers\u002F01.manual",{"title":382,"path":383,"stem":384},"Database Event","\u002Fworkflows\u002Ftriggers\u002Fdatabase-event","08.workflows\u002F04.triggers\u002F02.database-event",{"title":386,"path":387,"stem":388},"Schedule","\u002Fworkflows\u002Ftriggers\u002Fschedule","08.workflows\u002F04.triggers\u002F03.schedule",{"title":390,"path":391,"stem":392},"Webhook","\u002Fworkflows\u002Ftriggers\u002Fwebhook","08.workflows\u002F04.triggers\u002F04.webhook",{"title":394,"icon":357,"path":395,"stem":396,"children":397,"page":62},"Steps","\u002Fworkflows\u002Fsteps","08.workflows\u002F05.steps",[398,401,405,408,412,416,420,424,428],{"title":193,"path":399,"stem":400},"\u002Fworkflows\u002Fsteps\u002Fdata","08.workflows\u002F05.steps\u002F01.data",{"title":402,"path":403,"stem":404},"Control","\u002Fworkflows\u002Fsteps\u002Fcontrol","08.workflows\u002F05.steps\u002F02.control",{"title":262,"path":406,"stem":407},"\u002Fworkflows\u002Fsteps\u002Fcode","08.workflows\u002F05.steps\u002F03.code",{"title":409,"path":410,"stem":411},"Integration","\u002Fworkflows\u002Fsteps\u002Fintegration","08.workflows\u002F05.steps\u002F04.integration",{"title":413,"path":414,"stem":415},"Communication","\u002Fworkflows\u002Fsteps\u002Fcommunication","08.workflows\u002F05.steps\u002F05.communication",{"title":417,"path":418,"stem":419},"Files","\u002Fworkflows\u002Fsteps\u002Ffiles","08.workflows\u002F05.steps\u002F06.files",{"title":421,"path":422,"stem":423},"Documents","\u002Fworkflows\u002Fsteps\u002Fdocuments","08.workflows\u002F05.steps\u002F07.documents",{"title":425,"path":426,"stem":427},"Composition","\u002Fworkflows\u002Fsteps\u002Fcomposition","08.workflows\u002F05.steps\u002F08.composition",{"title":429,"path":430,"stem":431},"Values","\u002Fworkflows\u002Fsteps\u002Fvalues","08.workflows\u002F05.steps\u002F09.values",{"title":172,"icon":184,"path":433,"stem":434,"children":435,"page":62},"\u002Fworkflows\u002Fsettings","08.workflows\u002F06.settings",[436,439,443,446,449],{"title":189,"path":437,"stem":438},"\u002Fworkflows\u002Fsettings\u002Fgeneral","08.workflows\u002F06.settings\u002F01.general",{"title":440,"path":441,"stem":442},"Trigger","\u002Fworkflows\u002Fsettings\u002Ftrigger","08.workflows\u002F06.settings\u002F02.trigger",{"title":207,"path":444,"stem":445},"\u002Fworkflows\u002Fsettings\u002Fsecurity","08.workflows\u002F06.settings\u002F03.security",{"title":211,"path":447,"stem":448},"\u002Fworkflows\u002Fsettings\u002Fversions","08.workflows\u002F06.settings\u002F04.versions",{"title":450,"path":451,"stem":452},"Runs","\u002Fworkflows\u002Fsettings\u002Fruns","08.workflows\u002F06.settings\u002F05.runs",{"title":417,"icon":454,"path":455,"stem":456,"children":457,"page":62},"i-lucide-files","\u002Ffiles","09.files",[458,461,465,469,473,477,481],{"title":118,"path":459,"stem":460},"\u002Ffiles\u002Foverview","09.files\u002F01.overview",{"title":462,"path":463,"stem":464},"Uploading","\u002Ffiles\u002Fuploading","09.files\u002F02.uploading",{"title":466,"path":467,"stem":468},"File Details","\u002Ffiles\u002Ffile-details","09.files\u002F03.file-details",{"title":470,"path":471,"stem":472},"Editing Files","\u002Ffiles\u002Fediting-files","09.files\u002F04.editing-files",{"title":474,"path":475,"stem":476},"Using Files in Tables","\u002Ffiles\u002Fusing-files-in-tables","09.files\u002F05.using-files-in-tables",{"title":478,"path":479,"stem":480},"Image Transformations","\u002Ffiles\u002Fimage-transformations","09.files\u002F06.image-transformations",{"title":482,"path":483,"stem":484},"Who Can See a File","\u002Ffiles\u002Fwho-can-see-a-file","09.files\u002F07.who-can-see-a-file",{"title":486,"icon":487,"path":488,"stem":489,"children":490,"page":62},"Templates","i-lucide-file-text","\u002Ftemplates","10.templates",[491,494,498,502],{"title":118,"path":492,"stem":493},"\u002Ftemplates\u002Foverview","10.templates\u002F01.overview",{"title":495,"path":496,"stem":497},"Emails","\u002Ftemplates\u002Femails","10.templates\u002F02.emails",{"title":499,"path":500,"stem":501},"PDF","\u002Ftemplates\u002Fpdf","10.templates\u002F03.pdf",{"title":503,"path":504,"stem":505},"System Emails","\u002Ftemplates\u002Fsystem-emails","10.templates\u002F04.system-emails",{"title":507,"icon":508,"path":509,"stem":510,"children":511,"page":62},"Users","i-lucide-users","\u002Fusers","11.users",[512,516,520,524,528],{"title":513,"path":514,"stem":515},"Managing Users","\u002Fusers\u002Fmanaging-users","11.users\u002F01.managing-users",{"title":517,"path":518,"stem":519},"A User's Page","\u002Fusers\u002Fa-users-page","11.users\u002F02.a-users-page",{"title":521,"path":522,"stem":523},"API Tokens","\u002Fusers\u002Fapi-tokens","11.users\u002F03.api-tokens",{"title":525,"path":526,"stem":527},"Sessions","\u002Fusers\u002Fsessions","11.users\u002F04.sessions",{"title":529,"icon":530,"path":531,"stem":532,"children":533,"page":62},"Insights","i-lucide-chart-line","\u002Fusers\u002Finsights","11.users\u002F05.insights",[534,538],{"title":535,"path":536,"stem":537},"Sign-ins","\u002Fusers\u002Finsights\u002Fsign-ins","11.users\u002F05.insights\u002F01.sign-ins",{"title":539,"path":540,"stem":541},"Activity","\u002Fusers\u002Finsights\u002Factivity","11.users\u002F05.insights\u002F02.activity",{"title":543,"icon":544,"path":545,"stem":546,"children":547,"page":62},"Roles","i-lucide-shield-check","\u002Froles","12.roles",[548,552,556,560,564,568,572],{"title":549,"path":550,"stem":551},"Creating a Role","\u002Froles\u002Fcreating-a-role","12.roles\u002F01.creating-a-role",{"title":553,"path":554,"stem":555},"Granting Permissions","\u002Froles\u002Fgranting-permissions","12.roles\u002F02.granting-permissions",{"title":557,"path":558,"stem":559},"Row Filters","\u002Froles\u002Frow-filters","12.roles\u002F03.row-filters",{"title":561,"path":562,"stem":563},"Payload Checks","\u002Froles\u002Fpayload-checks","12.roles\u002F04.payload-checks",{"title":565,"path":566,"stem":567},"Members","\u002Froles\u002Fmembers","12.roles\u002F05.members",{"title":569,"path":570,"stem":571},"Access Reviews","\u002Froles\u002Faccess-reviews","12.roles\u002F06.access-reviews",{"title":573,"path":574,"stem":575},"Delegated Administration","\u002Froles\u002Fdelegated-administration","12.roles\u002F07.delegated-administration",{"title":577,"icon":578,"path":579,"stem":580,"children":581,"page":62},"Logs","i-lucide-scroll-text","\u002Flogs","13.logs",[582,586,590],{"title":583,"path":584,"stem":585},"Audit Log","\u002Flogs\u002Faudit-log","13.logs\u002F01.audit-log",{"title":587,"path":588,"stem":589},"An Entry","\u002Flogs\u002Fan-entry","13.logs\u002F02.an-entry",{"title":591,"path":592,"stem":593},"Where Else It Shows","\u002Flogs\u002Fwhere-else-it-shows","13.logs\u002F03.where-else-it-shows",{"title":595,"icon":596,"path":597,"stem":598,"children":599,"page":62},"Data API","i-lucide-braces","\u002Fdata-api","14.data-api",[600,603,607,611,615,619,623,627,631,635,639,643],{"title":118,"path":601,"stem":602},"\u002Fdata-api\u002Foverview","14.data-api\u002F01.overview",{"title":604,"path":605,"stem":606},"Authentication","\u002Fdata-api\u002Fauthentication","14.data-api\u002F02.authentication",{"title":608,"path":609,"stem":610},"Reading","\u002Fdata-api\u002Freading","14.data-api\u002F03.reading",{"title":612,"path":613,"stem":614},"Filtering","\u002Fdata-api\u002Ffiltering","14.data-api\u002F04.filtering",{"title":616,"path":617,"stem":618},"Aggregating","\u002Fdata-api\u002Faggregating","14.data-api\u002F05.aggregating",{"title":620,"path":621,"stem":622},"Writing","\u002Fdata-api\u002Fwriting","14.data-api\u002F06.writing",{"title":624,"path":625,"stem":626},"Nested Writes","\u002Fdata-api\u002Fnested-writes","14.data-api\u002F07.nested-writes",{"title":628,"path":629,"stem":630},"Transactions","\u002Fdata-api\u002Ftransactions","14.data-api\u002F08.transactions",{"title":632,"path":633,"stem":634},"Calling Functions","\u002Fdata-api\u002Fcalling-functions","14.data-api\u002F09.calling-functions",{"title":636,"path":637,"stem":638},"OpenAPI","\u002Fdata-api\u002Fopenapi","14.data-api\u002F10.openapi",{"title":640,"path":641,"stem":642},"Routes","\u002Fdata-api\u002Froutes","14.data-api\u002F11.routes",{"title":644,"path":645,"stem":646},"A client, end to end","\u002Fdata-api\u002Fa-client","14.data-api\u002F12.a-client",{"title":172,"icon":648,"path":649,"stem":650,"children":651,"page":62},"i-lucide-settings","\u002Fsettings","15.settings",[652,655,659,662,665],{"title":189,"path":653,"stem":654},"\u002Fsettings\u002Fgeneral","15.settings\u002F01.general",{"title":656,"path":657,"stem":658},"Access","\u002Fsettings\u002Faccess","15.settings\u002F02.access",{"title":207,"path":660,"stem":661},"\u002Fsettings\u002Fsecurity","15.settings\u002F03.security",{"title":595,"path":663,"stem":664},"\u002Fsettings\u002Fdata-api","15.settings\u002F04.data-api",{"title":666,"path":667,"stem":668},"Features","\u002Fsettings\u002Ffeatures","15.settings\u002F05.features",{"title":670,"icon":671,"path":672,"stem":673,"children":674,"page":62},"User Profile","i-lucide-circle-user","\u002Fuser-profile","16.user-profile",[675,679,682,686,690],{"title":676,"path":677,"stem":678},"My Account","\u002Fuser-profile\u002Fmy-account","16.user-profile\u002F01.my-account",{"title":525,"path":680,"stem":681},"\u002Fuser-profile\u002Fsessions","16.user-profile\u002F02.sessions",{"title":683,"path":684,"stem":685},"Tokens","\u002Fuser-profile\u002Ftokens","16.user-profile\u002F03.tokens",{"title":687,"path":688,"stem":689},"Preferences","\u002Fuser-profile\u002Fpreferences","16.user-profile\u002F04.preferences",{"title":539,"path":691,"stem":692},"\u002Fuser-profile\u002Factivity","16.user-profile\u002F05.activity",{"title":694,"icon":695,"path":696,"stem":697,"children":698,"page":62},"AI Agents","i-lucide-bot","\u002Fai-agents","17.ai-agents",[699,702,705,709,713,717],{"title":118,"path":700,"stem":701},"\u002Fai-agents\u002Foverview","17.ai-agents\u002F01.overview",{"title":683,"path":703,"stem":704},"\u002Fai-agents\u002Ftokens","17.ai-agents\u002F02.tokens",{"title":706,"path":707,"stem":708},"MCP Server","\u002Fai-agents\u002Fmcp-server","17.ai-agents\u002F03.mcp-server",{"title":710,"path":711,"stem":712},"Recipes","\u002Fai-agents\u002Frecipes","17.ai-agents\u002F04.recipes",{"title":714,"path":715,"stem":716},"Tools","\u002Fai-agents\u002Ftools","17.ai-agents\u002F05.tools",{"title":718,"path":719,"stem":720},"llms.txt","\u002Fai-agents\u002Fllms-txt","17.ai-agents\u002F06.llms-txt",{"title":722,"icon":723,"path":724,"stem":725,"children":726,"page":62},"Operations","i-lucide-server","\u002Foperations","18.operations",[727,731,735,739,743],{"title":728,"path":729,"stem":730},"Deployment","\u002Foperations\u002Fdeployment","18.operations\u002F01.deployment",{"title":732,"path":733,"stem":734},"PostgreSQL","\u002Foperations\u002Fpostgresql","18.operations\u002F02.postgresql",{"title":736,"path":737,"stem":738},"Public URL, Proxy and CORS","\u002Foperations\u002Fpublic-url-proxy-cors","18.operations\u002F03.public-url-proxy-cors",{"title":740,"path":741,"stem":742},"Backup and Restore","\u002Foperations\u002Fbackup-restore","18.operations\u002F04.backup-restore",{"title":744,"path":745,"stem":746},"Upgrading","\u002Foperations\u002Fupgrading","18.operations\u002F05.upgrading",{"title":748,"icon":749,"path":750,"stem":751,"children":752,"page":62},"Reference","i-lucide-library","\u002Freference","19.reference",[753,757,761,765,769],{"title":754,"path":755,"stem":756},"Query Language","\u002Freference\u002Fquery-language","19.reference\u002F01.query-language",{"title":758,"path":759,"stem":760},"Errors","\u002Freference\u002Ferrors","19.reference\u002F02.errors",{"title":762,"path":763,"stem":764},"Admin API","\u002Freference\u002Fadmin-api","19.reference\u002F03.admin-api",{"title":766,"path":767,"stem":768},"Authentication API","\u002Freference\u002Fauth-api","19.reference\u002F04.auth-api",{"title":770,"path":771,"stem":772},"Environment Variables","\u002Freference\u002Fenvironment","19.reference\u002F05.environment",{"id":774,"title":378,"admin":775,"body":776,"description":1369,"extension":1370,"links":1371,"meta":1372,"navigation":1373,"path":379,"seo":1374,"stem":380,"__hash__":1375},"docs\u002F08.workflows\u002F04.triggers\u002F01.manual.md","Workflows › a Workflow › Settings › Trigger",{"type":777,"value":778,"toc":1361},"minimark",[779,792,800,805,810,813,888,891,896,900,911,918,922,1000,1014,1019,1108,1115,1223,1242,1261,1272,1282,1289,1331,1337,1341,1357],[780,781,782,783,786,787,791],"p",{},"A ",[784,785,378],"strong",{}," workflow runs when someone asks for it: an administrator in the editor, a user clicking a DataView action or a button on a page of the App, a program calling the API, or another workflow. Whoever starts it needs the workflow's ",[788,789,790],"a",{"href":444},"invoke grant",".",[780,793,794,795,799],{},"At Acme, ",[796,797,798],"em",{},"Send reminder"," is a Manual workflow behind an action on the Customers DataView: a sales rep selects customers and clicks it.",[801,802],"screenshot",{"caption":803,"id":804},"Settings › Trigger of Send reminder: Manual, with an input form of one field.","workflow-trigger-manual",[806,807,809],"h2",{"id":808},"configuration","Configuration",[780,811,812],{},"All three fields are optional. With none, any input is taken and the run executes as whoever started it.",[814,815,816,828],"table",{},[817,818,819],"thead",{},[820,821,822,826],"tr",{},[823,824,825],"th",{},"Field",[823,827],{},[829,830,831,840,873],"tbody",{},[820,832,833,837],{},[834,835,836],"td",{},"Execute as",[834,838,839],{},"Empty: the run executes as whoever runs it. A user chosen here: every run executes as them, while the caller is still recorded as who started it. Invoking it still needs the invoke grant",[820,841,842,845],{},[834,843,844],{},"Input form",[834,846,847,848,851,852,856,857,860,861,864,865,868,869,872],{},"The fields a caller fills in. Each has a ",[784,849,850],{},"name"," (the key the workflow reads in ",[853,854,855],"code",{},"{{start.data.\u003Cname>}}","), a ",[784,858,859],{},"label",", a ",[784,862,863],{},"type"," (Text, Number, Yes \u002F no, Date) and ",[784,866,867],{},"Required",". ",[784,870,871],{},"Add a field"," adds one",[820,874,875,878],{},[834,876,877],{},"Confirmation",[834,879,880,881,884,885],{},"A question asked before ",[784,882,883],{},"Run › Production"," starts it, such as ",[796,886,887],{},"This sends an email to every customer.",[780,889,890],{},"A field's name is letters, digits and underscores, not starting with a digit, and unique in the form.",[780,892,893,895],{},[784,894,836],{}," lets a caller with narrow permissions start a run that needs wider ones, without giving them those permissions anywhere else. A dispatcher may start a workflow that writes invoices, though only Accounting may write them, if it executes as an Accounting user. Choose that user deliberately: whatever the workflow's steps do, they do with that user's permissions.",[806,897,899],{"id":898},"the-input-form","The input form",[780,901,902,903,906,907,910],{},"When a workflow has an input form, every run's input is checked against it before anything runs: it must be an object, with every required field present and every value of its type. A Date is ",[853,904,905],{},"YYYY-MM-DD",". Otherwise the run is refused with ",[853,908,909],{},"422 WORKFLOW_VALIDATION_FAILED",", one sentence per field.",[780,912,913,914,917],{},"In the editor's Run modal the form replaces the JSON editor. Without a form, any input is taken, ",[853,915,916],{},"null"," included.",[806,919,921],{"id":920},"starting-it","Starting it",[814,923,924,934],{},[817,925,926],{},[820,927,928,931],{},[823,929,930],{},"From",[823,932,933],{},"How",[829,935,936,953,965,978,990],{},[820,937,938,941],{},[834,939,940],{},"The editor",[834,942,943,945,946,949,950],{},[784,944,883],{},", once published and enabled. ",[784,947,948],{},"Run › Test"," runs the draft. See ",[788,951,282],{"href":952},"\u002Fworkflows\u002Feditor#run",[820,954,955,958],{},[834,956,957],{},"A DataView",[834,959,782,960,964],{},[788,961,963],{"href":962},"\u002Fdataviews\u002Fsettings\u002Factions#custom-actions","custom action"," on a row, a record or a selection",[820,966,967,970],{},[834,968,969],{},"A page of the App",[834,971,782,972,975,976],{},[784,973,974],{},"Call"," variable whose target is the workflow. See ",[788,977,258],{"href":259},[820,979,980,983],{},[834,981,982],{},"Another workflow",[834,984,985,986,989],{},"The ",[788,987,988],{"href":426},"Execute another workflow"," step",[820,991,992,995],{},[834,993,994],{},"A program",[834,996,997],{},[853,998,999],{},"POST \u002Fapi\u002Fworkflows\u002F{slug}\u002Frun",[780,1001,1002,1003,1006,1007,1010,1011,791],{},"A custom action without arguments sends the row's key, ",[853,1004,1005],{},"{ \"id\": \"…\" }",", or, from the selection bar, the selected keys, ",[853,1008,1009],{},"{ \"ids\": [\"…\", \"…\"] }",". With arguments, it sends what you mapped. Either way, the workflow reads it in ",[853,1012,1013],{},"{{start.data}}",[1015,1016,1018],"h3",{"id":1017},"the-api","The API",[1020,1021,1026],"pre",{"className":1022,"code":1023,"language":1024,"meta":1025,"style":1025},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"$TOTALBASE_URL\u002Fapi\u002Fworkflows\u002Fsend-reminder\u002Frun\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"data\": { \"ids\": [\"3b0e…\", \"91ac…\"] } }'\n","bash","",[853,1027,1028,1061,1079,1093],{"__ignoreMap":1025},[1029,1030,1033,1037,1041,1044,1048,1052,1055,1058],"span",{"class":1031,"line":1032},"line",1,[1029,1034,1036],{"class":1035},"sBMFI","curl",[1029,1038,1040],{"class":1039},"sfazB"," -X",[1029,1042,1043],{"class":1039}," POST",[1029,1045,1047],{"class":1046},"sMK4o"," \"",[1029,1049,1051],{"class":1050},"sTEyZ","$TOTALBASE_URL",[1029,1053,1054],{"class":1039},"\u002Fapi\u002Fworkflows\u002Fsend-reminder\u002Frun",[1029,1056,1057],{"class":1046},"\"",[1029,1059,1060],{"class":1050}," \\\n",[1029,1062,1064,1067,1069,1072,1075,1077],{"class":1031,"line":1063},2,[1029,1065,1066],{"class":1039},"  -H",[1029,1068,1047],{"class":1046},[1029,1070,1071],{"class":1039},"Authorization: Bearer ",[1029,1073,1074],{"class":1050},"$TOKEN",[1029,1076,1057],{"class":1046},[1029,1078,1060],{"class":1050},[1029,1080,1082,1084,1086,1089,1091],{"class":1031,"line":1081},3,[1029,1083,1066],{"class":1039},[1029,1085,1047],{"class":1046},[1029,1087,1088],{"class":1039},"Content-Type: application\u002Fjson",[1029,1090,1057],{"class":1046},[1029,1092,1060],{"class":1050},[1029,1094,1096,1099,1102,1105],{"class":1031,"line":1095},4,[1029,1097,1098],{"class":1039},"  -d",[1029,1100,1101],{"class":1046}," '",[1029,1103,1104],{"class":1039},"{ \"data\": { \"ids\": [\"3b0e…\", \"91ac…\"] } }",[1029,1106,1107],{"class":1046},"'\n",[780,1109,1110,1111,1114],{},"The caller is a signed-in user or an ",[788,1112,1113],{"href":522},"API token",". The run is synchronous: the answer comes when it ends.",[1020,1116,1120],{"className":1117,"code":1118,"language":1119,"meta":1025,"style":1025},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"data\": { \"id\": \"7d2f…\", \"status\": \"SUCCEEDED\", \"result\": { \"sent\": 2 }, \"error\": null } }\n","json",[853,1121,1122],{"__ignoreMap":1025},[1029,1123,1124,1127,1129,1133,1135,1138,1141,1143,1146,1148,1150,1152,1155,1157,1160,1162,1165,1167,1169,1171,1174,1176,1178,1180,1183,1185,1187,1189,1191,1195,1197,1199,1202,1205,1207,1210,1212,1214,1217,1220],{"class":1031,"line":1032},[1029,1125,1126],{"class":1046},"{",[1029,1128,1047],{"class":1046},[1029,1130,1132],{"class":1131},"spNyl","data",[1029,1134,1057],{"class":1046},[1029,1136,1137],{"class":1046},":",[1029,1139,1140],{"class":1046}," {",[1029,1142,1047],{"class":1046},[1029,1144,1145],{"class":1035},"id",[1029,1147,1057],{"class":1046},[1029,1149,1137],{"class":1046},[1029,1151,1047],{"class":1046},[1029,1153,1154],{"class":1039},"7d2f…",[1029,1156,1057],{"class":1046},[1029,1158,1159],{"class":1046},",",[1029,1161,1047],{"class":1046},[1029,1163,1164],{"class":1035},"status",[1029,1166,1057],{"class":1046},[1029,1168,1137],{"class":1046},[1029,1170,1047],{"class":1046},[1029,1172,1173],{"class":1039},"SUCCEEDED",[1029,1175,1057],{"class":1046},[1029,1177,1159],{"class":1046},[1029,1179,1047],{"class":1046},[1029,1181,1182],{"class":1035},"result",[1029,1184,1057],{"class":1046},[1029,1186,1137],{"class":1046},[1029,1188,1140],{"class":1046},[1029,1190,1047],{"class":1046},[1029,1192,1194],{"class":1193},"sbssI","sent",[1029,1196,1057],{"class":1046},[1029,1198,1137],{"class":1046},[1029,1200,1201],{"class":1193}," 2",[1029,1203,1204],{"class":1046}," },",[1029,1206,1047],{"class":1046},[1029,1208,1209],{"class":1035},"error",[1029,1211,1057],{"class":1046},[1029,1213,1137],{"class":1046},[1029,1215,1216],{"class":1046}," null",[1029,1218,1219],{"class":1046}," }",[1029,1221,1222],{"class":1046}," }\n",[780,1224,1225,1227,1228,1231,1232,1234,1235,1238,1239,1241],{},[853,1226,1182],{}," is what the workflow ended with: its Finish with result step, or the last step's result. A failed run still answers ",[853,1229,1230],{},"200",", with ",[853,1233,1164],{}," ",[853,1236,1237],{},"FAILED"," and its ",[853,1240,1209],{},". The steps are never returned: you decide what callers get through the Finish step.",[780,1243,1244,1245,1250,1251,1254,1255,1234,1257,1260],{},"With ",[784,1246,1247],{},[853,1248,1249],{},"?async=true"," the answer is ",[853,1252,1253],{},"202"," as soon as the run starts, with ",[853,1256,1164],{},[853,1258,1259],{},"RUNNING",". Poll its outcome with:",[1020,1262,1266],{"className":1263,"code":1264,"language":1265,"meta":1025,"style":1025},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","GET \u002Fapi\u002Fworkflows\u002Fruns\u002F7d2f…\u002Fresult\n","http",[853,1267,1268],{"__ignoreMap":1025},[1029,1269,1270],{"class":1031,"line":1032},[1029,1271,1264],{},[780,1273,1274,1275,1278,1279,791],{},"which answers the same ",[853,1276,1277],{},"{ id, status, result, error }",". A caller can read only runs it started itself, while they run and for 24 hours after they finish, and only while it still holds the invoke grant. Anything else is ",[853,1280,1281],{},"404 WORKFLOW_RUN_NOT_FOUND",[780,1283,1284,1285,1288],{},"The run route takes no ",[853,1286,1287],{},"Idempotency-Key",": calling it twice starts two runs.",[814,1290,1291,1300],{},[817,1292,1293],{},[820,1294,1295,1297],{},[823,1296,262],{},[823,1298,1299],{},"When",[829,1301,1302,1312,1322],{},[820,1303,1304,1309],{},[834,1305,1306],{},[853,1307,1308],{},"404 WORKFLOW_NOT_FOUND",[834,1310,1311],{},"no such workflow, or it isn't published, isn't enabled, or isn't Manual or Schedule. All look the same, so callers can't probe which workflows exist",[820,1313,1314,1319],{},[834,1315,1316],{},[853,1317,1318],{},"403 ACTION_DENIED",[834,1320,1321],{},"none of the caller's roles has the invoke grant",[820,1323,1324,1328],{},[834,1325,1326],{},[853,1327,909],{},[834,1329,1330],{},"the input doesn't match the input form",[780,1332,985,1333,1336],{},[788,1334,1335],{"href":637},"OpenAPI document"," lists, for each caller, the run path of every workflow it may invoke.",[806,1338,1340],{"id":1339},"next-steps","Next steps",[1342,1343,1344,1350],"ul",{},[1345,1346,1347,1349],"li",{},[788,1348,207],{"href":444},": who may start it.",[1345,1351,1352,1354,1355,791],{},[788,1353,429],{"href":430},": reading ",[853,1356,1013],{},[1358,1359,1360],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":1025,"searchDepth":1032,"depth":1063,"links":1362},[1363,1364,1365,1368],{"id":808,"depth":1063,"text":809},{"id":898,"depth":1063,"text":899},{"id":920,"depth":1063,"text":921,"children":1366},[1367],{"id":1017,"depth":1081,"text":1018},{"id":1339,"depth":1063,"text":1340},"Run by a person, from the App, a DataView action, or the API.","md",null,{},true,{"title":378,"description":1369},"Pg8PgAjbwiKc3m7ohRq3Xz3aVb66B4Z3gD9jnxIsZQQ",[1377,1379],{"title":282,"path":369,"stem":370,"description":1378,"children":-1},"The canvas: steps and their outputs, test runs, publishing.",{"title":382,"path":383,"stem":384,"description":1380,"children":-1},"Run when rows of a table are created, updated or deleted.",1792339966570]