[{"data":1,"prerenderedAt":2222},["ShallowReactive",2],{"navigation":3,"/crm/contacts-and-leads":1197,"/crm/contacts-and-leads-surround":2217},[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":1143,"body":1199,"description":2210,"extension":2211,"links":2212,"meta":2213,"navigation":2214,"path":1144,"seo":2215,"stem":1145,"__hash__":2216},"docs/29.crm/02.contacts-and-leads.md",{"type":1200,"value":1201,"toc":2200},"minimark",[1202,1220,1225,1231,1290,1304,1451,1479,1636,1652,1656,1689,1694,1717,1722,1752,1756,1776,1807,1817,1852,1863,1867,1891,1895,1902,1970,1986,1990,2102,2118,2122,2130,2170,2181,2185,2196],[1203,1204,1205,1206,1210,1211,1215,1216,1219],"p",{},"Every call on this page needs ",[1207,1208,1209],"code",{},"identity_app_uuid",", the ",[1212,1213,1214],"a",{"href":474},"Identity app"," whose CRM you are working in (",[1207,1217,1218],{},"identity.app.query"," lists your apps). Your organization comes from your token; you never pass it.",[1221,1222,1224],"h2",{"id":1223},"capture-someone-who-reached-you","Capture someone who reached you",[1203,1226,1227,1230],{},[1207,1228,1229],{},"crm.lead.capture"," is the entry point for a new inbound person: a WhatsApp message, a web form, an email, or a call your team logs by hand. In one step it:",[1232,1233,1234,1253,1259,1273],"ol",{},[1235,1236,1237,1245,1246,1249,1250,1252],"li",{},[1238,1239,1240,1241,1244],"strong",{},"Checks ",[1207,1242,1243],{},"ref","."," When the external id you pass (a message id, a form submission id) is already on the app's timeline, nothing is written. You get the earlier contact, lead and timeline entry back with ",[1207,1247,1248],{},"deduplicated: true",". Send a ",[1207,1251,1243],{}," whenever you have one, and retries are safe.",[1235,1254,1255,1258],{},[1238,1256,1257],{},"Finds or creates the contact."," It matches the exact phone first, then the email (case-insensitive). On a match it only fills fields that are empty. It never takes a phone or email that another contact already has.",[1235,1260,1261,1264,1265,1268,1269,1272],{},[1238,1262,1263],{},"Opens a lead"," at stage ",[1207,1266,1267],{},"new"," when the contact has no open lead in that pipeline. When there is one, it reuses it. Pass ",[1207,1270,1271],{},"open_lead: false"," to record the contact without a lead.",[1235,1274,1275,1278,1279,1282,1283,1286,1287,1244],{},[1238,1276,1277],{},"Logs one timeline entry."," A message ",[1207,1280,1281],{},"body"," over WhatsApp, web or email is recorded as ",[1207,1284,1285],{},"message_in","; anything else as ",[1207,1288,1289],{},"system",[1203,1291,1292,1293,1296,1297,1300,1301,1244],{},"You need at least one of ",[1207,1294,1295],{},"phone_e164",", ",[1207,1298,1299],{},"wa_id"," or ",[1207,1302,1303],{},"email",[1305,1306,1311],"pre",{"className":1307,"code":1308,"language":1309,"meta":1310,"style":1310},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -sS -X POST https://workflow-api.orkestia.dev/api/workflows/start \\\n  -H \"Authorization: Bearer $ORKESTIA_TOKEN\" -H \"Content-Type: application/json\" \\\n  -d '{\n        \"workflow_type\": \"crm.lead.capture\",\n        \"initial_data\": {\n          \"identity_app_uuid\": \"…\",\n          \"phone_e164\": \"+5511999998888\",\n          \"display_name\": \"Ana Souza\",\n          \"source\": \"web_form\",\n          \"source_detail\": { \"utm_source\": \"newsletter\" },\n          \"body\": \"I would like a quote for 20 seats\",\n          \"ref\": \"form-submission-8812\"\n        }\n      }'\n","bash","",[1207,1312,1313,1339,1370,1382,1388,1394,1400,1406,1412,1418,1424,1430,1436,1442],{"__ignoreMap":1310},[1314,1315,1318,1322,1326,1329,1332,1335],"span",{"class":1316,"line":1317},"line",1,[1314,1319,1321],{"class":1320},"sBMFI","curl",[1314,1323,1325],{"class":1324},"sfazB"," -sS",[1314,1327,1328],{"class":1324}," -X",[1314,1330,1331],{"class":1324}," POST",[1314,1333,1334],{"class":1324}," https://workflow-api.orkestia.dev/api/workflows/start",[1314,1336,1338],{"class":1337},"sTEyZ"," \\\n",[1314,1340,1342,1345,1349,1352,1355,1358,1361,1363,1366,1368],{"class":1316,"line":1341},2,[1314,1343,1344],{"class":1324},"  -H",[1314,1346,1348],{"class":1347},"sMK4o"," \"",[1314,1350,1351],{"class":1324},"Authorization: Bearer ",[1314,1353,1354],{"class":1337},"$ORKESTIA_TOKEN",[1314,1356,1357],{"class":1347},"\"",[1314,1359,1360],{"class":1324}," -H",[1314,1362,1348],{"class":1347},[1314,1364,1365],{"class":1324},"Content-Type: application/json",[1314,1367,1357],{"class":1347},[1314,1369,1338],{"class":1337},[1314,1371,1373,1376,1379],{"class":1316,"line":1372},3,[1314,1374,1375],{"class":1324},"  -d",[1314,1377,1378],{"class":1347}," '",[1314,1380,1381],{"class":1324},"{\n",[1314,1383,1385],{"class":1316,"line":1384},4,[1314,1386,1387],{"class":1324},"        \"workflow_type\": \"crm.lead.capture\",\n",[1314,1389,1391],{"class":1316,"line":1390},5,[1314,1392,1393],{"class":1324},"        \"initial_data\": {\n",[1314,1395,1397],{"class":1316,"line":1396},6,[1314,1398,1399],{"class":1324},"          \"identity_app_uuid\": \"…\",\n",[1314,1401,1403],{"class":1316,"line":1402},7,[1314,1404,1405],{"class":1324},"          \"phone_e164\": \"+5511999998888\",\n",[1314,1407,1409],{"class":1316,"line":1408},8,[1314,1410,1411],{"class":1324},"          \"display_name\": \"Ana Souza\",\n",[1314,1413,1415],{"class":1316,"line":1414},9,[1314,1416,1417],{"class":1324},"          \"source\": \"web_form\",\n",[1314,1419,1421],{"class":1316,"line":1420},10,[1314,1422,1423],{"class":1324},"          \"source_detail\": { \"utm_source\": \"newsletter\" },\n",[1314,1425,1427],{"class":1316,"line":1426},11,[1314,1428,1429],{"class":1324},"          \"body\": \"I would like a quote for 20 seats\",\n",[1314,1431,1433],{"class":1316,"line":1432},12,[1314,1434,1435],{"class":1324},"          \"ref\": \"form-submission-8812\"\n",[1314,1437,1439],{"class":1316,"line":1438},13,[1314,1440,1441],{"class":1324},"        }\n",[1314,1443,1445,1448],{"class":1316,"line":1444},14,[1314,1446,1447],{"class":1324},"      }",[1314,1449,1450],{"class":1347},"'\n",[1203,1452,1453,1454,1296,1457,1296,1460,1296,1463,1296,1466,1296,1469,1296,1472,1475,1476,1244],{},"The run returns ",[1207,1455,1456],{},"contact_uuid",[1207,1458,1459],{},"lead_uuid",[1207,1461,1462],{},"activity_uuid",[1207,1464,1465],{},"stage",[1207,1467,1468],{},"contact_created",[1207,1470,1471],{},"lead_created",[1207,1473,1474],{},"deduplicated"," and ",[1207,1477,1478],{},"opted_out",[1480,1481,1482,1495],"table",{},[1483,1484,1485],"thead",{},[1486,1487,1488,1492],"tr",{},[1489,1490,1491],"th",{},"Input",[1489,1493,1494],{},"Use",[1496,1497,1498,1512,1524,1533,1543,1567,1577,1591,1601,1627],"tbody",{},[1486,1499,1500,1505],{},[1501,1502,1503],"td",{},[1207,1504,1295],{},[1501,1506,1507,1508,1511],{},"Phone in E.164 (",[1207,1509,1510],{},"+"," optional, spaces and dashes are removed)",[1486,1513,1514,1518],{},[1501,1515,1516],{},[1207,1517,1299],{},[1501,1519,1520,1521,1523],{},"WhatsApp sender id (digits, no ",[1207,1522,1510],{},"). It also sets the phone",[1486,1525,1526,1530],{},[1501,1527,1528],{},[1207,1529,1303],{},[1501,1531,1532],{},"Email",[1486,1534,1535,1540],{},[1501,1536,1537],{},[1207,1538,1539],{},"display_name",[1501,1541,1542],{},"Name, for example the WhatsApp profile name",[1486,1544,1545,1550],{},[1501,1546,1547],{},[1207,1548,1549],{},"source",[1501,1551,1552,1553,1296,1556,1296,1559,1562,1563,1566],{},"Where they came from: ",[1207,1554,1555],{},"whatsapp",[1207,1557,1558],{},"web_form",[1207,1560,1561],{},"manual"," (default), ",[1207,1564,1565],{},"import",", or your own short slug",[1486,1568,1569,1574],{},[1501,1570,1571],{},[1207,1572,1573],{},"source_detail",[1501,1575,1576],{},"Attribution, such as UTM parameters or an ad referral (JSON object)",[1486,1578,1579,1584],{},[1501,1580,1581],{},[1207,1582,1583],{},"pipeline_key",[1501,1585,1586,1587,1590],{},"Which pipeline the lead belongs to (default ",[1207,1588,1589],{},"default",")",[1486,1592,1593,1598],{},[1501,1594,1595],{},[1207,1596,1597],{},"owner_user_uuid",[1501,1599,1600],{},"Member of your organization who owns a new contact or lead",[1486,1602,1603,1619],{},[1501,1604,1605,1296,1607,1296,1610,1296,1613,1296,1616],{},[1207,1606,1281],{},[1207,1608,1609],{},"channel",[1207,1611,1612],{},"activity_kind",[1207,1614,1615],{},"occurred_at",[1207,1617,1618],{},"activity_data",[1501,1620,1621,1622,1624,1625],{},"The timeline entry. ",[1207,1623,1609],{}," defaults from ",[1207,1626,1549],{},[1486,1628,1629,1633],{},[1501,1630,1631],{},[1207,1632,1243],{},[1501,1634,1635],{},"External id that makes the call idempotent",[1637,1638,1639],"tip",{},[1203,1640,1641,1642,1644,1645,1648,1649,1651],{},"Wire your web form or message handler to call ",[1207,1643,1229],{}," from your ",[1238,1646,1647],{},"server"," with an organization token, and pass the form or message id as ",[1207,1650,1243],{},". Never put an organization token in a browser.",[1221,1653,1655],{"id":1654},"add-or-edit-contacts","Add or edit contacts",[1480,1657,1658,1667],{},[1483,1659,1660],{},[1486,1661,1662,1665],{},[1489,1663,1664],{},"You want to",[1489,1666,1494],{},[1496,1668,1669,1679],{},[1486,1670,1671,1674],{},[1501,1672,1673],{},"Add a contact, or update the one with the same phone or email (imports, manual entry)",[1501,1675,1676],{},[1207,1677,1678],{},"crm.contact.upsert",[1486,1680,1681,1684],{},[1501,1682,1683],{},"Edit one contact you already have the id of",[1501,1685,1686],{},[1207,1687,1688],{},"crm.contact.update",[1203,1690,1691,1693],{},[1207,1692,1678],{}," uses the same matching as capture. On a match, the name, owner and tags you send replace the current ones, attributes are merged, and phone, email and WhatsApp id only fill empty fields. It opens no lead and writes no timeline entry.",[1203,1695,1696,1698,1699,1702,1703,1296,1705,1296,1707,1296,1709,1300,1711,1713,1714,1244],{},[1207,1697,1688],{}," changes only the fields you send. ",[1207,1700,1701],{},"clear_fields"," empties ",[1207,1704,1539],{},[1207,1706,1295],{},[1207,1708,1303],{},[1207,1710,1299],{},[1207,1712,1597],{},". A contact must keep a phone or an email, and a phone or email another contact already has is refused. The result lists ",[1207,1715,1716],{},"changed_fields",[1203,1718,1719],{},[1238,1720,1721],{},"Tags and attributes:",[1723,1724,1725,1738],"ul",{},[1235,1726,1727,1730,1731,1733,1734,1737],{},[1207,1728,1729],{},"tags"," is a list of up to 16 short strings. Sending ",[1207,1732,1729],{}," ",[1238,1735,1736],{},"replaces"," the list. Lists can filter by one tag.",[1235,1739,1740,1743,1744,1747,1748,1751],{},[1207,1741,1742],{},"attributes"," is a free JSON object for anything else about the person. It is ",[1238,1745,1746],{},"merged",": send only the keys you change, and set a key to ",[1207,1749,1750],{},"null"," to remove it. Lists do not filter on attributes.",[1221,1753,1755],{"id":1754},"pipelines-and-stages","Pipelines and stages",[1203,1757,1758,1759,1761,1762,1764,1765,1768,1769,1475,1772,1775],{},"A lead belongs to one pipeline (",[1207,1760,1583],{},", default ",[1207,1763,1589],{},"). A contact has ",[1238,1766,1767],{},"at most one open lead per pipeline",". Use separate pipelines when the same person can be in two processes at once (for example ",[1207,1770,1771],{},"sales",[1207,1773,1774],{},"support",").",[1203,1777,1778,1779,1781,1782,1784,1785,1784,1788,1784,1791,1300,1794,1797,1798,1296,1801,1296,1804,1775],{},"Leads start at ",[1207,1780,1267],{},". The suggested path is ",[1207,1783,1267],{}," → ",[1207,1786,1787],{},"contacted",[1207,1789,1790],{},"qualified",[1207,1792,1793],{},"converted",[1207,1795,1796],{},"lost",", but a stage is any short lowercase slug, so you can use your own (",[1207,1799,1800],{},"demo",[1207,1802,1803],{},"proposal",[1207,1805,1806],{},"negotiation",[1203,1808,1809,1812,1813,1816],{},[1207,1810,1811],{},"crm.lead.update-stage"," moves a lead and logs a ",[1207,1814,1815],{},"stage_change"," entry on the timeline:",[1723,1818,1819,1831,1840,1846],{},[1235,1820,1821,1823,1824,1827,1828,1244],{},[1207,1822,1796],{}," closes the lead. Add ",[1207,1825,1826],{},"lost_reason"," and, optionally, a ",[1207,1829,1830],{},"note",[1235,1832,1833,1835,1836,1839],{},[1207,1834,1793],{}," is set only by ",[1207,1837,1838],{},"crm.lead.convert",", and a converted lead cannot move again.",[1235,1841,1842,1843,1845],{},"A ",[1207,1844,1796],{}," lead can be reopened only while the contact has no other open lead in that pipeline.",[1235,1847,1848,1849,1775],{},"Setting the stage the lead already has changes nothing (",[1207,1850,1851],{},"changed: false",[1203,1853,1854,1855,1858,1859,1475,1861,1244],{},"A lead is ",[1238,1856,1857],{},"open"," in any stage except ",[1207,1860,1793],{},[1207,1862,1796],{},[1221,1864,1866],{"id":1865},"owners","Owners",[1203,1868,1869,1872,1873,1875,1876,1879,1880,1883,1884,1887,1888,1244],{},[1207,1870,1871],{},"crm.lead.assign"," gives a lead to a member of your organization (",[1207,1874,1597],{},"), or clears it with ",[1207,1877,1878],{},"unassign: true",". It logs an ",[1207,1881,1882],{},"assignment"," entry. The contact gets the same owner when it has none, unless you pass ",[1207,1885,1886],{},"also_contact: false",". Members are listed by ",[1207,1889,1890],{},"identity.membership.query",[1221,1892,1894],{"id":1893},"the-timeline","The timeline",[1203,1896,1897,1898,1901],{},"Every change above already writes to the timeline. Add your own entries with ",[1207,1899,1900],{},"crm.activity.add",":",[1480,1903,1904,1915],{},[1483,1905,1906],{},[1486,1907,1908,1913],{},[1489,1909,1910],{},[1207,1911,1912],{},"kind",[1489,1914,1494],{},[1496,1916,1917,1929,1954],{},[1486,1918,1919,1924],{},[1501,1920,1921,1923],{},[1207,1922,1830],{}," (default)",[1501,1925,1926,1927],{},"A note from your team. Needs a ",[1207,1928,1281],{},[1486,1930,1931,1939],{},[1501,1932,1933,1935,1936],{},[1207,1934,1285],{}," / ",[1207,1937,1938],{},"message_out",[1501,1940,1941,1942,1944,1945,1296,1947,1296,1950,1296,1952,1590],{},"A message received or sent, with its ",[1207,1943,1609],{}," (",[1207,1946,1555],{},[1207,1948,1949],{},"web",[1207,1951,1303],{},[1207,1953,1561],{},[1486,1955,1956,1961],{},[1501,1957,1958,1960],{},[1207,1959,1289],{}," or your own slug",[1501,1962,1963,1964,1300,1967],{},"Anything else, for example ",[1207,1965,1966],{},"call",[1207,1968,1969],{},"task_done",[1203,1971,1972,1296,1974,1475,1976,1979,1980,1982,1983,1985],{},[1207,1973,1815],{},[1207,1975,1882],{},[1207,1977,1978],{},"conversion"," are written only by the workflows that make those changes, so the history stays trustworthy. Pass ",[1207,1981,1459],{}," to tie an entry to one of the contact's leads, and ",[1207,1984,1243],{}," to make it idempotent. Each entry records who made it: a person, a Staff agent, or the system.",[1221,1987,1989],{"id":1988},"read-the-crm","Read the CRM",[1480,1991,1992,2005],{},[1483,1993,1994],{},[1486,1995,1996,1999,2002],{},[1489,1997,1998],{},"Read",[1489,2000,2001],{},"Workflow",[1489,2003,2004],{},"Notes",[1496,2006,2007,2035,2063,2081],{},[1486,2008,2009,2012,2017],{},[1501,2010,2011],{},"Leads for a board or a queue",[1501,2013,2014],{},[1207,2015,2016],{},"data.crm.lead.list",[1501,2018,2019,2020,1296,2022,1296,2025,1296,2027,1296,2030,1296,2032,2034],{},"Filter by ",[1207,2021,1465],{},[1207,2023,2024],{},"open_only",[1207,2026,1597],{},[1207,2028,2029],{},"unassigned",[1207,2031,1583],{},[1207,2033,1456],{},". Rows include the contact's name",[1486,2036,2037,2040,2045],{},[1501,2038,2039],{},"Contacts",[1501,2041,2042],{},[1207,2043,2044],{},"data.crm.contact.list",[1501,2046,2019,2047,1296,2049,1296,2052,2054,2055,2058,2059,1475,2061],{},[1207,2048,1597],{},[1207,2050,2051],{},"tag",[1207,2053,1549],{},", and ",[1207,2056,2057],{},"search"," (name, phone or email). Rows leave out ",[1207,2060,1742],{},[1207,2062,1573],{},[1486,2064,2065,2068,2073],{},[1501,2066,2067],{},"One contact in full",[1501,2069,2070],{},[1207,2071,2072],{},"data.crm.contact.get",[1501,2074,2075,2076,1475,2078,2080],{},"The contact with ",[1207,2077,1742],{},[1207,2079,1573],{},", its leads, and how many timeline entries it has",[1486,2082,2083,2086,2091],{},[1501,2084,2085],{},"A contact's timeline",[1501,2087,2088],{},[1207,2089,2090],{},"data.crm.activity.list",[1501,2092,2093,2094,1300,2096,2098,2099,1590],{},"Newest first, optionally by ",[1207,2095,1459],{},[1207,2097,1912],{},". Bodies are cut at 2,000 characters (",[1207,2100,2101],{},"body_truncated",[1203,2103,2104,2105,1475,2108,2111,2112,1475,2115,1244],{},"Lead and contact lists put the most recent activity first. Every list pages with ",[1207,2106,2107],{},"limit",[1207,2109,2110],{},"offset"," and returns ",[1207,2113,2114],{},"total",[1207,2116,2117],{},"has_more",[1221,2119,2121],{"id":2120},"turn-a-lead-into-a-user-of-your-app","Turn a lead into a user of your app",[1203,2123,2124,2126,2127,1244],{},[1207,2125,1838],{}," makes an open lead an end user of your app. It needs an organization ",[1238,2128,2129],{},"owner or admin",[1723,2131,2132,2146],{},[1235,2133,2134,2137,2138,2141,2142,2145],{},[1238,2135,2136],{},"Link an existing end user."," Pass ",[1207,2139,2140],{},"end_user_uuid",". The end user must belong to the same app. This works for people with only an email: create the end user first with ",[1207,2143,2144],{},"identity.end-user.create",", then convert with its id.",[1235,2147,2148,2151,2152,2154,2155,2158,2159,2162,2163,2166,2167,1244],{},[1238,2149,2150],{},"Create one from the phone."," Without ",[1207,2153,2140],{},", the contact's phone becomes a new end user of your app. With ",[1207,2156,2157],{},"seat"," (default ",[1207,2160,2161],{},"true",") Orkestia tries to give them a seat under your app's seat policy. A missing seat does not fail the conversion: you get ",[1207,2164,2165],{},"seated: false"," and a ",[1207,2168,2169],{},"seat_reason",[1203,2171,2172,2173,2175,2176,2178,2179,1244],{},"Either way the lead moves to ",[1207,2174,1793],{},", the contact is linked to the end user, and a ",[1207,2177,1978],{}," entry is logged. Running the same conversion again returns the recorded result. A contact with no phone needs ",[1207,2180,2140],{},[1221,2182,2184],{"id":2183},"use-it-from-a-composition","Use it from a composition",[1203,2186,2187,2188,2191,2192,2195],{},"The CRM workflows also work as steps of a ",[1212,2189,2190],{"href":1021},"composition",", so you can chain them with the rest of the catalog, for example capture a lead and then add a follow-up note. CRM data is for your organization's members, so do not ",[1212,2193,2194],{"href":615},"expose"," a composition with CRM steps to your app's end users.",[2197,2198,2199],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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);}",{"title":1310,"searchDepth":1317,"depth":1341,"links":2201},[2202,2203,2204,2205,2206,2207,2208,2209],{"id":1223,"depth":1341,"text":1224},{"id":1654,"depth":1341,"text":1655},{"id":1754,"depth":1341,"text":1755},{"id":1865,"depth":1341,"text":1866},{"id":1893,"depth":1341,"text":1894},{"id":1988,"depth":1341,"text":1989},{"id":2120,"depth":1341,"text":2121},{"id":2183,"depth":1341,"text":2184},"Capture people safely, deduplicate them by phone and email, move leads through your stages, assign owners, keep the timeline, and convert a lead into a user of your app","md",null,{},{"icon":180},{"title":1143,"description":2210},"GYhZnzKX5ujW6kmLfQIN1qNBW1E7esJHKn0JJhwQsOs",[2218,2220],{"title":1136,"path":1137,"stem":1138,"description":2219,"icon":1141,"children":-1},"Orkestia's built-in CRM keeps the people who reach your app as contacts, tracks each one as a lead through your stages, and records every touch on one timeline, through twelve crm workflows you can call directly",{"title":1147,"path":1148,"stem":1149,"description":2221,"icon":130,"children":-1},"Who can see CRM data, how to record an opt-out, and how to erase a person's data on request while keeping your counts and funnel history",1794361972834]