[{"data":1,"prerenderedAt":2548},["ShallowReactive",2],{"navigation":3,"/cloud-connections/email":1197,"/cloud-connections/email-surround":2543},[4,45,67,118,136,209,230],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Use it","/use","00.use/1.index",[9,11,16,21,26,30,35,40],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-list-checks",{"title":12,"path":13,"stem":14,"icon":15},"Run a workflow from an assistant","/use/run-from-an-assistant","00.use/2.run-from-an-assistant","i-lucide-bot",{"title":17,"path":18,"stem":19,"icon":20},"Connect a cloud and use it","/use/connect-a-cloud","00.use/3.connect-a-cloud","i-lucide-cloud",{"title":22,"path":23,"stem":24,"icon":25},"Put Orkestia in your app","/use/in-your-app","00.use/4.in-your-app","i-lucide-key-round",{"title":27,"path":28,"stem":29,"icon":15},"Stand up an actor","/use/stand-up-an-actor","00.use/5.stand-up-an-actor",{"title":31,"path":32,"stem":33,"icon":34},"Operate a run","/use/operate-a-run","00.use/6.operate-a-run","i-lucide-activity",{"title":36,"path":37,"stem":38,"icon":39},"Work from the desktop app","/use/work-from-the-desktop-app","00.use/7.work-from-the-desktop-app","i-lucide-app-window",{"title":41,"path":42,"stem":43,"icon":44},"Let an agent use your browser","/use/let-an-agent-use-your-browser","00.use/8.let-an-agent-use-your-browser","i-lucide-globe",{"title":46,"path":47,"stem":48,"children":49,"icon":52},"Getting Started","/getting-started","02.getting-started/1.index",[50,53,58,63],{"title":51,"path":47,"stem":48,"icon":52},"Quick Start","i-lucide-rocket",{"title":54,"path":55,"stem":56,"icon":57},"Architecture Overview","/getting-started/architecture-overview","02.getting-started/2.architecture-overview","i-lucide-layout-dashboard",{"title":59,"path":60,"stem":61,"icon":62},"Concepts at a Glance","/getting-started/concepts","02.getting-started/3.concepts","i-lucide-list",{"title":64,"path":65,"stem":66,"icon":15},"Connect an AI Assistant","/getting-started/connect-an-ai-assistant","02.getting-started/4.connect-an-ai-assistant",{"title":68,"path":69,"stem":70,"children":71,"icon":73},"Guides","/guides","04.guides/1.index",[72,74,79,84,89,94,99,104,109,113],{"title":68,"path":69,"stem":70,"icon":73},"i-lucide-compass",{"title":75,"path":76,"stem":77,"icon":78},"Receive webhooks with a re-query","/guides/webhooks-with-requery","04.guides/10.webhooks-with-requery","i-lucide-webhook",{"title":80,"path":81,"stem":82,"icon":83},"Keep scheduled compositions cheap","/guides/composition-runtime-cost","04.guides/11.composition-runtime-cost","i-lucide-gauge",{"title":85,"path":86,"stem":87,"icon":88},"Building with DGI","/guides/building-with-dgi","04.guides/2.building-with-dgi","i-lucide-brain-circuit",{"title":90,"path":91,"stem":92,"icon":93},"Creating & Exposing Virtual Workflows","/guides/virtual-workflows","04.guides/4.virtual-workflows","i-lucide-blocks",{"title":95,"path":96,"stem":97,"icon":98},"Runner Management & Provisioning","/guides/runner-management","04.guides/5.runner-management","i-lucide-server",{"title":100,"path":101,"stem":102,"icon":103},"Security & Compliance","/guides/security-and-compliance","04.guides/7.security-and-compliance","i-lucide-shield",{"title":105,"path":106,"stem":107,"icon":108},"Tickets & Software Delivery","/guides/tickets-and-software-delivery","04.guides/8.tickets-and-software-delivery","i-lucide-ticket",{"title":110,"path":111,"stem":112},"Orkestia for AI-driven cloud infrastructure automation","/guides/cloud-automation-alternatives","04.guides/9.cloud-automation-alternatives",{"title":114,"path":115,"stem":116,"icon":117},"Typed decisions with TypeSafe","/guides/typed-decisions-with-typesafe","04.guides/9.typed-decisions-with-typesafe","i-lucide-git-branch",{"title":119,"path":120,"stem":121,"children":122,"icon":125},"Introduction","/introduction","01.introduction/1.index",[123,126,131],{"title":124,"path":120,"stem":121,"icon":125},"What is Orkestia?","i-lucide-sparkles",{"title":127,"path":128,"stem":129,"icon":130},"Core Philosophy","/introduction/core-philosophy","01.introduction/2.core-philosophy","i-lucide-shield-check",{"title":132,"path":133,"stem":134,"icon":135},"Key Benefits","/introduction/key-benefits","01.introduction/3.key-benefits","i-lucide-trophy",{"title":137,"path":138,"stem":139,"children":140,"icon":142},"Core Concepts","/concepts","03.concepts/01.index",[141,143,148,153,158,163,167,172,176,181,186,191,195,200,204],{"title":137,"path":138,"stem":139,"icon":142},"i-lucide-book-open",{"title":144,"path":145,"stem":146,"icon":147},"Workflows","/concepts/workflows","03.concepts/02.workflows","i-lucide-workflow",{"title":149,"path":150,"stem":151,"icon":152},"DGI — Dialog Generative Interface","/concepts/dgi","03.concepts/03.dgi","i-lucide-brain",{"title":154,"path":155,"stem":156,"icon":157},"How DGI works","/concepts/dgi-how-it-works","03.concepts/03.dgi-how-it-works","i-lucide-cpu",{"title":159,"path":160,"stem":161,"icon":162},"Staff & AI Workforce Governance","/concepts/staff-governance","03.concepts/04.staff-governance","i-lucide-users-round",{"title":164,"path":165,"stem":166,"icon":15},"Agents — the execution substrate","/concepts/agents-platform","03.concepts/05.agents-platform",{"title":168,"path":169,"stem":170,"icon":171},"Runners & Execution Environments","/concepts/runners","03.concepts/06.runners","i-lucide-server-cog",{"title":173,"path":174,"stem":175,"icon":34},"Lumen Observability","/concepts/lumen","03.concepts/07.lumen",{"title":177,"path":178,"stem":179,"icon":180},"Identity & Multi-Tenancy","/concepts/identity-multi-tenancy","03.concepts/08.identity-multi-tenancy","i-lucide-users",{"title":182,"path":183,"stem":184,"icon":185},"Billing, Pricing & Seats","/concepts/billing-and-seats","03.concepts/09.billing-and-seats","i-lucide-credit-card",{"title":187,"path":188,"stem":189,"icon":190},"App Data","/concepts/appdata","03.concepts/10.appdata","i-lucide-database",{"title":192,"path":193,"stem":194,"icon":152},"Engram","/concepts/engram","03.concepts/11.engram",{"title":196,"path":197,"stem":198,"icon":199},"DevKit","/concepts/devkit","03.concepts/12.devkit","i-lucide-terminal",{"title":201,"path":202,"stem":203,"icon":44},"App Host","/concepts/app-host","03.concepts/13.app-host",{"title":205,"path":206,"stem":207,"icon":208},"Agent Exchange","/concepts/agent-exchange","03.concepts/14.agent-exchange","i-lucide-landmark",{"title":210,"path":211,"stem":212,"children":213,"icon":215},"Reference","/reference","05.reference/1.index",[214,216,221,225],{"title":210,"path":211,"stem":212,"icon":215},"i-lucide-library",{"title":217,"path":218,"stem":219,"icon":220},"MCP Integration","/reference/mcp-integration","05.reference/3.mcp-integration","i-lucide-plug-zap",{"title":222,"path":223,"stem":224,"icon":199},"API & Tooling","/reference/api-tooling","05.reference/4.api-tooling",{"title":226,"path":227,"stem":228,"icon":229},"Platform Services","/reference/platform-services","05.reference/7.platform-services","i-lucide-boxes",{"title":231,"path":232,"icon":215,"children":233},"Product pages","/product-pages",[234,261,282,311,346,369,412,439,472,495,565,590,636,650,672,742,785,808,820,910,938,986,1013,1049,1135,1153,1165,1184,1191],{"title":235,"path":236,"stem":237,"children":238,"icon":240},"Advanced Topics","/advanced","06.advanced/1.index",[239,241,246,251,256],{"title":235,"path":236,"stem":237,"icon":240},"i-lucide-flask-conical",{"title":242,"path":243,"stem":244,"icon":245},"Hybrid AI + Deterministic Execution","/advanced/hybrid-execution-model","06.advanced/2.hybrid-execution-model","i-lucide-git-merge",{"title":247,"path":248,"stem":249,"icon":250},"Drift Detection & Self-Healing","/advanced/drift-detection-self-healing","06.advanced/3.drift-detection-self-healing","i-lucide-heart-pulse",{"title":252,"path":253,"stem":254,"icon":255},"Governance & Approvals","/advanced/governance-and-approvals","06.advanced/4.governance-and-approvals","i-lucide-scale",{"title":257,"path":258,"stem":259,"icon":260},"Cost & Performance Optimization","/advanced/cost-and-performance","06.advanced/5.cost-and-performance","i-lucide-zap",{"title":262,"path":263,"stem":264,"children":265,"icon":267},"Operations","/operations","07.operations/1.index",[266,268,272,277],{"title":262,"path":263,"stem":264,"icon":267},"i-lucide-settings-2",{"title":269,"path":270,"stem":271,"icon":229},"Deployment Models","/operations/deployment-models","07.operations/2.deployment-models",{"title":273,"path":274,"stem":275,"icon":276},"Monitoring & Debugging","/operations/monitoring-and-debugging","07.operations/3.monitoring-and-debugging","i-lucide-bug",{"title":278,"path":279,"stem":280,"icon":281},"Best Practices","/operations/best-practices","07.operations/4.best-practices","i-lucide-check-check",{"title":283,"path":284,"stem":285,"children":286,"icon":288},"AWS Connections","/aws-connections","08.aws-connections/1.index",[287,289,292,297,302,307],{"title":283,"path":284,"stem":285,"icon":288},"i-simple-icons-amazonaws",{"title":46,"path":290,"stem":291,"icon":52},"/aws-connections/getting-started","08.aws-connections/2.getting-started",{"title":293,"path":294,"stem":295,"icon":296},"Setup Methods","/aws-connections/setup-methods","08.aws-connections/3.setup-methods","i-lucide-wrench",{"title":298,"path":299,"stem":300,"icon":301},"Managing Connections","/aws-connections/managing-connections","08.aws-connections/4.managing-connections","i-lucide-settings",{"title":303,"path":304,"stem":305,"icon":306},"Security Best Practices","/aws-connections/security-best-practices","08.aws-connections/5.security-best-practices","i-lucide-lock",{"title":308,"path":309,"stem":310,"icon":276},"Troubleshooting","/aws-connections/troubleshooting","08.aws-connections/6.troubleshooting",{"title":312,"path":313,"stem":314,"children":315,"icon":317},"Cloud Connections","/cloud-connections","09.cloud-connections/1.index",[316,318,323,328,332,337,341],{"title":312,"path":313,"stem":314,"icon":317},"i-lucide-cable",{"title":319,"path":320,"stem":321,"icon":322},"Google Cloud (GCP)","/cloud-connections/gcp","09.cloud-connections/2.gcp","i-simple-icons-googlecloud",{"title":324,"path":325,"stem":326,"icon":327},"Microsoft Azure","/cloud-connections/azure","09.cloud-connections/3.azure","i-simple-icons-microsoftazure",{"title":329,"path":330,"stem":331,"icon":20},"Magalu Cloud","/cloud-connections/magalu","09.cloud-connections/4.magalu",{"title":333,"path":334,"stem":335,"icon":336},"Kubernetes","/cloud-connections/kubernetes","09.cloud-connections/5.kubernetes","i-simple-icons-kubernetes",{"title":338,"path":339,"stem":340,"icon":255},"TypeSafe","/cloud-connections/typesafe","09.cloud-connections/6.typesafe",{"title":342,"path":343,"stem":344,"icon":345},"Email mailboxes","/cloud-connections/email","09.cloud-connections/7.email","i-lucide-mail",{"title":347,"path":348,"stem":349,"children":350,"icon":98},"DNS Providers","/dns-providers","10.dns-providers/1.index",[351,353,356,359,362,366],{"title":352,"path":348,"stem":349,"icon":98},"DNS Provider Connections",{"title":46,"path":354,"stem":355,"icon":52},"/dns-providers/getting-started","10.dns-providers/2.getting-started",{"title":293,"path":357,"stem":358,"icon":296},"/dns-providers/setup-methods","10.dns-providers/3.setup-methods",{"title":298,"path":360,"stem":361,"icon":301},"/dns-providers/managing-connections","10.dns-providers/4.managing-connections",{"title":363,"path":364,"stem":365,"icon":62},"Zones and Records","/dns-providers/zones-and-records","10.dns-providers/5.zones-and-records",{"title":308,"path":367,"stem":368,"icon":276},"/dns-providers/troubleshooting","10.dns-providers/6.troubleshooting",{"title":370,"path":371,"stem":372,"children":373,"icon":52},"Cloud Deploy","/cloud-deploy","11.cloud-deploy/01.index",[374,375,378,383,387,392,396,400,405,409],{"title":370,"path":371,"stem":372,"icon":52},{"title":46,"path":376,"stem":377,"icon":52},"/cloud-deploy/getting-started","11.cloud-deploy/02.getting-started",{"title":379,"path":380,"stem":381,"icon":382},"Creating a Site","/cloud-deploy/creating-a-site","11.cloud-deploy/03.creating-a-site","i-lucide-plus-circle",{"title":384,"path":385,"stem":386,"icon":57},"Site Overview and Deployments","/cloud-deploy/site-overview","11.cloud-deploy/04.site-overview",{"title":388,"path":389,"stem":390,"icon":391},"Deployment Progress and Success","/cloud-deploy/deployment-progress","11.cloud-deploy/05.deployment-progress","i-lucide-loader",{"title":393,"path":394,"stem":395,"icon":301},"Settings","/cloud-deploy/settings","11.cloud-deploy/06.settings",{"title":397,"path":398,"stem":399,"icon":44},"Custom Domains","/cloud-deploy/custom-domains","11.cloud-deploy/07.custom-domains",{"title":401,"path":402,"stem":403,"icon":404},"Resources, Releases, and Danger Zone","/cloud-deploy/resources-releases","11.cloud-deploy/08.resources-releases","i-lucide-package",{"title":406,"path":407,"stem":408,"icon":103},"Admin Dashboard","/cloud-deploy/admin-dashboard","11.cloud-deploy/09.admin-dashboard",{"title":308,"path":410,"stem":411,"icon":276},"/cloud-deploy/troubleshooting","11.cloud-deploy/10.troubleshooting",{"title":413,"path":414,"stem":415,"children":416,"icon":419},"User Onboarding","/user-onboarding","12.user-onboarding/1.index",[417,420,423,428,432,436],{"title":418,"path":414,"stem":415,"icon":419},"User Creation and Onboarding","i-lucide-user-plus",{"title":46,"path":421,"stem":422,"icon":52},"/user-onboarding/getting-started","12.user-onboarding/2.getting-started",{"title":424,"path":425,"stem":426,"icon":427},"Creating Your Organization","/user-onboarding/onboarding","12.user-onboarding/3.onboarding","i-lucide-building-2",{"title":429,"path":430,"stem":431,"icon":345},"Invitations","/user-onboarding/invitations","12.user-onboarding/4.invitations",{"title":433,"path":434,"stem":435,"icon":301},"Managing Your Account","/user-onboarding/managing-account","12.user-onboarding/5.managing-account",{"title":308,"path":437,"stem":438,"icon":276},"/user-onboarding/troubleshooting","12.user-onboarding/6.troubleshooting",{"title":393,"path":440,"stem":441,"children":442,"icon":444},"/settings","13.settings/1.index",[443,445,450,454,459,463,467],{"title":393,"path":440,"stem":441,"icon":444},"i-lucide-sliders-horizontal",{"title":446,"path":447,"stem":448,"icon":449},"General Settings","/settings/general","13.settings/2.general","i-lucide-user",{"title":451,"path":452,"stem":453,"icon":180},"Members Settings","/settings/members","13.settings/3.members",{"title":455,"path":456,"stem":457,"icon":458},"Notifications Settings","/settings/notifications","13.settings/4.notifications","i-lucide-bell",{"title":460,"path":461,"stem":462,"icon":103},"Security Settings","/settings/security","13.settings/5.security",{"title":464,"path":465,"stem":466,"icon":25},"Signing Keys","/settings/keys","13.settings/6.keys",{"title":468,"path":469,"stem":470,"icon":471},"API Tokens","/settings/api-tokens","13.settings/7.api-tokens","i-lucide-key",{"title":473,"path":474,"stem":475,"children":476,"icon":52},"App Enablement","/app-enablement","14.app-enablement/1.index",[477,478,482,486,490],{"title":473,"path":474,"stem":475,"icon":52},{"title":479,"path":480,"stem":481,"icon":25},"Sign in with Orkestia","/app-enablement/sign-in-with-orkestia","14.app-enablement/2.sign-in-with-orkestia",{"title":483,"path":484,"stem":485,"icon":190},"End-user data","/app-enablement/end-user-data","14.app-enablement/3.end-user-data",{"title":487,"path":488,"stem":489,"icon":93},"Compositions — use, invoke, share","/app-enablement/compositions","14.app-enablement/4.compositions",{"title":491,"path":492,"stem":493,"icon":494},"Scoped SQL on your own database","/app-enablement/scoped-sql","14.app-enablement/5.scoped-sql","i-lucide-database-zap",{"title":496,"path":497,"stem":498,"children":499,"icon":34},"Lumen","/lumen","15.lumen/1.index",[500,501,506,510,515,519,523,527,532,537,542,546,550,555,560],{"title":496,"path":497,"stem":498,"icon":34},{"title":502,"path":503,"stem":504,"icon":505},"Explore and correlate","/lumen/explore-and-correlate","15.lumen/10.explore-and-correlate","i-lucide-link-2",{"title":507,"path":508,"stem":509,"icon":125},"AI analytics in the Cockpit app","/lumen/ai-analytics-in-cockpit","15.lumen/11.ai-analytics-in-cockpit",{"title":511,"path":512,"stem":513,"icon":514},"Pulse in the Cockpit app","/lumen/pulse-in-cockpit","15.lumen/12.pulse-in-cockpit","i-lucide-bar-chart-3",{"title":516,"path":517,"stem":518,"icon":444},"Rules in the Cockpit app","/lumen/rules-in-cockpit","15.lumen/13.rules-in-cockpit",{"title":520,"path":521,"stem":522,"icon":185},"Plans, usage and API keys in the Cockpit app","/lumen/plans-usage-and-keys","15.lumen/14.plans-usage-and-keys",{"title":524,"path":525,"stem":526,"icon":267},"Settings and bulk actions","/lumen/settings-and-bulk-actions","15.lumen/15.settings-and-bulk-actions",{"title":528,"path":529,"stem":530,"icon":531},"Enable Lumen","/lumen/enable","15.lumen/2.enable","i-lucide-power",{"title":533,"path":534,"stem":535,"icon":536},"Send data","/lumen/send-data","15.lumen/3.send-data","i-lucide-upload",{"title":538,"path":539,"stem":540,"icon":541},"Collector","/lumen/collector","15.lumen/4.collector","i-lucide-container",{"title":543,"path":544,"stem":545,"icon":57},"Use Lumen","/lumen/observe","15.lumen/5.observe",{"title":547,"path":548,"stem":549,"icon":15},"Lumen MCP","/lumen/mcp","15.lumen/6.mcp",{"title":551,"path":552,"stem":553,"icon":554},"Query API","/lumen/query-api","15.lumen/7.query-api","i-lucide-search",{"title":556,"path":557,"stem":558,"icon":559},"Lumen in the Cockpit app","/lumen/cockpit-mode","15.lumen/8.cockpit-mode","i-lucide-monitor-smartphone",{"title":561,"path":562,"stem":563,"icon":564},"Dashboards in the Cockpit app","/lumen/dashboards-in-cockpit","15.lumen/9.dashboards-in-cockpit","i-lucide-layout-grid",{"title":566,"path":567,"stem":568,"children":569,"icon":571},"SDKs","/sdks","16.sdks/1.index",[570,572,577,582,586],{"title":566,"path":567,"stem":568,"icon":571},"i-lucide-code",{"title":573,"path":574,"stem":575,"icon":576},"Workflows SDK — Node / TypeScript","/sdks/workflows-nodejs","16.sdks/2.workflows-nodejs","i-lucide-file-ts",{"title":578,"path":579,"stem":580,"icon":581},"Workflows SDK — Python","/sdks/workflows-python","16.sdks/3.workflows-python","i-simple-icons-python",{"title":583,"path":584,"stem":585,"icon":25},"Auth SDK — Sign in with Orkestia","/sdks/auth","16.sdks/4.auth",{"title":587,"path":588,"stem":589,"icon":514},"Pulse SDK — product analytics for your app","/sdks/lumen-pulse","16.sdks/5.lumen-pulse",{"title":187,"path":591,"stem":592,"children":593,"icon":190},"/appdata","17.appdata/1.index",[594,595,599,604,609,613,617,622,627,632],{"title":187,"path":591,"stem":592,"icon":190},{"title":596,"path":597,"stem":598,"icon":15},"Agents over App Data","/appdata/end-user-agents","17.appdata/10.end-user-agents",{"title":600,"path":601,"stem":602,"icon":603},"Declare structures","/appdata/declare","17.appdata/2.declare","i-lucide-table",{"title":605,"path":606,"stem":607,"icon":608},"Records & Data API","/appdata/data-api","17.appdata/3.data-api","i-lucide-rows-3",{"title":610,"path":611,"stem":612,"icon":427},"Ownership & workspaces","/appdata/ownership","17.appdata/4.ownership",{"title":614,"path":615,"stem":616,"icon":39},"Expose App Data to end-users","/appdata/expose","17.appdata/5.expose",{"title":618,"path":619,"stem":620,"icon":621},"PostgREST HTTP","/appdata/postgrest","17.appdata/6.postgrest","i-lucide-unplug",{"title":623,"path":624,"stem":625,"icon":626},"Ordered append","/appdata/append","17.appdata/7.append","i-lucide-list-ordered",{"title":628,"path":629,"stem":630,"icon":631},"Databases and instances","/appdata/instances","17.appdata/8.instances","i-lucide-hard-drive",{"title":633,"path":634,"stem":635,"icon":199},"Query console and SQL","/appdata/query","17.appdata/9.query",{"title":192,"path":637,"stem":638,"children":639,"icon":152},"/engram","18.engram/1.index",[640,641,645],{"title":192,"path":637,"stem":638,"icon":152},{"title":642,"path":643,"stem":644,"icon":117},"Write & recall","/engram/write-recall","18.engram/2.write-recall",{"title":646,"path":647,"stem":648,"icon":649},"Field & feed","/engram/agent-memory","18.engram/3.agent-memory","i-lucide-radio",{"title":196,"path":651,"stem":652,"children":653,"icon":199},"/devkit","19.devkit/1.index",[654,655,660,664,668],{"title":196,"path":651,"stem":652,"icon":199},{"title":656,"path":657,"stem":658,"icon":659},"Install DevKit","/devkit/install","19.devkit/2.install","i-lucide-download",{"title":661,"path":662,"stem":663,"icon":621},"Hook redirect","/devkit/hooks","19.devkit/3.hooks",{"title":665,"path":666,"stem":667,"icon":157},"Local coding runner","/devkit/local-runner","19.devkit/4.local-runner",{"title":669,"path":670,"stem":671,"icon":93},"Compositions from DevKit","/devkit/compositions","19.devkit/5.compositions",{"title":673,"path":674,"stem":675,"children":676,"icon":15},"Staff & Agents","/staff-and-agents","20.staff-and-agents/01.index",[677,678,682,686,690,694,698,702,706,711,715,720,725,729,732,737],{"title":673,"path":674,"stem":675,"icon":15},{"title":679,"path":680,"stem":681,"icon":10},"Prerequisites","/staff-and-agents/prerequisites","20.staff-and-agents/02.prerequisites",{"title":683,"path":684,"stem":685,"icon":419},"Hire an actor","/staff-and-agents/hire-an-actor","20.staff-and-agents/03.hire-an-actor",{"title":687,"path":688,"stem":689,"icon":57},"Console","/staff-and-agents/console","20.staff-and-agents/04.console",{"title":691,"path":692,"stem":693,"icon":125},"Configs, skills, and MCP","/staff-and-agents/configs-skills-mcp","20.staff-and-agents/05.configs-skills-mcp",{"title":695,"path":696,"stem":697,"icon":98},"Agent runner groups","/staff-and-agents/runner-groups","20.staff-and-agents/06.runner-groups",{"title":699,"path":700,"stem":701,"icon":130},"Governance","/staff-and-agents/governance","20.staff-and-agents/07.governance",{"title":703,"path":704,"stem":705,"icon":25},"Identity and tokens","/staff-and-agents/identity","20.staff-and-agents/08.identity",{"title":707,"path":708,"stem":709,"icon":710},"Memory and cost","/staff-and-agents/memory-and-cost","20.staff-and-agents/09.memory-and-cost","i-lucide-wallet",{"title":712,"path":713,"stem":714,"icon":117},"Coding agents","/staff-and-agents/coding-agents","20.staff-and-agents/10.coding-agents",{"title":716,"path":717,"stem":718,"icon":719},"Wire a repository for coding agents","/staff-and-agents/wire-a-repository","20.staff-and-agents/11.wire-a-repository","i-lucide-link",{"title":721,"path":722,"stem":723,"icon":724},"Run a ticket end to end","/staff-and-agents/run-a-ticket","20.staff-and-agents/12.run-a-ticket","i-lucide-play",{"title":726,"path":727,"stem":728,"icon":162},"Build a product team of actors","/staff-and-agents/build-a-product-team","20.staff-and-agents/13.build-a-product-team",{"title":308,"path":730,"stem":731,"icon":296},"/staff-and-agents/troubleshooting","20.staff-and-agents/14.troubleshooting",{"title":733,"path":734,"stem":735,"icon":736},"Media actors","/staff-and-agents/media-actors","20.staff-and-agents/15.media-actors","i-lucide-clapperboard",{"title":738,"path":739,"stem":740,"icon":741},"Agents that serve people","/staff-and-agents/agents-that-serve-people","20.staff-and-agents/16.agents-that-serve-people","i-lucide-hand-helping",{"title":201,"path":743,"stem":744,"children":745,"icon":44},"/app-host","21.app-host/1.index",[746,747,752,756,759,764,768,773,777,781],{"title":201,"path":743,"stem":744,"icon":44},{"title":748,"path":749,"stem":750,"icon":751},"Static egress IP","/app-host/static-egress-ip","21.app-host/10.static-egress-ip","i-lucide-network",{"title":753,"path":754,"stem":755,"icon":39},"Your app and site","/app-host/your-app","21.app-host/2.your-app",{"title":187,"path":757,"stem":758,"icon":190},"/app-host/app-data","21.app-host/3.app-data",{"title":760,"path":761,"stem":762,"icon":763},"Website and process","/app-host/hosting","21.app-host/4.hosting","i-lucide-cloud-upload",{"title":765,"path":766,"stem":767,"icon":649},"Buzz","/app-host/buzz","21.app-host/5.buzz",{"title":769,"path":770,"stem":771,"icon":772},"Files","/app-host/files","21.app-host/6.files","i-lucide-folder",{"title":774,"path":775,"stem":776,"icon":44},"Your own domain","/app-host/your-domain","21.app-host/7.your-domain",{"title":778,"path":779,"stem":780,"icon":276},"Troubleshooting App Host","/app-host/troubleshooting","21.app-host/8.troubleshooting",{"title":782,"path":783,"stem":784,"icon":25},"Signing keys","/app-host/signing-keys","21.app-host/9.signing-keys",{"title":205,"path":786,"stem":787,"children":788,"icon":208},"/agent-exchange","22.agent-exchange/01.index",[789,790,793,797,801,805],{"title":205,"path":786,"stem":787,"icon":208},{"title":683,"path":791,"stem":792,"icon":419},"/agent-exchange/hire","22.agent-exchange/02.hire",{"title":794,"path":795,"stem":796,"icon":255},"List an actor","/agent-exchange/list","22.agent-exchange/03.list",{"title":798,"path":799,"stem":800,"icon":199},"Invoke & leases","/agent-exchange/invoke","22.agent-exchange/04.invoke",{"title":802,"path":803,"stem":804,"icon":103},"Settlement & trust","/agent-exchange/settlement","22.agent-exchange/05.settlement",{"title":144,"path":806,"stem":807,"icon":147},"/agent-exchange/workflows","22.agent-exchange/06.workflows",{"title":809,"path":810,"stem":811,"children":812,"icon":171},"Runners","/runners","23.runners/1.index",[813,815],{"title":814,"path":810,"stem":811,"icon":171},"Runner groups",{"title":816,"path":817,"stem":818,"icon":819},"Purposes & integrations","/runners/purposes","23.runners/16.purposes","i-lucide-layers",{"title":821,"path":822,"stem":823,"children":824,"icon":826},"Chat","/chat","24.chat/01.index",[825,827,831,836,840,845,850,854,859,863,868,873,877,882,887,891,895,900,905],{"title":821,"path":822,"stem":823,"icon":826},"i-lucide-messages-square",{"title":828,"path":829,"stem":830,"icon":531},"Enable and publish","/chat/enable-and-publish","24.chat/02.enable-and-publish",{"title":832,"path":833,"stem":834,"icon":835},"Theme and customization","/chat/theme-and-customization","24.chat/03.theme-and-customization","i-lucide-palette",{"title":837,"path":838,"stem":839,"icon":180},"Members and moderation","/chat/members-and-moderation","24.chat/04.members-and-moderation",{"title":841,"path":842,"stem":843,"icon":844},"Channels","/chat/channels","24.chat/05.channels","i-lucide-hash",{"title":846,"path":847,"stem":848,"icon":849},"Using the chat","/chat/using-the-chat","24.chat/06.using-the-chat","i-lucide-message-circle",{"title":851,"path":852,"stem":853,"icon":15},"Actors in chat","/chat/actors-in-chat","24.chat/07.actors-in-chat",{"title":855,"path":856,"stem":857,"icon":858},"Internal support actor","/chat/internal-support-actor","24.chat/08.internal-support-actor","i-lucide-life-buoy",{"title":860,"path":861,"stem":862,"icon":199},"API and console","/chat/api-and-console","24.chat/09.api-and-console",{"title":864,"path":865,"stem":866,"icon":867},"Limits","/chat/limits","24.chat/10.limits","i-lucide-triangle-alert",{"title":869,"path":870,"stem":871,"icon":872},"Structured chat with DGI","/chat/structured-chat","24.chat/11.structured-chat","i-lucide-layout-list",{"title":874,"path":875,"stem":876,"icon":44},"Option A: hosted chat with DGI","/chat/option-a-hosted-chat","24.chat/12.option-a-hosted-chat",{"title":878,"path":879,"stem":880,"icon":881},"Option B: embed the chat component","/chat/option-b-embed-component","24.chat/13.option-b-embed-component","i-lucide-component",{"title":883,"path":884,"stem":885,"icon":886},"Option C: custom client (wire contract)","/chat/option-c-custom-client","24.chat/14.option-c-custom-client","i-lucide-braces",{"title":888,"path":889,"stem":890,"icon":649},"Cards, live updates and proactive posts","/chat/cards-live-and-proactive","24.chat/16.cards-live-and-proactive",{"title":892,"path":893,"stem":894,"icon":130},"Structured chat security model","/chat/structured-chat-security","24.chat/17.structured-chat-security",{"title":896,"path":897,"stem":898,"icon":899},"Option D: any app or API (dgi.chat)","/chat/option-d-chat-api","24.chat/18.option-d-chat-api","i-lucide-plug",{"title":901,"path":902,"stem":903,"icon":904},"Living Surfaces","/chat/living-surfaces","24.chat/20.living-surfaces","i-lucide-sprout",{"title":906,"path":907,"stem":908,"icon":909},"Connect your WhatsApp number","/chat/whatsapp","24.chat/21.whatsapp","i-lucide-phone",{"title":911,"path":912,"stem":913,"children":914,"icon":152},"DGI","/dgi","25.dgi/1.index",[915,917,921,925,929,933],{"title":916,"path":912,"stem":913,"icon":152},"What is DGI",{"title":154,"path":918,"stem":919,"icon":920},"/dgi/how-it-works","25.dgi/2.how-it-works","i-lucide-cog",{"title":922,"path":923,"stem":924,"icon":564},"Interfaces","/dgi/interfaces","25.dgi/3.interfaces",{"title":926,"path":927,"stem":928,"icon":52},"Quickstart","/dgi/quickstart","25.dgi/4.quickstart",{"title":930,"path":931,"stem":932,"icon":130},"Trust and safety","/dgi/trust-and-safety","25.dgi/5.trust-and-safety",{"title":934,"path":935,"stem":936,"icon":937},"FAQ","/dgi/faq","25.dgi/6.faq","i-lucide-circle-help",{"title":939,"path":940,"stem":941,"children":942,"icon":736},"Media","/media","26.media/01.index",[943,944,948,953,957,962,967,971,975,979,982],{"title":939,"path":940,"stem":941,"icon":736},{"title":945,"path":946,"stem":947,"icon":899},"Set up the studio","/media/set-up","26.media/02.set-up",{"title":949,"path":950,"stem":951,"icon":952},"Files, covers and looks","/media/files-covers-and-looks","26.media/03.files-covers-and-looks","i-lucide-images",{"title":841,"path":954,"stem":955,"icon":956},"/media/channels","26.media/04.channels","i-lucide-tv",{"title":958,"path":959,"stem":960,"icon":961},"Posts and review","/media/posts-and-review","26.media/05.posts-and-review","i-lucide-send",{"title":963,"path":964,"stem":965,"icon":966},"Video templates","/media/video-templates","26.media/06.video-templates","i-lucide-film",{"title":968,"path":969,"stem":970,"icon":736},"Render videos","/media/render-videos","26.media/07.render-videos",{"title":972,"path":973,"stem":974,"icon":571},"Templates as code","/media/templates-as-code","26.media/08.templates-as-code",{"title":976,"path":977,"stem":978,"icon":15},"Agents and media","/media/agents-and-media","26.media/09.agents-and-media",{"title":210,"path":980,"stem":981,"icon":142},"/media/reference","26.media/10.reference",{"title":983,"path":984,"stem":985,"icon":858},"Limits and troubleshooting","/media/limits-and-troubleshooting","26.media/11.limits-and-troubleshooting",{"title":987,"path":988,"stem":989,"children":990,"icon":992},"Vault","/vault","27.vault/01.index",[991,993,997,1001,1005,1010],{"title":987,"path":988,"stem":989,"icon":992},"i-lucide-vault",{"title":994,"path":995,"stem":996,"icon":25},"Secrets","/vault/secrets","27.vault/02.secrets",{"title":998,"path":999,"stem":1000,"icon":130},"Access policies","/vault/access-policies","27.vault/03.access-policies",{"title":1002,"path":1003,"stem":1004,"icon":961},"API access","/vault/api-access","27.vault/04.api-access",{"title":1006,"path":1007,"stem":1008,"icon":1009},"Audit log and keys","/vault/audit-and-keys","27.vault/05.audit-and-keys","i-lucide-scroll-text",{"title":210,"path":1011,"stem":1012,"icon":142},"/vault/reference","27.vault/06.reference",{"title":1014,"path":1015,"stem":1016,"children":1017,"icon":39},"Build apps","/build-apps","28.build-apps/01.index",[1018,1019,1023,1028,1032,1036,1040,1045],{"title":1014,"path":1015,"stem":1016,"icon":39},{"title":1020,"path":1021,"stem":1022,"icon":147},"Backend","/build-apps/backend","28.build-apps/02.backend",{"title":1024,"path":1025,"stem":1026,"icon":1027},"Modules and feature flags","/build-apps/modules-and-feature-flags","28.build-apps/03.modules-and-feature-flags","i-lucide-toggle-right",{"title":1029,"path":1030,"stem":1031,"icon":117},"Environments","/build-apps/environments","28.build-apps/04.environments",{"title":1033,"path":1034,"stem":1035,"icon":83},"Pricing and limits","/build-apps/pricing-and-limits","28.build-apps/05.pricing-and-limits",{"title":1037,"path":1038,"stem":1039,"icon":162},"Workspaces","/build-apps/workspaces","28.build-apps/06.workspaces",{"title":1041,"path":1042,"stem":1043,"icon":1044},"End-user authoring","/build-apps/end-user-authoring","28.build-apps/07.end-user-authoring","i-lucide-pencil-ruler",{"title":1046,"path":1047,"stem":1048,"icon":34},"Operate","/build-apps/operate","28.build-apps/08.operate",{"title":1050,"path":1051,"stem":1052,"children":1053,"icon":39},"Cockpit app","/cockpit","28.cockpit/1.index",[1054,1055,1060,1064,1068,1072,1076,1080,1084,1088,1092,1096,1100,1105,1110,1114,1118,1122,1127,1132],{"title":1050,"path":1051,"stem":1052,"icon":39},{"title":1056,"path":1057,"stem":1058,"icon":1059},"Overview, Decisions and Activity","/cockpit/overview-decisions-activity","28.cockpit/10.overview-decisions-activity","i-lucide-inbox",{"title":1061,"path":1062,"stem":1063,"icon":108},"Tickets","/cockpit/tickets","28.cockpit/11.tickets",{"title":1065,"path":1066,"stem":1067,"icon":147},"Workflows builder","/cockpit/workflows-builder","28.cockpit/12.workflows-builder",{"title":1069,"path":1070,"stem":1071,"icon":15},"Agents and Coding","/cockpit/agents-and-coding","28.cockpit/13.agents-and-coding",{"title":1073,"path":1074,"stem":1075,"icon":39},"Runners and Connections","/cockpit/apps-runners-connections","28.cockpit/14.apps-runners-connections",{"title":1077,"path":1078,"stem":1079,"icon":427},"Organization — people, access and cost","/cockpit/organization-people-access-cost","28.cockpit/15.organization-people-access-cost",{"title":1081,"path":1082,"stem":1083,"icon":899},"AI tools and MCP","/cockpit/ai-tools-and-mcp","28.cockpit/16.ai-tools-and-mcp",{"title":1085,"path":1086,"stem":1087,"icon":826},"App chats and shared chats","/cockpit/app-chats","28.cockpit/17.app-chats",{"title":1089,"path":1090,"stem":1091,"icon":564},"Apps mode","/cockpit/apps-mode","28.cockpit/18.apps-mode",{"title":1093,"path":1094,"stem":1095,"icon":83},"App infrastructure","/cockpit/app-infrastructure","28.cockpit/19.app-infrastructure",{"title":1097,"path":1098,"stem":1099,"icon":659},"Install and sign in","/cockpit/install-and-sign-in","28.cockpit/2.install-and-sign-in",{"title":1101,"path":1102,"stem":1103,"icon":1104},"App files, settings and flags","/cockpit/app-files-settings-flags","28.cockpit/20.app-files-settings-flags","i-lucide-folder-cog",{"title":1106,"path":1107,"stem":1108,"icon":1109},"Cards in the chat","/cockpit/chat-cards","28.cockpit/21.chat-cards","i-lucide-layout-panel-left",{"title":1111,"path":1112,"stem":1113,"icon":229},"App modules","/cockpit/app-modules","28.cockpit/22.app-modules",{"title":1115,"path":1116,"stem":1117,"icon":117},"App environments","/cockpit/app-environments","28.cockpit/23.app-environments",{"title":1119,"path":1120,"stem":1121,"icon":125},"First run and onboarding","/cockpit/first-run-onboarding","28.cockpit/3.first-run-onboarding",{"title":1123,"path":1124,"stem":1125,"icon":1126},"Navigation and shortcuts","/cockpit/navigation-and-shortcuts","28.cockpit/4.navigation-and-shortcuts","i-lucide-keyboard",{"title":1128,"path":1129,"stem":1130,"icon":1131},"About, settings and updates","/cockpit/about-settings-and-updates","28.cockpit/5.about-settings-and-updates","i-lucide-info",{"title":308,"path":1133,"stem":1134,"icon":858},"/cockpit/troubleshooting","28.cockpit/6.troubleshooting",{"title":1136,"path":1137,"stem":1138,"children":1139,"icon":1141},"CRM","/crm","29.crm/01.index",[1140,1142,1146,1150],{"title":1136,"path":1137,"stem":1138,"icon":1141},"i-lucide-contact",{"title":1143,"path":1144,"stem":1145,"icon":180},"Contacts and leads","/crm/contacts-and-leads","29.crm/02.contacts-and-leads",{"title":1147,"path":1148,"stem":1149,"icon":130},"Privacy and erasure","/crm/privacy-and-erasure","29.crm/03.privacy-and-erasure",{"title":210,"path":1151,"stem":1152,"icon":142},"/crm/reference","29.crm/04.reference",{"title":1154,"path":1155,"stem":1156,"children":1157,"icon":631},"Storage","/storage","29.storage/1.index",[1158,1160],{"title":1159,"path":1155,"stem":1156,"icon":631},"Orkestia storage",{"title":1161,"path":1162,"stem":1163,"icon":1164},"Where to use it","/storage/where-to-use","29.storage/2.where-to-use","i-lucide-map",{"title":1166,"path":1167,"stem":1168,"children":1169,"icon":44},"Browser","/browser","30.browser/01.index",[1170,1172,1176,1180],{"title":1171,"path":1167,"stem":1168,"icon":44},"Orkestia Browser",{"title":1173,"path":1174,"stem":1175,"icon":899},"Connect your Chrome","/browser/connect","30.browser/02.connect",{"title":1177,"path":1178,"stem":1179,"icon":130},"Sessions and approvals","/browser/sessions-and-approvals","30.browser/03.sessions-and-approvals",{"title":1181,"path":1182,"stem":1183,"icon":296},"Agent tools","/browser/agent-tools","30.browser/04.agent-tools",{"title":1185,"path":1186,"stem":1187,"children":1188,"icon":541},"Registry","/registry","31.registry/1.index",[1189],{"title":1190,"path":1186,"stem":1187,"icon":541},"Orkestia Registry",{"title":1192,"path":1193,"stem":1194,"children":1195,"icon":404},"Packages and Git","/packages-and-git","32.packages-and-git/1.index",[1196],{"title":1192,"path":1193,"stem":1194,"icon":404},{"id":1198,"title":342,"body":1199,"description":2536,"extension":2537,"links":2538,"meta":2539,"navigation":2540,"path":343,"seo":2541,"stem":344,"__hash__":2542},"docs/09.cloud-connections/7.email.md",{"type":1200,"value":1201,"toc":2517},"minimark",[1202,1211,1214,1284,1295,1300,1322,1325,1461,1483,1502,1510,1515,1529,1672,1683,1687,1693,1715,1718,1782,1785,1797,1820,1823,1829,2044,2070,2079,2083,2100,2114,2118,2146,2150,2153,2198,2231,2237,2240,2323,2327,2354,2358,2383,2386,2484],[1203,1204,1205,1206,1210],"p",{},"A mailbox connection lets workflows, compositions and agents work in ",[1207,1208,1209],"strong",{},"your own"," inbox: list and search messages, read one with its attachments, mark messages read, watch a folder for new mail, and send from your address once a person has approved the exact message. Each mailbox is its own org-scoped connection, so an organization can connect as many as it needs.",[1203,1212,1213],{},"There are two kinds, because the providers sign in differently:",[1215,1216,1217,1236],"table",{},[1218,1219,1220],"thead",{},[1221,1222,1223,1227,1230,1233],"tr",{},[1224,1225,1226],"th",{},"Connection",[1224,1228,1229],{},"Providers",[1224,1231,1232],{},"How it signs in",[1224,1234,1235],{},"Provider key",[1237,1238,1239,1263],"tbody",{},[1221,1240,1241,1247,1250,1257],{},[1242,1243,1244],"td",{},[1207,1245,1246],{},"Mailbox (IMAP/SMTP)",[1242,1248,1249],{},"Gmail and Google Workspace, iCloud Mail, Fastmail, Yahoo Mail, or any other IMAP/SMTP server",[1242,1251,1252,1253,1256],{},"An ",[1207,1254,1255],{},"app password"," you create in the mail account",[1242,1258,1259],{},[1260,1261,1262],"code",{},"email",[1221,1264,1265,1270,1273,1279],{},[1242,1266,1267],{},[1207,1268,1269],{},"Microsoft 365 / Outlook",[1242,1271,1272],{},"Microsoft 365 work or school accounts, and personal Outlook.com / Hotmail / Live accounts",[1242,1274,1275,1278],{},[1207,1276,1277],{},"Sign in with Microsoft"," (OAuth, Microsoft Graph). No password is stored",[1242,1280,1281],{},[1260,1282,1283],{},"microsoft_mail",[1203,1285,1286,1287,1290,1291,1294],{},"Both kinds run the same ",[1260,1288,1289],{},"email.*"," workflows. You name the mailbox in every run by its ",[1260,1292,1293],{},"connection_uuid",". There is no default mailbox.",[1296,1297,1299],"h2",{"id":1298},"connect-an-imapsmtp-mailbox","Connect an IMAP/SMTP mailbox",[1203,1301,1302,1303,1306,1307,1310,1311,1313,1314,1317,1318,1321],{},"In the console, open ",[1207,1304,1305],{},"Connections",", go to the ",[1207,1308,1309],{},"Email"," category and choose ",[1207,1312,1246],{},". Pick the provider, enter the address and the app password, select ",[1207,1315,1316],{},"Test connection",", then ",[1207,1319,1320],{},"Connect",".",[1203,1323,1324],{},"An app password is a separate password your provider issues for one app. You can revoke it without changing your real password, and revoking it disconnects the mailbox. Never enter your account password.",[1215,1326,1327,1340],{},[1218,1328,1329],{},[1221,1330,1331,1334,1337],{},[1224,1332,1333],{},"Provider",[1224,1335,1336],{},"Before you start",[1224,1338,1339],{},"Servers (filled in for you)",[1237,1341,1342,1370,1403,1427,1448],{},[1221,1343,1344,1349,1360],{},[1242,1345,1346],{},[1207,1347,1348],{},"Gmail / Google Workspace",[1242,1350,1351,1352,1359],{},"Turn on 2-Step Verification, then create an app password at ",[1353,1354,1358],"a",{"href":1355,"rel":1356},"https://myaccount.google.com/apppasswords",[1357],"nofollow","myaccount.google.com/apppasswords",". If your Gmail settings still show an IMAP switch, make sure IMAP is on",[1242,1361,1362,1365,1366,1369],{},[1260,1363,1364],{},"imap.gmail.com:993",", ",[1260,1367,1368],{},"smtp.gmail.com:465"," (SSL)",[1221,1371,1372,1377,1394],{},[1242,1373,1374],{},[1207,1375,1376],{},"iCloud Mail",[1242,1378,1379,1380,1365,1383,1386,1387,1390,1391],{},"Two-factor authentication on the Apple Account and an ",[1260,1381,1382],{},"@icloud.com",[1260,1384,1385],{},"@me.com"," or ",[1260,1388,1389],{},"@mac.com"," address. Create an app-specific password at account.apple.com under ",[1207,1392,1393],{},"Sign-In and Security → App-Specific Passwords",[1242,1395,1396,1365,1399,1402],{},[1260,1397,1398],{},"imap.mail.me.com:993",[1260,1400,1401],{},"smtp.mail.me.com:587"," (STARTTLS)",[1221,1404,1405,1410,1419],{},[1242,1406,1407],{},[1207,1408,1409],{},"Fastmail",[1242,1411,1412,1415,1416],{},[1207,1413,1414],{},"Settings → Privacy & Security → App passwords",", with access to ",[1207,1417,1418],{},"Mail (IMAP/POP/SMTP)",[1242,1420,1421,1365,1424,1369],{},[1260,1422,1423],{},"imap.fastmail.com:993",[1260,1425,1426],{},"smtp.fastmail.com:465",[1221,1428,1429,1434,1440],{},[1242,1430,1431],{},[1207,1432,1433],{},"Yahoo Mail",[1242,1435,1436,1439],{},[1207,1437,1438],{},"Account security → Generate app password"," (Yahoo may ask you to turn on 2-step verification first)",[1242,1441,1442,1365,1445,1369],{},[1260,1443,1444],{},"imap.mail.yahoo.com:993",[1260,1446,1447],{},"smtp.mail.yahoo.com:465",[1221,1449,1450,1455,1458],{},[1242,1451,1452],{},[1207,1453,1454],{},"Other",[1242,1456,1457],{},"The IMAP and SMTP settings your provider publishes, and an app password when it offers one",[1242,1459,1460],{},"You enter them",[1203,1462,1463,1464,1466,1467,1470,1471,1474,1475,1478,1479,1482],{},"For ",[1207,1465,1454],{},", IMAP must use port ",[1207,1468,1469],{},"993"," (TLS) and SMTP must use ",[1207,1472,1473],{},"465"," (SSL) or ",[1207,1476,1477],{},"587"," (STARTTLS). Hosts must be public mail servers: names that resolve to loopback, private, link-local, multicast or reserved addresses are refused on every connect. Set ",[1207,1480,1481],{},"Login username"," only when the server does not log in with the email address.",[1484,1485,1486,1496],"note",{},[1203,1487,1488,1491,1492,1495],{},[1207,1489,1490],{},"Google Workspace admins can block this."," App passwords are missing when the admin does not allow 2-Step Verification, enforces security keys only, or the account is in Advanced Protection, and an admin can turn IMAP off for the whole domain. If ",[1207,1493,1494],{},"App passwords"," is missing or the test reports an IMAP login failure, ask your Workspace administrator.",[1203,1497,1498,1501],{},[1207,1499,1500],{},"iCloud:"," changing your Apple Account password revokes every app-specific password, so the connection needs a new one afterwards.",[1203,1503,1504,1506,1507,1509],{},[1207,1505,1316],{}," logs in to IMAP and to SMTP and never sends a message. ",[1207,1508,1320],{}," runs the same test and saves only if it passes.",[1511,1512,1514],"h3",{"id":1513},"from-an-assistant-or-the-api","From an assistant or the API",[1203,1516,1517,1518,1521,1522,1525,1526,1528],{},"The same flow is ",[1260,1519,1520],{},"connection.setup"," with ",[1260,1523,1524],{},"provider_type"," ",[1260,1527,1262],{},":",[1215,1530,1531,1544],{},[1218,1532,1533],{},[1221,1534,1535,1538,1541],{},[1224,1536,1537],{},"Field",[1224,1539,1540],{},"Required",[1224,1542,1543],{},"Notes",[1237,1545,1546,1573,1585,1597,1612,1624,1636],{},[1221,1547,1548,1553,1556],{},[1242,1549,1550],{},[1260,1551,1552],{},"mail_preset",[1242,1554,1555],{},"yes",[1242,1557,1558,1365,1561,1365,1564,1365,1567,1386,1570],{},[1260,1559,1560],{},"gmail",[1260,1562,1563],{},"icloud",[1260,1565,1566],{},"fastmail",[1260,1568,1569],{},"yahoo",[1260,1571,1572],{},"custom",[1221,1574,1575,1580,1582],{},[1242,1576,1577],{},[1260,1578,1579],{},"username",[1242,1581,1555],{},[1242,1583,1584],{},"The mailbox login, normally the address",[1221,1586,1587,1592,1594],{},[1242,1588,1589],{},[1260,1590,1591],{},"api_token",[1242,1593,1555],{},[1242,1595,1596],{},"The app password. Stored encrypted",[1221,1598,1599,1604,1607],{},[1242,1600,1601],{},[1260,1602,1603],{},"mailbox",[1242,1605,1606],{},"no",[1242,1608,1609,1610],{},"The mailbox address. Defaults to ",[1260,1611,1579],{},[1221,1613,1614,1619,1621],{},[1242,1615,1616],{},[1260,1617,1618],{},"from_name",[1242,1620,1606],{},[1242,1622,1623],{},"Display name for the From header",[1221,1625,1626,1631,1633],{},[1242,1627,1628],{},[1260,1629,1630],{},"connection_name",[1242,1632,1606],{},[1242,1634,1635],{},"Defaults to the mailbox address",[1221,1637,1638,1655,1660],{},[1242,1639,1640,1365,1643,1365,1646,1365,1649,1365,1652],{},[1260,1641,1642],{},"imap_host",[1260,1644,1645],{},"imap_port",[1260,1647,1648],{},"smtp_host",[1260,1650,1651],{},"smtp_port",[1260,1653,1654],{},"smtp_security",[1242,1656,1657,1659],{},[1260,1658,1572],{}," only",[1242,1661,1662,1663,1665,1666,1386,1669],{},"Ignored for the named presets. ",[1260,1664,1654],{}," is ",[1260,1667,1668],{},"ssl",[1260,1670,1671],{},"starttls",[1203,1673,1674,1675,1678,1679,1682],{},"Pass ",[1260,1676,1677],{},"dry_run: true"," to test without saving. ",[1260,1680,1681],{},"get_workflow_prerequisites(\"connection.setup\", variant=\"email\")"," returns the full per-provider guide.",[1296,1684,1686],{"id":1685},"connect-a-microsoft-365-or-outlookcom-mailbox","Connect a Microsoft 365 or Outlook.com mailbox",[1203,1688,1689,1690,1692],{},"Microsoft retired password sign-in for IMAP and SMTP, so Microsoft mailboxes do not work as IMAP/SMTP connections. Use ",[1207,1691,1269],{}," instead:",[1694,1695,1696,1709,1712],"ol",{},[1697,1698,1699,1700,1703,1704,1706,1707,1321],"li",{},"In ",[1207,1701,1702],{},"Connections → Email",", choose ",[1207,1705,1269],{}," and select ",[1207,1708,1277],{},[1697,1710,1711],{},"Microsoft always shows the account picker, so one person can connect several mailboxes. Pick the account.",[1697,1713,1714],{},"Consent to the permissions below. You return to the console and the connection is saved, named after the mailbox address.",[1203,1716,1717],{},"Orkestia asks for these delegated Microsoft Graph permissions, and only these:",[1215,1719,1720,1730],{},[1218,1721,1722],{},[1221,1723,1724,1727],{},[1224,1725,1726],{},"Permission",[1224,1728,1729],{},"Why",[1237,1731,1732,1747,1757,1767],{},[1221,1733,1734,1744],{},[1242,1735,1736,1365,1739,1365,1741],{},[1260,1737,1738],{},"openid",[1260,1740,1262],{},[1260,1742,1743],{},"User.Read",[1242,1745,1746],{},"Sign you in and read your profile, which gives the mailbox address the connection is named after",[1221,1748,1749,1754],{},[1242,1750,1751],{},[1260,1752,1753],{},"offline_access",[1242,1755,1756],{},"Keep access without asking you to sign in again on every run",[1221,1758,1759,1764],{},[1242,1760,1761],{},[1260,1762,1763],{},"Mail.ReadWrite",[1242,1765,1766],{},"Read messages and folders, and mark messages read or unread",[1221,1768,1769,1774],{},[1242,1770,1771],{},[1260,1772,1773],{},"Mail.Send",[1242,1775,1776,1777,1781],{},"Send mail as you, only after a person approves the message (see ",[1353,1778,1780],{"href":1779},"#sending-needs-a-human-approval","Sending",")",[1203,1783,1784],{},"You never paste a client ID, secret or token. Orkestia keeps the access and refresh tokens encrypted on the connection and refreshes them on its own.",[1786,1787,1788],"warning",{},[1203,1789,1790,1793,1794,1321],{},[1207,1791,1792],{},"\"Need admin approval\""," means your Microsoft 365 tenant does not let users consent to apps. A Microsoft 365 administrator has to grant consent to the Orkestia app in the Entra admin center under ",[1207,1795,1796],{},"Enterprise applications",[1203,1798,1799,1800,1803,1804,1521,1807,1525,1809,1811,1812,1815,1816,1819],{},"Over the API this is ",[1260,1801,1802],{},"connection.oauth-start"," then ",[1260,1805,1806],{},"connection.oauth-exchange",[1260,1808,1524],{},[1260,1810,1283],{}," and the redirect URI ",[1260,1813,1814],{},"https://app.orkestia.dev/connections/microsoft_mail/callback",". ",[1260,1817,1818],{},"get_workflow_prerequisites(\"connection.setup\", variant=\"microsoft_mail\")"," returns the guide.",[1296,1821,144],{"id":1822},"workflows",[1203,1824,1825,1826,1828],{},"Every workflow takes ",[1260,1827,1293],{}," (the mailbox) and refuses any connection that is not a mailbox of your organization. None of the read workflows mark anything read.",[1215,1830,1831,1844],{},[1218,1832,1833],{},[1221,1834,1835,1838,1841],{},[1224,1836,1837],{},"Workflow",[1224,1839,1840],{},"What it does",[1224,1842,1843],{},"Main inputs",[1237,1845,1846,1859,1871,1903,1922,1955,1978,1998,2026],{},[1221,1847,1848,1853,1856],{},[1242,1849,1850],{},[1260,1851,1852],{},"email.mailbox.verify",[1242,1854,1855],{},"Re-tests the connection without sending anything. Returns the mailbox address, the inbox message count, and (IMAP/SMTP) whether each side passed",[1242,1857,1858],{},"—",[1221,1860,1861,1866,1869],{},[1242,1862,1863],{},[1260,1864,1865],{},"email.folder.list",[1242,1867,1868],{},"Lists folders with their id, name, special use and, on Microsoft, total and unread counts",[1242,1870,1858],{},[1221,1872,1873,1878,1881],{},[1242,1874,1875],{},[1260,1876,1877],{},"email.message.list",[1242,1879,1880],{},"Message summaries of a folder, newest first, with a cursor for the next page",[1242,1882,1883,1886,1887,1890,1891,1365,1894,1365,1897,1365,1900],{},[1260,1884,1885],{},"folder"," (default ",[1260,1888,1889],{},"INBOX","), ",[1260,1892,1893],{},"unread_only",[1260,1895,1896],{},"since",[1260,1898,1899],{},"limit",[1260,1901,1902],{},"cursor",[1221,1904,1905,1910,1913],{},[1242,1906,1907],{},[1260,1908,1909],{},"email.message.search",[1242,1911,1912],{},"Free-text search over headers and body",[1242,1914,1915,1365,1918,1365,1920],{},[1260,1916,1917],{},"query",[1260,1919,1885],{},[1260,1921,1899],{},[1221,1923,1924,1929,1932],{},[1242,1925,1926],{},[1260,1927,1928],{},"email.message.get",[1242,1930,1931],{},"One message: headers, text and HTML bodies, attachments, and any meeting invite it carries",[1242,1933,1934,1365,1937,1365,1939,1365,1942,1365,1945,1948,1949,1365,1952],{},[1260,1935,1936],{},"message_id",[1260,1938,1885],{},[1260,1940,1941],{},"body_max_chars",[1260,1943,1944],{},"include_html",[1260,1946,1947],{},"storage_connection_uuid"," + ",[1260,1950,1951],{},"bucket",[1260,1953,1954],{},"key_prefix",[1221,1956,1957,1962,1968],{},[1242,1958,1959],{},[1260,1960,1961],{},"email.message.mark-read",[1242,1963,1964,1965],{},"Marks messages read, or unread with ",[1260,1966,1967],{},"read: false",[1242,1969,1970,1386,1973,1365,1975],{},[1260,1971,1972],{},"message_ids",[1260,1974,1936],{},[1260,1976,1977],{},"read",[1221,1979,1980,1985,1988],{},[1242,1981,1982],{},[1260,1983,1984],{},"email.inbox.poll",[1242,1986,1987],{},"The next batch of new messages since a cursor, for a schedule",[1242,1989,1990,1365,1992,1365,1994,1365,1996],{},[1260,1991,1885],{},[1260,1993,1902],{},[1260,1995,1899],{},[1260,1997,1896],{},[1221,1999,2000,2005,2008],{},[1242,2001,2002],{},[1260,2003,2004],{},"email.message.send-with-approval",[1242,2006,2007],{},"Prepares a message and asks a person to approve it. Does not send",[1242,2009,2010,1365,2013,1365,2016,1365,2019,1386,2022,2025],{},[1260,2011,2012],{},"actor_uuid",[1260,2014,2015],{},"to",[1260,2017,2018],{},"subject",[1260,2020,2021],{},"text",[1260,2023,2024],{},"html",", and the optional fields below",[1221,2027,2028,2033,2036],{},[1242,2029,2030],{},[1260,2031,2032],{},"email.message.send",[1242,2034,2035],{},"Sends the message an approved review holds",[1242,2037,2038,1365,2041],{},[1260,2039,2040],{},"approval_envelope_uuid",[1260,2042,2043],{},"save_to_sent",[1203,2045,2046,2047,2050,2051,2054,2055,1386,2058,2061,2062,2065,2066,2069],{},"A message summary is ",[1260,2048,2049],{},"{id, internet_message_id, folder, from, to, cc, subject, date, received_at, is_read, has_attachments, size_bytes, snippet, in_reply_to}",". Pass its ",[1260,2052,2053],{},"id"," to ",[1260,2056,2057],{},"get",[1260,2059,2060],{},"mark-read","; both also accept an RFC Message-ID such as ",[1260,2063,2064],{},"\u003Cabc@example.com>",". Over IMAP, ",[1260,2067,2068],{},"snippet"," is empty and folder counts are not reported.",[1203,2071,2072,2073,2075,2076,2078],{},"Search takes plain words, not IMAP or Microsoft query syntax. Over IMAP it searches ",[1260,2074,1889],{}," unless you name a folder; on Microsoft it searches the whole mailbox when ",[1260,2077,1885],{}," is omitted.",[1511,2080,2082],{"id":2081},"attachments-go-to-your-bucket","Attachments go to your bucket",[1203,2084,2085,2087,2088,2091,2092,2095,2096,2099],{},[1260,2086,1928],{}," never puts attachment bytes in the run. Give it a storage connection and a bucket and it copies each attachment there, returning a ",[1260,2089,2090],{},"storage_object_uuid",", bucket and key per file. Without a storage target you get the metadata only (file name, type, size). See ",[1353,2093,2094],{"href":227},"object storage"," for the ",[1260,2097,2098],{},"storage.*"," side.",[1203,2101,2102,2103,2106,2107,2109,2110,2113],{},"When a message contains a meeting invite (a calendar part, an ",[1260,2104,2105],{},".ics"," attachment or an Outlook meeting request), ",[1260,2108,2057],{}," also returns it parsed as ",[1260,2111,2112],{},"invite",": title, start and end, time zone, organizer, attendees, location and meeting link.",[1511,2115,2117],{"id":2116},"watching-for-new-mail","Watching for new mail",[1203,2119,2120,2122,2123,2128,2129,2132,2133,1815,2135,2138,2139,2142,2143,2145],{},[1260,2121,1984],{}," is a bounded, read-only batch built to be fired by ",[1353,2124,2125],{"href":227},[1260,2126,2127],{},"schedule.*",". It returns ",[1260,2130,2131],{},"next_cursor",". Store it and pass it back on the next poll. On the first run, with no cursor, it starts from now and returns nothing unless you give ",[1260,2134,1896],{},[1260,2136,2137],{},"has_more: true"," means more new mail is waiting; ",[1260,2140,2141],{},"cursor_reset: true"," means the stored cursor no longer applied and was re-anchored. ",[1260,2144,1972],{}," gives you idempotency keys, so a message seen twice can be skipped.",[1296,2147,2149],{"id":2148},"sending-needs-a-human-approval","Sending needs a human approval",[1203,2151,2152],{},"No workflow sends mail on the say-so of a script or an agent alone. Sending takes two runs:",[1694,2154,2155,2175,2178],{},[1697,2156,2157,2161,2162,2165,2166,2128,2168,2170,2171,2174],{},[1207,2158,2159],{},[1260,2160,2004],{}," validates the message and opens a review in the ",[1353,2163,2164],{"href":700},"Staff inbox"," of the actor you name in ",[1260,2167,2012],{},[1260,2169,2040],{}," and ",[1260,2172,2173],{},"status: review_requested",". Nothing is sent yet.",[1697,2176,2177],{},"A person reviews the exact message (recipients, subject, body, attachments, mailbox) and approves it.",[1697,2179,2180,2184,2185,2187,2188,2190,2191,2194,2195,1321],{},[1207,2181,2182],{},[1260,2183,2032],{}," with the same ",[1260,2186,1293],{}," and that ",[1260,2189,2040],{}," sends ",[1207,2192,2193],{},"exactly the reviewed message",". It takes no recipients, subject or body of its own, refuses an envelope approved for a different mailbox, and sends once: calling it again returns the first result with ",[1260,2196,2197],{},"deduped: true",[1203,2199,2200,2201,1365,2204,1365,2207,1365,2210,1365,2212,2215,2216,2219,2220,1365,2223,2226,2227,2230],{},"Optional fields on the request: ",[1260,2202,2203],{},"cc",[1260,2205,2206],{},"bcc",[1260,2208,2209],{},"reply_to",[1260,2211,1618],{},[1260,2213,2214],{},"attachment_storage_object_uuids"," (storage objects of your organization), ",[1260,2217,2218],{},"reply_to_message_id"," (threads the message as a reply), ",[1260,2221,2222],{},"review_title",[1260,2224,2225],{},"review_reason",", and ",[1260,2228,2229],{},"connector_uuid"," to notify an inbox connector.",[1203,2232,2233,2234,2236],{},"On IMAP/SMTP mailboxes, ",[1260,2235,2043],{}," (default on) files a copy in the Sent folder. Gmail files its own copy, so Orkestia skips it there.",[1296,2238,864],{"id":2239},"limits",[1215,2241,2242,2252],{},[1218,2243,2244],{},[1221,2245,2246,2249],{},[1224,2247,2248],{},"What",[1224,2250,2251],{},"Limit",[1237,2253,2254,2262,2270,2280,2288,2296,2304,2312],{},[1221,2255,2256,2259],{},[1242,2257,2258],{},"Messages per list, search or poll",[1242,2260,2261],{},"25 by default, up to 100",[1221,2263,2264,2267],{},[1242,2265,2266],{},"Messages per mark-read call",[1242,2268,2269],{},"100",[1221,2271,2272,2277],{},[1242,2273,2274,2275],{},"Body returned by ",[1260,2276,2057],{},[1242,2278,2279],{},"100,000 characters per part by default, up to 1,000,000",[1221,2281,2282,2285],{},[1242,2283,2284],{},"Whole message read over IMAP",[1242,2286,2287],{},"25 MB. Larger messages are refused",[1221,2289,2290,2293],{},[1242,2291,2292],{},"Attachments copied per message",[1242,2294,2295],{},"20, each up to 25 MB",[1221,2297,2298,2301],{},[1242,2299,2300],{},"Recipients per message (to + cc + bcc)",[1242,2302,2303],{},"50",[1221,2305,2306,2309],{},[1242,2307,2308],{},"Subject",[1242,2310,2311],{},"998 characters",[1221,2313,2314,2317],{},[1242,2315,2316],{},"Outgoing attachments",[1242,2318,2319,2320],{},"10 files, 20 MB in total. ",[1207,2321,2322],{},"3 MB in total on Microsoft mailboxes",[1296,2324,2326],{"id":2325},"security-and-what-is-stored","Security and what is stored",[2328,2329,2330,2336,2342,2348],"ul",{},[1697,2331,2332,2335],{},[1207,2333,2334],{},"One credential per mailbox, encrypted."," An IMAP/SMTP connection stores the address, the provider preset or server settings, and the app password (encrypted). A Microsoft connection stores the address, the account kind (work or personal) and the access and refresh tokens (encrypted). Workflow inputs never carry the credential.",[1697,2337,2338,2341],{},[1207,2339,2340],{},"TLS only."," IMAP on 993, SMTP on 465 or 587 with STARTTLS. Server addresses are checked on every connect.",[1697,2343,2344,2347],{},[1207,2345,2346],{},"Orkestia does not copy your mailbox."," A run reads what it asked for and returns it as that run's output, within the caps above. Attachments only leave the mailbox when you name a bucket in your own storage.",[1697,2349,2350,2353],{},[1207,2351,2352],{},"Revoke at the source."," Revoke the app password in the mail account, or remove Orkestia from the Microsoft account, and the next run fails. Deleting the connection in the console removes it from Orkestia.",[1296,2355,2357],{"id":2356},"managing-a-mailbox-connection","Managing a mailbox connection",[2328,2359,2360,2366,2375],{},[1697,2361,2362,2365],{},[1207,2363,2364],{},"Rotate an app password:"," edit the connection, paste a new app password made in the same mail account, then revoke the old one there.",[1697,2367,2368,2371,2372,2374],{},[1207,2369,2370],{},"Microsoft grant expired or revoked:"," edit the connection and select ",[1207,2373,1277],{}," again.",[1697,2376,2377,2380,2381,1321],{},[1207,2378,2379],{},"Check it still works:"," run ",[1260,2382,1852],{},[1296,2384,308],{"id":2385},"troubleshooting",[1215,2387,2388,2401],{},[1218,2389,2390],{},[1221,2391,2392,2395,2398],{},[1224,2393,2394],{},"Symptom",[1224,2396,2397],{},"Cause",[1224,2399,2400],{},"Fix",[1237,2402,2403,2414,2427,2438,2451,2462,2473],{},[1221,2404,2405,2408,2411],{},[1242,2406,2407],{},"IMAP login failure on Gmail / Workspace",[1242,2409,2410],{},"IMAP off, or a Workspace policy blocks app passwords",[1242,2412,2413],{},"Turn IMAP on, or ask the Workspace administrator",[1221,2415,2416,2421,2424],{},[1242,2417,2418,2420],{},[1207,2419,1494],{}," missing in the Google Account",[1242,2422,2423],{},"2-Step Verification off, security-key-only policy, or Advanced Protection",[1242,2425,2426],{},"Turn on 2-Step Verification, or ask the administrator",[1221,2428,2429,2432,2435],{},[1242,2430,2431],{},"iCloud mailbox stopped working",[1242,2433,2434],{},"The Apple Account password changed",[1242,2436,2437],{},"Make a new app-specific password and rotate it in",[1221,2439,2440,2443,2446],{},[1242,2441,2442],{},"Outlook.com or Microsoft 365 address rejected as IMAP/SMTP",[1242,2444,2445],{},"Microsoft retired password sign-in",[1242,2447,2448,2449],{},"Connect it as ",[1207,2450,1269],{},[1221,2452,2453,2456,2459],{},[1242,2454,2455],{},"\"Need admin approval\" at Microsoft sign-in",[1242,2457,2458],{},"The tenant blocks user consent",[1242,2460,2461],{},"A Microsoft 365 administrator grants consent to the Orkestia app",[1221,2463,2464,2467,2470],{},[1242,2465,2466],{},"Custom server refused",[1242,2468,2469],{},"Port other than 993 / 465 / 587, or the host resolves to a private address",[1242,2471,2472],{},"Use the provider's public TLS endpoints",[1221,2474,2475,2478,2481],{},[1242,2476,2477],{},"Send fails on a Microsoft mailbox with attachments",[1242,2479,2480],{},"Over the 3 MB total",[1242,2482,2483],{},"Send fewer or smaller files, or share a link instead",[2485,2486,2487,2494,2500,2511],"card-group",{},[2488,2489,2491],"card",{"icon":317,"title":2490,"to":313},"Cloud connections",[1203,2492,2493],{},"The connection model every provider follows.",[2488,2495,2497],{"icon":130,"title":2496,"to":700},"Staff governance",[1203,2498,2499],{},"Inbox approvals, gates, and which actors may run which workflows.",[2488,2501,2503],{"icon":229,"title":2502,"to":227},"Platform services",[1203,2504,2505,2507,2508,2510],{},[1260,2506,2098],{}," for attachments and ",[1260,2509,2127],{}," for polling.",[2488,2512,2514],{"icon":147,"title":2513,"to":91},"Compositions",[1203,2515,2516],{},"Chain a poll, a read and an approved reply into one saved workflow.",{"title":2518,"searchDepth":2519,"depth":2520,"links":2521},"",1,2,[2522,2526,2527,2531,2532,2533,2534,2535],{"id":1298,"depth":2520,"text":1299,"children":2523},[2524],{"id":1513,"depth":2525,"text":1514},3,{"id":1685,"depth":2520,"text":1686},{"id":1822,"depth":2520,"text":144,"children":2528},[2529,2530],{"id":2081,"depth":2525,"text":2082},{"id":2116,"depth":2525,"text":2117},{"id":2148,"depth":2520,"text":2149},{"id":2239,"depth":2520,"text":864},{"id":2325,"depth":2520,"text":2326},{"id":2356,"depth":2520,"text":2357},{"id":2385,"depth":2520,"text":308},"Connect Gmail, Google Workspace, iCloud, Fastmail, Yahoo, any IMAP/SMTP server, or Microsoft 365 / Outlook.com, then read mail and send it after a human approves","md",null,{},{"icon":345},{"title":342,"description":2536},"JB2AHJnVd6EH-_DdPgBdeq5cfRQmwWARHlYu97SzIlo",[2544,2546],{"title":338,"path":339,"stem":340,"description":2545,"icon":255,"children":-1},"Connect TypeSafe Jev (System One) and run typed choice, score, and noul decisions through typesafe.systemone.evaluate — not a chat model",{"title":352,"path":348,"stem":349,"description":2547,"icon":98,"children":-1},"Connect DNS providers to manage DNS records, configure custom domains, and automate DNS operations.",1794361936667]