{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Threetone Documentation","description":"Build, integrate, and operate Threetone agents and workspace APIs.","colors":{"primary":"#1a1a1a","light":"#f8f9fa","dark":"#8a8a8a"},"logo":{"light":"https://mintcdn.com/threetonelabs-c2efc9c8/iVsG1p4ZwGEMCBdd/logo/light.svg?fit=max\u0026auto=format\u0026n=iVsG1p4ZwGEMCBdd\u0026q=85\u0026s=fa47dee0de897fb2d029e48e66fb4540","dark":"https://mintcdn.com/threetonelabs-c2efc9c8/iVsG1p4ZwGEMCBdd/logo/dark.svg?fit=max\u0026auto=format\u0026n=iVsG1p4ZwGEMCBdd\u0026q=85\u0026s=85496857c3918505600166bcac1b9a2c","href":"https://threetone.in"},"favicon":"https://mintcdn.com/threetonelabs-c2efc9c8/aisQb_L7Nw-QdfvJ/favicon.png?fit=max\u0026auto=format\u0026n=aisQb_L7Nw-QdfvJ\u0026q=85\u0026s=6ab6a70e51ff4b4d491fc1539401163c","api":{"params":{"expanded":"closed"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript"],"prefill":false}},"navbar":{"links":[{"href":"https://threetone.in/blog","label":"Blog"},{"href":"https://help.threetone.in/en","label":"Help Center"}],"primary":{"type":"button","label":"Dashboard","href":"https://threetone.in/app/agents"}},"footer":{"socials":{"x":"https://x.com/threetoneai","github":"https://github.com/threetonelabs","linkedin":"https://www.linkedin.com/company/threetonelabs","instagram":"https://www.instagram.com/threetonelabs"}},"seo":{"paths":[{"path":"agents-platform/advanced/custom-models/cloudflare","metatags":{"og:image":"https://docs.threetone.in/images/social/4d380599d638d26b2ea3559f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Cloudflare Workers AI - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4d380599d638d26b2ea3559f.jpg","twitter:image:alt":"Cloudflare Workers AI - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/custom-models/compatible-endpoints","metatags":{"og:image":"https://docs.threetone.in/images/social/3e1b63ee924acb1c4e7c229d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Endpoint compatibility - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3e1b63ee924acb1c4e7c229d.jpg","twitter:image:alt":"Endpoint compatibility - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/custom-models/groq","metatags":{"og:image":"https://docs.threetone.in/images/social/34d508ec276750fd8e56e674.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Groq - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/34d508ec276750fd8e56e674.jpg","twitter:image:alt":"Groq - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/custom-models/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/0347249307a93a9689993bf9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Custom models - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0347249307a93a9689993bf9.jpg","twitter:image:alt":"Custom models - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/custom-models/sambanova","metatags":{"og:image":"https://docs.threetone.in/images/social/604f4146787257fc238400d2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"SambaNova - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/604f4146787257fc238400d2.jpg","twitter:image:alt":"SambaNova - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/custom-models/together-ai","metatags":{"og:image":"https://docs.threetone.in/images/social/cfee82be98829090a767954d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Together AI - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cfee82be98829090a767954d.jpg","twitter:image:alt":"Together AI - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/events/client-events","metatags":{"og:image":"https://docs.threetone.in/images/social/7fac41a3dcb61295a6fabba7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Client events - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7fac41a3dcb61295a6fabba7.jpg","twitter:image:alt":"Client events - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/events/client-to-server","metatags":{"og:image":"https://docs.threetone.in/images/social/794da9b3724d94cfa831f272.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Client-to-server context - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/794da9b3724d94cfa831f272.jpg","twitter:image:alt":"Client-to-server context - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/events/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/ddf7225feb592c8e6c41e44b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Events - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ddf7225feb592c8e6c41e44b.jpg","twitter:image:alt":"Events - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/llm-cascading","metatags":{"og:image":"https://docs.threetone.in/images/social/4af5f6e12aa48e87b2bae4c9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"LLM cascading - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4af5f6e12aa48e87b2bae4c9.jpg","twitter:image:alt":"LLM cascading - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/3d2125195204630f89a30e77.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Advanced configuration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3d2125195204630f89a30e77.jpg","twitter:image:alt":"Advanced configuration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/advanced/post-call-webhooks","metatags":{"og:image":"https://docs.threetone.in/images/social/d6b1a965ddd127182b95b6bd.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Post-call webhooks - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d6b1a965ddd127182b95b6bd.jpg","twitter:image:alt":"Post-call webhooks - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/channel-behavior","metatags":{"og:image":"https://docs.threetone.in/images/social/0eeea1221d8f31553d0daf65.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Channel behavior - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0eeea1221d8f31553d0daf65.jpg","twitter:image:alt":"Channel behavior - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/conversation-flow","metatags":{"og:image":"https://docs.threetone.in/images/social/0adfb657d95d62455a5e8a79.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Conversation flow - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0adfb657d95d62455a5e8a79.jpg","twitter:image:alt":"Conversation flow - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/guardrails","metatags":{"og:image":"https://docs.threetone.in/images/social/de254925c70aec6bf036ac22.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Guardrails - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/de254925c70aec6bf036ac22.jpg","twitter:image:alt":"Guardrails - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/models","metatags":{"og:image":"https://docs.threetone.in/images/social/527cadac88313e141c5d4c45.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Models - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/527cadac88313e141c5d4c45.jpg","twitter:image:alt":"Models - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/multimodal-input","metatags":{"og:image":"https://docs.threetone.in/images/social/5836afa9b96538e6d99216e2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Multimodal input - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5836afa9b96538e6d99216e2.jpg","twitter:image:alt":"Multimodal input - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/7e6c458ce7029201a7d89999.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Agent configuration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7e6c458ce7029201a7d89999.jpg","twitter:image:alt":"Agent configuration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/procedures","metatags":{"og:image":"https://docs.threetone.in/images/social/640c0c5b67950f65697345fe.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Procedures - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/640c0c5b67950f65697345fe.jpg","twitter:image:alt":"Procedures - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/procedures/free-form","metatags":{"og:image":"https://docs.threetone.in/images/social/0705879e481cd774a413d966.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Free-form procedures - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0705879e481cd774a413d966.jpg","twitter:image:alt":"Free-form procedures - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/procedures/structured","metatags":{"og:image":"https://docs.threetone.in/images/social/ccf53245889ec01ea6bee495.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Structured procedures - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ccf53245889ec01ea6bee495.jpg","twitter:image:alt":"Structured procedures - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/prompting","metatags":{"og:image":"https://docs.threetone.in/images/social/3d402f7f15a5dcbeec82e6af.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Write an agent prompt - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3d402f7f15a5dcbeec82e6af.jpg","twitter:image:alt":"Write an agent prompt - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/agent-behavior/workflows","metatags":{"og:image":"https://docs.threetone.in/images/social/4f5d66eed04832fed4d5ddc3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Workflows - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4f5d66eed04832fed4d5ddc3.jpg","twitter:image:alt":"Workflows - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/authentication/auth-connections","metatags":{"og:image":"https://docs.threetone.in/images/social/d1db216fbc1e9deeec3c1fb7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Auth connections - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d1db216fbc1e9deeec3c1fb7.jpg","twitter:image:alt":"Auth connections - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/authentication/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/719d8c4779b37f4eaac013ee.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Access and credentials - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/719d8c4779b37f4eaac013ee.jpg","twitter:image:alt":"Access and credentials - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/authentication/secrets","metatags":{"og:image":"https://docs.threetone.in/images/social/7f8fca8679c0967d9976987b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Workspace secrets - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7f8fca8679c0967d9976987b.jpg","twitter:image:alt":"Workspace secrets - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/calcom","metatags":{"og:image":"https://docs.threetone.in/images/social/5bb2e643e67b3fe07212b43a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Cal.com - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5bb2e643e67b3fe07212b43a.jpg","twitter:image:alt":"Cal.com - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/calendly","metatags":{"og:image":"https://docs.threetone.in/images/social/acb2689174ff3d4ce5e21ed2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Calendly - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/acb2689174ff3d4ce5e21ed2.jpg","twitter:image:alt":"Calendly - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/cursor","metatags":{"og:image":"https://docs.threetone.in/images/social/5aef5c5a4e29a977d652dc41.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Cursor - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5aef5c5a4e29a977d652dc41.jpg","twitter:image:alt":"Cursor - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/custom-channel","metatags":{"og:image":"https://docs.threetone.in/images/social/41b4bf77d84154625ff24e09.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Custom channel - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/41b4bf77d84154625ff24e09.jpg","twitter:image:alt":"Custom channel - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/exa","metatags":{"og:image":"https://docs.threetone.in/images/social/67c0995ab8fb882cb022f485.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Exa - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/67c0995ab8fb882cb022f485.jpg","twitter:image:alt":"Exa - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/freshdesk","metatags":{"og:image":"https://docs.threetone.in/images/social/706e00621e4854574703c186.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Freshdesk - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/706e00621e4854574703c186.jpg","twitter:image:alt":"Freshdesk - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/genesys","metatags":{"og:image":"https://docs.threetone.in/images/social/968fe8ed80cbcfed3bd40c99.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Genesys - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/968fe8ed80cbcfed3bd40c99.jpg","twitter:image:alt":"Genesys - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/google-calendar","metatags":{"og:image":"https://docs.threetone.in/images/social/93630959b380820612ffabbc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Google Calendar - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/93630959b380820612ffabbc.jpg","twitter:image:alt":"Google Calendar - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/google-drive","metatags":{"og:image":"https://docs.threetone.in/images/social/d13ebb59129b292acd75c51f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Google Drive - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d13ebb59129b292acd75c51f.jpg","twitter:image:alt":"Google Drive - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/hubspot","metatags":{"og:image":"https://docs.threetone.in/images/social/b9d5cf670725a31310db03e4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"HubSpot - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b9d5cf670725a31310db03e4.jpg","twitter:image:alt":"HubSpot - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/intercom","metatags":{"og:image":"https://docs.threetone.in/images/social/810ace5a87f1847ad5bd19de.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Intercom - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/810ace5a87f1847ad5bd19de.jpg","twitter:image:alt":"Intercom - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/jira","metatags":{"og:image":"https://docs.threetone.in/images/social/9eb9bdedb9308d2999250a04.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Jira - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9eb9bdedb9308d2999250a04.jpg","twitter:image:alt":"Jira - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/mcp-servers","metatags":{"og:image":"https://docs.threetone.in/images/social/db24bef3221c99536d3b189c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"MCP servers - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/db24bef3221c99536d3b189c.jpg","twitter:image:alt":"MCP servers - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/4d35be8892584b52bd3b65ab.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Integrations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4d35be8892584b52bd3b65ab.jpg","twitter:image:alt":"Integrations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/parallel","metatags":{"og:image":"https://docs.threetone.in/images/social/bdc5a209abe34679e73fc33c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Parallel - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bdc5a209abe34679e73fc33c.jpg","twitter:image:alt":"Parallel - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/perplexity","metatags":{"og:image":"https://docs.threetone.in/images/social/13deab042e0457ee1a77c376.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Perplexity - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/13deab042e0457ee1a77c376.jpg","twitter:image:alt":"Perplexity - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/salesforce","metatags":{"og:image":"https://docs.threetone.in/images/social/e6a29c4a16b3c67267d58107.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Salesforce - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e6a29c4a16b3c67267d58107.jpg","twitter:image:alt":"Salesforce - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/servicenow","metatags":{"og:image":"https://docs.threetone.in/images/social/6acbaacab0f31d19f4f4a7d9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"ServiceNow - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6acbaacab0f31d19f4f4a7d9.jpg","twitter:image:alt":"ServiceNow - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/slack","metatags":{"og:image":"https://docs.threetone.in/images/social/d814b871ef740f0f0b3bd1f2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Slack - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d814b871ef740f0f0b3bd1f2.jpg","twitter:image:alt":"Slack - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/tavily","metatags":{"og:image":"https://docs.threetone.in/images/social/ae6f81bc7947dd3d797ee570.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Tavily - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ae6f81bc7947dd3d797ee570.jpg","twitter:image:alt":"Tavily - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/telegram","metatags":{"og:image":"https://docs.threetone.in/images/social/debdf99da23b595fe6aa28ac.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Telegram - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/debdf99da23b595fe6aa28ac.jpg","twitter:image:alt":"Telegram - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/twilio","metatags":{"og:image":"https://docs.threetone.in/images/social/0f86af8ca77f199f44bf2e07.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0f86af8ca77f199f44bf2e07.jpg","twitter:image:alt":"Twilio - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/integrations/zendesk","metatags":{"og:image":"https://docs.threetone.in/images/social/3394bf0b420518cb302acad4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Zendesk - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3394bf0b420518cb302acad4.jpg","twitter:image:alt":"Zendesk - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/knowledge-base/manage-documents","metatags":{"og:image":"https://docs.threetone.in/images/social/e56b2ce67943c56655339952.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Manage documents - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e56b2ce67943c56655339952.jpg","twitter:image:alt":"Manage documents - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/knowledge-base/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/c9f860968a5110c687a77b17.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Knowledge base - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c9f860968a5110c687a77b17.jpg","twitter:image:alt":"Knowledge base - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/knowledge-base/rag","metatags":{"og:image":"https://docs.threetone.in/images/social/3aa09d42ba1504304f139e4d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Retrieval-augmented generation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3aa09d42ba1504304f139e4d.jpg","twitter:image:alt":"Retrieval-augmented generation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/81344ec01027a73d1a1ce7be.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Configure an agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/81344ec01027a73d1a1ce7be.jpg","twitter:image:alt":"Configure an agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/personalization/dynamic-variables","metatags":{"og:image":"https://docs.threetone.in/images/social/34c5f61a661c23f373f1e611.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Dynamic variables - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/34c5f61a661c23f373f1e611.jpg","twitter:image:alt":"Dynamic variables - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/personalization/overrides","metatags":{"og:image":"https://docs.threetone.in/images/social/ec225a2a31475d1591ade028.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Overrides - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ec225a2a31475d1591ade028.jpg","twitter:image:alt":"Overrides - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/personalization/twilio","metatags":{"og:image":"https://docs.threetone.in/images/social/424a7c3d5496340843406493.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio personalization - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/424a7c3d5496340843406493.jpg","twitter:image:alt":"Twilio personalization - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/client-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/40c41f53aa75acaf1b196964.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Client tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/40c41f53aa75acaf1b196964.jpg","twitter:image:alt":"Client tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/code-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/a2504a18b0e1add4a5094964.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Code tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a2504a18b0e1add4a5094964.jpg","twitter:image:alt":"Code tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/mcp-security","metatags":{"og:image":"https://docs.threetone.in/images/social/37b9ac11f4fb649e16440db3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"MCP security - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/37b9ac11f4fb649e16440db3.jpg","twitter:image:alt":"MCP security - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/mcp-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/79b934bcb6297ac40dd2689d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"MCP tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/79b934bcb6297ac40dd2689d.jpg","twitter:image:alt":"MCP tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/6eb3aa4caf5ab0ffa7cfff8c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Configure agent tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6eb3aa4caf5ab0ffa7cfff8c.jpg","twitter:image:alt":"Configure agent tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/eb46eb27c129456aefc91c46.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"System tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/eb46eb27c129456aefc91c46.jpg","twitter:image:alt":"System tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/agent-transfer","metatags":{"og:image":"https://docs.threetone.in/images/social/7eedcc8df56f71aafb75a2e6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Agent transfer - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7eedcc8df56f71aafb75a2e6.jpg","twitter:image:alt":"Agent transfer - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/end-call","metatags":{"og:image":"https://docs.threetone.in/images/social/dcab9b48bb5da7c9928b7f64.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"End call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/dcab9b48bb5da7c9928b7f64.jpg","twitter:image:alt":"End call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/flag-issue","metatags":{"og:image":"https://docs.threetone.in/images/social/4b46a4bfd1050e9329249de3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Flag an issue - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4b46a4bfd1050e9329249de3.jpg","twitter:image:alt":"Flag an issue - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/keypad-tones","metatags":{"og:image":"https://docs.threetone.in/images/social/720655f2c18a2d036f100264.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Keypad tones - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/720655f2c18a2d036f100264.jpg","twitter:image:alt":"Keypad tones - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/language-detection","metatags":{"og:image":"https://docs.threetone.in/images/social/b1e7333f8ed9f45361006de1.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Language detection - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b1e7333f8ed9f45361006de1.jpg","twitter:image:alt":"Language detection - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/skip-turn","metatags":{"og:image":"https://docs.threetone.in/images/social/b96edc168f53aa83e269d63b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Skip turn - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b96edc168f53aa83e269d63b.jpg","twitter:image:alt":"Skip turn - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/transfer-to-number","metatags":{"og:image":"https://docs.threetone.in/images/social/f32fd8511adac51ccf90156b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Transfer to number - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f32fd8511adac51ccf90156b.jpg","twitter:image:alt":"Transfer to number - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/update-state","metatags":{"og:image":"https://docs.threetone.in/images/social/c2c5e2e2c15994d721de09c7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update state - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c2c5e2e2c15994d721de09c7.jpg","twitter:image:alt":"Update state - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/system-tools/voicemail","metatags":{"og:image":"https://docs.threetone.in/images/social/0a4e50d4726d791657329b16.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Voicemail - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0a4e50d4726d791657329b16.jpg","twitter:image:alt":"Voicemail - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/tool-execution","metatags":{"og:image":"https://docs.threetone.in/images/social/ecaa65fe199e75a7d99667c9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Tool execution - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ecaa65fe199e75a7d99667c9.jpg","twitter:image:alt":"Tool execution - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/tool-interruptions","metatags":{"og:image":"https://docs.threetone.in/images/social/1564e64a21fe56762703158a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Tool interruptions - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1564e64a21fe56762703158a.jpg","twitter:image:alt":"Tool interruptions - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/tool-sounds","metatags":{"og:image":"https://docs.threetone.in/images/social/4a9e58c37bfab2c9c221fd37.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Tool sounds - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4a9e58c37bfab2c9c221fd37.jpg","twitter:image:alt":"Tool sounds - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/tools/webhook-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/9068b40c42bb5390bd89095a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Webhook tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9068b40c42bb5390bd89095a.jpg","twitter:image:alt":"Webhook tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/audio-environment","metatags":{"og:image":"https://docs.threetone.in/images/social/83530fb6fa1b3098f55af039.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Audio environment - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/83530fb6fa1b3098f55af039.jpg","twitter:image:alt":"Audio environment - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/expressive-mode","metatags":{"og:image":"https://docs.threetone.in/images/social/41e7fffad004cdb88cb126bb.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Expressive mode - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/41e7fffad004cdb88cb126bb.jpg","twitter:image:alt":"Expressive mode - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/language","metatags":{"og:image":"https://docs.threetone.in/images/social/bc8f4e82905513c52c032ad8.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Language - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bc8f4e82905513c52c032ad8.jpg","twitter:image:alt":"Language - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/multiple-voices","metatags":{"og:image":"https://docs.threetone.in/images/social/5dd9a462921df89a6ded2c67.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Multiple voices - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5dd9a462921df89a6ded2c67.jpg","twitter:image:alt":"Multiple voices - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/9e10d94d4b13fe5e0119316a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Voice and language - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9e10d94d4b13fe5e0119316a.jpg","twitter:image:alt":"Voice and language - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/pronunciation","metatags":{"og:image":"https://docs.threetone.in/images/social/0e96265bf863442d6614a072.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Pronunciation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0e96265bf863442d6614a072.jpg","twitter:image:alt":"Pronunciation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/speed","metatags":{"og:image":"https://docs.threetone.in/images/social/0992f1affdcfa8c2dd621fed.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Speed - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0992f1affdcfa8c2dd621fed.jpg","twitter:image:alt":"Speed - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/configure/voice-and-language/voice-design","metatags":{"og:image":"https://docs.threetone.in/images/social/5bd7a6b44bcddc6fe51fd573.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Voice design - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5bd7a6b44bcddc6fe51fd573.jpg","twitter:image:alt":"Voice design - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/batch-calls","metatags":{"og:image":"https://docs.threetone.in/images/social/2daedbe0cc72adfce196f5ae.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Batch calls - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2daedbe0cc72adfce196f5ae.jpg","twitter:image:alt":"Batch calls - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/environment-variables","metatags":{"og:image":"https://docs.threetone.in/images/social/055ff55a6a7088ca6d739bb9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Environment variables - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/055ff55a6a7088ca6d739bb9.jpg","twitter:image:alt":"Environment variables - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/mobile/kotlin","metatags":{"og:image":"https://docs.threetone.in/images/social/d1e0ce56cbd4ef8f3a48754f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Kotlin SDK for Android - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d1e0ce56cbd4ef8f3a48754f.jpg","twitter:image:alt":"Kotlin SDK for Android - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/mobile/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/976d340087d05ca23b3f7621.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Mobile deployment - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/976d340087d05ca23b3f7621.jpg","twitter:image:alt":"Mobile deployment - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/mobile/react-native","metatags":{"og:image":"https://docs.threetone.in/images/social/87378d841df245fbe0deb907.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"React Native - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/87378d841df245fbe0deb907.jpg","twitter:image:alt":"React Native - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/mobile/swift","metatags":{"og:image":"https://docs.threetone.in/images/social/457ebd0632584971f0fc180b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Swift SDK for iOS - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/457ebd0632584971f0fc180b.jpg","twitter:image:alt":"Swift SDK for iOS - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/12146f2b2b399f62c6d20712.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Prepare an integration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/12146f2b2b399f62c6d20712.jpg","twitter:image:alt":"Prepare an integration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/server/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/5af754c8f69c26dd17de5535.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Server integrations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5af754c8f69c26dd17de5535.jpg","twitter:image:alt":"Server integrations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/server/websockets","metatags":{"og:image":"https://docs.threetone.in/images/social/a070e6b2927ca2efcea0de41.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"WebSockets - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a070e6b2927ca2efcea0de41.jpg","twitter:image:alt":"WebSockets - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/contact-center/amazon-connect","metatags":{"og:image":"https://docs.threetone.in/images/social/0461304ae6a4b0c4f8a18e6e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Amazon Connect - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0461304ae6a4b0c4f8a18e6e.jpg","twitter:image:alt":"Amazon Connect - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/contact-center/five9","metatags":{"og:image":"https://docs.threetone.in/images/social/2222e03b83abfd68419a0d1c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Five9 - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2222e03b83abfd68419a0d1c.jpg","twitter:image:alt":"Five9 - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/contact-center/genesys","metatags":{"og:image":"https://docs.threetone.in/images/social/c17503f1008ae5a6eb356785.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Genesys Cloud - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c17503f1008ae5a6eb356785.jpg","twitter:image:alt":"Genesys Cloud - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/customize-calls","metatags":{"og:image":"https://docs.threetone.in/images/social/dbe2ed2115021420f597e39e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Customize calls - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/dbe2ed2115021420f597e39e.jpg","twitter:image:alt":"Customize calls - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/microsoft-teams/azure-communication-services","metatags":{"og:image":"https://docs.threetone.in/images/social/8f176d967660cc16669b0f84.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Azure Communication Services - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8f176d967660cc16669b0f84.jpg","twitter:image:alt":"Azure Communication Services - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/microsoft-teams/graph-media-bot","metatags":{"og:image":"https://docs.threetone.in/images/social/17c5058e0afb5d3f0c42c251.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Graph media bot - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/17c5058e0afb5d3f0c42c251.jpg","twitter:image:alt":"Graph media bot - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/microsoft-teams/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/0620b7e640f606e0fe4c6772.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Microsoft Teams - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0620b7e640f606e0fe4c6772.jpg","twitter:image:alt":"Microsoft Teams - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/microsoft-teams/widget-tab","metatags":{"og:image":"https://docs.threetone.in/images/social/afb0ea1870e70c884434cfb6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Teams widget tab - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/afb0ea1870e70c884434cfb6.jpg","twitter:image:alt":"Teams widget tab - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/1b31c7a47209f7964de23da0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Phone integration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1b31c7a47209f7964de23da0.jpg","twitter:image:alt":"Phone integration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/provider-integrations","metatags":{"og:image":"https://docs.threetone.in/images/social/757dd74e5bb3fa5d793352bc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Provider integrations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/757dd74e5bb3fa5d793352bc.jpg","twitter:image:alt":"Provider integrations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/providers/bandwidth","metatags":{"og:image":"https://docs.threetone.in/images/social/f374fcca71bbfe7ed9968c9c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Bandwidth - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f374fcca71bbfe7ed9968c9c.jpg","twitter:image:alt":"Bandwidth - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/providers/exotel","metatags":{"og:image":"https://docs.threetone.in/images/social/660b6fbc6cb534ed4b276071.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Exotel - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/660b6fbc6cb534ed4b276071.jpg","twitter:image:alt":"Exotel - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/providers/plivo","metatags":{"og:image":"https://docs.threetone.in/images/social/7fb8257efade0e24c6a6d3f0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Plivo - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7fb8257efade0e24c6a6d3f0.jpg","twitter:image:alt":"Plivo - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/providers/sinch","metatags":{"og:image":"https://docs.threetone.in/images/social/c9e6b8c33aeb6fb654a2d7eb.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Sinch - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c9e6b8c33aeb6fb654a2d7eb.jpg","twitter:image:alt":"Sinch - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/providers/telnyx","metatags":{"og:image":"https://docs.threetone.in/images/social/71b21a35ed9c3aac1e5ae5ce.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Telnyx - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/71b21a35ed9c3aac1e5ae5ce.jpg","twitter:image:alt":"Telnyx - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/providers/vonage","metatags":{"og:image":"https://docs.threetone.in/images/social/2fe4c9f2990120918bb43d91.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Vonage - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2fe4c9f2990120918bb43d91.jpg","twitter:image:alt":"Vonage - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/sip-reference","metatags":{"og:image":"https://docs.threetone.in/images/social/e672b743fcb4a2d4caa07a57.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"SIP reference - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e672b743fcb4a2d4caa07a57.jpg","twitter:image:alt":"SIP reference - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/sip-trunk","metatags":{"og:image":"https://docs.threetone.in/images/social/2030b856d711950b910f1b25.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"SIP trunk - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2030b856d711950b910f1b25.jpg","twitter:image:alt":"SIP trunk - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/troubleshooting","metatags":{"og:image":"https://docs.threetone.in/images/social/72b6c885ec7943e23a4e7b4b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Telephony troubleshooting - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/72b6c885ec7943e23a4e7b4b.jpg","twitter:image:alt":"Telephony troubleshooting - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/twilio/custom-model-integration","metatags":{"og:image":"https://docs.threetone.in/images/social/97e617dd5ba9d55aa85992ea.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio with a custom model - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/97e617dd5ba9d55aa85992ea.jpg","twitter:image:alt":"Twilio with a custom model - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/twilio/native-integration","metatags":{"og:image":"https://docs.threetone.in/images/social/a65c9c58a45acf51150c1aab.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio native integration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a65c9c58a45acf51150c1aab.jpg","twitter:image:alt":"Twilio native integration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/twilio/regional-routing","metatags":{"og:image":"https://docs.threetone.in/images/social/f3e553fc89c4cd6b51d304c4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio regional routing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f3e553fc89c4cd6b51d304c4.jpg","twitter:image:alt":"Twilio regional routing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/twilio/register-call","metatags":{"og:image":"https://docs.threetone.in/images/social/cd92c75ce122cbdf0677b243.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Register a Twilio call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cd92c75ce122cbdf0677b243.jpg","twitter:image:alt":"Register a Twilio call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/twilio/sms-conversations","metatags":{"og:image":"https://docs.threetone.in/images/social/427358bf6c9427e335d5102a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio SMS conversations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/427358bf6c9427e335d5102a.jpg","twitter:image:alt":"Twilio SMS conversations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/telephony/twilio/sms-verification","metatags":{"og:image":"https://docs.threetone.in/images/social/399ca23ebb6a501161bae8b7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Twilio SMS verification - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/399ca23ebb6a501161bae8b7.jpg","twitter:image:alt":"Twilio SMS verification - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/versioning","metatags":{"og:image":"https://docs.threetone.in/images/social/3ecb54edefe9eba450ec022c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Versions and drafts - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3ecb54edefe9eba450ec022c.jpg","twitter:image:alt":"Versions and drafts - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/web/javascript","metatags":{"og:image":"https://docs.threetone.in/images/social/3853b6c91ee203b82793d56a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"JavaScript SDK - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3853b6c91ee203b82793d56a.jpg","twitter:image:alt":"JavaScript SDK - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/web/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/77ebd4d7cdf0e57d6ec957a3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Web deployment - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/77ebd4d7cdf0e57d6ec957a3.jpg","twitter:image:alt":"Web deployment - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/web/react","metatags":{"og:image":"https://docs.threetone.in/images/social/906655c5920cea62503b2ed5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"React SDK - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/906655c5920cea62503b2ed5.jpg","twitter:image:alt":"React SDK - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/web/react-components","metatags":{"og:image":"https://docs.threetone.in/images/social/ff56909d5d9e948a13d4cdbf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"React components - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ff56909d5d9e948a13d4cdbf.jpg","twitter:image:alt":"React components - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/web/widget","metatags":{"og:image":"https://docs.threetone.in/images/social/3f9a94cb693b259a0fe01e02.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Widget - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3f9a94cb693b259a0fe01e02.jpg","twitter:image:alt":"Widget - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/connect-account","metatags":{"og:image":"https://docs.threetone.in/images/social/8e1b56481ed42bb6f079a597.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Connect an account - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8e1b56481ed42bb6f079a597.jpg","twitter:image:alt":"Connect an account - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/interactive-messages","metatags":{"og:image":"https://docs.threetone.in/images/social/f4642f7f4d7d1d6e990e8efa.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Interactive messages - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f4642f7f4d7d1d6e990e8efa.jpg","twitter:image:alt":"Interactive messages - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/messaging-and-calls","metatags":{"og:image":"https://docs.threetone.in/images/social/586c8a15b514537f637f5be4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Messaging and calls - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/586c8a15b514537f637f5be4.jpg","twitter:image:alt":"Messaging and calls - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/outbound","metatags":{"og:image":"https://docs.threetone.in/images/social/84573db938853306fc6f0557.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Outbound messages and calls - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/84573db938853306fc6f0557.jpg","twitter:image:alt":"Outbound messages and calls - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/8d86dc415b7ff0a405d1fb5a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"WhatsApp - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8d86dc415b7ff0a405d1fb5a.jpg","twitter:image:alt":"WhatsApp - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/tools","metatags":{"og:image":"https://docs.threetone.in/images/social/f8fa996cdf5f12057b0b15f8.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Tools in WhatsApp conversations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f8fa996cdf5f12057b0b15f8.jpg","twitter:image:alt":"Tools in WhatsApp conversations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/deploy/whatsapp/troubleshooting","metatags":{"og:image":"https://docs.threetone.in/images/social/b8fa974e638bb3e2a7c4aff5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"WhatsApp troubleshooting - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b8fa974e638bb3e2a7c4aff5.jpg","twitter:image:alt":"WhatsApp troubleshooting - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/get-started/api-quickstart","metatags":{"og:image":"https://docs.threetone.in/images/social/c6df63a2d9f072e764403a3a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"API quickstart - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c6df63a2d9f072e764403a3a.jpg","twitter:image:alt":"API quickstart - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/get-started/first-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/a42aa7924d11ebdf83efa447.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create your first agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a42aa7924d11ebdf83efa447.jpg","twitter:image:alt":"Create your first agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/burst-pricing","metatags":{"og:image":"https://docs.threetone.in/images/social/d129f03249785f7e83a8ee63.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Burst pricing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d129f03249785f7e83a8ee63.jpg","twitter:image:alt":"Burst pricing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/call-queueing","metatags":{"og:image":"https://docs.threetone.in/images/social/77706ffd9ee5fff983967123.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Call queueing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/77706ffd9ee5fff983967123.jpg","twitter:image:alt":"Call queueing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/chat-mode","metatags":{"og:image":"https://docs.threetone.in/images/social/8c3f427e381635b85ffcaa0c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Chat mode - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8c3f427e381635b85ffcaa0c.jpg","twitter:image:alt":"Chat mode - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/cookbooks/expo-react-native","metatags":{"og:image":"https://docs.threetone.in/images/social/edc2d3276f482d89389a8037.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Expo and React Native - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/edc2d3276f482d89389a8037.jpg","twitter:image:alt":"Expo and React Native - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/cookbooks/live-avatar","metatags":{"og:image":"https://docs.threetone.in/images/social/1bd0640595431f0b50513691.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Live avatar - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1bd0640595431f0b50513691.jpg","twitter:image:alt":"Live avatar - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/cookbooks/raspberry-pi","metatags":{"og:image":"https://docs.threetone.in/images/social/adc146ec044f13709d1239b1.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Raspberry Pi - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/adc146ec044f13709d1239b1.jpg","twitter:image:alt":"Raspberry Pi - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/cookbooks/redis-context","metatags":{"og:image":"https://docs.threetone.in/images/social/7f545c95f4a993556f87e078.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Redis context - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7f545c95f4a993556f87e078.jpg","twitter:image:alt":"Redis context - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/documentation-assistant","metatags":{"og:image":"https://docs.threetone.in/images/social/d91bb63942fe4496a41ff098.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Documentation assistant - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d91bb63942fe4496a41ff098.jpg","twitter:image:alt":"Documentation assistant - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/nextjs","metatags":{"og:image":"https://docs.threetone.in/images/social/a4c4e7014445c05189e94f08.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Next.js preparation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a4c4e7014445c05189e94f08.jpg","twitter:image:alt":"Next.js preparation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/framer","metatags":{"og:image":"https://docs.threetone.in/images/social/c18baa10650ec904bba4d10f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Framer - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c18baa10650ec904bba4d10f.jpg","twitter:image:alt":"Framer - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/ghost","metatags":{"og:image":"https://docs.threetone.in/images/social/77aee51f3edcf9a76eaef6f6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Ghost - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/77aee51f3edcf9a76eaef6f6.jpg","twitter:image:alt":"Ghost - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/08bcf281d3830b018e0fae91.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"No-code websites - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/08bcf281d3830b018e0fae91.jpg","twitter:image:alt":"No-code websites - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/squarespace","metatags":{"og:image":"https://docs.threetone.in/images/social/a0473d9b57f1743f5f27dc84.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Squarespace - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a0473d9b57f1743f5f27dc84.jpg","twitter:image:alt":"Squarespace - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/webflow","metatags":{"og:image":"https://docs.threetone.in/images/social/eba6b818bbd484b4ef9540d0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Webflow - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/eba6b818bbd484b4ef9540d0.jpg","twitter:image:alt":"Webflow - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/wix","metatags":{"og:image":"https://docs.threetone.in/images/social/03b52a049297ac738abf6bbe.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Wix - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/03b52a049297ac738abf6bbe.jpg","twitter:image:alt":"Wix - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/no-code/wordpress","metatags":{"og:image":"https://docs.threetone.in/images/social/34824c839099855dc9f69ed2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"WordPress - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/34824c839099855dc9f69ed2.jpg","twitter:image:alt":"WordPress - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/b79cef8bd891daeb0e4492d4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Implementation guides - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b79cef8bd891daeb0e4492d4.jpg","twitter:image:alt":"Implementation guides - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/quickstarts/javascript","metatags":{"og:image":"https://docs.threetone.in/images/social/d48d926acb3a0c3ad71ff2ed.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"JavaScript preparation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d48d926acb3a0c3ad71ff2ed.jpg","twitter:image:alt":"JavaScript preparation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/quickstarts/server-side","metatags":{"og:image":"https://docs.threetone.in/images/social/d4ee72474004b5b10ff2a4c9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Server-side quickstart - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d4ee72474004b5b10ff2a4c9.jpg","twitter:image:alt":"Server-side quickstart - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/scaling-user-interviews","metatags":{"og:image":"https://docs.threetone.in/images/social/5f73ee92830d2763ce04608c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"User interviews - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5f73ee92830d2763ce04608c.jpg","twitter:image:alt":"User interviews - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/guides/simulate-conversations","metatags":{"og:image":"https://docs.threetone.in/images/social/d4e08d74fe16d355027cb31e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Simulate conversations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d4e08d74fe16d355027cb31e.jpg","twitter:image:alt":"Simulate conversations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/legal/ai-disclosure","metatags":{"og:image":"https://docs.threetone.in/images/social/88f8b5207fef3e427bc22094.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"AI identity and disclosure - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/88f8b5207fef3e427bc22094.jpg","twitter:image:alt":"AI identity and disclosure - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/legal/call-consent","metatags":{"og:image":"https://docs.threetone.in/images/social/7dbb433bf6a9c52a21a9f5d7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Call consent and recording - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7dbb433bf6a9c52a21a9f5d7.jpg","twitter:image:alt":"Call consent and recording - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/legal/healthcare","metatags":{"og:image":"https://docs.threetone.in/images/social/7ddf84d89792b602b61da689.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Healthcare deployment review - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7ddf84d89792b602b61da689.jpg","twitter:image:alt":"Healthcare deployment review - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/legal/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/1560fd2556f0ebd873508908.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Legal review - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1560fd2556f0ebd873508908.jpg","twitter:image:alt":"Legal review - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/analysis/data-collection","metatags":{"og:image":"https://docs.threetone.in/images/social/e3b507681913c8b6e412bc18.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Data collection - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e3b507681913c8b6e412bc18.jpg","twitter:image:alt":"Data collection - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/analysis/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/0cd0f4dce1c90ad43c84de01.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Conversation analysis - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0cd0f4dce1c90ad43c84de01.jpg","twitter:image:alt":"Conversation analysis - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/analysis/searching","metatags":{"og:image":"https://docs.threetone.in/images/social/4374ec51e2f432eb09af9865.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Find conversations for review - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4374ec51e2f432eb09af9865.jpg","twitter:image:alt":"Find conversations for review - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/analysis/sentiment","metatags":{"og:image":"https://docs.threetone.in/images/social/1d4a2e579a300a6a4d853841.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Sentiment analysis - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1d4a2e579a300a6a4d853841.jpg","twitter:image:alt":"Sentiment analysis - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/analysis/success-evaluation","metatags":{"og:image":"https://docs.threetone.in/images/social/039b75d6319fc81e6ecfd86c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Success evaluation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/039b75d6319fc81e6ecfd86c.jpg","twitter:image:alt":"Success evaluation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/analytics","metatags":{"og:image":"https://docs.threetone.in/images/social/f963a5770e6407e87803a0b4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Analytics - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f963a5770e6407e87803a0b4.jpg","twitter:image:alt":"Analytics - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/cli","metatags":{"og:image":"https://docs.threetone.in/images/social/1b82b82a0d44a532ddffaad9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Command-line workflows - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1b82b82a0d44a532ddffaad9.jpg","twitter:image:alt":"Command-line workflows - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/conversations","metatags":{"og:image":"https://docs.threetone.in/images/social/30b18b73c158315c8f2fec8f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Inspect conversations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/30b18b73c158315c8f2fec8f.jpg","twitter:image:alt":"Inspect conversations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/cost-optimization","metatags":{"og:image":"https://docs.threetone.in/images/social/b4fdae93ec796d98ab9f36ad.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Cost optimization - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b4fdae93ec796d98ab9f36ad.jpg","twitter:image:alt":"Cost optimization - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/experiments","metatags":{"og:image":"https://docs.threetone.in/images/social/3b4c251adf7dbb580ed60b15.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Experiments - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3b4c251adf7dbb580ed60b15.jpg","twitter:image:alt":"Experiments - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/hosted-mcp","metatags":{"og:image":"https://docs.threetone.in/images/social/2f85b9af47ad7fb589bffb8e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Hosted MCP - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2f85b9af47ad7fb589bffb8e.jpg","twitter:image:alt":"Hosted MCP - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/insights/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/26937c11a3aaecb62e732228.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Insights - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/26937c11a3aaecb62e732228.jpg","twitter:image:alt":"Insights - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/insights/real-time-insights","metatags":{"og:image":"https://docs.threetone.in/images/social/4ddb3eefa1d6df4d5f92d4b9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Real-time insights - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4ddb3eefa1d6df4d5f92d4b9.jpg","twitter:image:alt":"Real-time insights - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/merge-proposals","metatags":{"og:image":"https://docs.threetone.in/images/social/749727b6c3661693fe62af8b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Merge proposals - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/749727b6c3661693fe62af8b.jpg","twitter:image:alt":"Merge proposals - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/opentelemetry","metatags":{"og:image":"https://docs.threetone.in/images/social/e36e377b6326c30f3cbdd565.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"OpenTelemetry - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e36e377b6326c30f3cbdd565.jpg","twitter:image:alt":"OpenTelemetry - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/b4a864f3b7fa0aa4bcbedcc3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Review agent activity - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b4a864f3b7fa0aa4bcbedcc3.jpg","twitter:image:alt":"Review agent activity - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/privacy/audio-and-redaction","metatags":{"og:image":"https://docs.threetone.in/images/social/7c657787fd885a469ed095d8.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Audio and redaction - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7c657787fd885a469ed095d8.jpg","twitter:image:alt":"Audio and redaction - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/privacy/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/e91a65f89a12bd7589adfc6c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Conversation privacy - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e91a65f89a12bd7589adfc6c.jpg","twitter:image:alt":"Conversation privacy - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/privacy/retention","metatags":{"og:image":"https://docs.threetone.in/images/social/867ce3c163bf68a3e363f832.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Retention settings - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/867ce3c163bf68a3e363f832.jpg","twitter:image:alt":"Retention settings - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/privacy/zero-retention","metatags":{"og:image":"https://docs.threetone.in/images/social/84ef1575db631e6a331a5227.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Zero retention - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/84ef1575db631e6a331a5227.jpg","twitter:image:alt":"Zero retention - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/real-time-monitoring","metatags":{"og:image":"https://docs.threetone.in/images/social/ac2fe2e1a676a5dfa7cd2044.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Real-time monitoring - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ac2fe2e1a676a5dfa7cd2044.jpg","twitter:image:alt":"Real-time monitoring - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/testing","metatags":{"og:image":"https://docs.threetone.in/images/social/b48f603e2f5de84d0f1ebc11.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Agent testing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b48f603e2f5de84d0f1ebc11.jpg","twitter:image:alt":"Agent testing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/topics","metatags":{"og:image":"https://docs.threetone.in/images/social/f017d3d18661f68bc577f0f4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Conversation topics - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f017d3d18661f68bc577f0f4.jpg","twitter:image:alt":"Conversation topics - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/triage","metatags":{"og:image":"https://docs.threetone.in/images/social/91076b051befe50cf895853a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Conversation triage - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/91076b051befe50cf895853a.jpg","twitter:image:alt":"Conversation triage - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/monitor/users","metatags":{"og:image":"https://docs.threetone.in/images/social/453e7f9d207f9082aa555374.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Conversation users - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/453e7f9d207f9082aa555374.jpg","twitter:image:alt":"Conversation users - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/dbecebe226439412fab6ddc5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Agents Platform - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/dbecebe226439412fab6ddc5.jpg","twitter:image:alt":"Agents Platform - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/resources/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/b9c9770b6bd223415c066a30.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Developer resources - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b9c9770b6bd223415c066a30.jpg","twitter:image:alt":"Developer resources - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/resources/sdks/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/02e78a64fca08feb5c67b755.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"SDKs - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/02e78a64fca08feb5c67b755.jpg","twitter:image:alt":"SDKs - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/resources/sdks/python","metatags":{"og:image":"https://docs.threetone.in/images/social/e6234c107b9a2b3dfa1fc239.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Python SDK - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e6234c107b9a2b3dfa1fc239.jpg","twitter:image:alt":"Python SDK - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/resources/sdks/typescript","metatags":{"og:image":"https://docs.threetone.in/images/social/aa18d241c051dc1e319270a0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"TypeScript SDK - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/aa18d241c051dc1e319270a0.jpg","twitter:image:alt":"TypeScript SDK - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"agents-platform/resources/ui-components","metatags":{"og:image":"https://docs.threetone.in/images/social/a8d492e61e78f63af02fe38c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"UI components - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a8d492e61e78f63af02fe38c.jpg","twitter:image:alt":"UI components - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/add-comment","metatags":{"og:image":"https://docs.threetone.in/images/social/679f26608c5339d403cf201e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Add comment - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/679f26608c5339d403cf201e.jpg","twitter:image:alt":"Add comment - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/add-turn-comment","metatags":{"og:image":"https://docs.threetone.in/images/social/3d95528c12e69d0b981c2b2f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Add turn comment - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3d95528c12e69d0b981c2b2f.jpg","twitter:image:alt":"Add turn comment - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-insights/get-agent-conversation-topics","metatags":{"og:image":"https://docs.threetone.in/images/social/a36a845b65cb7fac0c221f09.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get agent conversation topics - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a36a845b65cb7fac0c221f09.jpg","twitter:image:alt":"Get agent conversation topics - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/add-tag-to-conversation","metatags":{"og:image":"https://docs.threetone.in/images/social/62666af22df61b25ebf07b5b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Add tag to conversation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/62666af22df61b25ebf07b5b.jpg","twitter:image:alt":"Add tag to conversation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/calculate-expected-llm-usage","metatags":{"og:image":"https://docs.threetone.in/images/social/661b35683a6c3cbbae7f2fcf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Calculate expected LLM usage - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/661b35683a6c3cbbae7f2fcf.jpg","twitter:image:alt":"Calculate expected LLM usage - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/calculate-expected-llm-usage-for-an-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/87174b4dd1acd88582abc455.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Calculate expected LLM usage for an agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/87174b4dd1acd88582abc455.jpg","twitter:image:alt":"Calculate expected LLM usage for an agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/cancel-batch-call","metatags":{"og:image":"https://docs.threetone.in/images/social/30faf936d0b7156bee726f2a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Cancel batch call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/30faf936d0b7156bee726f2a.jpg","twitter:image:alt":"Cancel batch call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/compile-procedures","metatags":{"og:image":"https://docs.threetone.in/images/social/fcd6a608280145da219e8696.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Compile procedures - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/fcd6a608280145da219e8696.jpg","twitter:image:alt":"Compile procedures - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/1b13e4c7ed3593889989e1e9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1b13e4c7ed3593889989e1e9.jpg","twitter:image:alt":"Create agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-agent-branch","metatags":{"og:image":"https://docs.threetone.in/images/social/bc79972fbb73a80e654dfa1d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create agent branch - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bc79972fbb73a80e654dfa1d.jpg","twitter:image:alt":"Create agent branch - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-agent-draft","metatags":{"og:image":"https://docs.threetone.in/images/social/3c7c092e50a3e20ae445f89c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create agent draft - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3c7c092e50a3e20ae445f89c.jpg","twitter:image:alt":"Create agent draft - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-batch-call","metatags":{"og:image":"https://docs.threetone.in/images/social/c96f3add0a1288a2b06578d2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create batch call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c96f3add0a1288a2b06578d2.jpg","twitter:image:alt":"Create batch call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-document-rag-index","metatags":{"og:image":"https://docs.threetone.in/images/social/c4d6f2977e528de3414ca820.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create document RAG index - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c4d6f2977e528de3414ca820.jpg","twitter:image:alt":"Create document RAG index - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-environment-variable","metatags":{"og:image":"https://docs.threetone.in/images/social/0f53c1b5aaca48743b1af084.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create environment variable - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0f53c1b5aaca48743b1af084.jpg","twitter:image:alt":"Create environment variable - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-knowledge-base-document-from-file","metatags":{"og:image":"https://docs.threetone.in/images/social/49c3b6462f5eb74e53a4ea59.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create knowledge base document from file - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/49c3b6462f5eb74e53a4ea59.jpg","twitter:image:alt":"Create knowledge base document from file - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-knowledge-base-document-from-text","metatags":{"og:image":"https://docs.threetone.in/images/social/cace53bfa2e7a3be2fc2e67a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create knowledge base document from text - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cace53bfa2e7a3be2fc2e67a.jpg","twitter:image:alt":"Create knowledge base document from text - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-knowledge-base-document-from-url","metatags":{"og:image":"https://docs.threetone.in/images/social/0aedba77eb159611139dc201.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create knowledge base document from URL - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0aedba77eb159611139dc201.jpg","twitter:image:alt":"Create knowledge base document from URL - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-mcp-server","metatags":{"og:image":"https://docs.threetone.in/images/social/cb33751892061b3b1aaf5d32.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create MCP server - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cb33751892061b3b1aaf5d32.jpg","twitter:image:alt":"Create MCP server - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-mcp-server-tool-approval","metatags":{"og:image":"https://docs.threetone.in/images/social/3cd3d2a8a58d0df8a8a50aa7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create MCP server tool approval - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3cd3d2a8a58d0df8a8a50aa7.jpg","twitter:image:alt":"Create MCP server tool approval - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-mcp-tool-configuration-override","metatags":{"og:image":"https://docs.threetone.in/images/social/b6e6c1cdf8e4c19ed1105afc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create MCP tool configuration override - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b6e6c1cdf8e4c19ed1105afc.jpg","twitter:image:alt":"Create MCP tool configuration override - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-or-update-agent-deployments","metatags":{"og:image":"https://docs.threetone.in/images/social/9cf77bb60c5e41e91a5baaf3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create or update agent deployments - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9cf77bb60c5e41e91a5baaf3.jpg","twitter:image:alt":"Create or update agent deployments - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-procedure","metatags":{"og:image":"https://docs.threetone.in/images/social/410c7fe853ea4405deec351a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create procedure - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/410c7fe853ea4405deec351a.jpg","twitter:image:alt":"Create procedure - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-rag-indexes","metatags":{"og:image":"https://docs.threetone.in/images/social/5b9de6aa99338c17e1bb02e5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create RAG indexes - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5b9de6aa99338c17e1bb02e5.jpg","twitter:image:alt":"Create RAG indexes - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-tag","metatags":{"og:image":"https://docs.threetone.in/images/social/2cd3155c079d1fdb72a757e5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create tag - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2cd3155c079d1fdb72a757e5.jpg","twitter:image:alt":"Create tag - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-tool","metatags":{"og:image":"https://docs.threetone.in/images/social/b6b4a4ae39f1a00d42df9967.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create tool - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b6b4a4ae39f1a00d42df9967.jpg","twitter:image:alt":"Create tool - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/create-workspace-secret","metatags":{"og:image":"https://docs.threetone.in/images/social/85b29cbad86306d48bcf085a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create workspace secret - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/85b29cbad86306d48bcf085a.jpg","twitter:image:alt":"Create workspace secret - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/12ff3b4d2608cbf8a6088b45.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/12ff3b4d2608cbf8a6088b45.jpg","twitter:image:alt":"Delete agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-agent-draft","metatags":{"og:image":"https://docs.threetone.in/images/social/d1079e21968d25abf3852b9b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete agent draft - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d1079e21968d25abf3852b9b.jpg","twitter:image:alt":"Delete agent draft - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-agent-hold-audio","metatags":{"og:image":"https://docs.threetone.in/images/social/267a37bddbf3c2879eefb94b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete Agent Hold Audio - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/267a37bddbf3c2879eefb94b.jpg","twitter:image:alt":"Delete Agent Hold Audio - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-batch-call","metatags":{"og:image":"https://docs.threetone.in/images/social/5f2c8868859c149adc008cb0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete batch call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5f2c8868859c149adc008cb0.jpg","twitter:image:alt":"Delete batch call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-conversation","metatags":{"og:image":"https://docs.threetone.in/images/social/27e394571782f1c4de4eae82.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete conversation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/27e394571782f1c4de4eae82.jpg","twitter:image:alt":"Delete conversation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-conversation-file","metatags":{"og:image":"https://docs.threetone.in/images/social/6a68872fd532c812287b9c3f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete conversation file - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6a68872fd532c812287b9c3f.jpg","twitter:image:alt":"Delete conversation file - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-knowledge-base-document-or-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/c892ed653b992ff3895b5f1c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete knowledge base document or folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c892ed653b992ff3895b5f1c.jpg","twitter:image:alt":"Delete knowledge base document or folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-knowledge-base-documents","metatags":{"og:image":"https://docs.threetone.in/images/social/552e85d265cd8eb514d17e7f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete knowledge base documents - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/552e85d265cd8eb514d17e7f.jpg","twitter:image:alt":"Delete knowledge base documents - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-mcp-server","metatags":{"og:image":"https://docs.threetone.in/images/social/4bcbf72f9d98783cc42d5155.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete MCP server - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4bcbf72f9d98783cc42d5155.jpg","twitter:image:alt":"Delete MCP server - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-mcp-server-tool-approval","metatags":{"og:image":"https://docs.threetone.in/images/social/7db9129e465c38e4d37db8ce.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete MCP server tool approval - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7db9129e465c38e4d37db8ce.jpg","twitter:image:alt":"Delete MCP server tool approval - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-mcp-tool-configuration-override","metatags":{"og:image":"https://docs.threetone.in/images/social/93cf8042b9e9062fb9177c18.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete MCP tool configuration override - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/93cf8042b9e9062fb9177c18.jpg","twitter:image:alt":"Delete MCP tool configuration override - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-phone-number","metatags":{"og:image":"https://docs.threetone.in/images/social/b6d91f4a82817eda2f773ea2.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete phone number - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b6d91f4a82817eda2f773ea2.jpg","twitter:image:alt":"Delete phone number - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-procedure","metatags":{"og:image":"https://docs.threetone.in/images/social/ae369ace34b97c2c3140e01d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete procedure - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ae369ace34b97c2c3140e01d.jpg","twitter:image:alt":"Delete procedure - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-procedure-draft","metatags":{"og:image":"https://docs.threetone.in/images/social/ef2d2d55110db66da4aa2680.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete procedure draft - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ef2d2d55110db66da4aa2680.jpg","twitter:image:alt":"Delete procedure draft - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-rag-index","metatags":{"og:image":"https://docs.threetone.in/images/social/9c6f0c1ab44e45aa16241b7c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete RAG index - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9c6f0c1ab44e45aa16241b7c.jpg","twitter:image:alt":"Delete RAG index - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-tag","metatags":{"og:image":"https://docs.threetone.in/images/social/842d7fa96afae4c051c9b0df.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete tag - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/842d7fa96afae4c051c9b0df.jpg","twitter:image:alt":"Delete tag - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-tool","metatags":{"og:image":"https://docs.threetone.in/images/social/73297544005ca5c1012a0317.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete tool - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/73297544005ca5c1012a0317.jpg","twitter:image:alt":"Delete tool - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-whatsapp-account","metatags":{"og:image":"https://docs.threetone.in/images/social/d3bd00d8e10ef03b403944d9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete WhatsApp account - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d3bd00d8e10ef03b403944d9.jpg","twitter:image:alt":"Delete WhatsApp account - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/delete-workspace-secret","metatags":{"og:image":"https://docs.threetone.in/images/social/71d612af912d82fa8296dd8b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete workspace secret - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/71d612af912d82fa8296dd8b.jpg","twitter:image:alt":"Delete workspace secret - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/duplicate-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/971050e7b399351d72bc6a30.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Duplicate agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/971050e7b399351d72bc6a30.jpg","twitter:image:alt":"Duplicate agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/export-batch-call-results","metatags":{"og:image":"https://docs.threetone.in/images/social/c296b99e96072880cd8a28ff.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Export batch call results - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c296b99e96072880cd8a28ff.jpg","twitter:image:alt":"Export batch call results - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/4f2503d45b810ab5eab7f2f5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4f2503d45b810ab5eab7f2f5.jpg","twitter:image:alt":"Get agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agent-branch","metatags":{"og:image":"https://docs.threetone.in/images/social/6b55c34e8227dcf8ee9e0e91.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get agent branch - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6b55c34e8227dcf8ee9e0e91.jpg","twitter:image:alt":"Get agent branch - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agent-knowledge-base-size","metatags":{"og:image":"https://docs.threetone.in/images/social/44ab6f107c90d028e79b48f0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get agent knowledge base size - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/44ab6f107c90d028e79b48f0.jpg","twitter:image:alt":"Get agent knowledge base size - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agent-version-metadata","metatags":{"og:image":"https://docs.threetone.in/images/social/8c45394865763e3682eac264.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get agent version metadata - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8c45394865763e3682eac264.jpg","twitter:image:alt":"Get agent version metadata - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agent-widget-configuration","metatags":{"og:image":"https://docs.threetone.in/images/social/4ffccfdeacc29152bd6c8d4a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get agent widget configuration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4ffccfdeacc29152bd6c8d4a.jpg","twitter:image:alt":"Get agent widget configuration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agents-platform-dashboard-settings","metatags":{"og:image":"https://docs.threetone.in/images/social/58092b0ed1f99857805c2f21.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get Agents Platform dashboard settings - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/58092b0ed1f99857805c2f21.jpg","twitter:image:alt":"Get Agents Platform dashboard settings - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-agents-platform-settings","metatags":{"og:image":"https://docs.threetone.in/images/social/2015a139432f9aa1f160903a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get Agents Platform settings - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2015a139432f9aa1f160903a.jpg","twitter:image:alt":"Get Agents Platform settings - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-available-ai-model","metatags":{"og:image":"https://docs.threetone.in/images/social/beb8117a0f8ab60f50192e2a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get available AI model - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/beb8117a0f8ab60f50192e2a.jpg","twitter:image:alt":"Get available AI model - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-batch-call","metatags":{"og:image":"https://docs.threetone.in/images/social/43b777bba73b71e99a2f4145.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get batch call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/43b777bba73b71e99a2f4145.jpg","twitter:image:alt":"Get batch call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-conversation-audio","metatags":{"og:image":"https://docs.threetone.in/images/social/2de26a38fc85094099f624e1.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get conversation audio - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2de26a38fc85094099f624e1.jpg","twitter:image:alt":"Get conversation audio - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-conversation-details","metatags":{"og:image":"https://docs.threetone.in/images/social/5727a93f7ec4def12a2b7167.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get conversation details - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5727a93f7ec4def12a2b7167.jpg","twitter:image:alt":"Get conversation details - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-conversation-summary","metatags":{"og:image":"https://docs.threetone.in/images/social/98be14334b01eb58a60df105.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get conversation summary - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/98be14334b01eb58a60df105.jpg","twitter:image:alt":"Get conversation summary - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-conversation-token","metatags":{"og:image":"https://docs.threetone.in/images/social/8ce9747132a47c65d3bff403.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get conversation token - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8ce9747132a47c65d3bff403.jpg","twitter:image:alt":"Get conversation token - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-document-rag-indexes","metatags":{"og:image":"https://docs.threetone.in/images/social/158cdaf1ce8b08535b11ba11.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get document RAG indexes - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/158cdaf1ce8b08535b11ba11.jpg","twitter:image:alt":"Get document RAG indexes - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-environment-variable","metatags":{"og:image":"https://docs.threetone.in/images/social/e5a7f7f197ac2bc7b9287d02.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get environment variable - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e5a7f7f197ac2bc7b9287d02.jpg","twitter:image:alt":"Get environment variable - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-knowledge-base-document","metatags":{"og:image":"https://docs.threetone.in/images/social/b7b331d3370090edac526fac.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get knowledge base document - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b7b331d3370090edac526fac.jpg","twitter:image:alt":"Get knowledge base document - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-knowledge-base-document-chunk","metatags":{"og:image":"https://docs.threetone.in/images/social/aa0ecc2cfa02c8be0cd71716.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get knowledge base document chunk - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/aa0ecc2cfa02c8be0cd71716.jpg","twitter:image:alt":"Get knowledge base document chunk - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-knowledge-base-document-content","metatags":{"og:image":"https://docs.threetone.in/images/social/34b521511f68cb386552af6f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get knowledge base document content - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/34b521511f68cb386552af6f.jpg","twitter:image:alt":"Get knowledge base document content - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-knowledge-base-source-file-url","metatags":{"og:image":"https://docs.threetone.in/images/social/1120f01934f1d4221b912f5d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get knowledge base source file URL - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1120f01934f1d4221b912f5d.jpg","twitter:image:alt":"Get knowledge base source file URL - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-live-conversation-count","metatags":{"og:image":"https://docs.threetone.in/images/social/a34a3a1f351125d6b3701d72.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get live conversation count - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a34a3a1f351125d6b3701d72.jpg","twitter:image:alt":"Get live conversation count - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-mcp-server","metatags":{"og:image":"https://docs.threetone.in/images/social/393f6b69b3aa2427ae9c4986.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get MCP server - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/393f6b69b3aa2427ae9c4986.jpg","twitter:image:alt":"Get MCP server - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-mcp-tool-configuration-override","metatags":{"og:image":"https://docs.threetone.in/images/social/2ee14586ce260b687225ace7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get MCP tool configuration override - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2ee14586ce260b687225ace7.jpg","twitter:image:alt":"Get MCP tool configuration override - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-phone-number","metatags":{"og:image":"https://docs.threetone.in/images/social/801f09c45c3df3729a81f210.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get phone number - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/801f09c45c3df3729a81f210.jpg","twitter:image:alt":"Get phone number - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-procedure","metatags":{"og:image":"https://docs.threetone.in/images/social/4e3f85ec4affff16b9243231.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get procedure - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4e3f85ec4affff16b9243231.jpg","twitter:image:alt":"Get procedure - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-procedure-draft","metatags":{"og:image":"https://docs.threetone.in/images/social/0f2cff364ab4d409dd873e48.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get procedure draft - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0f2cff364ab4d409dd873e48.jpg","twitter:image:alt":"Get procedure draft - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-rag-index-overview","metatags":{"og:image":"https://docs.threetone.in/images/social/ce625f0400ccc8c795389348.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get RAG index overview - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ce625f0400ccc8c795389348.jpg","twitter:image:alt":"Get RAG index overview - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-shareable-agent-link","metatags":{"og:image":"https://docs.threetone.in/images/social/90d6ae2e94d7db731c0dbf03.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get shareable agent link - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/90d6ae2e94d7db731c0dbf03.jpg","twitter:image:alt":"Get shareable agent link - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-signed-url","metatags":{"og:image":"https://docs.threetone.in/images/social/71130f9cb338c25869176d9c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get signed URL - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/71130f9cb338c25869176d9c.jpg","twitter:image:alt":"Get signed URL - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-sip-messages-for-a-conversation","metatags":{"og:image":"https://docs.threetone.in/images/social/c8741445ab18ae52d2de44d6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get SIP messages for a conversation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c8741445ab18ae52d2de44d6.jpg","twitter:image:alt":"Get SIP messages for a conversation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-sip-messages-for-a-phone-number","metatags":{"og:image":"https://docs.threetone.in/images/social/ceadb02919245b6c33316673.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get SIP messages for a phone number - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ceadb02919245b6c33316673.jpg","twitter:image:alt":"Get SIP messages for a phone number - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-tag","metatags":{"og:image":"https://docs.threetone.in/images/social/b4004e1cba1795c004c89560.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get tag - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b4004e1cba1795c004c89560.jpg","twitter:image:alt":"Get tag - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-the-platform-managed-llm-backup-order","metatags":{"og:image":"https://docs.threetone.in/images/social/b0e1746de725e2ee2d36711b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get the platform-managed LLM backup order - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b0e1746de725e2ee2d36711b.jpg","twitter:image:alt":"Get the platform-managed LLM backup order - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-tool","metatags":{"og:image":"https://docs.threetone.in/images/social/2c249430d9d7450d62cb113b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get tool - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2c249430d9d7450d62cb113b.jpg","twitter:image:alt":"Get tool - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-whatsapp-account","metatags":{"og:image":"https://docs.threetone.in/images/social/d3d2c6aaf6f80c74384a111d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get WhatsApp account - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d3d2c6aaf6f80c74384a111d.jpg","twitter:image:alt":"Get WhatsApp account - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/get-workspace-secret","metatags":{"og:image":"https://docs.threetone.in/images/social/dc82beaa0933766a3ff64471.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get workspace secret - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/dc82beaa0933766a3ff64471.jpg","twitter:image:alt":"Get workspace secret - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/import-phone-number","metatags":{"og:image":"https://docs.threetone.in/images/social/353db6eb82ae33404220ce54.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Import phone number - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/353db6eb82ae33404220ce54.jpg","twitter:image:alt":"Import phone number - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-agent-branches","metatags":{"og:image":"https://docs.threetone.in/images/social/bd2e4a667d7210b87c31a481.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List agent branches - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bd2e4a667d7210b87c31a481.jpg","twitter:image:alt":"List agent branches - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-agent-summaries","metatags":{"og:image":"https://docs.threetone.in/images/social/1aec696ce6ca87ed9edcf76c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List agent summaries - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1aec696ce6ca87ed9edcf76c.jpg","twitter:image:alt":"List agent summaries - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-agents","metatags":{"og:image":"https://docs.threetone.in/images/social/45d46f0f4a0ff638ec0323bf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List agents - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/45d46f0f4a0ff638ec0323bf.jpg","twitter:image:alt":"List agents - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-agents-using-knowledge-base-document","metatags":{"og:image":"https://docs.threetone.in/images/social/35ae6fb1ff6d29bc92a660fe.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List agents using knowledge base document - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/35ae6fb1ff6d29bc92a660fe.jpg","twitter:image:alt":"List agents using knowledge base document - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-agents-using-knowledge-base-documents","metatags":{"og:image":"https://docs.threetone.in/images/social/cf3555fbc6be5658e0a19783.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List agents using knowledge base documents - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cf3555fbc6be5658e0a19783.jpg","twitter:image:alt":"List agents using knowledge base documents - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-agents-using-tool","metatags":{"og:image":"https://docs.threetone.in/images/social/4e04ca204611414ed2879c0e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List agents using tool - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4e04ca204611414ed2879c0e.jpg","twitter:image:alt":"List agents using tool - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-available-ai-models","metatags":{"og:image":"https://docs.threetone.in/images/social/00290aed6f6eb435dc57f8cc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List available AI models - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/00290aed6f6eb435dc57f8cc.jpg","twitter:image:alt":"List available AI models - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-available-llms","metatags":{"og:image":"https://docs.threetone.in/images/social/0c2be2bc0a61d84ebedafa76.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List available LLMs - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0c2be2bc0a61d84ebedafa76.jpg","twitter:image:alt":"List available LLMs - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-conversation-users","metatags":{"og:image":"https://docs.threetone.in/images/social/20c033f063eec2d7a444c4c5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List conversation users - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/20c033f063eec2d7a444c4c5.jpg","twitter:image:alt":"List conversation users - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-conversations","metatags":{"og:image":"https://docs.threetone.in/images/social/113aefa8305eaa7df49b593b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List conversations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/113aefa8305eaa7df49b593b.jpg","twitter:image:alt":"List conversations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-environment-variables","metatags":{"og:image":"https://docs.threetone.in/images/social/9e73092e29556169428ebd4c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List environment variables - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9e73092e29556169428ebd4c.jpg","twitter:image:alt":"List environment variables - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-knowledge-base-documents","metatags":{"og:image":"https://docs.threetone.in/images/social/5fb3451ad638dad958b9bffc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List knowledge base documents - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5fb3451ad638dad958b9bffc.jpg","twitter:image:alt":"List knowledge base documents - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-knowledge-base-summaries","metatags":{"og:image":"https://docs.threetone.in/images/social/e5f065e9a7a4a8e1adaf95af.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List knowledge base summaries - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e5f065e9a7a4a8e1adaf95af.jpg","twitter:image:alt":"List knowledge base summaries - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-mcp-server-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/1c465e1e6fd4f123fccbad6c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List MCP server tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1c465e1e6fd4f123fccbad6c.jpg","twitter:image:alt":"List MCP server tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-mcp-servers","metatags":{"og:image":"https://docs.threetone.in/images/social/fb9f6b9bc27e4225a414f9f3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List MCP servers - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/fb9f6b9bc27e4225a414f9f3.jpg","twitter:image:alt":"List MCP servers - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-phone-numbers","metatags":{"og:image":"https://docs.threetone.in/images/social/aee3dfe7e4bc1d017121f333.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List phone numbers - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/aee3dfe7e4bc1d017121f333.jpg","twitter:image:alt":"List phone numbers - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-phone-numbers-page","metatags":{"og:image":"https://docs.threetone.in/images/social/fc989211a9d524d7e06d58f4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List Phone Numbers Page - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/fc989211a9d524d7e06d58f4.jpg","twitter:image:alt":"List Phone Numbers Page - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-procedures","metatags":{"og:image":"https://docs.threetone.in/images/social/364543e33bd1f660c33b114e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List procedures - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/364543e33bd1f660c33b114e.jpg","twitter:image:alt":"List procedures - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-rag-chunks-for-document","metatags":{"og:image":"https://docs.threetone.in/images/social/dc35fc64a55c0ed3b857436b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List RAG chunks for document - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/dc35fc64a55c0ed3b857436b.jpg","twitter:image:alt":"List RAG chunks for document - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-secret-dependencies","metatags":{"og:image":"https://docs.threetone.in/images/social/bdcacb16f081b512460c130d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List secret dependencies - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bdcacb16f081b512460c130d.jpg","twitter:image:alt":"List secret dependencies - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-tags","metatags":{"og:image":"https://docs.threetone.in/images/social/7c4bdcfa7dc2487f4def55e1.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List tags - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7c4bdcfa7dc2487f4def55e1.jpg","twitter:image:alt":"List tags - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-tool-executions","metatags":{"og:image":"https://docs.threetone.in/images/social/31aebd7718957b1de5b410a0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List tool executions - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/31aebd7718957b1de5b410a0.jpg","twitter:image:alt":"List tool executions - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-tools","metatags":{"og:image":"https://docs.threetone.in/images/social/106a21b515b4ad9b3be58928.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List tools - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/106a21b515b4ad9b3be58928.jpg","twitter:image:alt":"List tools - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-whatsapp-accounts","metatags":{"og:image":"https://docs.threetone.in/images/social/a46cba68b1ed3ff4c3dec82b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List WhatsApp accounts - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a46cba68b1ed3ff4c3dec82b.jpg","twitter:image:alt":"List WhatsApp accounts - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-workspace-batch-calls","metatags":{"og:image":"https://docs.threetone.in/images/social/d497ef6a032e76fc0e869708.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List workspace batch calls - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d497ef6a032e76fc0e869708.jpg","twitter:image:alt":"List workspace batch calls - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/list-workspace-secrets","metatags":{"og:image":"https://docs.threetone.in/images/social/f7bd5a24bd4e500a53167528.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List workspace secrets - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f7bd5a24bd4e500a53167528.jpg","twitter:image:alt":"List workspace secrets - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/merge-agent-branch","metatags":{"og:image":"https://docs.threetone.in/images/social/e406f86d883edb4cd4d03a9e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Merge agent branch - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e406f86d883edb4cd4d03a9e.jpg","twitter:image:alt":"Merge agent branch - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/post-agent-hold-audio","metatags":{"og:image":"https://docs.threetone.in/images/social/55c6ee42d2c8ddece23b64d5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Post Agent Hold Audio - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/55c6ee42d2c8ddece23b64d5.jpg","twitter:image:alt":"Post Agent Hold Audio - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/preview-merged-configuration","metatags":{"og:image":"https://docs.threetone.in/images/social/2b314a35540948d25537b1a4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Preview merged configuration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2b314a35540948d25537b1a4.jpg","twitter:image:alt":"Preview merged configuration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/preview-rebased-configuration","metatags":{"og:image":"https://docs.threetone.in/images/social/317d838b5818ad09cc785b29.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Preview rebased configuration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/317d838b5818ad09cc785b29.jpg","twitter:image:alt":"Preview rebased configuration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/query-agent-knowledge-base","metatags":{"og:image":"https://docs.threetone.in/images/social/9107df5513006be15ea72602.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Query agent knowledge base - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9107df5513006be15ea72602.jpg","twitter:image:alt":"Query agent knowledge base - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/rebase-agent-branch-onto-main","metatags":{"og:image":"https://docs.threetone.in/images/social/8af4d1f7866afcd65ab408b4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Rebase agent branch onto main - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8af4d1f7866afcd65ab408b4.jpg","twitter:image:alt":"Rebase agent branch onto main - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/refresh-knowledge-base-url","metatags":{"og:image":"https://docs.threetone.in/images/social/a8f445091576af3c0783a68f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Refresh knowledge base URL - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a8f445091576af3c0783a68f.jpg","twitter:image:alt":"Refresh knowledge base URL - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/register-twilio-call","metatags":{"og:image":"https://docs.threetone.in/images/social/5eedea91df86d545b48359f0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Register Twilio call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5eedea91df86d545b48359f0.jpg","twitter:image:alt":"Register Twilio call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/remove-tag-from-conversation","metatags":{"og:image":"https://docs.threetone.in/images/social/76ea425dae945e57b8e81ac9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Remove tag from conversation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/76ea425dae945e57b8e81ac9.jpg","twitter:image:alt":"Remove tag from conversation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/replace-knowledge-base-file","metatags":{"og:image":"https://docs.threetone.in/images/social/ac5134ca0ae7a34a89338472.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Replace knowledge base file - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ac5134ca0ae7a34a89338472.jpg","twitter:image:alt":"Replace knowledge base file - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/resolve-conversation-reference","metatags":{"og:image":"https://docs.threetone.in/images/social/66ac1fec2eaf99839f87e8fc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Resolve conversation reference - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/66ac1fec2eaf99839f87e8fc.jpg","twitter:image:alt":"Resolve conversation reference - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/retry-batch-call","metatags":{"og:image":"https://docs.threetone.in/images/social/24f949d2812df91cfe63c52b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Retry batch call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/24f949d2812df91cfe63c52b.jpg","twitter:image:alt":"Retry batch call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/search-knowledge-base-content","metatags":{"og:image":"https://docs.threetone.in/images/social/f3e3447f09de3aad9d4c30d8.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Search knowledge base content - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f3e3447f09de3aad9d4c30d8.jpg","twitter:image:alt":"Search knowledge base content - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/send-conversation-feedback","metatags":{"og:image":"https://docs.threetone.in/images/social/4e785e29f9dcc525794c9821.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Send conversation feedback - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4e785e29f9dcc525794c9821.jpg","twitter:image:alt":"Send conversation feedback - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/send-outbound-message-via-whatsapp","metatags":{"og:image":"https://docs.threetone.in/images/social/9dbdf1269bd2166b395e8d8d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Send outbound message via WhatsApp - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9dbdf1269bd2166b395e8d8d.jpg","twitter:image:alt":"Send outbound message via WhatsApp - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/smart-search","metatags":{"og:image":"https://docs.threetone.in/images/social/e78c6de58a9e1445952ef8b8.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Smart search - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e78c6de58a9e1445952ef8b8.jpg","twitter:image:alt":"Smart search - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/start-outbound-call-via-exotel","metatags":{"og:image":"https://docs.threetone.in/images/social/03ebdbbefd1f3c998d806299.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Start outbound call via Exotel - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/03ebdbbefd1f3c998d806299.jpg","twitter:image:alt":"Start outbound call via Exotel - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/start-outbound-call-via-sip-trunk","metatags":{"og:image":"https://docs.threetone.in/images/social/020e75f7b4d23662482a35dd.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Start outbound call via SIP trunk - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/020e75f7b4d23662482a35dd.jpg","twitter:image:alt":"Start outbound call via SIP trunk - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/start-outbound-call-via-twilio","metatags":{"og:image":"https://docs.threetone.in/images/social/c1575fcc05884949669fe1f6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Start outbound call via Twilio - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c1575fcc05884949669fe1f6.jpg","twitter:image:alt":"Start outbound call via Twilio - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/start-outbound-call-via-whatsapp","metatags":{"og:image":"https://docs.threetone.in/images/social/da61b7575a19a7d6b3a8a157.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Start outbound call via WhatsApp - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/da61b7575a19a7d6b3a8a157.jpg","twitter:image:alt":"Start outbound call via WhatsApp - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/text-search","metatags":{"og:image":"https://docs.threetone.in/images/social/738b969cd2537cfe71328fc4.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Text search - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/738b969cd2537cfe71328fc4.jpg","twitter:image:alt":"Text search - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/2a4389a47f899ed0bcba69dd.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2a4389a47f899ed0bcba69dd.jpg","twitter:image:alt":"Update agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-agent-branch","metatags":{"og:image":"https://docs.threetone.in/images/social/1199a52efb056bd35e2034be.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update agent branch - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1199a52efb056bd35e2034be.jpg","twitter:image:alt":"Update agent branch - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-agents-platform-dashboard-settings","metatags":{"og:image":"https://docs.threetone.in/images/social/5335ad0b0d5a18b8b89642b7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update Agents Platform dashboard settings - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5335ad0b0d5a18b8b89642b7.jpg","twitter:image:alt":"Update Agents Platform dashboard settings - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-agents-platform-settings","metatags":{"og:image":"https://docs.threetone.in/images/social/cc04fdeafa39dbe724e7d023.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update Agents Platform settings - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cc04fdeafa39dbe724e7d023.jpg","twitter:image:alt":"Update Agents Platform settings - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-document","metatags":{"og:image":"https://docs.threetone.in/images/social/97ac1333c62241853706eeb5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update document - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/97ac1333c62241853706eeb5.jpg","twitter:image:alt":"Update document - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-environment-variable","metatags":{"og:image":"https://docs.threetone.in/images/social/03b52c7e60a28b2d21113fe3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update environment variable - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/03b52c7e60a28b2d21113fe3.jpg","twitter:image:alt":"Update environment variable - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-mcp-server-configuration","metatags":{"og:image":"https://docs.threetone.in/images/social/f9a5e6b9658d8f6c58601657.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update MCP server configuration - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f9a5e6b9658d8f6c58601657.jpg","twitter:image:alt":"Update MCP server configuration - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-mcp-tool-configuration-override","metatags":{"og:image":"https://docs.threetone.in/images/social/c7adbda339d3aa30dc36bb31.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update MCP tool configuration override - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c7adbda339d3aa30dc36bb31.jpg","twitter:image:alt":"Update MCP tool configuration override - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-phone-number","metatags":{"og:image":"https://docs.threetone.in/images/social/22bc504a0683daf0ec2c6ab6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update phone number - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/22bc504a0683daf0ec2c6ab6.jpg","twitter:image:alt":"Update phone number - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-procedure-draft","metatags":{"og:image":"https://docs.threetone.in/images/social/dbe9311a4f02b87147f735e3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update procedure draft - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/dbe9311a4f02b87147f735e3.jpg","twitter:image:alt":"Update procedure draft - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-tag","metatags":{"og:image":"https://docs.threetone.in/images/social/c19fb602724630d7a66f94b6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update tag - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c19fb602724630d7a66f94b6.jpg","twitter:image:alt":"Update tag - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-tool","metatags":{"og:image":"https://docs.threetone.in/images/social/1ca5324a0aadb3c436eff6bf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update tool - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1ca5324a0aadb3c436eff6bf.jpg","twitter:image:alt":"Update tool - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-whatsapp-account","metatags":{"og:image":"https://docs.threetone.in/images/social/b277866ccc7436492a079cd1.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update WhatsApp account - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b277866ccc7436492a079cd1.jpg","twitter:image:alt":"Update WhatsApp account - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/update-workspace-secret","metatags":{"og:image":"https://docs.threetone.in/images/social/b6074cf5677c8dc84778fb4e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update workspace secret - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b6074cf5677c8dc84778fb4e.jpg","twitter:image:alt":"Update workspace secret - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/upload-agent-avatar","metatags":{"og:image":"https://docs.threetone.in/images/social/02ef05e0fdecc5f01d4a5cf5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Upload agent avatar - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/02ef05e0fdecc5f01d4a5cf5.jpg","twitter:image:alt":"Upload agent avatar - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-platform/upload-conversation-file","metatags":{"og:image":"https://docs.threetone.in/images/social/2ad7d9029f36a5951febee7f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Upload conversation file - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2ad7d9029f36a5951febee7f.jpg","twitter:image:alt":"Upload conversation file - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-workspace-analytics/run-conversation-analysis","metatags":{"og:image":"https://docs.threetone.in/images/social/ee45f863beed166790ff013b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Run conversation analysis - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ee45f863beed166790ff013b.jpg","twitter:image:alt":"Run conversation analysis - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/agents-workspace-analytics/run-conversation-evaluation","metatags":{"og:image":"https://docs.threetone.in/images/social/9091d649f6ef273dbcfee577.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Run conversation evaluation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9091d649f6ef273dbcfee577.jpg","twitter:image:alt":"Run conversation evaluation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/authentication","metatags":{"og:image":"https://docs.threetone.in/images/social/ec020ffb4e2ef3f1180673f9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Authentication - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ec020ffb4e2ef3f1180673f9.jpg","twitter:image:alt":"Authentication - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/cancel-crawl-job","metatags":{"og:image":"https://docs.threetone.in/images/social/5d6b8646720988984f346056.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Cancel crawl job - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5d6b8646720988984f346056.jpg","twitter:image:alt":"Cancel crawl job - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/create-crawl-job","metatags":{"og:image":"https://docs.threetone.in/images/social/88c10b1bcd9df3a38926ad86.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create crawl job - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/88c10b1bcd9df3a38926ad86.jpg","twitter:image:alt":"Create crawl job - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/create-knowledge-base-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/818ad279fc53f1bcafd5c5c7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create knowledge base folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/818ad279fc53f1bcafd5c5c7.jpg","twitter:image:alt":"Create knowledge base folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/get-crawl-job","metatags":{"og:image":"https://docs.threetone.in/images/social/b5728ed6033bcc2b911a41ff.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get crawl job - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b5728ed6033bcc2b911a41ff.jpg","twitter:image:alt":"Get crawl job - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/list-crawl-jobs","metatags":{"og:image":"https://docs.threetone.in/images/social/25286f2cb4568453f7899738.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List crawl jobs - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/25286f2cb4568453f7899738.jpg","twitter:image:alt":"List crawl jobs - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/move-knowledge-base-item","metatags":{"og:image":"https://docs.threetone.in/images/social/1a06219f76562ffc9abceea7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Move knowledge base item - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1a06219f76562ffc9abceea7.jpg","twitter:image:alt":"Move knowledge base item - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/conversational-ai/move-knowledge-base-items","metatags":{"og:image":"https://docs.threetone.in/images/social/1dcc2cb3bd573a9b654e4272.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Move knowledge base items - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1dcc2cb3bd573a9b654e4272.jpg","twitter:image:alt":"Move knowledge base items - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/create-agent-conversation-ticket","metatags":{"og:image":"https://docs.threetone.in/images/social/0ff647954ca85b9364719f48.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create Agent Conversation Ticket - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0ff647954ca85b9364719f48.jpg","twitter:image:alt":"Create Agent Conversation Ticket - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/create-manual-ticket","metatags":{"og:image":"https://docs.threetone.in/images/social/bbdab5645ef351a57ce8387f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create manual ticket - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bbdab5645ef351a57ce8387f.jpg","twitter:image:alt":"Create manual ticket - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/delete-ticket","metatags":{"og:image":"https://docs.threetone.in/images/social/d397f0cd500bd1441549dbe0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete ticket - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d397f0cd500bd1441549dbe0.jpg","twitter:image:alt":"Delete ticket - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/disable-api-key","metatags":{"og:image":"https://docs.threetone.in/images/social/99c72f9dd39447c2f3afd197.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Disable API key - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/99c72f9dd39447c2f3afd197.jpg","twitter:image:alt":"Disable API key - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/errors","metatags":{"og:image":"https://docs.threetone.in/images/social/2a878079e15b6ac9a184a942.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Errors and retries - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2a878079e15b6ac9a184a942.jpg","twitter:image:alt":"Errors and retries - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/get-ticket","metatags":{"og:image":"https://docs.threetone.in/images/social/6066861771bf584f5392e1d1.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get ticket - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6066861771bf584f5392e1d1.jpg","twitter:image:alt":"Get ticket - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/get-user-info","metatags":{"og:image":"https://docs.threetone.in/images/social/d84f8e283594e4d03373bf7a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get user info - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d84f8e283594e4d03373bf7a.jpg","twitter:image:alt":"Get user info - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/get-user-subscription-info","metatags":{"og:image":"https://docs.threetone.in/images/social/0eb4c67b807e8a0239d964da.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get user subscription info - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0eb4c67b807e8a0239d964da.jpg","twitter:image:alt":"Get user subscription info - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/introduction","metatags":{"og:image":"https://docs.threetone.in/images/social/252976e76a58d92938a0f5f0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"API overview - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/252976e76a58d92938a0f5f0.jpg","twitter:image:alt":"API overview - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/list-assignable-users","metatags":{"og:image":"https://docs.threetone.in/images/social/99d331b5e78bbced55998d78.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List assignable users - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/99d331b5e78bbced55998d78.jpg","twitter:image:alt":"List assignable users - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/list-tickets","metatags":{"og:image":"https://docs.threetone.in/images/social/0cc70ed0e746a362fd6be302.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List tickets - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0cc70ed0e746a362fd6be302.jpg","twitter:image:alt":"List tickets - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/list-workspace-conversation-tickets","metatags":{"og:image":"https://docs.threetone.in/images/social/6a96a80d824eb5dcfdccd706.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List Workspace Conversation Tickets - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6a96a80d824eb5dcfdccd706.jpg","twitter:image:alt":"List Workspace Conversation Tickets - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/outbound-calls/start-outbound-call","metatags":{"og:image":"https://docs.threetone.in/images/social/956e3da689db7a81319535a0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Start outbound call - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/956e3da689db7a81319535a0.jpg","twitter:image:alt":"Start outbound call - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/phone-numbers/list-phone-number-inventory","metatags":{"og:image":"https://docs.threetone.in/images/social/e47c3a00b371f2b5110181a7.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List phone number inventory - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e47c3a00b371f2b5110181a7.jpg","twitter:image:alt":"List phone number inventory - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-folders/bulk-move-tests-to-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/d8475e95e0f4f58c739642bd.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Bulk move tests to folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d8475e95e0f4f58c739642bd.jpg","twitter:image:alt":"Bulk move tests to folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-folders/create-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/995788aae5794f4f6bb2bbb6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/995788aae5794f4f6bb2bbb6.jpg","twitter:image:alt":"Create folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-folders/delete-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/bc5bfde5f5a7a532cb3d30df.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/bc5bfde5f5a7a532cb3d30df.jpg","twitter:image:alt":"Delete folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-folders/get-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/8b40b6d0d3a47b2b00d797bf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8b40b6d0d3a47b2b00d797bf.jpg","twitter:image:alt":"Get folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-folders/update-folder","metatags":{"og:image":"https://docs.threetone.in/images/social/e454cbb1b8b0d58ea56021ee.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update folder - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e454cbb1b8b0d58ea56021ee.jpg","twitter:image:alt":"Update folder - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-invocations/get-test-invocation","metatags":{"og:image":"https://docs.threetone.in/images/social/5e0fff577a77680470d0dc1d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get test invocation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5e0fff577a77680470d0dc1d.jpg","twitter:image:alt":"Get test invocation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-invocations/list-test-invocations","metatags":{"og:image":"https://docs.threetone.in/images/social/a864614f3bf90b18d185339a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List test invocations - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a864614f3bf90b18d185339a.jpg","twitter:image:alt":"List test invocations - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/test-invocations/resubmit-test-invocation","metatags":{"og:image":"https://docs.threetone.in/images/social/c0c9d6efc19907bcbe9dd5cd.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Resubmit test invocation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c0c9d6efc19907bcbe9dd5cd.jpg","twitter:image:alt":"Resubmit test invocation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/create-test","metatags":{"og:image":"https://docs.threetone.in/images/social/40392ade0c9d2ada14e5e234.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create test - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/40392ade0c9d2ada14e5e234.jpg","twitter:image:alt":"Create test - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/delete-test","metatags":{"og:image":"https://docs.threetone.in/images/social/5655102694d2ecc7e21042e3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete test - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5655102694d2ecc7e21042e3.jpg","twitter:image:alt":"Delete test - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/get-test","metatags":{"og:image":"https://docs.threetone.in/images/social/4da07e5bc108dea9ecd9f8be.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get test - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4da07e5bc108dea9ecd9f8be.jpg","twitter:image:alt":"Get test - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/get-test-summaries","metatags":{"og:image":"https://docs.threetone.in/images/social/82d15ea5cadce9ff35f64364.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get test summaries - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/82d15ea5cadce9ff35f64364.jpg","twitter:image:alt":"Get test summaries - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/list-tests","metatags":{"og:image":"https://docs.threetone.in/images/social/1e99ec5adde2d7bd7572e603.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List tests - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/1e99ec5adde2d7bd7572e603.jpg","twitter:image:alt":"List tests - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/run-tests-on-agent","metatags":{"og:image":"https://docs.threetone.in/images/social/3b1541735ccaa6c247e2823c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Run tests on agent - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3b1541735ccaa6c247e2823c.jpg","twitter:image:alt":"Run tests on agent - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/tests/update-test","metatags":{"og:image":"https://docs.threetone.in/images/social/2ea891a9d699d25da2bd298b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update test - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2ea891a9d699d25da2bd298b.jpg","twitter:image:alt":"Update test - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/time-zones/resolve-a-local-wall-time","metatags":{"og:image":"https://docs.threetone.in/images/social/825ae3788fb94c9dadecd7c8.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Resolve a local wall time - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/825ae3788fb94c9dadecd7c8.jpg","twitter:image:alt":"Resolve a local wall time - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/update-ticket","metatags":{"og:image":"https://docs.threetone.in/images/social/6f877ee001ad572de0b58a11.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update ticket - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6f877ee001ad572de0b58a11.jpg","twitter:image:alt":"Update ticket - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/voices/get-a-saved-voice","metatags":{"og:image":"https://docs.threetone.in/images/social/c173fbd3410ac7278f359eb0.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get a saved voice - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/c173fbd3410ac7278f359eb0.jpg","twitter:image:alt":"Get a saved voice - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/voices/list-my-voices","metatags":{"og:image":"https://docs.threetone.in/images/social/fe90c539a83ebc873af8f3de.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List my voices - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/fe90c539a83ebc873af8f3de.jpg","twitter:image:alt":"List my voices - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/add-member-to-user-group","metatags":{"og:image":"https://docs.threetone.in/images/social/99179686b55295946c6a4bc6.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Add member to user group - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/99179686b55295946c6a4bc6.jpg","twitter:image:alt":"Add member to user group - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/create-service-account-api-key","metatags":{"og:image":"https://docs.threetone.in/images/social/928e197ace7aeeacd52615bc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create service account API key - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/928e197ace7aeeacd52615bc.jpg","twitter:image:alt":"Create service account API key - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/create-workspace-auth-connection","metatags":{"og:image":"https://docs.threetone.in/images/social/6bb3f67c5cb2a7b743e5f5f3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create workspace auth connection - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6bb3f67c5cb2a7b743e5f5f3.jpg","twitter:image:alt":"Create workspace auth connection - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/create-workspace-group","metatags":{"og:image":"https://docs.threetone.in/images/social/36022b4f486666621e8f2cc9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create workspace group - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/36022b4f486666621e8f2cc9.jpg","twitter:image:alt":"Create workspace group - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/create-workspace-service-account","metatags":{"og:image":"https://docs.threetone.in/images/social/28223d0d45e3d489f7444a05.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create workspace service account - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/28223d0d45e3d489f7444a05.jpg","twitter:image:alt":"Create workspace service account - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/create-workspace-webhook","metatags":{"og:image":"https://docs.threetone.in/images/social/7d5c48082812f9c3f61a838b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Create workspace webhook - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7d5c48082812f9c3f61a838b.jpg","twitter:image:alt":"Create workspace webhook - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/delete-service-account-api-key","metatags":{"og:image":"https://docs.threetone.in/images/social/8495efbf49d7f8a743387abf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete service account API key - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8495efbf49d7f8a743387abf.jpg","twitter:image:alt":"Delete service account API key - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/delete-workspace-auth-connection","metatags":{"og:image":"https://docs.threetone.in/images/social/72db67b685f27fb709aece87.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete workspace auth connection - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/72db67b685f27fb709aece87.jpg","twitter:image:alt":"Delete workspace auth connection - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/delete-workspace-group","metatags":{"og:image":"https://docs.threetone.in/images/social/e60d371bd5d67605cdaacbe3.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete workspace group - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e60d371bd5d67605cdaacbe3.jpg","twitter:image:alt":"Delete workspace group - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/delete-workspace-invitation","metatags":{"og:image":"https://docs.threetone.in/images/social/3749af441b2a6a044aea7785.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete workspace invitation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3749af441b2a6a044aea7785.jpg","twitter:image:alt":"Delete workspace invitation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/delete-workspace-webhook","metatags":{"og:image":"https://docs.threetone.in/images/social/6563bb6276e810de844ffb4b.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Delete workspace webhook - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6563bb6276e810de844ffb4b.jpg","twitter:image:alt":"Delete workspace webhook - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/get-resource","metatags":{"og:image":"https://docs.threetone.in/images/social/9640c5112a1e64056022934e.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get resource - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9640c5112a1e64056022934e.jpg","twitter:image:alt":"Get resource - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/get-workspace-audit-logs","metatags":{"og:image":"https://docs.threetone.in/images/social/fd1c496d7832e9c4905943db.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get workspace audit logs - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/fd1c496d7832e9c4905943db.jpg","twitter:image:alt":"Get workspace audit logs - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/get-workspace-usage","metatags":{"og:image":"https://docs.threetone.in/images/social/60af89f24527572d71a73802.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Get workspace usage - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/60af89f24527572d71a73802.jpg","twitter:image:alt":"Get workspace usage - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/invite-multiple-users","metatags":{"og:image":"https://docs.threetone.in/images/social/9459a52b9182f2207cc9ceeb.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Invite multiple users - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9459a52b9182f2207cc9ceeb.jpg","twitter:image:alt":"Invite multiple users - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/invite-user","metatags":{"og:image":"https://docs.threetone.in/images/social/6dbdb8633d63dfe14a68f234.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Invite user - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/6dbdb8633d63dfe14a68f234.jpg","twitter:image:alt":"Invite user - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/list-api-requests","metatags":{"og:image":"https://docs.threetone.in/images/social/f0edca44473fe8e0b5047531.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List API requests - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f0edca44473fe8e0b5047531.jpg","twitter:image:alt":"List API requests - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/list-service-account-api-keys","metatags":{"og:image":"https://docs.threetone.in/images/social/10551f2277ed28abf93d2abf.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List service account API keys - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/10551f2277ed28abf93d2abf.jpg","twitter:image:alt":"List service account API keys - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/list-workspace-auth-connections","metatags":{"og:image":"https://docs.threetone.in/images/social/7ad44523c2671ec5ecd2e61c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List workspace auth connections - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7ad44523c2671ec5ecd2e61c.jpg","twitter:image:alt":"List workspace auth connections - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/list-workspace-groups","metatags":{"og:image":"https://docs.threetone.in/images/social/d3fa9aff40abd3d686a33e47.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List workspace groups - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/d3fa9aff40abd3d686a33e47.jpg","twitter:image:alt":"List workspace groups - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/list-workspace-service-accounts","metatags":{"og:image":"https://docs.threetone.in/images/social/ab76a45134017344c0c2a5c5.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List workspace service accounts - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ab76a45134017344c0c2a5c5.jpg","twitter:image:alt":"List workspace service accounts - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/list-workspace-webhooks","metatags":{"og:image":"https://docs.threetone.in/images/social/f6ed08ea55c70751f5e6230c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"List workspace webhooks - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f6ed08ea55c70751f5e6230c.jpg","twitter:image:alt":"List workspace webhooks - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/remove-member-from-workspace-group","metatags":{"og:image":"https://docs.threetone.in/images/social/738491b3b802b90fd653502a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Remove member from workspace group - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/738491b3b802b90fd653502a.jpg","twitter:image:alt":"Remove member from workspace group - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/resend-workspace-invitation","metatags":{"og:image":"https://docs.threetone.in/images/social/be9f766a16950a374dbbf543.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Resend workspace invitation - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/be9f766a16950a374dbbf543.jpg","twitter:image:alt":"Resend workspace invitation - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/search-user-groups","metatags":{"og:image":"https://docs.threetone.in/images/social/db0a468d1543bad814abfbfc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Search user groups - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/db0a468d1543bad814abfbfc.jpg","twitter:image:alt":"Search user groups - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/set-workspace-third-party-disabling-policy","metatags":{"og:image":"https://docs.threetone.in/images/social/67a4bb4f406a6a0ba2694775.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Set workspace third-party disabling policy - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/67a4bb4f406a6a0ba2694775.jpg","twitter:image:alt":"Set workspace third-party disabling policy - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/share-workspace-resource","metatags":{"og:image":"https://docs.threetone.in/images/social/170b40498ef088672c57d0dc.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Share workspace resource - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/170b40498ef088672c57d0dc.jpg","twitter:image:alt":"Share workspace resource - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/unshare-workspace-resource","metatags":{"og:image":"https://docs.threetone.in/images/social/50ff97f73f4d530f036dc833.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Unshare workspace resource - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/50ff97f73f4d530f036dc833.jpg","twitter:image:alt":"Unshare workspace resource - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/update-member","metatags":{"og:image":"https://docs.threetone.in/images/social/08567375b8769a99d05757ae.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update member - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/08567375b8769a99d05757ae.jpg","twitter:image:alt":"Update member - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/update-service-account-api-key","metatags":{"og:image":"https://docs.threetone.in/images/social/195ece90e03fcfb9ec95a588.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update service account API key - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/195ece90e03fcfb9ec95a588.jpg","twitter:image:alt":"Update service account API key - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/update-workspace-auth-connection","metatags":{"og:image":"https://docs.threetone.in/images/social/67d9b52e42da34115972218a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update workspace auth connection - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/67d9b52e42da34115972218a.jpg","twitter:image:alt":"Update workspace auth connection - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/update-workspace-group","metatags":{"og:image":"https://docs.threetone.in/images/social/20e364a9b43ae1e88c88c42f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update workspace group - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/20e364a9b43ae1e88c88c42f.jpg","twitter:image:alt":"Update workspace group - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"api-reference/workspace/update-workspace-webhook","metatags":{"og:image":"https://docs.threetone.in/images/social/2e6f6183b282558de1a01092.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Update workspace webhook - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/2e6f6183b282558de1a01092.jpg","twitter:image:alt":"Update workspace webhook - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/account","metatags":{"og:image":"https://docs.threetone.in/images/social/3a3ad8885eb641fce9638b91.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Account - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/3a3ad8885eb641fce9638b91.jpg","twitter:image:alt":"Account - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/assets","metatags":{"og:image":"https://docs.threetone.in/images/social/e5534a8c3ee6c37250f356af.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Workspace assets - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e5534a8c3ee6c37250f356af.jpg","twitter:image:alt":"Workspace assets - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/billing","metatags":{"og:image":"https://docs.threetone.in/images/social/9a4228421e287e78f7c33c6d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Billing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9a4228421e287e78f7c33c6d.jpg","twitter:image:alt":"Billing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/billing/credits-and-usage","metatags":{"og:image":"https://docs.threetone.in/images/social/ebd516c8780ea8de76465203.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Credits and usage - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/ebd516c8780ea8de76465203.jpg","twitter:image:alt":"Credits and usage - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/billing/pricing","metatags":{"og:image":"https://docs.threetone.in/images/social/7938f9b7b861ae8878443259.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Planned pricing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/7938f9b7b861ae8878443259.jpg","twitter:image:alt":"Planned pricing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/billing/subscriptions","metatags":{"og:image":"https://docs.threetone.in/images/social/8ce350c154cc8f5920a8b614.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Subscriptions - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/8ce350c154cc8f5920a8b614.jpg","twitter:image:alt":"Subscriptions - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/consolidated-billing","metatags":{"og:image":"https://docs.threetone.in/images/social/21b25be89792fa9510fd6f24.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Consolidated billing - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/21b25be89792fa9510fd6f24.jpg","twitter:image:alt":"Consolidated billing - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/data-residency","metatags":{"og:image":"https://docs.threetone.in/images/social/4eaa36b1b3ff391efce33f17.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Data residency - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4eaa36b1b3ff391efce33f17.jpg","twitter:image:alt":"Data residency - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/pay-as-you-go","metatags":{"og:image":"https://docs.threetone.in/images/social/682d35e674bd1fee14957472.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Pay as you go - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/682d35e674bd1fee14957472.jpg","twitter:image:alt":"Pay as you go - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/usage-analytics","metatags":{"og:image":"https://docs.threetone.in/images/social/0db8c9194fcb7e52e0fe1b3d.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Usage analytics - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0db8c9194fcb7e52e0fe1b3d.jpg","twitter:image:alt":"Usage analytics - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/api-keys","metatags":{"og:image":"https://docs.threetone.in/images/social/921f8ddd8a587bc87d3a7dfe.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"API keys - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/921f8ddd8a587bc87d3a7dfe.jpg","twitter:image:alt":"API keys - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/audit-logs","metatags":{"og:image":"https://docs.threetone.in/images/social/cf39b6f76ca1ecad6b070301.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Audit logs - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/cf39b6f76ca1ecad6b070301.jpg","twitter:image:alt":"Audit logs - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/billing-groups","metatags":{"og:image":"https://docs.threetone.in/images/social/77b1df6c23da87a126687dd9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Billing groups - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/77b1df6c23da87a126687dd9.jpg","twitter:image:alt":"Billing groups - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/domain-verification","metatags":{"og:image":"https://docs.threetone.in/images/social/252266ef135eae0f928e8074.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Domain verification - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/252266ef135eae0f928e8074.jpg","twitter:image:alt":"Domain verification - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/members","metatags":{"og:image":"https://docs.threetone.in/images/social/e2e88bea6ef86f8a5ecf5656.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Members and access - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/e2e88bea6ef86f8a5ecf5656.jpg","twitter:image:alt":"Members and access - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/model-approvals","metatags":{"og:image":"https://docs.threetone.in/images/social/9ecadcd906e7df320e377d03.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Model approvals - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/9ecadcd906e7df320e377d03.jpg","twitter:image:alt":"Model approvals - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/overview","metatags":{"og:image":"https://docs.threetone.in/images/social/5edacdfeba8239154ff9b1ea.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Workspaces - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/5edacdfeba8239154ff9b1ea.jpg","twitter:image:alt":"Workspaces - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/service-accounts","metatags":{"og:image":"https://docs.threetone.in/images/social/49771654c72ec046a8945bed.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Service accounts - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/49771654c72ec046a8945bed.jpg","twitter:image:alt":"Service accounts - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/sharing-resources","metatags":{"og:image":"https://docs.threetone.in/images/social/067c4d24d9518e9138dec150.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Sharing resources - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/067c4d24d9518e9138dec150.jpg","twitter:image:alt":"Sharing resources - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/sso","metatags":{"og:image":"https://docs.threetone.in/images/social/59de837fa700af6f7516976a.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Single sign-on - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/59de837fa700af6f7516976a.jpg","twitter:image:alt":"Single sign-on - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/sso/microsoft-entra-saml","metatags":{"og:image":"https://docs.threetone.in/images/social/0fc7edcf289187c3cfad8e7c.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Microsoft Entra SAML SSO - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/0fc7edcf289187c3cfad8e7c.jpg","twitter:image:alt":"Microsoft Entra SAML SSO - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/sso/okta-saml","metatags":{"og:image":"https://docs.threetone.in/images/social/f42538e543080370f0f71a60.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Okta SAML SSO - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/f42538e543080370f0f71a60.jpg","twitter:image:alt":"Okta SAML SSO - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/sso/scim","metatags":{"og:image":"https://docs.threetone.in/images/social/a122d93de24525afa225d061.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"SCIM provisioning - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/a122d93de24525afa225d061.jpg","twitter:image:alt":"SCIM provisioning - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/administration/workspaces/user-groups","metatags":{"og:image":"https://docs.threetone.in/images/social/de0b154819eb8fc6e3e4608f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"User groups - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/de0b154819eb8fc6e3e4608f.jpg","twitter:image:alt":"User groups - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/intro","metatags":{"og:image":"https://docs.threetone.in/images/social/b86ef0f9589340d4b785bc7f.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Introduction - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/b86ef0f9589340d4b785bc7f.jpg","twitter:image:alt":"Introduction - Threetone Documentation","twitter:card":"summary_large_image"}},{"path":"overview/models","metatags":{"og:image":"https://docs.threetone.in/images/social/4940fc31a67f90aac26f73d9.jpg","og:image:width":"1200","og:image:height":"630","og:image:type":"image/jpeg","og:image:alt":"Models and voices - Threetone Documentation","twitter:image":"https://docs.threetone.in/images/social/4940fc31a67f90aac26f73d9.jpg","twitter:image:alt":"Models and voices - Threetone Documentation","twitter:card":"summary_large_image"}}]},"thumbnails":{"preset":"classic","appearance":"light","background":"https://mintcdn.com/threetonelabs-c2efc9c8/UvZe8Gpnc4558M0I/images/og-orb-background.png?fit=max\u0026auto=format\u0026n=UvZe8Gpnc4558M0I\u0026q=85\u0026s=3d4f99fb601c2b4ac5c55739542ddcfa","eyebrow":{"style":"plain"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"threetonelabs-c2efc9c8","hasAudioNarration":false,"actualSubdomain":"threetonelabs-c2efc9c8","customDomains":["docs.threetone.in"],"gitSource":{"type":"github","owner":"pruthvi-yb","repo":"3t-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad078845ee9fc6a32d9820d","collectionId":"2e86b8ff-2a9d-436a-8eaa-2a87cdf71aa2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad078845ee9fc6a32d9820d"},"entitlements":{},"buildId":"6ad4a0abda7b9be5a0d7cbbd","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Agents Platform","count":368},{"language":"default","tag":"API Reference","count":222},{"language":"default","tag":"Configure","count":71},{"language":"default","tag":"Workspace","count":66},{"language":"default","tag":"Deploy","count":46},{"language":"default","tag":"Knowledge base","count":35},{"language":"default","tag":"Integrations","count":33},{"language":"default","tag":"Agents","count":32},{"language":"default","tag":"Overview","count":29},{"language":"default","tag":"Tools","count":26}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width:1024px){#body-content,#content-container,#navbar>div:has(.nav-logo){max-width:none}#content-area:has(#header){max-width:48rem}}"}],"page":{"pagePath":"api-reference/agents-platform/create-agent-draft","slug":"/api-reference/agents-platform/create-agent-draft","pageMetadata":{"title":"Create agent draft","description":"Create a new draft for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/drafts","href":"/api-reference/agents-platform/create-agent-draft","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a new draft for an agent\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create agent draft","description":"Create a new draft for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/drafts","href":"/api-reference/agents-platform/create-agent-draft","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Agents Platform"],"summary":"Create agent draft","description":"Create a new draft for an agent","operationId":"create_agent_draft_route","parameters":["10549e12-109a-40f9-959e-917811c79157","8bbb46b6-c1fe-48e4-822f-29ba1325036b","258af32f-0527-4183-acbc-523ca06b157c"],"requestBody":"764f7522-70ed-4451-9f4d-1dbbebdd6001","responses":{"200":"98cdc206-5a3a-4ca0-bbfd-1d7cb10d91e3","422":"491fb661-dc26-4fa0-85e7-af197eea1a38","default":"503b1649-6c97-4e55-9fe8-79b8a20ac6e9"},"x-fern-sdk-group-name":["conversational_ai","agents","drafts"],"x-fern-sdk-method-name":"create","method":"post","type":"path","servers":["30c89a6b-81c0-4977-9b6c-2100ac57ca8f"],"security":[],"path":"/v1/convai/agents/{agent_id}/drafts","baseUrlOptions":["https://api.threetone.in"],"title":"Create agent draft","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"10549e12-109a-40f9-959e-917811c79157":{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","description":"The id of an agent. This is returned on agent creation.","examples":["agent_3701k3ttaq12ewp8b7qv5rfyszkz"],"embed":true,"title":"Agent Id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"The id of an agent. This is returned on agent creation."},"8bbb46b6-c1fe-48e4-822f-29ba1325036b":{"name":"branch_id","in":"query","required":true,"schema":{"type":"string","description":"The ID of the agent branch to use","examples":["agtbrch_8901k4t9z5defmb8vh3e9361y7nj"],"embed":true,"title":"Branch Id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"The ID of the agent branch to use"},"258af32f-0527-4183-acbc-523ca06b157c":{"name":"x-api-key","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"X-Api-Key","description":"Your API key for programmatic access. Send it in the x-api-key header; you can create and manage keys from the Developers page.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"X-Api-Key","description":"Your API key for programmatic access. Send it in the x-api-key header; you can create and manage keys from the Developers page.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"Your API key for programmatic access. Send it in the x-api-key header; you can create and manage keys from the Developers page."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"conversation_config":{"properties":{"asr":{"oneOf":[{"type":"object","title":"ASRConversationalConfig","description":"Catalog-backed speech-recognition configuration.","required":["model_id","recognition"],"properties":{"model_id":{"type":"string","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","description":"Provider-qualified model identifier.","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.model_id","typeLabel":"string"},"recognition":{"oneOf":[{"type":"object","title":"ASRFixedRecognition","description":"Recognize one explicitly selected input language.","required":["mode","language"],"properties":{"mode":{"type":"string","const":"fixed","title":"Mode","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.0.mode","typeLabel":"string"},"language":{"type":"string","minLength":2,"pattern":"^[a-z]{2,8}(-[a-z0-9]{1,8})*$","description":"Normalized lowercase BCP 47 language tag.","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.0.language","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.0","typeLabel":"ASRFixedRecognition · object"},{"type":"object","title":"ASRAutomaticSelectedLanguagesRecognition","description":"Use native candidate selection independently of the response languages.","required":["mode","languages"],"properties":{"mode":{"type":"string","const":"automatic_selected_languages","title":"Mode","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1.mode","typeLabel":"string"},"languages":{"items":{"type":"string","minLength":2,"pattern":"^[a-z]{2,8}(-[a-z0-9]{1,8})*$","description":"Normalized lowercase BCP 47 language tag.","uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1.languages.items.[INDEX]","typeLabel":"string"},"type":"array","minItems":1,"title":"Languages","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1.languages","typeLabel":"string[]"},"primary_language":{"oneOf":[{"type":"string","description":"Normalized lowercase BCP 47 language tag.","minLength":2,"pattern":"^[a-z]{2,8}(-[a-z0-9]{1,8})*$","uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1.primary_language.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1.primary_language.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1.primary_language","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.1","typeLabel":"ASRAutomaticSelectedLanguagesRecognition · object"},{"type":"object","title":"ASRAutomaticProviderLanguagesRecognition","description":"Allow detection across every language supported by the resolved route.","required":["mode"],"properties":{"mode":{"type":"string","const":"automatic_provider_languages","title":"Mode","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.2.mode","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition.oneOf.2","typeLabel":"ASRAutomaticProviderLanguagesRecognition · object"}],"isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.recognition","typeLabel":"ASRFixedRecognition · object | ASRAutomaticSelectedLanguagesRecognition · object | ASRAutomaticProviderLanguagesRecognition · object"},"task":{"type":"string","enum":["transcribe"],"title":"ASRTranscriptTask","description":"Transcript behavior implemented by the conversational runtime.","default":"transcribe","uniqueKey":"conversation_config.asr.oneOf.0.task","typeLabel":"enum\u003cstring>"},"keyterms":{"items":{"type":"string","uniqueKey":"conversation_config.asr.oneOf.0.keyterms.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Keyterms","uniqueKey":"conversation_config.asr.oneOf.0.keyterms","typeLabel":"string[]"},"options":{"oneOf":[{"type":"object","title":"CartesiaInk2ASROptions","description":"Stable authored controls for Cartesia Ink 2.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"cartesia_ink_2_asr_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.schema_id","typeLabel":"string"},"turn_start_threshold":{"oneOf":[{"type":"number","title":"Turn Start Threshold","maximum":0.9,"minimum":0.5,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_start_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Turn Start Threshold","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_start_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_start_threshold","typeLabel":"number | null"},"turn_eager_end_threshold":{"oneOf":[{"type":"number","title":"Turn Eager End Threshold","maximum":0.6,"minimum":0.3,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_eager_end_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Turn Eager End Threshold","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_eager_end_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_eager_end_threshold","typeLabel":"number | null"},"turn_end_threshold":{"oneOf":[{"type":"number","title":"Turn End Threshold","maximum":0.5,"minimum":0.05,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_end_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Turn End Threshold","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_end_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_end_threshold","typeLabel":"number | null"},"turn_end_timeout_ms":{"oneOf":[{"type":"integer","title":"Turn End Timeout Ms","maximum":11200,"minimum":640,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_end_timeout_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Turn End Timeout Ms","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_end_timeout_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0.turn_end_timeout_ms","typeLabel":"integer | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.0","typeLabel":"CartesiaInk2ASROptions · object"},{"type":"object","title":"CartesiaInkWhisperASROptions","description":"Stable authored controls for Cartesia Ink Whisper.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"cartesia_ink_whisper_asr_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.schema_id","typeLabel":"string"},"min_volume":{"oneOf":[{"type":"number","title":"Min Volume","maximum":1,"minimum":0,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.min_volume.oneOf.0","typeLabel":"number"},{"type":"null","title":"Min Volume","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.min_volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.min_volume","typeLabel":"number | null"},"max_silence_duration_secs":{"oneOf":[{"type":"number","title":"Max Silence Duration Secs","minimum":0,"exclusiveMinimum":true,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.max_silence_duration_secs.oneOf.0","typeLabel":"number"},{"type":"null","title":"Max Silence Duration Secs","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.max_silence_duration_secs.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1.max_silence_duration_secs","typeLabel":"number | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.1","typeLabel":"CartesiaInkWhisperASROptions · object"},{"type":"object","title":"ElevenLabsScribeV2RealtimeASROptions","description":"Controls supported by the ElevenLabs Scribe v2 realtime route.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"elevenlabs_scribe_v2_realtime_asr_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.2.schema_id","typeLabel":"string"},"include_language_detection":{"type":"boolean","title":"Include Language Detection","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.2.include_language_detection","typeLabel":"boolean"},"include_timestamps":{"type":"boolean","title":"Include Timestamps","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.2.include_timestamps","typeLabel":"boolean"},"no_verbatim":{"type":"boolean","title":"No Verbatim","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.2.no_verbatim","typeLabel":"boolean"},"audio_chunk_duration_ms":{"type":"integer","exclusiveMinimum":0,"title":"Audio Chunk Duration Ms","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.2.audio_chunk_duration_ms","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.2","typeLabel":"ElevenLabsScribeV2RealtimeASROptions · object"},{"type":"object","title":"SarvamSaarasRealtimeASROptions","description":"Authored controls for Sarvam's separate realtime recognition API.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"sarvam_saaras_realtime_asr_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.schema_id","typeLabel":"string"},"stream_type":{"type":"string","enum":["fast","balanced","simulated"],"title":"SarvamStreamType","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.stream_type","typeLabel":"enum\u003cstring>"},"endpointing":{"type":"string","enum":["vad","manual"],"title":"ASREndpointingMode","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.endpointing","typeLabel":"enum\u003cstring>"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","maximum":1,"minimum":0,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Threshold","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.threshold","typeLabel":"number | null"},"silence_duration_ms":{"oneOf":[{"type":"integer","title":"Silence Duration Ms","minimum":0,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.silence_duration_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Silence Duration Ms","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.silence_duration_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.silence_duration_ms","typeLabel":"integer | null"},"min_speech_duration_ms":{"oneOf":[{"type":"integer","title":"Min Speech Duration Ms","minimum":0,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.min_speech_duration_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Min Speech Duration Ms","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.min_speech_duration_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.min_speech_duration_ms","typeLabel":"integer | null"},"return_timestamps":{"type":"boolean","title":"Return Timestamps","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.return_timestamps","typeLabel":"boolean"},"prompt":{"oneOf":[{"type":"string","title":"Prompt","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Prompt","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3.prompt","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.3","typeLabel":"SarvamSaarasRealtimeASROptions · object"},{"type":"null","title":"Options","uniqueKey":"conversation_config.asr.oneOf.0.options.oneOf.4","typeLabel":"null"}],"uniqueKey":"conversation_config.asr.oneOf.0.options","typeLabel":"CartesiaInk2ASROptions · object | CartesiaInkWhisperASROptions · object | ElevenLabsScribeV2RealtimeASROptions · object | SarvamSaarasRealtimeASROptions · object | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.asr.oneOf.0","typeLabel":"ASRConversationalConfig · object"},{"type":"null","description":"Catalog-backed speech-recognition configuration.","uniqueKey":"conversation_config.asr.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.asr","typeLabel":"ASRConversationalConfig · object | null"},"turn":{"properties":{"turn_timeout":{"type":"number","title":"Turn Timeout","description":"Maximum wait time for the user's reply before re-engaging the user","default":7,"uniqueKey":"conversation_config.turn.turn_timeout","typeLabel":"number"},"initial_wait_time":{"oneOf":[{"type":"number","title":"Initial Wait Time","description":"How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.","uniqueKey":"conversation_config.turn.initial_wait_time.oneOf.0","typeLabel":"number"},{"type":"null","title":"Initial Wait Time","description":"How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.","uniqueKey":"conversation_config.turn.initial_wait_time.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.turn.initial_wait_time","typeLabel":"number | null"},"silence_end_call_timeout":{"type":"number","title":"Silence End Call Timeout","description":"Maximum wait time since the user last spoke before terminating the call","default":-1,"uniqueKey":"conversation_config.turn.silence_end_call_timeout","typeLabel":"number"},"mode":{"type":"string","enum":["silence","turn"],"title":"TurnMode","description":"The mode of turn detection","default":"turn","x-fern-ignore":true,"uniqueKey":"conversation_config.turn.mode","typeLabel":"enum\u003cstring>"},"turn_eagerness":{"type":"string","enum":["patient","normal","eager"],"title":"TurnEagerness","description":"Controls how eager the agent is to respond. Low = less eager (waits longer), Standard = default eagerness, High = more eager (responds sooner)","default":"normal","uniqueKey":"conversation_config.turn.turn_eagerness","typeLabel":"enum\u003cstring>"},"spelling_patience":{"type":"string","enum":["auto","off"],"title":"SpellingPatience","description":"Controls if the agent should be more patient when user is spelling numbers and named entities. Auto = model based, Off = never wait extra","default":"auto","uniqueKey":"conversation_config.turn.spelling_patience","typeLabel":"enum\u003cstring>"},"speculative_turn":{"type":"boolean","title":"Speculative Turn","description":"When enabled, starts generating LLM responses during silence before full turn confidence is reached, reducing perceived latency. May increase LLM costs.","default":false,"uniqueKey":"conversation_config.turn.speculative_turn","typeLabel":"boolean"},"retranscribe_on_turn_timeout":{"type":"boolean","title":"Retranscribe On Turn Timeout","description":"When enabled, if VAD detects no speech, attempts to re-transcribe accumulated audio at turn timeout. Disables silence discount billing for affected turns.","default":false,"uniqueKey":"conversation_config.turn.retranscribe_on_turn_timeout","typeLabel":"boolean"},"turn_model":{"type":"string","enum":["turn_v2","turn_v3"],"title":"TurnModel","default":"turn_v3","uniqueKey":"conversation_config.turn.turn_model","typeLabel":"enum\u003cstring>"},"interruption_ignore_terms":{"items":{"type":"string","uniqueKey":"conversation_config.turn.interruption_ignore_terms.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Interruption Ignore Terms","description":"List of terms that should not trigger an interruption when spoken by the user (e.g. 'gotcha', 'understood'). Uses case-insensitive exact matching.","uniqueKey":"conversation_config.turn.interruption_ignore_terms","typeLabel":"string[]"},"interruption_ignore_term_languages":{"items":{"type":"string","uniqueKey":"conversation_config.turn.interruption_ignore_term_languages.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Interruption Ignore Term Languages","description":"Language codes for which preset ignore-term categories have been activated. Stored explicitly so display is not inferred from term overlap.","uniqueKey":"conversation_config.turn.interruption_ignore_term_languages","typeLabel":"string[]"},"merge_with_default_ignore_terms":{"type":"boolean","title":"Merge With Default Ignore Terms","description":"When enabled, the curated default terms for interruption_ignore_term_languages are used in addition to interruption_ignore_terms.","default":false,"uniqueKey":"conversation_config.turn.merge_with_default_ignore_terms","typeLabel":"boolean"},"transcribe_on_disabled_interruptions":{"type":"boolean","title":"Transcribe On Disabled Interruptions","description":"When interruptions are disabled, still transcribe what the user says so it can carry into the next turn. When off, user speech during a non-interruptible turn is ignored and won't trigger a turn.","default":false,"uniqueKey":"conversation_config.turn.transcribe_on_disabled_interruptions","typeLabel":"boolean"},"soft_timeout_config":{"properties":{"timeout_seconds":{"type":"number","title":"Timeout Seconds","description":"Time in seconds before showing the predefined message while waiting for LLM response. Set to -1 to disable.","default":-1,"uniqueKey":"conversation_config.turn.soft_timeout_config.timeout_seconds","typeLabel":"number"},"message":{"type":"string","maxLength":200,"minLength":1,"title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","default":"Hhmmmm...yeah.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.turn.soft_timeout_config.message","typeLabel":"string"},"additional_soft_timeout_messages":{"items":{"type":"string","uniqueKey":"conversation_config.turn.soft_timeout_config.additional_soft_timeout_messages.items.[INDEX]","typeLabel":"string"},"type":"array","maxItems":7,"title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.turn.soft_timeout_config.additional_soft_timeout_messages","typeLabel":"string[]"},"use_llm_generated_message":{"type":"boolean","title":"Use Llm Generated Message","description":"If enabled, the soft timeout message will be generated dynamically instead of using the static message.","default":false,"uniqueKey":"conversation_config.turn.soft_timeout_config.use_llm_generated_message","typeLabel":"boolean"},"randomize_fillers":{"type":"boolean","title":"Randomize Fillers","description":"If enabled, shuffle the order of static soft timeout messages once at the start of each turn. Only applies when use_llm_generated_message is false.","default":false,"uniqueKey":"conversation_config.turn.soft_timeout_config.randomize_fillers","typeLabel":"boolean"},"max_soft_timeouts_per_generation":{"type":"integer","maximum":8,"minimum":1,"title":"Max Soft Timeouts Per Generation","description":"Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached.","default":1,"uniqueKey":"conversation_config.turn.soft_timeout_config.max_soft_timeouts_per_generation","typeLabel":"integer"},"llm_generated_message_prompt_override":{"oneOf":[{"type":"string","title":"Llm Generated Message Prompt Override","description":"Custom prompt for generating the soft timeout filler message when use_llm_generated_message is enabled. Recent conversation context is provided as a separate user message. If not set, the default prompt will be used. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","maxLength":1000,"minLength":1,"example":"Output a SHORT neutral filler phrase (1-4 words MAX) acknowledging you heard the user.","uniqueKey":"conversation_config.turn.soft_timeout_config.llm_generated_message_prompt_override.oneOf.0","typeLabel":"string"},{"type":"null","title":"Llm Generated Message Prompt Override","description":"Custom prompt for generating the soft timeout filler message when use_llm_generated_message is enabled. Recent conversation context is provided as a separate user message. If not set, the default prompt will be used. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","example":"Output a SHORT neutral filler phrase (1-4 words MAX) acknowledging you heard the user.","uniqueKey":"conversation_config.turn.soft_timeout_config.llm_generated_message_prompt_override.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.turn.soft_timeout_config.llm_generated_message_prompt_override","typeLabel":"string | null"},"disable_until_first_user_message":{"type":"boolean","title":"Disable Until First User Message","description":"When true, soft timeout fillers are suppressed until the conversation has at least one real user message. Prevents fillers during the agent's opening turn (e.g. workflow generate-immediately / tool calls before the user speaks).","default":false,"uniqueKey":"conversation_config.turn.soft_timeout_config.disable_until_first_user_message","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"SoftTimeoutConfig","description":"Configuration for soft timeout functionality. Provides immediate feedback during longer LLM responses.","example":{"message":"Hhmmmm...yeah.","timeout_seconds":2,"use_llm_generated_message":false},"uniqueKey":"conversation_config.turn.soft_timeout_config","typeLabel":"SoftTimeoutConfig · object"}},"additionalProperties":false,"type":"object","title":"TurnConfig","example":{"interruption_ignore_term_languages":[],"interruption_ignore_terms":[],"merge_with_default_ignore_terms":false,"mode":"turn","retranscribe_on_turn_timeout":false,"silence_end_call_timeout":-1,"soft_timeout_config":{"message":"Hhmmmm...yeah.","timeout_seconds":-1},"speculative_turn":false,"spelling_patience":"auto","transcribe_on_disabled_interruptions":false,"turn_eagerness":"normal","turn_model":"turn_v3","turn_timeout":7},"description":"Configuration for turn detection","uniqueKey":"conversation_config.turn","typeLabel":"TurnConfig · object"},"tts":{"oneOf":[{"type":"object","title":"TTSConversationalConfig","description":"Configuration for conversational text to speech","required":["model_id","voice_id"],"properties":{"model_id":{"type":"string","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","description":"Stable Threetone TTS catalog model ID.","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.model_id","typeLabel":"string"},"voice_id":{"type":"string","minLength":1,"title":"Voice Id","description":"Stable curated Threetone voice ID.","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.voice_id","typeLabel":"string"},"pronunciation_dictionary_locators":{"items":{"properties":{"pronunciation_dictionary_id":{"type":"string","title":"Pronunciation Dictionary Id","description":"The ID of the pronunciation dictionary","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.items.[INDEX].pronunciation_dictionary_id","typeLabel":"string"},"version_id":{"oneOf":[{"type":"string","title":"Version Id","description":"The ID of the version of the pronunciation dictionary","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.items.[INDEX].version_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Version Id","description":"The ID of the version of the pronunciation dictionary","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.items.[INDEX].version_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.items.[INDEX].version_id","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["pronunciation_dictionary_id","version_id"],"title":"PydanticPronunciationDictionaryVersionLocator","description":"A locator for other documents to be able to reference a specific dictionary and it's version.\nThis is a pydantic version of PronunciationDictionaryVersionLocatorDBModel.\nRequired to ensure compat with the rest of the agent data models.","uniqueKey":"conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.items.[INDEX]","typeLabel":"PydanticPronunciationDictionaryVersionLocator · object"},"type":"array","title":"Pronunciation Dictionary Locators","description":"Pronunciation dictionary versions requested for synthesis.","uniqueKey":"conversation_config.tts.oneOf.0.pronunciation_dictionary_locators","typeLabel":"PydanticPronunciationDictionaryVersionLocator · object[]"},"enable_phoneme_tags":{"type":"boolean","title":"Enable Phoneme Tags","description":"Whether the selected TTS model should interpret authored phoneme tags.","default":false,"uniqueKey":"conversation_config.tts.oneOf.0.enable_phoneme_tags","typeLabel":"boolean"},"options":{"oneOf":[{"type":"object","title":"CartesiaSonicTTSOptions","description":"Authored controls for the approved Cartesia Sonic 3.6 model.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"cartesia_sonic_tts_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.schema_id","typeLabel":"string"},"speed":{"oneOf":[{"type":"string","title":"CartesiaSpeedPreset","enum":["slow","normal","fast"],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.speed.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"number","title":"Speed","maximum":1.5,"minimum":0.6,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.speed.oneOf.1","typeLabel":"number"},{"type":"null","title":"Speed","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.speed.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.speed","typeLabel":"enum\u003cstring> | number | null"},"volume":{"oneOf":[{"type":"number","title":"Volume","maximum":2,"minimum":0.5,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.volume.oneOf.0","typeLabel":"number"},{"type":"null","title":"Volume","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.volume","typeLabel":"number | null"},"emotion":{"oneOf":[{"type":"string","title":"CartesiaEmotion","enum":["happy","excited","enthusiastic","elated","euphoric","triumphant","amazed","surprised","flirtatious","joking/comedic","curious","content","peaceful","serene","calm","grateful","affectionate","trust","sympathetic","anticipation","mysterious","angry","mad","outraged","frustrated","agitated","threatened","disgusted","contempt","envious","sarcastic","ironic","sad","dejected","melancholic","disappointed","hurt","guilty","bored","tired","rejected","nostalgic","wistful","apologetic","hesitant","insecure","confused","resigned","anxious","panicked","alarmed","scared","neutral","proud","confident","distant","skeptical","contemplative","determined"],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.emotion.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.emotion.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.emotion","typeLabel":"enum\u003cstring> | null"},"duration_seconds":{"oneOf":[{"type":"number","title":"Duration Seconds","minimum":0,"exclusiveMinimum":true,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.duration_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Duration Seconds","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.duration_seconds","typeLabel":"number | null"},"max_buffer_delay_ms":{"oneOf":[{"type":"integer","title":"Max Buffer Delay Ms","minimum":0,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.max_buffer_delay_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Buffer Delay Ms","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.max_buffer_delay_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.max_buffer_delay_ms","typeLabel":"integer | null"},"add_timestamps":{"oneOf":[{"type":"boolean","title":"Add Timestamps","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.add_timestamps.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Add Timestamps","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.add_timestamps.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.add_timestamps","typeLabel":"boolean | null"},"add_phoneme_timestamps":{"oneOf":[{"type":"boolean","title":"Add Phoneme Timestamps","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.add_phoneme_timestamps.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Add Phoneme Timestamps","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.add_phoneme_timestamps.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.add_phoneme_timestamps","typeLabel":"boolean | null"},"use_normalized_timestamps":{"oneOf":[{"type":"boolean","title":"Use Normalized Timestamps","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.use_normalized_timestamps.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Use Normalized Timestamps","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.use_normalized_timestamps.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0.use_normalized_timestamps","typeLabel":"boolean | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.0","typeLabel":"CartesiaSonicTTSOptions · object"},{"type":"object","title":"ElevenLabsV4TurboTTSOptions","description":"V4 Turbo dialogue settings, without injected provider defaults.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"elevenlabs_v4_turbo_tts_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.schema_id","typeLabel":"string"},"stability":{"oneOf":[{"type":"number","title":"Stability","maximum":1,"minimum":0,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.stability.oneOf.0","typeLabel":"number"},{"type":"null","title":"Stability","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.stability.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.stability","typeLabel":"number | null"},"similarity":{"oneOf":[{"type":"number","title":"Similarity","maximum":1,"minimum":0,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.similarity.oneOf.0","typeLabel":"number"},{"type":"null","title":"Similarity","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.similarity.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1.similarity","typeLabel":"number | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.1","typeLabel":"ElevenLabsV4TurboTTSOptions · object"},{"type":"object","title":"SarvamBulbulV3TTSOptions","description":"Stable authored controls for Sarvam Bulbul v3.","required":["schema_id"],"properties":{"schema_id":{"type":"string","const":"sarvam_bulbul_v3_tts_options_v1","title":"Schema Id","isRequired":true,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.schema_id","typeLabel":"string"},"pace":{"oneOf":[{"type":"number","title":"Pace","maximum":2,"minimum":0.5,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.pace.oneOf.0","typeLabel":"number"},{"type":"null","title":"Pace","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.pace.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.pace","typeLabel":"number | null"},"temperature":{"oneOf":[{"type":"number","title":"Temperature","maximum":1,"minimum":0.01,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.temperature.oneOf.0","typeLabel":"number"},{"type":"null","title":"Temperature","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.temperature","typeLabel":"number | null"},"min_buffer_size":{"oneOf":[{"type":"integer","title":"Min Buffer Size","maximum":200,"minimum":30,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.min_buffer_size.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Min Buffer Size","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.min_buffer_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.min_buffer_size","typeLabel":"integer | null"},"max_chunk_length":{"oneOf":[{"type":"integer","title":"Max Chunk Length","maximum":500,"minimum":50,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.max_chunk_length.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Chunk Length","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.max_chunk_length.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2.max_chunk_length","typeLabel":"integer | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.2","typeLabel":"SarvamBulbulV3TTSOptions · object"},{"type":"null","title":"Options","description":"Validated model parameter contract for the selected catalog model.","uniqueKey":"conversation_config.tts.oneOf.0.options.oneOf.3","typeLabel":"null"}],"uniqueKey":"conversation_config.tts.oneOf.0.options","typeLabel":"CartesiaSonicTTSOptions · object | ElevenLabsV4TurboTTSOptions · object | SarvamBulbulV3TTSOptions · object | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.tts.oneOf.0","typeLabel":"TTSConversationalConfig · object"},{"type":"null","description":"Configuration for conversational text to speech","uniqueKey":"conversation_config.tts.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.tts","typeLabel":"TTSConversationalConfig · object | null"},"conversation":{"properties":{"text_only":{"type":"boolean","title":"Text Only","description":"If enabled audio will not be processed and only text will be used, use to avoid audio pricing.","default":false,"x-convai-client-override":true,"uniqueKey":"conversation_config.conversation.text_only","typeLabel":"boolean"},"max_duration_seconds":{"type":"integer","title":"Max Duration Seconds","description":"The maximum duration of a conversation in seconds","default":600,"x-convai-client-override":true,"uniqueKey":"conversation_config.conversation.max_duration_seconds","typeLabel":"integer"},"client_events":{"items":{"type":"string","enum":["conversation_initiation_metadata","asr_initiation_metadata","ping","audio","interruption","user_transcript","tentative_user_transcript","agent_response","agent_response_correction","client_tool_call","mcp_tool_call","mcp_connection_status","agent_tool_request","agent_tool_response","agent_tool_response_full_payload","agent_response_metadata","vad_score","agent_chat_response_part","client_error","guardrail_triggered","dtmf_request","agent_response_complete","context_usage","internal_turn_probability","internal_tentative_agent_response"],"title":"ClientEvent","uniqueKey":"conversation_config.conversation.client_events.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Client Events","description":"The events that will be sent to the client","uniqueKey":"conversation_config.conversation.client_events","typeLabel":"enum\u003cstring>[]"},"file_input":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"When enabled, users may attach images or PDFs in chat when the LLM supports multimodal input.","default":true,"uniqueKey":"conversation_config.conversation.file_input.enabled","typeLabel":"boolean"},"max_files_in_memory":{"type":"integer","maximum":30,"minimum":1,"title":"Max Files In Memory","description":"Number of most-recent files kept in memory during a conversation. Older files are summarized and their bytes freed.","default":10,"uniqueKey":"conversation_config.conversation.file_input.max_files_in_memory","typeLabel":"integer"},"max_files_per_conversation":{"type":"integer","title":"Max Files Per Conversation","description":"Total files a user can upload in one conversation. Uploads are billed per file. Use -1 for no limit, or a value >= max_files_in_memory.","default":10,"uniqueKey":"conversation_config.conversation.file_input.max_files_per_conversation","typeLabel":"integer"}},"additionalProperties":false,"type":"object","title":"FileInputConfig","description":"Configuration for file input (image/PDF uploads) during conversations.","x-convai-client-override":true,"uniqueKey":"conversation_config.conversation.file_input","typeLabel":"FileInputConfig · object"},"monitoring_enabled":{"type":"boolean","title":"Monitoring Enabled","description":"Enable real-time monitoring of conversations via WebSocket","default":false,"uniqueKey":"conversation_config.conversation.monitoring_enabled","typeLabel":"boolean"},"monitoring_events":{"items":{"type":"string","enum":["conversation_initiation_metadata","asr_initiation_metadata","ping","audio","interruption","user_transcript","tentative_user_transcript","agent_response","agent_response_correction","client_tool_call","mcp_tool_call","mcp_connection_status","agent_tool_request","agent_tool_response","agent_tool_response_full_payload","agent_response_metadata","vad_score","agent_chat_response_part","client_error","guardrail_triggered","dtmf_request","agent_response_complete","context_usage","internal_turn_probability","internal_tentative_agent_response"],"title":"ClientEvent","uniqueKey":"conversation_config.conversation.monitoring_events.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Monitoring Events","description":"The events that will be sent to monitoring connections.","uniqueKey":"conversation_config.conversation.monitoring_events","typeLabel":"enum\u003cstring>[]"},"dtmf_input_settings":{"oneOf":[{"type":"object","title":"DTMFInputConfig","description":"Configure DTMF (keypad) input collection during phone calls","properties":{"dtmf_input_timeout":{"type":"number","maximum":10,"minimum":0.5,"title":"Dtmf Input Timeout","description":"Timeout in seconds to wait for additional DTMF digits","default":2,"uniqueKey":"conversation_config.conversation.dtmf_input_settings.oneOf.0.dtmf_input_timeout","typeLabel":"number"},"hash_terminator":{"type":"boolean","title":"Hash Terminator","description":"If true, pressing # immediately completes DTMF input","default":true,"uniqueKey":"conversation_config.conversation.dtmf_input_settings.oneOf.0.hash_terminator","typeLabel":"boolean"},"redact_input":{"type":"boolean","title":"Redact Input","description":"If true, replace the caller's DTMF (keypad) entries with a redaction marker in the transcript, conversation log and analysis. Digits the agent repeats back or passes to a tool are not affected.","default":false,"uniqueKey":"conversation_config.conversation.dtmf_input_settings.oneOf.0.redact_input","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"conversation_config.conversation.dtmf_input_settings.oneOf.0","typeLabel":"DTMFInputConfig · object"},{"type":"null","description":"Configure DTMF (keypad) input collection during phone calls","uniqueKey":"conversation_config.conversation.dtmf_input_settings.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.conversation.dtmf_input_settings","typeLabel":"DTMFInputConfig · object | null"},"background_sound":{"properties":{"source_type":{"oneOf":[{"type":"string","title":"BackgroundSoundSourceType","description":"The type of background sound source.","enum":["preset"],"uniqueKey":"conversation_config.conversation.background_sound.source_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The type of background sound source.","uniqueKey":"conversation_config.conversation.background_sound.source_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.conversation.background_sound.source_type","typeLabel":"enum\u003cstring> | null"},"source_id":{"oneOf":[{"type":"string","title":"BackgroundSoundPresetId","description":"Identifier for the sound source.","enum":["office2","office1","restaurant","city","typing","elevator1","elevator2","elevator3","elevator4"],"uniqueKey":"conversation_config.conversation.background_sound.source_id.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Identifier for the sound source.","uniqueKey":"conversation_config.conversation.background_sound.source_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.conversation.background_sound.source_id","typeLabel":"enum\u003cstring> | null"},"volume":{"type":"number","maximum":1,"minimum":0.01,"title":"Volume","description":"Volume level for background sound (0.01 to 1.0).","default":0.15,"uniqueKey":"conversation_config.conversation.background_sound.volume","typeLabel":"number"},"crossfade_loop":{"type":"boolean","title":"Crossfade Loop","description":"Apply a crossfade at the loop boundary to avoid audible pops when the sound loops.","default":true,"uniqueKey":"conversation_config.conversation.background_sound.crossfade_loop","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"BackgroundSoundConfig","description":"Configuration for background sound during conversations.","uniqueKey":"conversation_config.conversation.background_sound","typeLabel":"BackgroundSoundConfig · object"},"source_attribution":{"type":"boolean","title":"Source Attribution","description":"When enabled and knowledge base content is present, the LLM is instructed to report which sources it used.","default":false,"uniqueKey":"conversation_config.conversation.source_attribution","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"ConversationConfig","example":{"client_events":["audio","interruption"],"max_duration_seconds":600},"description":"Configuration for conversational events","uniqueKey":"conversation_config.conversation","typeLabel":"ConversationConfig · object"},"language_presets":{"additionalProperties":{"properties":{"overrides":{"properties":{"agent":{"oneOf":[{"type":"object","title":"LanguagePresetAgentOverride","description":"Localized agent copy that a language preset may replace.","properties":{"first_message":{"oneOf":[{"type":"string","title":"First Message","description":"Localized opening message.","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0.first_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"First Message","description":"Localized opening message.","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0.first_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0.first_message","typeLabel":"string | null"},"max_conversation_duration_message":{"oneOf":[{"type":"string","title":"Max Conversation Duration Message","description":"Localized message sent when the conversation duration limit is reached.","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0.max_conversation_duration_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Max Conversation Duration Message","description":"Localized message sent when the conversation duration limit is reached.","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0.max_conversation_duration_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0.max_conversation_duration_message","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.0","typeLabel":"LanguagePresetAgentOverride · object"},{"type":"null","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.agent","typeLabel":"LanguagePresetAgentOverride · object | null"},"turn":{"oneOf":[{"type":"object","title":"LanguagePresetTurnOverride","description":"Localized turn copy that a language preset may replace.","properties":{"soft_timeout_config":{"oneOf":[{"type":"object","title":"SoftTimeoutConfigOverride","description":"Localized static soft-timeout messages.","example":{"message":"Hhmmmm...yeah."},"properties":{"message":{"oneOf":[{"type":"string","title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.message","typeLabel":"string | null"},"additional_soft_timeout_messages":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages","typeLabel":"string[] | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0","typeLabel":"SoftTimeoutConfigOverride · object"},{"type":"null","description":"Localized static soft-timeout messages.","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config","typeLabel":"SoftTimeoutConfigOverride · object | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.0","typeLabel":"LanguagePresetTurnOverride · object"},{"type":"null","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.turn","typeLabel":"LanguagePresetTurnOverride · object | null"},"tts":{"oneOf":[{"type":"object","title":"LanguagePresetTTSOverride","description":"Compatible curated voice selected for one configured language.","properties":{"voice_id":{"oneOf":[{"type":"string","title":"Voice Id","description":"Stable curated Threetone voice ID.","minLength":1,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.tts.oneOf.0.voice_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Id","description":"Stable curated Threetone voice ID.","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.tts.oneOf.0.voice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.tts.oneOf.0.voice_id","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.tts.oneOf.0","typeLabel":"LanguagePresetTTSOverride · object"},{"type":"null","uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.tts.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides.tts","typeLabel":"LanguagePresetTTSOverride · object | null"}},"additionalProperties":false,"type":"object","title":"LanguagePresetOverrides","description":"Localized copy and compatible voice overrides for the language preset.","isRequired":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.overrides","typeLabel":"LanguagePresetOverrides · object"},"first_message_translation":{"oneOf":[{"type":"object","title":"LanguagePresetTranslation","description":"The translation of the first message","required":["source_hash","text"],"properties":{"source_hash":{"type":"string","title":"Source Hash","isRequired":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.first_message_translation.oneOf.0.source_hash","typeLabel":"string"},"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.first_message_translation.oneOf.0.text","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.language_presets.additionalProperties.first_message_translation.oneOf.0","typeLabel":"LanguagePresetTranslation · object"},{"type":"null","description":"The translation of the first message","uniqueKey":"conversation_config.language_presets.additionalProperties.first_message_translation.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.first_message_translation","typeLabel":"LanguagePresetTranslation · object | null"},"soft_timeout_translation":{"oneOf":[{"type":"object","title":"LanguagePresetTranslation","description":"The translation of the soft timeout message","required":["source_hash","text"],"properties":{"source_hash":{"type":"string","title":"Source Hash","isRequired":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.soft_timeout_translation.oneOf.0.source_hash","typeLabel":"string"},"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"conversation_config.language_presets.additionalProperties.soft_timeout_translation.oneOf.0.text","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.language_presets.additionalProperties.soft_timeout_translation.oneOf.0","typeLabel":"LanguagePresetTranslation · object"},{"type":"null","description":"The translation of the soft timeout message","uniqueKey":"conversation_config.language_presets.additionalProperties.soft_timeout_translation.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.language_presets.additionalProperties.soft_timeout_translation","typeLabel":"LanguagePresetTranslation · object | null"}},"additionalProperties":false,"type":"object","required":["overrides"],"title":"LanguagePreset","uniqueKey":"conversation_config.language_presets.additionalProperties","typeLabel":"LanguagePreset · object"},"propertyNames":{"$ref":"#/components/schemas/LanguageTag"},"type":"object","title":"Language Presets","description":"Localized copy and compatible voice presets.","uniqueKey":"conversation_config.language_presets","typeLabel":"Language Presets · object"},"vad":{"properties":{"background_voice_detection":{"type":"boolean","title":"Background Voice Detection","description":"Whether to use background voice filtering","default":false,"x-fern-ignore":true,"uniqueKey":"conversation_config.vad.background_voice_detection","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"VADConfig","example":{"background_voice_detection":false},"description":"Configuration for voice activity detection","uniqueKey":"conversation_config.vad","typeLabel":"VADConfig · object"},"agent":{"properties":{"response_language_policy":{"type":"string","enum":["base_language","recognized_language"],"title":"ResponseLanguagePolicy","description":"Use the configured base language or follow the language natively recognized by ASR within the published compatible language set.","default":"base_language","uniqueKey":"conversation_config.agent.response_language_policy","typeLabel":"enum\u003cstring>"},"first_message":{"type":"string","title":"First Message","description":"If non-empty, the first message the agent will say. If empty, the agent waits for the user to start the discussion.","default":"","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.agent.first_message","typeLabel":"string"},"language":{"type":"string","minLength":2,"pattern":"^[a-z]{2,8}(-[a-z0-9]{1,8})*$","description":"Default response language. ASR input languages are configured separately.","default":"en","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.language","typeLabel":"string"},"dynamic_variables":{"properties":{"dynamic_variable_placeholders":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"boolean"},{},{"type":"null","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX].oneOf.5","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string | number | integer | boolean | null"},"uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4","typeLabel":"(string | number | integer | boolean | null)[]"},{"type":"null","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders.additionalProperties","typeLabel":"string | number | integer | boolean | (string | number | integer | boolean | null)[] | null"},"type":"object","title":"Dynamic Variable Placeholders","description":"A dictionary of dynamic variable placeholders and their values","uniqueKey":"conversation_config.agent.dynamic_variables.dynamic_variable_placeholders","typeLabel":"Dynamic Variable Placeholders · object"}},"additionalProperties":false,"type":"object","title":"DynamicVariablesConfig","example":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"description":"Configuration for dynamic variables","uniqueKey":"conversation_config.agent.dynamic_variables","typeLabel":"DynamicVariablesConfig · object"},"disable_first_message_interruptions":{"type":"boolean","title":"Disable First Message Interruptions","description":"If true, the user will not be able to interrupt the agent while the first message is being delivered.","default":false,"uniqueKey":"conversation_config.agent.disable_first_message_interruptions","typeLabel":"boolean"},"max_conversation_duration_message":{"type":"string","title":"Max Conversation Duration Message","description":"If non-empty, the message the agent will send when max conversation duration is reached.","default":"","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"conversation_config.agent.max_conversation_duration_message","typeLabel":"string"},"text_behavior_overrides":{"oneOf":[{"type":"object","title":"Text Behavior Overrides","description":"Per-channel response behavior overrides for text conversations. Built-in channel defaults apply when unset.","additionalProperties":{"properties":{"verbosity":{"oneOf":[{"type":"string","title":"Verbosity","description":"Verbosity override. Underlying default applies when unset.","enum":["auto","concise","thorough"],"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.verbosity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Verbosity override. Underlying default applies when unset.","uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.verbosity.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.verbosity","typeLabel":"enum\u003cstring> | null"},"output_format":{"oneOf":[{"type":"string","title":"OutputFormat","description":"Output format override. Underlying default applies when unset.","enum":["plain_text","markdown"],"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.output_format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Output format override. Underlying default applies when unset.","uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.output_format.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.output_format","typeLabel":"enum\u003cstring> | null"},"interaction_budget":{"oneOf":[{"type":"string","title":"InteractionBudget","description":"Interaction budget override. Underlying default applies when unset.","enum":["realtime","5_minutes","10_minutes","1_hour"],"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.interaction_budget.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Interaction budget override. Underlying default applies when unset.","uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.interaction_budget.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties.interaction_budget","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"type":"object","title":"BehaviorOverride","uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0.additionalProperties","typeLabel":"BehaviorOverride · object"},"uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.0","typeLabel":"Text Behavior Overrides · object"},{"type":"null","title":"Text Behavior Overrides","description":"Per-channel response behavior overrides for text conversations. Built-in channel defaults apply when unset.","uniqueKey":"conversation_config.agent.text_behavior_overrides.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.text_behavior_overrides","typeLabel":"Text Behavior Overrides · object | null"},"prompt":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"The prompt for the agent","default":"","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.prompt","typeLabel":"string"},"llm":{"oneOf":[{"type":"string","description":"The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment","default":"google/gemma-4-31b","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.llm.oneOf.0","typeLabel":"string"},{"type":"string","description":"The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment","default":"google/gemma-4-31b","const":"custom-llm","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.llm.oneOf.1","typeLabel":"string"}],"uniqueKey":"conversation_config.agent.prompt.llm","typeLabel":"string"},"reasoning_effort":{"oneOf":[{"type":"string","title":"LLMReasoningEffort","description":"Reasoning effort of the model. Only available for some models.","enum":["none","minimal","low","medium","high","xhigh","max"],"uniqueKey":"conversation_config.agent.prompt.reasoning_effort.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Reasoning effort of the model. Only available for some models.","uniqueKey":"conversation_config.agent.prompt.reasoning_effort.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.reasoning_effort","typeLabel":"enum\u003cstring> | null"},"thinking_budget":{"oneOf":[{"type":"integer","title":"Thinking Budget","description":"Max number of tokens used for thinking. Use 0 to turn off if supported by the model.","uniqueKey":"conversation_config.agent.prompt.thinking_budget.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Thinking Budget","description":"Max number of tokens used for thinking. Use 0 to turn off if supported by the model.","uniqueKey":"conversation_config.agent.prompt.thinking_budget.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.thinking_budget","typeLabel":"integer | null"},"enable_reasoning_summary":{"type":"boolean","title":"Enable Reasoning Summary","description":"Enable model reasoning summaries. When disabled, we do not request summaries from provider if possible for faster TTFB. Not ZRM compatible.","default":false,"uniqueKey":"conversation_config.agent.prompt.enable_reasoning_summary","typeLabel":"boolean"},"temperature":{"oneOf":[{"type":"number","title":"Temperature","description":"The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).","default":0,"uniqueKey":"conversation_config.agent.prompt.temperature.oneOf.0","typeLabel":"number"},{"type":"null","title":"Temperature","description":"The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).","default":0,"uniqueKey":"conversation_config.agent.prompt.temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.temperature","typeLabel":"number | null"},"max_tokens":{"type":"integer","title":"Max Tokens","description":"If greater than 0, maximum number of tokens the LLM can predict","default":-1,"uniqueKey":"conversation_config.agent.prompt.max_tokens","typeLabel":"integer"},"tool_ids":{"items":{"type":"string","uniqueKey":"conversation_config.agent.prompt.tool_ids.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Tool Ids","description":"A list of IDs of tools used by the agent","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.tool_ids","typeLabel":"string[]"},"built_in_tools":{"properties":{"end_call":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The end call tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The end call tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.end_call","typeLabel":"SystemToolConfig · object | null"},"language_detection":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The language detection tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The language detection tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.language_detection","typeLabel":"SystemToolConfig · object | null"},"transfer_to_agent":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The transfer to agent tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The transfer to agent tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_agent","typeLabel":"SystemToolConfig · object | null"},"transfer_to_number":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The transfer to number tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The transfer to number tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.transfer_to_number","typeLabel":"SystemToolConfig · object | null"},"skip_turn":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The skip turn tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The skip turn tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.skip_turn","typeLabel":"SystemToolConfig · object | null"},"play_keypad_touch_tone":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The play DTMF tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The play DTMF tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.play_keypad_touch_tone","typeLabel":"SystemToolConfig · object | null"},"voicemail_detection":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The voicemail detection tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"oneOf":[{"type":"string","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.6.voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.6.voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"oneOf":[{"type":"object","title":"ProcedureVersionRef","required":["procedure_id","version_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.procedure_id","typeLabel":"string"},"version_id":{"type":"string","title":"Version Id","description":"Version ID of the procedure version.","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0.version_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.0","typeLabel":"ProcedureVersionRef · object"},{"type":"object","title":"ProcedureDraftRef","required":["procedure_id"],"properties":{"procedure_id":{"type":"string","title":"Procedure Id","description":"Procedure ID","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.procedure_id","typeLabel":"string"},"version_id":{"type":"null","title":"Version Id","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1.version_id","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties.oneOf.1","typeLabel":"ProcedureDraftRef · object"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"ProcedureVersionRef · object | ProcedureDraftRef · object"},"type":"object","title":"Procedures","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The voicemail detection tool","uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.built_in_tools.voicemail_detection","typeLabel":"SystemToolConfig · object | null"}},"additionalProperties":false,"type":"object","title":"BuiltInTools","description":"Built-in system tools to be used by the agent","uniqueKey":"conversation_config.agent.prompt.built_in_tools","typeLabel":"BuiltInTools · object"},"enable_parallel_tool_calls":{"type":"boolean","title":"Enable Parallel Tool Calls","description":"Enable parallel tool calling. When enabled, the agent can execute multiple tools in parallel within a single turn. Not supported by all models.","default":true,"uniqueKey":"conversation_config.agent.prompt.enable_parallel_tool_calls","typeLabel":"boolean"},"mcp_server_ids":{"items":{"type":"string","uniqueKey":"conversation_config.agent.prompt.mcp_server_ids.items.[INDEX]","typeLabel":"string"},"type":"array","maxItems":10,"title":"Mcp Server Ids","description":"A list of MCP server ids to be used by the agent","uniqueKey":"conversation_config.agent.prompt.mcp_server_ids","typeLabel":"string[]"},"native_mcp_server_ids":{"items":{"type":"string","uniqueKey":"conversation_config.agent.prompt.native_mcp_server_ids.items.[INDEX]","typeLabel":"string"},"type":"array","maxItems":10,"title":"Native Mcp Server Ids","description":"A list of Native MCP server ids to be used by the agent","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.native_mcp_server_ids","typeLabel":"string[]"},"knowledge_base":{"items":{"properties":{"type":{"type":"string","enum":["file","url","text","folder"],"title":"KnowledgeBaseDocumentType","description":"The type of the knowledge base","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.knowledge_base.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","title":"Name","description":"The name of the knowledge base","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.knowledge_base.items.[INDEX].name","typeLabel":"string"},"id":{"type":"string","title":"Id","description":"The ID of the knowledge base","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.knowledge_base.items.[INDEX].id","typeLabel":"string"},"usage_mode":{"type":"string","enum":["prompt","auto"],"title":"DocumentUsageModeEnum","default":"auto","description":"The usage mode of the knowledge base","uniqueKey":"conversation_config.agent.prompt.knowledge_base.items.[INDEX].usage_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"type":"object","required":["type","name","id"],"title":"KnowledgeBaseLocator","example":{"id":"123","name":"My Knowledge Base","type":"file","usage_mode":"auto"},"uniqueKey":"conversation_config.agent.prompt.knowledge_base.items.[INDEX]","typeLabel":"KnowledgeBaseLocator · object"},"type":"array","title":"Knowledge Base","description":"A list of knowledge bases to be used by the agent","x-convai-client-override":true,"uniqueKey":"conversation_config.agent.prompt.knowledge_base","typeLabel":"KnowledgeBaseLocator · object[]"},"custom_llm":{"oneOf":[{"type":"object","title":"CustomLLM","description":"Definition for a custom LLM when llm is 'custom-llm'. Managed models require null.","required":["url"],"properties":{"url":{"type":"string","title":"Url","description":"The URL of the Chat Completions compatible endpoint","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.url","typeLabel":"string"},"model_id":{"oneOf":[{"type":"string","title":"Model Id","description":"The model ID to be used if URL serves multiple models","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.model_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Id","description":"The model ID to be used if URL serves multiple models","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.model_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.model_id","typeLabel":"string | null"},"api_key":{"oneOf":[{"type":"object","title":"ConvAISecretLocator","description":"Used to reference a secret from the agent's secret store.","required":["secret_id"],"properties":{"secret_id":{"type":"string","title":"Secret Id","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_key.oneOf.0.secret_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_key.oneOf.0","typeLabel":"ConvAISecretLocator · object"},{"type":"object","title":"ConvAIEnvVarLocator","description":"Used to reference an environment variable by label.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_key.oneOf.1.env_var_label","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_key.oneOf.1","typeLabel":"ConvAIEnvVarLocator · object"},{"type":"null","title":"Api Key","description":"The API key for authentication. Either a workspace secret reference {'secret_id': '...'} or an environment variable reference {'env_var_label': '...'}.","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_key.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_key","typeLabel":"ConvAISecretLocator · object | ConvAIEnvVarLocator · object | null"},"auth_connection":{"oneOf":[{"type":"object","title":"AuthConnectionLocator","description":"Used to reference an auth connection from the workspace's auth connection store.","required":["auth_connection_id"],"properties":{"auth_connection_id":{"type":"string","title":"Auth Connection Id","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.auth_connection.oneOf.0.auth_connection_id","typeLabel":"string"}},"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.auth_connection.oneOf.0","typeLabel":"AuthConnectionLocator · object"},{"type":"object","title":"EnvironmentAuthConnectionLocator","description":"References an environment variable of type 'auth_connection' by label.\nAt runtime, resolves to the auth connection for the current environment,\nfalling back to the default environment.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.auth_connection.oneOf.1.env_var_label","typeLabel":"string"}},"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.auth_connection.oneOf.1","typeLabel":"EnvironmentAuthConnectionLocator · object"},{"type":"null","title":"Auth Connection","description":"Optional workspace auth connection for authentication. Only auth connections that produce an Authorization Bearer token are supported; Basic auth, mTLS, custom header, and URL secret auth connections are not supported.","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.auth_connection.oneOf.2","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.auth_connection","typeLabel":"AuthConnectionLocator · object | EnvironmentAuthConnectionLocator · object | null"},"request_headers":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","title":"ConvAISecretLocator","description":"Used to reference a secret from the agent's secret store.","required":["secret_id"],"properties":{"secret_id":{"type":"string","title":"Secret Id","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.1.secret_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.1","typeLabel":"ConvAISecretLocator · object"},{"type":"object","title":"ConvAIDynamicVariable","description":"Used to reference a dynamic variable.","required":["variable_name"],"properties":{"variable_name":{"type":"string","title":"Variable Name","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.2.variable_name","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.2","typeLabel":"ConvAIDynamicVariable · object"},{"type":"object","title":"ConvAIEnvVarLocator","description":"Used to reference an environment variable by label.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.3.env_var_label","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.3","typeLabel":"ConvAIEnvVarLocator · object"}],"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers.additionalProperties","typeLabel":"string | ConvAISecretLocator · object | ConvAIDynamicVariable · object | ConvAIEnvVarLocator · object"},"type":"object","title":"Request Headers","description":"Headers that should be included in the request","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.request_headers","typeLabel":"Request Headers · object"},"api_version":{"oneOf":[{"type":"string","title":"Api Version","description":"The API version to use for the request","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_version.oneOf.0","typeLabel":"string"},{"type":"null","title":"Api Version","description":"The API version to use for the request","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_version","typeLabel":"string | null"},"api_type":{"type":"string","enum":["chat_completions","responses","websocket"],"title":"CustomLLMAPIType","description":"The API type to use (chat_completions, responses or websocket)","default":"chat_completions","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0.api_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.0","typeLabel":"CustomLLM · object"},{"type":"null","description":"Definition for a custom LLM when llm is 'custom-llm'. Managed models require null.","uniqueKey":"conversation_config.agent.prompt.custom_llm.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.custom_llm","typeLabel":"CustomLLM · object | null"},"ignore_default_personality":{"oneOf":[{"type":"boolean","title":"Ignore Default Personality","description":"Whether to remove the default personality lines from the system prompt","default":false,"uniqueKey":"conversation_config.agent.prompt.ignore_default_personality.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Ignore Default Personality","description":"Whether to remove the default personality lines from the system prompt","default":false,"uniqueKey":"conversation_config.agent.prompt.ignore_default_personality.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.ignore_default_personality","typeLabel":"boolean | null"},"rag":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Whether RAG is enabled","default":false,"uniqueKey":"conversation_config.agent.prompt.rag.enabled","typeLabel":"boolean"},"embedding_model":{"type":"string","enum":["e5_mistral_7b_instruct","multilingual_e5_large_instruct"],"title":"EmbeddingModelEnum","default":"multilingual_e5_large_instruct","description":"The embedding model to use for RAG","uniqueKey":"conversation_config.agent.prompt.rag.embedding_model","typeLabel":"enum\u003cstring>"},"max_vector_distance":{"type":"number","exclusiveMaximum":1,"exclusiveMinimum":0,"title":"Max Vector Distance","description":"Maximum vector distance of retrieved chunks.","default":0.6,"uniqueKey":"conversation_config.agent.prompt.rag.max_vector_distance","typeLabel":"number"},"max_documents_length":{"type":"integer","exclusiveMaximum":10000000,"exclusiveMinimum":0,"title":"Max Documents Length","description":"Maximum total length of document chunks retrieved from RAG.","default":50000,"uniqueKey":"conversation_config.agent.prompt.rag.max_documents_length","typeLabel":"integer"},"max_retrieved_rag_chunks_count":{"type":"integer","maximum":20,"exclusiveMinimum":0,"title":"Max Retrieved Rag Chunks Count","description":"Maximum number of RAG document chunks to initially retrieve from the vector store. These are then further filtered by vector distance and total length.","default":20,"uniqueKey":"conversation_config.agent.prompt.rag.max_retrieved_rag_chunks_count","typeLabel":"integer"},"num_candidates":{"oneOf":[{"type":"integer","title":"Num Candidates","description":"Number of candidates evaluated in ANN vector search. Higher number means better results, but higher latency. Minimum recommended value is 100. If disabled, the default value is used.","maximum":10000,"minimum":0,"exclusiveMinimum":true,"uniqueKey":"conversation_config.agent.prompt.rag.num_candidates.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Num Candidates","description":"Number of candidates evaluated in ANN vector search. Higher number means better results, but higher latency. Minimum recommended value is 100. If disabled, the default value is used.","uniqueKey":"conversation_config.agent.prompt.rag.num_candidates.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.rag.num_candidates","typeLabel":"integer | null"},"query_rewrite_prompt_override":{"oneOf":[{"type":"string","title":"Query Rewrite Prompt Override","description":"Custom prompt for rewriting user queries before RAG retrieval. The conversation history will be automatically appended at the end. If not set, the default prompt will be used.","maxLength":1000,"minLength":1,"uniqueKey":"conversation_config.agent.prompt.rag.query_rewrite_prompt_override.oneOf.0","typeLabel":"string"},{"type":"null","title":"Query Rewrite Prompt Override","description":"Custom prompt for rewriting user queries before RAG retrieval. The conversation history will be automatically appended at the end. If not set, the default prompt will be used.","uniqueKey":"conversation_config.agent.prompt.rag.query_rewrite_prompt_override.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.rag.query_rewrite_prompt_override","typeLabel":"string | null"},"knowledge_base_tool_info":{"oneOf":[{"type":"object","title":"KnowledgeBaseToolInfo","description":"When set, uses the knowledge_base tool instead of the legacy knowledge_base_rag tool. None means the agent has not opted in.","properties":{"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"conversation_config.agent.prompt.rag.knowledge_base_tool_info.oneOf.0.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","description":"Search strategies exposed to the model. Must be non-empty.","uniqueKey":"conversation_config.agent.prompt.rag.knowledge_base_tool_info.oneOf.0.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"conversation_config.agent.prompt.rag.knowledge_base_tool_info.oneOf.0","typeLabel":"KnowledgeBaseToolInfo · object"},{"type":"null","description":"When set, uses the knowledge_base tool instead of the legacy knowledge_base_rag tool. None means the agent has not opted in.","uniqueKey":"conversation_config.agent.prompt.rag.knowledge_base_tool_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.rag.knowledge_base_tool_info","typeLabel":"KnowledgeBaseToolInfo · object | null"}},"additionalProperties":false,"type":"object","title":"RagConfig","example":{"embedding_model":"multilingual_e5_large_instruct","enabled":false,"max_documents_length":50000,"max_retrieved_rag_chunks_count":5,"max_vector_distance":0.5,"num_candidates":300},"description":"Configuration for RAG","uniqueKey":"conversation_config.agent.prompt.rag","typeLabel":"RagConfig · object"},"timezone":{"oneOf":[{"type":"string","title":"Timezone","description":"Timezone for displaying current time in system prompt. If set, the current time will be included in the system prompt using this timezone. Must be a valid timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC'). Recommended for accurate time-aware responses; without this, the agent has no knowledge of the current date/time unless you provide it via dynamic variables or tools, which can lead to incorrect or hallucinated time references.","uniqueKey":"conversation_config.agent.prompt.timezone.oneOf.0","typeLabel":"string"},{"type":"null","title":"Timezone","description":"Timezone for displaying current time in system prompt. If set, the current time will be included in the system prompt using this timezone. Must be a valid timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC'). Recommended for accurate time-aware responses; without this, the agent has no knowledge of the current date/time unless you provide it via dynamic variables or tools, which can lead to incorrect or hallucinated time references.","uniqueKey":"conversation_config.agent.prompt.timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation_config.agent.prompt.timezone","typeLabel":"string | null"},"backup_llm_config":{"oneOf":[{"type":"object","title":"BackupLLMDefault","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","properties":{"preference":{"type":"string","const":"default","title":"Preference","default":"default","uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.0.preference","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.0","typeLabel":"BackupLLMDefault · object"},{"type":"object","title":"BackupLLMDisabled","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","properties":{"preference":{"type":"string","const":"disabled","title":"Preference","default":"disabled","uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.1.preference","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.1","typeLabel":"BackupLLMDisabled · object"},{"type":"object","title":"BackupLLMOverride","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","required":["order"],"properties":{"order":{"items":{"type":"string","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","description":"Provider-qualified model identifier.","uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.2.order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Order","isRequired":true,"uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.2.order","typeLabel":"string[]"},"preference":{"type":"string","const":"override","title":"Preference","default":"override","uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.2.preference","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"conversation_config.agent.prompt.backup_llm_config.oneOf.2","typeLabel":"BackupLLMOverride · object"}],"uniqueKey":"conversation_config.agent.prompt.backup_llm_config","typeLabel":"BackupLLMDefault · object | BackupLLMDisabled · object | BackupLLMOverride · object"},"cascade_timeout_seconds":{"type":"number","maximum":15,"minimum":2,"title":"Cascade Timeout Seconds","description":"Time in seconds before cascading to backup LLM. Must be between 2 and 15 seconds.","default":4,"uniqueKey":"conversation_config.agent.prompt.cascade_timeout_seconds","typeLabel":"number"}},"additionalProperties":false,"type":"object","title":"PromptAgentAPIModel","example":{"knowledge_base":[],"llm":"google/gemma-4-31b","max_tokens":-1,"prompt":"You are a helpful assistant that can answer questions about the topic of the conversation.","temperature":0,"tool_ids":[]},"description":"The prompt for the agent","uniqueKey":"conversation_config.agent.prompt","typeLabel":"PromptAgentAPIModel · object"}},"additionalProperties":false,"type":"object","title":"AgentConfigAPIModel","example":{"disable_first_message_interruptions":false,"first_message":"Hello, how can I help you today?","language":"en"},"description":"Agent specific configuration","uniqueKey":"conversation_config.agent","typeLabel":"AgentConfigAPIModel · object"}},"additionalProperties":false,"type":"object","title":"ConversationalConfigAPIModel","description":"Complete conversation config for the draft","isRequired":true,"uniqueKey":"conversation_config","typeLabel":"ConversationalConfigAPIModel · object"},"platform_settings":{"properties":{"evaluation":{"properties":{"criteria":{"items":{"properties":{"id":{"type":"string","title":"Id","description":"The unique identifier for the evaluation criteria","isRequired":true,"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","title":"Name","isRequired":true,"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].name","typeLabel":"string"},"conversation_goal_prompt":{"type":"string","maxLength":2000,"title":"Conversation Goal Prompt","description":"The prompt that the agent should use to evaluate the conversation","isRequired":true,"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].conversation_goal_prompt","typeLabel":"string"},"type":{"type":"string","const":"prompt","title":"Type","description":"The type of evaluation criteria","default":"prompt","uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].type","typeLabel":"string"},"use_knowledge_base":{"type":"boolean","title":"Use Knowledge Base","description":"When evaluating the prompt, should the agent's knowledge base be used.","default":false,"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].use_knowledge_base","typeLabel":"boolean"},"scope":{"type":"string","enum":["conversation","agent"],"title":"AnalysisScope","default":"conversation","description":"The scope of transcript context used when evaluating this criterion. 'conversation' uses the full transcript; 'agent' uses only the portion where the defining agent was active.","uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].scope","typeLabel":"enum\u003cstring>"},"llm":{"oneOf":[{"type":"string","title":"LLM","description":"LLM model to use for this evaluation criteria. If not set, uses agent's analysis_llm default.","enum":["gpt-4o-mini","gpt-4o","gpt-4","gpt-4-turbo","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5.1","gpt-5.2","gpt-5.2-chat-latest","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-6-astra","gpt-6-sol","gpt-6-luna","gpt-5-mini","gpt-5-nano","gpt-3.5-turbo","gemini-1.5-pro","gemini-1.5-flash","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-pro-preview","gemini-3-flash-preview","gemini-3.1-pro-preview","gemini-3.1-flash-lite-preview","gemini-3.1-flash-lite","gemini-3.5-flash","gemini-3.5-flash-lite","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","claude-sonnet-4-5","claude-opus-4-7","claude-opus-4-8","claude-opus-5","claude-opus-5-5","claude-sonnet-4-6","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-4","claude-haiku-4-5","claude-3-7-sonnet","claude-3-5-sonnet","claude-3-5-sonnet-v1","claude-3-haiku","grok-beta","custom-llm","qwen3-4b","qwen3-30b-a3b","qwen36-35b-a3b","qwen35-397b-a17b","gpt-oss-20b","gpt-oss-120b","glm-45-air-fp8","glm-52","deepseek-v41-flash","gemini-2.5-flash-preview-09-2025","gemini-2.5-flash-lite-preview-09-2025","gemini-2.5-flash-preview-05-20","gemini-2.5-flash-preview-04-17","gemini-2.5-flash-lite-preview-06-17","gemini-2.0-flash-lite-001","gemini-2.0-flash-001","gemini-1.5-flash-002","gemini-1.5-flash-001","gemini-1.5-pro-002","gemini-1.5-pro-001","claude-sonnet-4@20250514","claude-sonnet-4-5@20250929","claude-haiku-4-5@20251001","claude-3-7-sonnet@20250219","claude-3-5-sonnet@20240620","claude-3-5-sonnet-v2@20241022","claude-3-haiku@20240307","gpt-5-2025-08-07","gpt-5.1-2025-11-13","gpt-5.2-2025-12-11","gpt-5.4-2026-03-05","gpt-5.4-mini-2026-03-17","gpt-5.4-nano-2026-03-17","gpt-5.5-2026-04-23","gpt-5-mini-2025-08-07","gpt-5-nano-2025-08-07","gpt-4.1-2025-04-14","gpt-4.1-mini-2025-04-14","gpt-4.1-nano-2025-04-14","gpt-4o-mini-2024-07-18","gpt-4o-2024-11-20","gpt-4o-2024-08-06","gpt-4o-2024-05-13","gpt-4-0613","gpt-4-0314","gpt-4-turbo-2024-04-09","gpt-3.5-turbo-0125","gpt-3.5-turbo-1106","watt-tool-8b","watt-tool-70b"],"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].llm.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"LLM model to use for this evaluation criteria. If not set, uses agent's analysis_llm default.","uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].llm.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].llm","typeLabel":"enum\u003cstring> | null"},"scoring_mode":{"type":"string","enum":["binary","numeric_uniform"],"title":"CriteriaScoringMode","description":"How this criterion is scored. 'binary' resolves to success/failure/unknown. 'numeric_uniform' returns a number on the [0, max_score] scale which is normalized into the aggregate conversation success percentage.","default":"binary","uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].scoring_mode","typeLabel":"enum\u003cstring>"},"max_score":{"type":"integer","title":"Max Score","description":"Maximum value of the numeric score scale (minimum is always 0). Only used when scoring_mode is 'numeric_uniform'.","default":100,"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].max_score","typeLabel":"integer"},"score_instructions":{"oneOf":[{"type":"string","title":"Score Instructions","description":"Optional free-text instructions describing how to assign values on the numeric scale. Only used when scoring_mode is 'numeric_uniform'.","maxLength":2000,"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].score_instructions.oneOf.0","typeLabel":"string"},{"type":"null","title":"Score Instructions","description":"Optional free-text instructions describing how to assign values on the numeric scale. Only used when scoring_mode is 'numeric_uniform'.","uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].score_instructions.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX].score_instructions","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["id","name","conversation_goal_prompt"],"title":"PromptEvaluationCriteria","description":"An evaluation using the transcript and a prompt for a yes/no achieved answer","examples":[{"conversation_goal_prompt":"Determine whether the agent fully resolved the user's issue.","id":"criterion_binary_001","max_score":100,"name":"Issue resolved","scope":"conversation","scoring_mode":"binary","use_knowledge_base":false},{"conversation_goal_prompt":"Rate how completely and correctly the issue was resolved.","id":"criterion_numeric_001","max_score":100,"name":"Resolution quality","scope":"conversation","score_instructions":"0 means unresolved, 50 means partially resolved, 100 means fully resolved with correct details.","scoring_mode":"numeric_uniform","use_knowledge_base":false}],"uniqueKey":"platform_settings.evaluation.criteria.items.[INDEX]","typeLabel":"PromptEvaluationCriteria · object"},"type":"array","title":"Criteria","description":"Individual criteria that the agent should be evaluated against","uniqueKey":"platform_settings.evaluation.criteria","typeLabel":"PromptEvaluationCriteria · object[]"}},"additionalProperties":false,"type":"object","title":"EvaluationSettings","description":"Settings for evaluation","uniqueKey":"platform_settings.evaluation","typeLabel":"EvaluationSettings · object"},"widget":{"properties":{"variant":{"type":"string","enum":["tiny","compact","full","expandable"],"title":"EmbedVariant","default":"full","description":"The variant of the widget","uniqueKey":"platform_settings.widget.variant","typeLabel":"enum\u003cstring>"},"placement":{"type":"string","enum":["top-left","top","top-right","bottom-left","bottom","bottom-right"],"title":"WidgetPlacement","default":"bottom-right","description":"The placement of the widget on the screen","uniqueKey":"platform_settings.widget.placement","typeLabel":"enum\u003cstring>"},"expandable":{"type":"string","enum":["never","mobile","desktop","always"],"title":"WidgetExpandable","default":"never","description":"Whether the widget is expandable","uniqueKey":"platform_settings.widget.expandable","typeLabel":"enum\u003cstring>"},"avatar":{"oneOf":[{"type":"object","title":"OrbAvatar","description":"The avatar of the widget","example":{"color_1":"#2792dc","color_2":"#9ce6e6","type":"orb"},"properties":{"type":{"type":"string","const":"orb","title":"Type","description":"The type of the avatar","default":"orb","uniqueKey":"platform_settings.widget.avatar.oneOf.0.type","typeLabel":"string"},"color_1":{"type":"string","title":"Color 1","description":"The first color of the avatar","default":"#2792dc","uniqueKey":"platform_settings.widget.avatar.oneOf.0.color_1","typeLabel":"string"},"color_2":{"type":"string","title":"Color 2","description":"The second color of the avatar","default":"#9ce6e6","uniqueKey":"platform_settings.widget.avatar.oneOf.0.color_2","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.avatar.oneOf.0","typeLabel":"OrbAvatar · object"},{"type":"object","title":"URLAvatar","description":"The avatar of the widget","properties":{"type":{"type":"string","const":"url","title":"Type","description":"The type of the avatar","default":"url","uniqueKey":"platform_settings.widget.avatar.oneOf.1.type","typeLabel":"string"},"custom_url":{"type":"string","title":"Custom Url","description":"The custom URL of the avatar","default":"","uniqueKey":"platform_settings.widget.avatar.oneOf.1.custom_url","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.avatar.oneOf.1","typeLabel":"URLAvatar · object"},{"type":"object","title":"ImageAvatar","description":"The avatar of the widget","properties":{"type":{"type":"string","const":"image","title":"Type","description":"The type of the avatar","default":"image","uniqueKey":"platform_settings.widget.avatar.oneOf.2.type","typeLabel":"string"},"url":{"type":"string","title":"Url","description":"The URL of the avatar","default":"","uniqueKey":"platform_settings.widget.avatar.oneOf.2.url","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.avatar.oneOf.2","typeLabel":"ImageAvatar · object"}],"uniqueKey":"platform_settings.widget.avatar","typeLabel":"OrbAvatar · object | URLAvatar · object | ImageAvatar · object"},"feedback_mode":{"type":"string","enum":["none","during","end"],"title":"WidgetFeedbackMode","default":"none","description":"The feedback mode of the widget","uniqueKey":"platform_settings.widget.feedback_mode","typeLabel":"enum\u003cstring>"},"end_feedback":{"oneOf":[{"type":"object","title":"WidgetEndFeedbackConfig","description":"Configuration for feedback collected at the end of the conversation","properties":{"type":{"type":"string","enum":["rating"],"title":"WidgetEndFeedbackType","default":"rating","description":"The type of feedback to collect at the end of the conversation","uniqueKey":"platform_settings.widget.end_feedback.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.end_feedback.oneOf.0","typeLabel":"WidgetEndFeedbackConfig · object"},{"type":"null","description":"Configuration for feedback collected at the end of the conversation","uniqueKey":"platform_settings.widget.end_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.end_feedback","typeLabel":"WidgetEndFeedbackConfig · object | null"},"bg_color":{"type":"string","title":"Bg Color","description":"The background color of the widget","default":"#ffffff","uniqueKey":"platform_settings.widget.bg_color","typeLabel":"string"},"text_color":{"type":"string","title":"Text Color","description":"The text color of the widget","default":"#000000","uniqueKey":"platform_settings.widget.text_color","typeLabel":"string"},"btn_color":{"type":"string","title":"Btn Color","description":"The button color of the widget","default":"#000000","uniqueKey":"platform_settings.widget.btn_color","typeLabel":"string"},"btn_text_color":{"type":"string","title":"Btn Text Color","description":"The button text color of the widget","default":"#ffffff","uniqueKey":"platform_settings.widget.btn_text_color","typeLabel":"string"},"border_color":{"type":"string","title":"Border Color","description":"The border color of the widget","default":"#e1e1e1","uniqueKey":"platform_settings.widget.border_color","typeLabel":"string"},"focus_color":{"type":"string","title":"Focus Color","description":"The focus color of the widget","default":"#000000","uniqueKey":"platform_settings.widget.focus_color","typeLabel":"string"},"border_radius":{"oneOf":[{"type":"integer","title":"Border Radius","description":"The border radius of the widget","uniqueKey":"platform_settings.widget.border_radius.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Border Radius","description":"The border radius of the widget","uniqueKey":"platform_settings.widget.border_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.border_radius","typeLabel":"integer | null"},"btn_radius":{"oneOf":[{"type":"integer","title":"Btn Radius","description":"The button radius of the widget","uniqueKey":"platform_settings.widget.btn_radius.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Btn Radius","description":"The button radius of the widget","uniqueKey":"platform_settings.widget.btn_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.btn_radius","typeLabel":"integer | null"},"action_text":{"oneOf":[{"type":"string","title":"Action Text","description":"The action text of the widget","uniqueKey":"platform_settings.widget.action_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Action Text","description":"The action text of the widget","uniqueKey":"platform_settings.widget.action_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.action_text","typeLabel":"string | null"},"start_call_text":{"oneOf":[{"type":"string","title":"Start Call Text","description":"The start call text of the widget","uniqueKey":"platform_settings.widget.start_call_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Start Call Text","description":"The start call text of the widget","uniqueKey":"platform_settings.widget.start_call_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.start_call_text","typeLabel":"string | null"},"end_call_text":{"oneOf":[{"type":"string","title":"End Call Text","description":"The end call text of the widget","uniqueKey":"platform_settings.widget.end_call_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"End Call Text","description":"The end call text of the widget","uniqueKey":"platform_settings.widget.end_call_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.end_call_text","typeLabel":"string | null"},"expand_text":{"oneOf":[{"type":"string","title":"Expand Text","description":"The expand text of the widget","uniqueKey":"platform_settings.widget.expand_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expand Text","description":"The expand text of the widget","uniqueKey":"platform_settings.widget.expand_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.expand_text","typeLabel":"string | null"},"listening_text":{"oneOf":[{"type":"string","title":"Listening Text","description":"The text to display when the agent is listening","uniqueKey":"platform_settings.widget.listening_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Listening Text","description":"The text to display when the agent is listening","uniqueKey":"platform_settings.widget.listening_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.listening_text","typeLabel":"string | null"},"speaking_text":{"oneOf":[{"type":"string","title":"Speaking Text","description":"The text to display when the agent is speaking","uniqueKey":"platform_settings.widget.speaking_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Speaking Text","description":"The text to display when the agent is speaking","uniqueKey":"platform_settings.widget.speaking_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.speaking_text","typeLabel":"string | null"},"shareable_page_text":{"oneOf":[{"type":"string","title":"Shareable Page Text","description":"The text to display when sharing","uniqueKey":"platform_settings.widget.shareable_page_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Shareable Page Text","description":"The text to display when sharing","uniqueKey":"platform_settings.widget.shareable_page_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.shareable_page_text","typeLabel":"string | null"},"shareable_page_show_terms":{"type":"boolean","title":"Shareable Page Show Terms","description":"Whether to show terms and conditions on the shareable page","default":true,"uniqueKey":"platform_settings.widget.shareable_page_show_terms","typeLabel":"boolean"},"terms_text":{"oneOf":[{"type":"string","title":"Terms Text","description":"The text to display for terms and conditions","uniqueKey":"platform_settings.widget.terms_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Terms Text","description":"The text to display for terms and conditions","uniqueKey":"platform_settings.widget.terms_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.terms_text","typeLabel":"string | null"},"terms_html":{"oneOf":[{"type":"string","title":"Terms Html","description":"The HTML to display for terms and conditions","uniqueKey":"platform_settings.widget.terms_html.oneOf.0","typeLabel":"string"},{"type":"null","title":"Terms Html","description":"The HTML to display for terms and conditions","uniqueKey":"platform_settings.widget.terms_html.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.terms_html","typeLabel":"string | null"},"terms_key":{"oneOf":[{"type":"string","title":"Terms Key","description":"The key to display for terms and conditions","uniqueKey":"platform_settings.widget.terms_key.oneOf.0","typeLabel":"string"},{"type":"null","title":"Terms Key","description":"The key to display for terms and conditions","uniqueKey":"platform_settings.widget.terms_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.terms_key","typeLabel":"string | null"},"show_avatar_when_collapsed":{"oneOf":[{"type":"boolean","title":"Show Avatar When Collapsed","description":"Whether to show the avatar when the widget is collapsed","default":false,"uniqueKey":"platform_settings.widget.show_avatar_when_collapsed.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Show Avatar When Collapsed","description":"Whether to show the avatar when the widget is collapsed","default":false,"uniqueKey":"platform_settings.widget.show_avatar_when_collapsed.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.show_avatar_when_collapsed","typeLabel":"boolean | null"},"disable_banner":{"type":"boolean","title":"Disable Banner","description":"Whether to disable the banner","default":false,"uniqueKey":"platform_settings.widget.disable_banner","typeLabel":"boolean"},"override_link":{"oneOf":[{"type":"string","title":"Override Link","description":"The override link for the widget","uniqueKey":"platform_settings.widget.override_link.oneOf.0","typeLabel":"string"},{"type":"null","title":"Override Link","description":"The override link for the widget","uniqueKey":"platform_settings.widget.override_link.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.override_link","typeLabel":"string | null"},"markdown_link_allowed_hosts":{"items":{"properties":{"hostname":{"type":"string","title":"Hostname","description":"The hostname of the allowed origin","isRequired":true,"uniqueKey":"platform_settings.widget.markdown_link_allowed_hosts.items.[INDEX].hostname","typeLabel":"string"}},"additionalProperties":false,"type":"object","required":["hostname"],"title":"AllowlistItem","uniqueKey":"platform_settings.widget.markdown_link_allowed_hosts.items.[INDEX]","typeLabel":"AllowlistItem · object"},"type":"array","title":"Markdown Link Allowed Hosts","description":"List of allowed hostnames for clickable markdown links. Use { hostname: '*' } to allow any domain. Empty means no links are allowed.","uniqueKey":"platform_settings.widget.markdown_link_allowed_hosts","typeLabel":"AllowlistItem · object[]"},"markdown_link_include_www":{"type":"boolean","title":"Markdown Link Include Www","description":"Whether to automatically include www. variants of allowed hosts","default":true,"uniqueKey":"platform_settings.widget.markdown_link_include_www","typeLabel":"boolean"},"markdown_link_allow_http":{"type":"boolean","title":"Markdown Link Allow Http","description":"Whether to allow http:// in addition to https:// for allowed hosts","default":true,"uniqueKey":"platform_settings.widget.markdown_link_allow_http","typeLabel":"boolean"},"mic_muting_enabled":{"type":"boolean","title":"Mic Muting Enabled","description":"Whether to enable mic muting","default":true,"uniqueKey":"platform_settings.widget.mic_muting_enabled","typeLabel":"boolean"},"transcript_enabled":{"type":"boolean","title":"Transcript Enabled","description":"Whether the widget should show the conversation transcript as it goes on","default":true,"uniqueKey":"platform_settings.widget.transcript_enabled","typeLabel":"boolean"},"text_input_enabled":{"type":"boolean","title":"Text Input Enabled","description":"Whether the user should be able to send text messages","default":true,"uniqueKey":"platform_settings.widget.text_input_enabled","typeLabel":"boolean"},"conversation_mode_toggle_enabled":{"type":"boolean","title":"Conversation Mode Toggle Enabled","description":"Whether to enable the conversation mode toggle in the widget","default":false,"uniqueKey":"platform_settings.widget.conversation_mode_toggle_enabled","typeLabel":"boolean"},"default_expanded":{"type":"boolean","title":"Default Expanded","description":"Whether the widget should be expanded by default","default":false,"uniqueKey":"platform_settings.widget.default_expanded","typeLabel":"boolean"},"always_expanded":{"type":"boolean","title":"Always Expanded","description":"Whether the widget should always be expanded","default":false,"uniqueKey":"platform_settings.widget.always_expanded","typeLabel":"boolean"},"dismissible":{"type":"boolean","title":"Dismissible","description":"Whether the widget can be dismissed by the user","default":false,"uniqueKey":"platform_settings.widget.dismissible","typeLabel":"boolean"},"show_agent_status":{"type":"boolean","title":"Show Agent Status","description":"Whether to show agent working/done/error status during tool use","default":false,"uniqueKey":"platform_settings.widget.show_agent_status","typeLabel":"boolean"},"show_conversation_id":{"type":"boolean","title":"Show Conversation Id","description":"Whether to show the conversation ID after disconnection.","default":true,"uniqueKey":"platform_settings.widget.show_conversation_id","typeLabel":"boolean"},"strip_audio_tags":{"type":"boolean","title":"Strip Audio Tags","description":"Whether to strip audio markup from messages.","default":true,"uniqueKey":"platform_settings.widget.strip_audio_tags","typeLabel":"boolean"},"syntax_highlight_theme":{"oneOf":[{"type":"string","title":"Syntax Highlight Theme","description":"Theme for code block syntax highlighting. Defaults to auto-detection by the widget when not set.","enum":["light","dark"],"uniqueKey":"platform_settings.widget.syntax_highlight_theme.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Syntax Highlight Theme","description":"Theme for code block syntax highlighting. Defaults to auto-detection by the widget when not set.","uniqueKey":"platform_settings.widget.syntax_highlight_theme.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.syntax_highlight_theme","typeLabel":"enum\u003cstring> | null"},"text_contents":{"properties":{"main_label":{"oneOf":[{"type":"string","title":"Main Label","description":"Call to action displayed inside the compact and full variants.","uniqueKey":"platform_settings.widget.text_contents.main_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Main Label","description":"Call to action displayed inside the compact and full variants.","uniqueKey":"platform_settings.widget.text_contents.main_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.main_label","typeLabel":"string | null"},"start_call":{"oneOf":[{"type":"string","title":"Start Call","description":"Text and ARIA label for the start call button.","uniqueKey":"platform_settings.widget.text_contents.start_call.oneOf.0","typeLabel":"string"},{"type":"null","title":"Start Call","description":"Text and ARIA label for the start call button.","uniqueKey":"platform_settings.widget.text_contents.start_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.start_call","typeLabel":"string | null"},"start_chat":{"oneOf":[{"type":"string","title":"Start Chat","description":"Text and ARIA label for the start chat button (text only)","uniqueKey":"platform_settings.widget.text_contents.start_chat.oneOf.0","typeLabel":"string"},{"type":"null","title":"Start Chat","description":"Text and ARIA label for the start chat button (text only)","uniqueKey":"platform_settings.widget.text_contents.start_chat.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.start_chat","typeLabel":"string | null"},"new_call":{"oneOf":[{"type":"string","title":"New Call","description":"Text and ARIA label for the new call button. Displayed when the caller already finished at least one call in order ot start the next one.","uniqueKey":"platform_settings.widget.text_contents.new_call.oneOf.0","typeLabel":"string"},{"type":"null","title":"New Call","description":"Text and ARIA label for the new call button. Displayed when the caller already finished at least one call in order ot start the next one.","uniqueKey":"platform_settings.widget.text_contents.new_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.new_call","typeLabel":"string | null"},"end_call":{"oneOf":[{"type":"string","title":"End Call","description":"Text and ARIA label for the end call button.","uniqueKey":"platform_settings.widget.text_contents.end_call.oneOf.0","typeLabel":"string"},{"type":"null","title":"End Call","description":"Text and ARIA label for the end call button.","uniqueKey":"platform_settings.widget.text_contents.end_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.end_call","typeLabel":"string | null"},"mute_microphone":{"oneOf":[{"type":"string","title":"Mute Microphone","description":"ARIA label for the mute microphone button.","uniqueKey":"platform_settings.widget.text_contents.mute_microphone.oneOf.0","typeLabel":"string"},{"type":"null","title":"Mute Microphone","description":"ARIA label for the mute microphone button.","uniqueKey":"platform_settings.widget.text_contents.mute_microphone.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.mute_microphone","typeLabel":"string | null"},"change_language":{"oneOf":[{"type":"string","title":"Change Language","description":"ARIA label for the change language dropdown.","uniqueKey":"platform_settings.widget.text_contents.change_language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Change Language","description":"ARIA label for the change language dropdown.","uniqueKey":"platform_settings.widget.text_contents.change_language.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.change_language","typeLabel":"string | null"},"collapse":{"oneOf":[{"type":"string","title":"Collapse","description":"ARIA label for the collapse button.","uniqueKey":"platform_settings.widget.text_contents.collapse.oneOf.0","typeLabel":"string"},{"type":"null","title":"Collapse","description":"ARIA label for the collapse button.","uniqueKey":"platform_settings.widget.text_contents.collapse.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.collapse","typeLabel":"string | null"},"expand":{"oneOf":[{"type":"string","title":"Expand","description":"ARIA label for the expand button.","uniqueKey":"platform_settings.widget.text_contents.expand.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expand","description":"ARIA label for the expand button.","uniqueKey":"platform_settings.widget.text_contents.expand.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.expand","typeLabel":"string | null"},"copied":{"oneOf":[{"type":"string","title":"Copied","description":"Text displayed when the user copies a value using the copy button.","uniqueKey":"platform_settings.widget.text_contents.copied.oneOf.0","typeLabel":"string"},{"type":"null","title":"Copied","description":"Text displayed when the user copies a value using the copy button.","uniqueKey":"platform_settings.widget.text_contents.copied.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.copied","typeLabel":"string | null"},"accept_terms":{"oneOf":[{"type":"string","title":"Accept Terms","description":"Text and ARIA label for the accept terms button.","uniqueKey":"platform_settings.widget.text_contents.accept_terms.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accept Terms","description":"Text and ARIA label for the accept terms button.","uniqueKey":"platform_settings.widget.text_contents.accept_terms.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.accept_terms","typeLabel":"string | null"},"dismiss_terms":{"oneOf":[{"type":"string","title":"Dismiss Terms","description":"Text and ARIA label for the cancel terms button.","uniqueKey":"platform_settings.widget.text_contents.dismiss_terms.oneOf.0","typeLabel":"string"},{"type":"null","title":"Dismiss Terms","description":"Text and ARIA label for the cancel terms button.","uniqueKey":"platform_settings.widget.text_contents.dismiss_terms.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.dismiss_terms","typeLabel":"string | null"},"listening_status":{"oneOf":[{"type":"string","title":"Listening Status","description":"Status displayed when the agent is listening.","uniqueKey":"platform_settings.widget.text_contents.listening_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Listening Status","description":"Status displayed when the agent is listening.","uniqueKey":"platform_settings.widget.text_contents.listening_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.listening_status","typeLabel":"string | null"},"speaking_status":{"oneOf":[{"type":"string","title":"Speaking Status","description":"Status displayed when the agent is speaking.","uniqueKey":"platform_settings.widget.text_contents.speaking_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Speaking Status","description":"Status displayed when the agent is speaking.","uniqueKey":"platform_settings.widget.text_contents.speaking_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.speaking_status","typeLabel":"string | null"},"connecting_status":{"oneOf":[{"type":"string","title":"Connecting Status","description":"Status displayed when the agent is connecting.","uniqueKey":"platform_settings.widget.text_contents.connecting_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Connecting Status","description":"Status displayed when the agent is connecting.","uniqueKey":"platform_settings.widget.text_contents.connecting_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.connecting_status","typeLabel":"string | null"},"chatting_status":{"oneOf":[{"type":"string","title":"Chatting Status","description":"Status displayed when the agent is chatting (text only)","uniqueKey":"platform_settings.widget.text_contents.chatting_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Chatting Status","description":"Status displayed when the agent is chatting (text only)","uniqueKey":"platform_settings.widget.text_contents.chatting_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.chatting_status","typeLabel":"string | null"},"input_label":{"oneOf":[{"type":"string","title":"Input Label","description":"ARIA label for the text message input.","uniqueKey":"platform_settings.widget.text_contents.input_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Label","description":"ARIA label for the text message input.","uniqueKey":"platform_settings.widget.text_contents.input_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.input_label","typeLabel":"string | null"},"input_placeholder":{"oneOf":[{"type":"string","title":"Input Placeholder","description":"Placeholder text for the text message input.","uniqueKey":"platform_settings.widget.text_contents.input_placeholder.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Placeholder","description":"Placeholder text for the text message input.","uniqueKey":"platform_settings.widget.text_contents.input_placeholder.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.input_placeholder","typeLabel":"string | null"},"input_placeholder_text_only":{"oneOf":[{"type":"string","title":"Input Placeholder Text Only","description":"Placeholder text for the text message input (text only)","uniqueKey":"platform_settings.widget.text_contents.input_placeholder_text_only.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Placeholder Text Only","description":"Placeholder text for the text message input (text only)","uniqueKey":"platform_settings.widget.text_contents.input_placeholder_text_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.input_placeholder_text_only","typeLabel":"string | null"},"input_placeholder_new_conversation":{"oneOf":[{"type":"string","title":"Input Placeholder New Conversation","description":"Placeholder text for the text message input when starting a new conversation (text only)","uniqueKey":"platform_settings.widget.text_contents.input_placeholder_new_conversation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Placeholder New Conversation","description":"Placeholder text for the text message input when starting a new conversation (text only)","uniqueKey":"platform_settings.widget.text_contents.input_placeholder_new_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.input_placeholder_new_conversation","typeLabel":"string | null"},"user_ended_conversation":{"oneOf":[{"type":"string","title":"User Ended Conversation","description":"Information message displayed when the user ends the conversation.","uniqueKey":"platform_settings.widget.text_contents.user_ended_conversation.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Ended Conversation","description":"Information message displayed when the user ends the conversation.","uniqueKey":"platform_settings.widget.text_contents.user_ended_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.user_ended_conversation","typeLabel":"string | null"},"agent_ended_conversation":{"oneOf":[{"type":"string","title":"Agent Ended Conversation","description":"Information message displayed when the agent ends the conversation.","uniqueKey":"platform_settings.widget.text_contents.agent_ended_conversation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Ended Conversation","description":"Information message displayed when the agent ends the conversation.","uniqueKey":"platform_settings.widget.text_contents.agent_ended_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.agent_ended_conversation","typeLabel":"string | null"},"conversation_id":{"oneOf":[{"type":"string","title":"Conversation Id","description":"Text label used next to the conversation ID.","uniqueKey":"platform_settings.widget.text_contents.conversation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Conversation Id","description":"Text label used next to the conversation ID.","uniqueKey":"platform_settings.widget.text_contents.conversation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.conversation_id","typeLabel":"string | null"},"error_occurred":{"oneOf":[{"type":"string","title":"Error Occurred","description":"Text label used when an error occurs.","uniqueKey":"platform_settings.widget.text_contents.error_occurred.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error Occurred","description":"Text label used when an error occurs.","uniqueKey":"platform_settings.widget.text_contents.error_occurred.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.error_occurred","typeLabel":"string | null"},"copy_id":{"oneOf":[{"type":"string","title":"Copy Id","description":"Text and ARIA label used for the copy ID button.","uniqueKey":"platform_settings.widget.text_contents.copy_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Copy Id","description":"Text and ARIA label used for the copy ID button.","uniqueKey":"platform_settings.widget.text_contents.copy_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.copy_id","typeLabel":"string | null"},"initiate_feedback":{"oneOf":[{"type":"string","title":"Initiate Feedback","description":"Text displayed to prompt the user for feedback.","uniqueKey":"platform_settings.widget.text_contents.initiate_feedback.oneOf.0","typeLabel":"string"},{"type":"null","title":"Initiate Feedback","description":"Text displayed to prompt the user for feedback.","uniqueKey":"platform_settings.widget.text_contents.initiate_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.initiate_feedback","typeLabel":"string | null"},"request_follow_up_feedback":{"oneOf":[{"type":"string","title":"Request Follow Up Feedback","description":"Text displayed to request additional feedback details.","uniqueKey":"platform_settings.widget.text_contents.request_follow_up_feedback.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Follow Up Feedback","description":"Text displayed to request additional feedback details.","uniqueKey":"platform_settings.widget.text_contents.request_follow_up_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.request_follow_up_feedback","typeLabel":"string | null"},"thanks_for_feedback":{"oneOf":[{"type":"string","title":"Thanks For Feedback","description":"Text displayed to thank the user for providing feedback.","uniqueKey":"platform_settings.widget.text_contents.thanks_for_feedback.oneOf.0","typeLabel":"string"},{"type":"null","title":"Thanks For Feedback","description":"Text displayed to thank the user for providing feedback.","uniqueKey":"platform_settings.widget.text_contents.thanks_for_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.thanks_for_feedback","typeLabel":"string | null"},"thanks_for_feedback_details":{"oneOf":[{"type":"string","title":"Thanks For Feedback Details","description":"Additional text displayed explaining the value of user feedback.","uniqueKey":"platform_settings.widget.text_contents.thanks_for_feedback_details.oneOf.0","typeLabel":"string"},{"type":"null","title":"Thanks For Feedback Details","description":"Additional text displayed explaining the value of user feedback.","uniqueKey":"platform_settings.widget.text_contents.thanks_for_feedback_details.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.thanks_for_feedback_details","typeLabel":"string | null"},"follow_up_feedback_placeholder":{"oneOf":[{"type":"string","title":"Follow Up Feedback Placeholder","description":"Placeholder text for the follow-up feedback input field.","uniqueKey":"platform_settings.widget.text_contents.follow_up_feedback_placeholder.oneOf.0","typeLabel":"string"},{"type":"null","title":"Follow Up Feedback Placeholder","description":"Placeholder text for the follow-up feedback input field.","uniqueKey":"platform_settings.widget.text_contents.follow_up_feedback_placeholder.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.follow_up_feedback_placeholder","typeLabel":"string | null"},"submit":{"oneOf":[{"type":"string","title":"Submit","description":"Text and ARIA label for the submit button.","uniqueKey":"platform_settings.widget.text_contents.submit.oneOf.0","typeLabel":"string"},{"type":"null","title":"Submit","description":"Text and ARIA label for the submit button.","uniqueKey":"platform_settings.widget.text_contents.submit.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.submit","typeLabel":"string | null"},"go_back":{"oneOf":[{"type":"string","title":"Go Back","description":"Text and ARIA label for the go back button.","uniqueKey":"platform_settings.widget.text_contents.go_back.oneOf.0","typeLabel":"string"},{"type":"null","title":"Go Back","description":"Text and ARIA label for the go back button.","uniqueKey":"platform_settings.widget.text_contents.go_back.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.go_back","typeLabel":"string | null"},"send_message":{"oneOf":[{"type":"string","title":"Send Message","description":"Text and ARIA label for the send message button.","uniqueKey":"platform_settings.widget.text_contents.send_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Send Message","description":"Text and ARIA label for the send message button.","uniqueKey":"platform_settings.widget.text_contents.send_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.send_message","typeLabel":"string | null"},"text_mode":{"oneOf":[{"type":"string","title":"Text Mode","description":"Text and ARIA label for the switch to text mode button.","uniqueKey":"platform_settings.widget.text_contents.text_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Text Mode","description":"Text and ARIA label for the switch to text mode button.","uniqueKey":"platform_settings.widget.text_contents.text_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.text_mode","typeLabel":"string | null"},"voice_mode":{"oneOf":[{"type":"string","title":"Voice Mode","description":"Text and ARIA label for the switch to voice mode button.","uniqueKey":"platform_settings.widget.text_contents.voice_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Mode","description":"Text and ARIA label for the switch to voice mode button.","uniqueKey":"platform_settings.widget.text_contents.voice_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.voice_mode","typeLabel":"string | null"},"switched_to_text_mode":{"oneOf":[{"type":"string","title":"Switched To Text Mode","description":"Toast notification displayed when switching to text mode.","uniqueKey":"platform_settings.widget.text_contents.switched_to_text_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Switched To Text Mode","description":"Toast notification displayed when switching to text mode.","uniqueKey":"platform_settings.widget.text_contents.switched_to_text_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.switched_to_text_mode","typeLabel":"string | null"},"switched_to_voice_mode":{"oneOf":[{"type":"string","title":"Switched To Voice Mode","description":"Toast notification displayed when switching to voice mode.","uniqueKey":"platform_settings.widget.text_contents.switched_to_voice_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Switched To Voice Mode","description":"Toast notification displayed when switching to voice mode.","uniqueKey":"platform_settings.widget.text_contents.switched_to_voice_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.switched_to_voice_mode","typeLabel":"string | null"},"copy":{"oneOf":[{"type":"string","title":"Copy","description":"Text and ARIA label for the copy button.","uniqueKey":"platform_settings.widget.text_contents.copy.oneOf.0","typeLabel":"string"},{"type":"null","title":"Copy","description":"Text and ARIA label for the copy button.","uniqueKey":"platform_settings.widget.text_contents.copy.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.copy","typeLabel":"string | null"},"download":{"oneOf":[{"type":"string","title":"Download","description":"Text and ARIA label for the download button.","uniqueKey":"platform_settings.widget.text_contents.download.oneOf.0","typeLabel":"string"},{"type":"null","title":"Download","description":"Text and ARIA label for the download button.","uniqueKey":"platform_settings.widget.text_contents.download.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.download","typeLabel":"string | null"},"wrap":{"oneOf":[{"type":"string","title":"Wrap","description":"Text and ARIA label for the wrap toggle button.","uniqueKey":"platform_settings.widget.text_contents.wrap.oneOf.0","typeLabel":"string"},{"type":"null","title":"Wrap","description":"Text and ARIA label for the wrap toggle button.","uniqueKey":"platform_settings.widget.text_contents.wrap.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.wrap","typeLabel":"string | null"},"agent_working":{"oneOf":[{"type":"string","title":"Agent Working","description":"Status text displayed when the agent is processing a tool call.","uniqueKey":"platform_settings.widget.text_contents.agent_working.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Working","description":"Status text displayed when the agent is processing a tool call.","uniqueKey":"platform_settings.widget.text_contents.agent_working.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.agent_working","typeLabel":"string | null"},"agent_done":{"oneOf":[{"type":"string","title":"Agent Done","description":"Status text displayed when the agent finishes processing a tool call.","uniqueKey":"platform_settings.widget.text_contents.agent_done.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Done","description":"Status text displayed when the agent finishes processing a tool call.","uniqueKey":"platform_settings.widget.text_contents.agent_done.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.agent_done","typeLabel":"string | null"},"agent_error":{"oneOf":[{"type":"string","title":"Agent Error","description":"Status text displayed when the agent encounters an error during a tool call.","uniqueKey":"platform_settings.widget.text_contents.agent_error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Error","description":"Status text displayed when the agent encounters an error during a tool call.","uniqueKey":"platform_settings.widget.text_contents.agent_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.agent_error","typeLabel":"string | null"},"attach_file":{"oneOf":[{"type":"string","title":"Attach File","description":"Text and ARIA label for the attach file button.","uniqueKey":"platform_settings.widget.text_contents.attach_file.oneOf.0","typeLabel":"string"},{"type":"null","title":"Attach File","description":"Text and ARIA label for the attach file button.","uniqueKey":"platform_settings.widget.text_contents.attach_file.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.attach_file","typeLabel":"string | null"},"remove_file":{"oneOf":[{"type":"string","title":"Remove File","description":"ARIA label for the remove file button.","uniqueKey":"platform_settings.widget.text_contents.remove_file.oneOf.0","typeLabel":"string"},{"type":"null","title":"Remove File","description":"ARIA label for the remove file button.","uniqueKey":"platform_settings.widget.text_contents.remove_file.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.remove_file","typeLabel":"string | null"},"file_upload_error":{"oneOf":[{"type":"string","title":"File Upload Error","description":"Error message displayed when a file fails to upload.","uniqueKey":"platform_settings.widget.text_contents.file_upload_error.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Upload Error","description":"Error message displayed when a file fails to upload.","uniqueKey":"platform_settings.widget.text_contents.file_upload_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.file_upload_error","typeLabel":"string | null"},"file_type_unsupported":{"oneOf":[{"type":"string","title":"File Type Unsupported","description":"Error message displayed when an unsupported file type is selected. Followed by the list of accepted types.","uniqueKey":"platform_settings.widget.text_contents.file_type_unsupported.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Type Unsupported","description":"Error message displayed when an unsupported file type is selected. Followed by the list of accepted types.","uniqueKey":"platform_settings.widget.text_contents.file_type_unsupported.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.file_type_unsupported","typeLabel":"string | null"},"file_too_large":{"oneOf":[{"type":"string","title":"File Too Large","description":"Error message displayed when a file exceeds the maximum size limit.","uniqueKey":"platform_settings.widget.text_contents.file_too_large.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Too Large","description":"Error message displayed when a file exceeds the maximum size limit.","uniqueKey":"platform_settings.widget.text_contents.file_too_large.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.file_too_large","typeLabel":"string | null"},"file_limit_reached":{"oneOf":[{"type":"string","title":"File Limit Reached","description":"Error message displayed when the maximum number of files for a conversation is reached.","uniqueKey":"platform_settings.widget.text_contents.file_limit_reached.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Limit Reached","description":"Error message displayed when the maximum number of files for a conversation is reached.","uniqueKey":"platform_settings.widget.text_contents.file_limit_reached.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.file_limit_reached","typeLabel":"string | null"},"typing_indicator":{"oneOf":[{"type":"string","title":"Typing Indicator","description":"Status text displayed while the agent is typing.","uniqueKey":"platform_settings.widget.text_contents.typing_indicator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Typing Indicator","description":"Status text displayed while the agent is typing.","uniqueKey":"platform_settings.widget.text_contents.typing_indicator.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.text_contents.typing_indicator","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","title":"WidgetTextContents","description":"Text contents of the widget","uniqueKey":"platform_settings.widget.text_contents","typeLabel":"WidgetTextContents · object"},"styles":{"properties":{"base":{"oneOf":[{"type":"string","title":"Base","description":"The base background color.","uniqueKey":"platform_settings.widget.styles.base.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base","description":"The base background color.","uniqueKey":"platform_settings.widget.styles.base.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base","typeLabel":"string | null"},"base_hover":{"oneOf":[{"type":"string","title":"Base Hover","description":"The color of the base background when hovered.","uniqueKey":"platform_settings.widget.styles.base_hover.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base Hover","description":"The color of the base background when hovered.","uniqueKey":"platform_settings.widget.styles.base_hover.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base_hover","typeLabel":"string | null"},"base_active":{"oneOf":[{"type":"string","title":"Base Active","description":"The color of the base background when active (clicked).","uniqueKey":"platform_settings.widget.styles.base_active.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base Active","description":"The color of the base background when active (clicked).","uniqueKey":"platform_settings.widget.styles.base_active.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base_active","typeLabel":"string | null"},"base_border":{"oneOf":[{"type":"string","title":"Base Border","description":"The color of the border against the base background.","uniqueKey":"platform_settings.widget.styles.base_border.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base Border","description":"The color of the border against the base background.","uniqueKey":"platform_settings.widget.styles.base_border.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base_border","typeLabel":"string | null"},"base_subtle":{"oneOf":[{"type":"string","title":"Base Subtle","description":"The color of subtle text against the base background.","uniqueKey":"platform_settings.widget.styles.base_subtle.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base Subtle","description":"The color of subtle text against the base background.","uniqueKey":"platform_settings.widget.styles.base_subtle.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base_subtle","typeLabel":"string | null"},"base_primary":{"oneOf":[{"type":"string","title":"Base Primary","description":"The color of primary text against the base background.","uniqueKey":"platform_settings.widget.styles.base_primary.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base Primary","description":"The color of primary text against the base background.","uniqueKey":"platform_settings.widget.styles.base_primary.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base_primary","typeLabel":"string | null"},"base_error":{"oneOf":[{"type":"string","title":"Base Error","description":"The color of error text against the base background.","uniqueKey":"platform_settings.widget.styles.base_error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Base Error","description":"The color of error text against the base background.","uniqueKey":"platform_settings.widget.styles.base_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.base_error","typeLabel":"string | null"},"accent":{"oneOf":[{"type":"string","title":"Accent","description":"The accent background color.","uniqueKey":"platform_settings.widget.styles.accent.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accent","description":"The accent background color.","uniqueKey":"platform_settings.widget.styles.accent.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.accent","typeLabel":"string | null"},"accent_hover":{"oneOf":[{"type":"string","title":"Accent Hover","description":"The color of the accent background when hovered.","uniqueKey":"platform_settings.widget.styles.accent_hover.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accent Hover","description":"The color of the accent background when hovered.","uniqueKey":"platform_settings.widget.styles.accent_hover.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.accent_hover","typeLabel":"string | null"},"accent_active":{"oneOf":[{"type":"string","title":"Accent Active","description":"The color of the accent background when active (clicked).","uniqueKey":"platform_settings.widget.styles.accent_active.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accent Active","description":"The color of the accent background when active (clicked).","uniqueKey":"platform_settings.widget.styles.accent_active.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.accent_active","typeLabel":"string | null"},"accent_border":{"oneOf":[{"type":"string","title":"Accent Border","description":"The color of the border against the accent background.","uniqueKey":"platform_settings.widget.styles.accent_border.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accent Border","description":"The color of the border against the accent background.","uniqueKey":"platform_settings.widget.styles.accent_border.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.accent_border","typeLabel":"string | null"},"accent_subtle":{"oneOf":[{"type":"string","title":"Accent Subtle","description":"The color of subtle text against the accent background.","uniqueKey":"platform_settings.widget.styles.accent_subtle.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accent Subtle","description":"The color of subtle text against the accent background.","uniqueKey":"platform_settings.widget.styles.accent_subtle.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.accent_subtle","typeLabel":"string | null"},"accent_primary":{"oneOf":[{"type":"string","title":"Accent Primary","description":"The color of primary text against the accent background.","uniqueKey":"platform_settings.widget.styles.accent_primary.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accent Primary","description":"The color of primary text against the accent background.","uniqueKey":"platform_settings.widget.styles.accent_primary.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.accent_primary","typeLabel":"string | null"},"overlay_padding":{"oneOf":[{"type":"number","title":"Overlay Padding","description":"The padding around the edges of the viewport.","uniqueKey":"platform_settings.widget.styles.overlay_padding.oneOf.0","typeLabel":"number"},{"type":"null","title":"Overlay Padding","description":"The padding around the edges of the viewport.","uniqueKey":"platform_settings.widget.styles.overlay_padding.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.overlay_padding","typeLabel":"number | null"},"button_radius":{"oneOf":[{"type":"number","title":"Button Radius","description":"The radius of the buttons.","uniqueKey":"platform_settings.widget.styles.button_radius.oneOf.0","typeLabel":"number"},{"type":"null","title":"Button Radius","description":"The radius of the buttons.","uniqueKey":"platform_settings.widget.styles.button_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.button_radius","typeLabel":"number | null"},"input_radius":{"oneOf":[{"type":"number","title":"Input Radius","description":"The radius of the input fields.","uniqueKey":"platform_settings.widget.styles.input_radius.oneOf.0","typeLabel":"number"},{"type":"null","title":"Input Radius","description":"The radius of the input fields.","uniqueKey":"platform_settings.widget.styles.input_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.input_radius","typeLabel":"number | null"},"bubble_radius":{"oneOf":[{"type":"number","title":"Bubble Radius","description":"The radius of the chat bubbles.","uniqueKey":"platform_settings.widget.styles.bubble_radius.oneOf.0","typeLabel":"number"},{"type":"null","title":"Bubble Radius","description":"The radius of the chat bubbles.","uniqueKey":"platform_settings.widget.styles.bubble_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.bubble_radius","typeLabel":"number | null"},"sheet_radius":{"oneOf":[{"type":"number","title":"Sheet Radius","description":"The default radius of sheets.","uniqueKey":"platform_settings.widget.styles.sheet_radius.oneOf.0","typeLabel":"number"},{"type":"null","title":"Sheet Radius","description":"The default radius of sheets.","uniqueKey":"platform_settings.widget.styles.sheet_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.sheet_radius","typeLabel":"number | null"},"compact_sheet_radius":{"oneOf":[{"type":"number","title":"Compact Sheet Radius","description":"The radius of the sheet in compact mode.","uniqueKey":"platform_settings.widget.styles.compact_sheet_radius.oneOf.0","typeLabel":"number"},{"type":"null","title":"Compact Sheet Radius","description":"The radius of the sheet in compact mode.","uniqueKey":"platform_settings.widget.styles.compact_sheet_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.compact_sheet_radius","typeLabel":"number | null"},"dropdown_sheet_radius":{"oneOf":[{"type":"number","title":"Dropdown Sheet Radius","description":"The radius of the dropdown sheet.","uniqueKey":"platform_settings.widget.styles.dropdown_sheet_radius.oneOf.0","typeLabel":"number"},{"type":"null","title":"Dropdown Sheet Radius","description":"The radius of the dropdown sheet.","uniqueKey":"platform_settings.widget.styles.dropdown_sheet_radius.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.styles.dropdown_sheet_radius","typeLabel":"number | null"}},"additionalProperties":false,"type":"object","title":"WidgetStyles","description":"Styles for the widget","uniqueKey":"platform_settings.widget.styles","typeLabel":"WidgetStyles · object"},"show_resize_button":{"type":"boolean","title":"Show Resize Button","description":"Whether to show the resize button","default":true,"uniqueKey":"platform_settings.widget.show_resize_button","typeLabel":"boolean"},"language_selector":{"type":"boolean","title":"Language Selector","description":"Whether to show the language selector","default":false,"uniqueKey":"platform_settings.widget.language_selector","typeLabel":"boolean"},"supports_text_only":{"type":"boolean","title":"Supports Text Only","description":"Whether the widget can switch to text only mode","default":true,"uniqueKey":"platform_settings.widget.supports_text_only","typeLabel":"boolean"},"custom_avatar_path":{"oneOf":[{"type":"string","title":"Custom Avatar Path","description":"The custom avatar path","uniqueKey":"platform_settings.widget.custom_avatar_path.oneOf.0","typeLabel":"string"},{"type":"null","title":"Custom Avatar Path","description":"The custom avatar path","uniqueKey":"platform_settings.widget.custom_avatar_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.custom_avatar_path","typeLabel":"string | null"},"language_presets":{"additionalProperties":{"properties":{"text_contents":{"oneOf":[{"type":"object","title":"WidgetTextContents","description":"The text contents for the selected language","properties":{"main_label":{"oneOf":[{"type":"string","title":"Main Label","description":"Call to action displayed inside the compact and full variants.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.main_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Main Label","description":"Call to action displayed inside the compact and full variants.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.main_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.main_label","typeLabel":"string | null"},"start_call":{"oneOf":[{"type":"string","title":"Start Call","description":"Text and ARIA label for the start call button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.start_call.oneOf.0","typeLabel":"string"},{"type":"null","title":"Start Call","description":"Text and ARIA label for the start call button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.start_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.start_call","typeLabel":"string | null"},"start_chat":{"oneOf":[{"type":"string","title":"Start Chat","description":"Text and ARIA label for the start chat button (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.start_chat.oneOf.0","typeLabel":"string"},{"type":"null","title":"Start Chat","description":"Text and ARIA label for the start chat button (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.start_chat.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.start_chat","typeLabel":"string | null"},"new_call":{"oneOf":[{"type":"string","title":"New Call","description":"Text and ARIA label for the new call button. Displayed when the caller already finished at least one call in order ot start the next one.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.new_call.oneOf.0","typeLabel":"string"},{"type":"null","title":"New Call","description":"Text and ARIA label for the new call button. Displayed when the caller already finished at least one call in order ot start the next one.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.new_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.new_call","typeLabel":"string | null"},"end_call":{"oneOf":[{"type":"string","title":"End Call","description":"Text and ARIA label for the end call button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.end_call.oneOf.0","typeLabel":"string"},{"type":"null","title":"End Call","description":"Text and ARIA label for the end call button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.end_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.end_call","typeLabel":"string | null"},"mute_microphone":{"oneOf":[{"type":"string","title":"Mute Microphone","description":"ARIA label for the mute microphone button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.mute_microphone.oneOf.0","typeLabel":"string"},{"type":"null","title":"Mute Microphone","description":"ARIA label for the mute microphone button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.mute_microphone.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.mute_microphone","typeLabel":"string | null"},"change_language":{"oneOf":[{"type":"string","title":"Change Language","description":"ARIA label for the change language dropdown.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.change_language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Change Language","description":"ARIA label for the change language dropdown.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.change_language.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.change_language","typeLabel":"string | null"},"collapse":{"oneOf":[{"type":"string","title":"Collapse","description":"ARIA label for the collapse button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.collapse.oneOf.0","typeLabel":"string"},{"type":"null","title":"Collapse","description":"ARIA label for the collapse button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.collapse.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.collapse","typeLabel":"string | null"},"expand":{"oneOf":[{"type":"string","title":"Expand","description":"ARIA label for the expand button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.expand.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expand","description":"ARIA label for the expand button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.expand.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.expand","typeLabel":"string | null"},"copied":{"oneOf":[{"type":"string","title":"Copied","description":"Text displayed when the user copies a value using the copy button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copied.oneOf.0","typeLabel":"string"},{"type":"null","title":"Copied","description":"Text displayed when the user copies a value using the copy button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copied.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copied","typeLabel":"string | null"},"accept_terms":{"oneOf":[{"type":"string","title":"Accept Terms","description":"Text and ARIA label for the accept terms button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.accept_terms.oneOf.0","typeLabel":"string"},{"type":"null","title":"Accept Terms","description":"Text and ARIA label for the accept terms button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.accept_terms.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.accept_terms","typeLabel":"string | null"},"dismiss_terms":{"oneOf":[{"type":"string","title":"Dismiss Terms","description":"Text and ARIA label for the cancel terms button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.dismiss_terms.oneOf.0","typeLabel":"string"},{"type":"null","title":"Dismiss Terms","description":"Text and ARIA label for the cancel terms button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.dismiss_terms.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.dismiss_terms","typeLabel":"string | null"},"listening_status":{"oneOf":[{"type":"string","title":"Listening Status","description":"Status displayed when the agent is listening.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.listening_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Listening Status","description":"Status displayed when the agent is listening.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.listening_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.listening_status","typeLabel":"string | null"},"speaking_status":{"oneOf":[{"type":"string","title":"Speaking Status","description":"Status displayed when the agent is speaking.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.speaking_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Speaking Status","description":"Status displayed when the agent is speaking.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.speaking_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.speaking_status","typeLabel":"string | null"},"connecting_status":{"oneOf":[{"type":"string","title":"Connecting Status","description":"Status displayed when the agent is connecting.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.connecting_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Connecting Status","description":"Status displayed when the agent is connecting.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.connecting_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.connecting_status","typeLabel":"string | null"},"chatting_status":{"oneOf":[{"type":"string","title":"Chatting Status","description":"Status displayed when the agent is chatting (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.chatting_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Chatting Status","description":"Status displayed when the agent is chatting (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.chatting_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.chatting_status","typeLabel":"string | null"},"input_label":{"oneOf":[{"type":"string","title":"Input Label","description":"ARIA label for the text message input.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Label","description":"ARIA label for the text message input.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_label","typeLabel":"string | null"},"input_placeholder":{"oneOf":[{"type":"string","title":"Input Placeholder","description":"Placeholder text for the text message input.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Placeholder","description":"Placeholder text for the text message input.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder","typeLabel":"string | null"},"input_placeholder_text_only":{"oneOf":[{"type":"string","title":"Input Placeholder Text Only","description":"Placeholder text for the text message input (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder_text_only.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Placeholder Text Only","description":"Placeholder text for the text message input (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder_text_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder_text_only","typeLabel":"string | null"},"input_placeholder_new_conversation":{"oneOf":[{"type":"string","title":"Input Placeholder New Conversation","description":"Placeholder text for the text message input when starting a new conversation (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder_new_conversation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Placeholder New Conversation","description":"Placeholder text for the text message input when starting a new conversation (text only)","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder_new_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.input_placeholder_new_conversation","typeLabel":"string | null"},"user_ended_conversation":{"oneOf":[{"type":"string","title":"User Ended Conversation","description":"Information message displayed when the user ends the conversation.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.user_ended_conversation.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Ended Conversation","description":"Information message displayed when the user ends the conversation.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.user_ended_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.user_ended_conversation","typeLabel":"string | null"},"agent_ended_conversation":{"oneOf":[{"type":"string","title":"Agent Ended Conversation","description":"Information message displayed when the agent ends the conversation.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_ended_conversation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Ended Conversation","description":"Information message displayed when the agent ends the conversation.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_ended_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_ended_conversation","typeLabel":"string | null"},"conversation_id":{"oneOf":[{"type":"string","title":"Conversation Id","description":"Text label used next to the conversation ID.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.conversation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Conversation Id","description":"Text label used next to the conversation ID.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.conversation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.conversation_id","typeLabel":"string | null"},"error_occurred":{"oneOf":[{"type":"string","title":"Error Occurred","description":"Text label used when an error occurs.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.error_occurred.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error Occurred","description":"Text label used when an error occurs.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.error_occurred.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.error_occurred","typeLabel":"string | null"},"copy_id":{"oneOf":[{"type":"string","title":"Copy Id","description":"Text and ARIA label used for the copy ID button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copy_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Copy Id","description":"Text and ARIA label used for the copy ID button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copy_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copy_id","typeLabel":"string | null"},"initiate_feedback":{"oneOf":[{"type":"string","title":"Initiate Feedback","description":"Text displayed to prompt the user for feedback.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.initiate_feedback.oneOf.0","typeLabel":"string"},{"type":"null","title":"Initiate Feedback","description":"Text displayed to prompt the user for feedback.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.initiate_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.initiate_feedback","typeLabel":"string | null"},"request_follow_up_feedback":{"oneOf":[{"type":"string","title":"Request Follow Up Feedback","description":"Text displayed to request additional feedback details.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.request_follow_up_feedback.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Follow Up Feedback","description":"Text displayed to request additional feedback details.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.request_follow_up_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.request_follow_up_feedback","typeLabel":"string | null"},"thanks_for_feedback":{"oneOf":[{"type":"string","title":"Thanks For Feedback","description":"Text displayed to thank the user for providing feedback.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.thanks_for_feedback.oneOf.0","typeLabel":"string"},{"type":"null","title":"Thanks For Feedback","description":"Text displayed to thank the user for providing feedback.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.thanks_for_feedback.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.thanks_for_feedback","typeLabel":"string | null"},"thanks_for_feedback_details":{"oneOf":[{"type":"string","title":"Thanks For Feedback Details","description":"Additional text displayed explaining the value of user feedback.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.thanks_for_feedback_details.oneOf.0","typeLabel":"string"},{"type":"null","title":"Thanks For Feedback Details","description":"Additional text displayed explaining the value of user feedback.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.thanks_for_feedback_details.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.thanks_for_feedback_details","typeLabel":"string | null"},"follow_up_feedback_placeholder":{"oneOf":[{"type":"string","title":"Follow Up Feedback Placeholder","description":"Placeholder text for the follow-up feedback input field.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.follow_up_feedback_placeholder.oneOf.0","typeLabel":"string"},{"type":"null","title":"Follow Up Feedback Placeholder","description":"Placeholder text for the follow-up feedback input field.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.follow_up_feedback_placeholder.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.follow_up_feedback_placeholder","typeLabel":"string | null"},"submit":{"oneOf":[{"type":"string","title":"Submit","description":"Text and ARIA label for the submit button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.submit.oneOf.0","typeLabel":"string"},{"type":"null","title":"Submit","description":"Text and ARIA label for the submit button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.submit.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.submit","typeLabel":"string | null"},"go_back":{"oneOf":[{"type":"string","title":"Go Back","description":"Text and ARIA label for the go back button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.go_back.oneOf.0","typeLabel":"string"},{"type":"null","title":"Go Back","description":"Text and ARIA label for the go back button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.go_back.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.go_back","typeLabel":"string | null"},"send_message":{"oneOf":[{"type":"string","title":"Send Message","description":"Text and ARIA label for the send message button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.send_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Send Message","description":"Text and ARIA label for the send message button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.send_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.send_message","typeLabel":"string | null"},"text_mode":{"oneOf":[{"type":"string","title":"Text Mode","description":"Text and ARIA label for the switch to text mode button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.text_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Text Mode","description":"Text and ARIA label for the switch to text mode button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.text_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.text_mode","typeLabel":"string | null"},"voice_mode":{"oneOf":[{"type":"string","title":"Voice Mode","description":"Text and ARIA label for the switch to voice mode button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.voice_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Mode","description":"Text and ARIA label for the switch to voice mode button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.voice_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.voice_mode","typeLabel":"string | null"},"switched_to_text_mode":{"oneOf":[{"type":"string","title":"Switched To Text Mode","description":"Toast notification displayed when switching to text mode.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.switched_to_text_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Switched To Text Mode","description":"Toast notification displayed when switching to text mode.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.switched_to_text_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.switched_to_text_mode","typeLabel":"string | null"},"switched_to_voice_mode":{"oneOf":[{"type":"string","title":"Switched To Voice Mode","description":"Toast notification displayed when switching to voice mode.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.switched_to_voice_mode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Switched To Voice Mode","description":"Toast notification displayed when switching to voice mode.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.switched_to_voice_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.switched_to_voice_mode","typeLabel":"string | null"},"copy":{"oneOf":[{"type":"string","title":"Copy","description":"Text and ARIA label for the copy button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copy.oneOf.0","typeLabel":"string"},{"type":"null","title":"Copy","description":"Text and ARIA label for the copy button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copy.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.copy","typeLabel":"string | null"},"download":{"oneOf":[{"type":"string","title":"Download","description":"Text and ARIA label for the download button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.download.oneOf.0","typeLabel":"string"},{"type":"null","title":"Download","description":"Text and ARIA label for the download button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.download.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.download","typeLabel":"string | null"},"wrap":{"oneOf":[{"type":"string","title":"Wrap","description":"Text and ARIA label for the wrap toggle button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.wrap.oneOf.0","typeLabel":"string"},{"type":"null","title":"Wrap","description":"Text and ARIA label for the wrap toggle button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.wrap.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.wrap","typeLabel":"string | null"},"agent_working":{"oneOf":[{"type":"string","title":"Agent Working","description":"Status text displayed when the agent is processing a tool call.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_working.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Working","description":"Status text displayed when the agent is processing a tool call.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_working.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_working","typeLabel":"string | null"},"agent_done":{"oneOf":[{"type":"string","title":"Agent Done","description":"Status text displayed when the agent finishes processing a tool call.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_done.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Done","description":"Status text displayed when the agent finishes processing a tool call.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_done.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_done","typeLabel":"string | null"},"agent_error":{"oneOf":[{"type":"string","title":"Agent Error","description":"Status text displayed when the agent encounters an error during a tool call.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Error","description":"Status text displayed when the agent encounters an error during a tool call.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.agent_error","typeLabel":"string | null"},"attach_file":{"oneOf":[{"type":"string","title":"Attach File","description":"Text and ARIA label for the attach file button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.attach_file.oneOf.0","typeLabel":"string"},{"type":"null","title":"Attach File","description":"Text and ARIA label for the attach file button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.attach_file.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.attach_file","typeLabel":"string | null"},"remove_file":{"oneOf":[{"type":"string","title":"Remove File","description":"ARIA label for the remove file button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.remove_file.oneOf.0","typeLabel":"string"},{"type":"null","title":"Remove File","description":"ARIA label for the remove file button.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.remove_file.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.remove_file","typeLabel":"string | null"},"file_upload_error":{"oneOf":[{"type":"string","title":"File Upload Error","description":"Error message displayed when a file fails to upload.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_upload_error.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Upload Error","description":"Error message displayed when a file fails to upload.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_upload_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_upload_error","typeLabel":"string | null"},"file_type_unsupported":{"oneOf":[{"type":"string","title":"File Type Unsupported","description":"Error message displayed when an unsupported file type is selected. Followed by the list of accepted types.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_type_unsupported.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Type Unsupported","description":"Error message displayed when an unsupported file type is selected. Followed by the list of accepted types.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_type_unsupported.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_type_unsupported","typeLabel":"string | null"},"file_too_large":{"oneOf":[{"type":"string","title":"File Too Large","description":"Error message displayed when a file exceeds the maximum size limit.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_too_large.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Too Large","description":"Error message displayed when a file exceeds the maximum size limit.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_too_large.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_too_large","typeLabel":"string | null"},"file_limit_reached":{"oneOf":[{"type":"string","title":"File Limit Reached","description":"Error message displayed when the maximum number of files for a conversation is reached.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_limit_reached.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Limit Reached","description":"Error message displayed when the maximum number of files for a conversation is reached.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_limit_reached.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.file_limit_reached","typeLabel":"string | null"},"typing_indicator":{"oneOf":[{"type":"string","title":"Typing Indicator","description":"Status text displayed while the agent is typing.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.typing_indicator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Typing Indicator","description":"Status text displayed while the agent is typing.","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.typing_indicator.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0.typing_indicator","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.0","typeLabel":"WidgetTextContents · object"},{"type":"null","description":"The text contents for the selected language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents","typeLabel":"WidgetTextContents · object | null"},"text_contents_translation":{"oneOf":[{"type":"object","title":"WidgetTextContentsTranslation","description":"The translation cache for the text contents","properties":{"source":{"additionalProperties":{"type":"string","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation.oneOf.0.source.additionalProperties","typeLabel":"string"},"type":"object","title":"Source","description":"The source text each translated field was derived from","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation.oneOf.0.source","typeLabel":"Source · object"},"text":{"additionalProperties":{"type":"string","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation.oneOf.0.text.additionalProperties","typeLabel":"string"},"type":"object","title":"Text","description":"The last auto-translated output for each translated field","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation.oneOf.0.text","typeLabel":"Text · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation.oneOf.0","typeLabel":"WidgetTextContentsTranslation · object"},{"type":"null","description":"The translation cache for the text contents","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.text_contents_translation","typeLabel":"WidgetTextContentsTranslation · object | null"},"terms_text":{"oneOf":[{"type":"string","title":"Terms Text","description":"The text to display for terms and conditions in this language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Terms Text","description":"The text to display for terms and conditions in this language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_text","typeLabel":"string | null"},"terms_html":{"oneOf":[{"type":"string","title":"Terms Html","description":"The HTML to display for terms and conditions in this language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_html.oneOf.0","typeLabel":"string"},{"type":"null","title":"Terms Html","description":"The HTML to display for terms and conditions in this language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_html.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_html","typeLabel":"string | null"},"terms_key":{"oneOf":[{"type":"string","title":"Terms Key","description":"The key to display for terms and conditions in this language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_key.oneOf.0","typeLabel":"string"},{"type":"null","title":"Terms Key","description":"The key to display for terms and conditions in this language","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_key","typeLabel":"string | null"},"terms_translation":{"oneOf":[{"type":"object","title":"WidgetTermsTranslation","description":"The translation cache for the terms","required":["source_hash","text"],"properties":{"source_hash":{"type":"string","title":"Source Hash","isRequired":true,"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_translation.oneOf.0.source_hash","typeLabel":"string"},"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_translation.oneOf.0.text","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_translation.oneOf.0","typeLabel":"WidgetTermsTranslation · object"},{"type":"null","description":"The translation cache for the terms","uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_translation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.widget.language_presets.additionalProperties.terms_translation","typeLabel":"WidgetTermsTranslation · object | null"}},"additionalProperties":false,"type":"object","title":"WidgetLanguagePreset","uniqueKey":"platform_settings.widget.language_presets.additionalProperties","typeLabel":"WidgetLanguagePreset · object"},"type":"object","title":"Language Presets","description":"Language presets for the widget","uniqueKey":"platform_settings.widget.language_presets","typeLabel":"Language Presets · object"}},"additionalProperties":false,"type":"object","title":"WidgetConfig","example":{"custom_avatar_path":"https://example.com/avatar.png","language_selector":false},"description":"Configuration for the widget","uniqueKey":"platform_settings.widget","typeLabel":"WidgetConfig · object"},"data_collection":{"additionalProperties":{"properties":{"type":{"type":"string","enum":["boolean","string","integer","number"],"title":"Type","isRequired":true,"uniqueKey":"platform_settings.data_collection.additionalProperties.type","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.description","typeLabel":"string"},"enum":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"platform_settings.data_collection.additionalProperties.enum.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"platform_settings.data_collection.additionalProperties.enum.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"platform_settings.data_collection.additionalProperties.enum.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.data_collection.additionalProperties.enum","typeLabel":"string[] | null"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"platform_settings.data_collection.additionalProperties.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.dynamic_variable","typeLabel":"string"},"allowed_values":{"oneOf":[{"type":"object","title":"AllowedValues","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","required":["dynamic_variable"],"properties":{"dynamic_variable":{"type":"string","minLength":1,"title":"Dynamic Variable","description":"Name of a dynamic variable that must resolve to a JSON array of permitted values, e.g. [\"ws_alpha\", \"ws_beta\"]. System variables work only if they resolve to a list.","isRequired":true,"uniqueKey":"platform_settings.data_collection.additionalProperties.allowed_values.oneOf.0.dynamic_variable","typeLabel":"string"}},"uniqueKey":"platform_settings.data_collection.additionalProperties.allowed_values.oneOf.0","typeLabel":"AllowedValues · object"},{"type":"null","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"platform_settings.data_collection.additionalProperties.allowed_values.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.data_collection.additionalProperties.allowed_values","typeLabel":"AllowedValues · object | null"},"constant_value":{"oneOf":[{"type":"string","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.constant_value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.constant_value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.constant_value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.constant_value.oneOf.3","typeLabel":"boolean"},{"type":"null","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"platform_settings.data_collection.additionalProperties.constant_value.oneOf.4","typeLabel":"null"}],"uniqueKey":"platform_settings.data_collection.additionalProperties.constant_value","typeLabel":"string | integer | number | boolean | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"platform_settings.data_collection.additionalProperties.is_omitted","typeLabel":"boolean"},"name":{"oneOf":[{"type":"string","title":"Name","description":"The name of this data collection item.","uniqueKey":"platform_settings.data_collection.additionalProperties.name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","description":"The name of this data collection item.","uniqueKey":"platform_settings.data_collection.additionalProperties.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.data_collection.additionalProperties.name","typeLabel":"string | null"},"llm":{"oneOf":[{"type":"string","title":"LLM","description":"LLM model to use for this analysis item. If not set, uses agent's analysis_llm default.","enum":["gpt-4o-mini","gpt-4o","gpt-4","gpt-4-turbo","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5.1","gpt-5.2","gpt-5.2-chat-latest","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-6-astra","gpt-6-sol","gpt-6-luna","gpt-5-mini","gpt-5-nano","gpt-3.5-turbo","gemini-1.5-pro","gemini-1.5-flash","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-pro-preview","gemini-3-flash-preview","gemini-3.1-pro-preview","gemini-3.1-flash-lite-preview","gemini-3.1-flash-lite","gemini-3.5-flash","gemini-3.5-flash-lite","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","claude-sonnet-4-5","claude-opus-4-7","claude-opus-4-8","claude-opus-5","claude-opus-5-5","claude-sonnet-4-6","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-4","claude-haiku-4-5","claude-3-7-sonnet","claude-3-5-sonnet","claude-3-5-sonnet-v1","claude-3-haiku","grok-beta","custom-llm","qwen3-4b","qwen3-30b-a3b","qwen36-35b-a3b","qwen35-397b-a17b","gpt-oss-20b","gpt-oss-120b","glm-45-air-fp8","glm-52","deepseek-v41-flash","gemini-2.5-flash-preview-09-2025","gemini-2.5-flash-lite-preview-09-2025","gemini-2.5-flash-preview-05-20","gemini-2.5-flash-preview-04-17","gemini-2.5-flash-lite-preview-06-17","gemini-2.0-flash-lite-001","gemini-2.0-flash-001","gemini-1.5-flash-002","gemini-1.5-flash-001","gemini-1.5-pro-002","gemini-1.5-pro-001","claude-sonnet-4@20250514","claude-sonnet-4-5@20250929","claude-haiku-4-5@20251001","claude-3-7-sonnet@20250219","claude-3-5-sonnet@20240620","claude-3-5-sonnet-v2@20241022","claude-3-haiku@20240307","gpt-5-2025-08-07","gpt-5.1-2025-11-13","gpt-5.2-2025-12-11","gpt-5.4-2026-03-05","gpt-5.4-mini-2026-03-17","gpt-5.4-nano-2026-03-17","gpt-5.5-2026-04-23","gpt-5-mini-2025-08-07","gpt-5-nano-2025-08-07","gpt-4.1-2025-04-14","gpt-4.1-mini-2025-04-14","gpt-4.1-nano-2025-04-14","gpt-4o-mini-2024-07-18","gpt-4o-2024-11-20","gpt-4o-2024-08-06","gpt-4o-2024-05-13","gpt-4-0613","gpt-4-0314","gpt-4-turbo-2024-04-09","gpt-3.5-turbo-0125","gpt-3.5-turbo-1106","watt-tool-8b","watt-tool-70b"],"uniqueKey":"platform_settings.data_collection.additionalProperties.llm.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"LLM model to use for this analysis item. If not set, uses agent's analysis_llm default.","uniqueKey":"platform_settings.data_collection.additionalProperties.llm.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.data_collection.additionalProperties.llm","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"type":"object","required":["type"],"title":"AnalysisProperty","description":"Primitive data collection property with an optional per-item LLM override for post-call analysis.","example":{"constant_value":"","description":"My property","dynamic_variable":"","is_system_provided":false,"type":"string"},"uniqueKey":"platform_settings.data_collection.additionalProperties","typeLabel":"AnalysisProperty · object"},"type":"object","title":"Data Collection","description":"Data collection settings","uniqueKey":"platform_settings.data_collection","typeLabel":"Data Collection · object"},"data_collection_scopes":{"additionalProperties":{"type":"string","enum":["conversation","agent"],"title":"AnalysisScope","default":"conversation","uniqueKey":"platform_settings.data_collection_scopes.additionalProperties","typeLabel":"enum\u003cstring>"},"type":"object","title":"Data Collection Scopes","description":"Scope per data collection item ID. Missing keys default to conversation scope.","uniqueKey":"platform_settings.data_collection_scopes","typeLabel":"Data Collection Scopes · object"},"analysis_items":{"oneOf":[{"type":"object","title":"AgentAnalysisItems","description":"Evaluation + data-collection items attached by reference. None means the agent has not been migrated onto analysis items yet (distinct from an empty, migrated set); reads fall back to the legacy evaluation/data_collection fields in that case.","properties":{"evaluation_criteria":{"items":{"oneOf":[{"type":"object","title":"AttachedUserEvaluationRef","required":["source","analysis_item_id"],"properties":{"source":{"type":"string","const":"user","title":"Source","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.source","typeLabel":"string"},"analysis_item_id":{"type":"string","title":"Analysis Item Id","description":"Id of the referenced user evaluation item.","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.analysis_item_id","typeLabel":"string"},"version_id":{"oneOf":[{"type":"string","title":"Version Id","description":"Primary item version whose result feeds scoring. None tracks the item's latest published version.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.version_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Version Id","description":"Primary item version whose result feeds scoring. None tracks the item's latest published version.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.version_id","typeLabel":"string | null"},"additional_version_ids":{"items":{"type":"string","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.additional_version_ids.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Additional Version Ids","description":"Extra item versions to also run for comparison (A/B). These are executed and stored but excluded from scoring; the primary version_id is the one that scores.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.additional_version_ids","typeLabel":"string[]"},"scope":{"type":"string","enum":["conversation","agent"],"title":"AnalysisScope","default":"conversation","description":"Transcript context ('conversation' or 'agent') used when running this item.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.scope","typeLabel":"enum\u003cstring>"},"weight":{"oneOf":[{"type":"number","title":"Weight","description":"Optional relative weight for aggregate scoring.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.weight.oneOf.0","typeLabel":"number"},{"type":"null","title":"Weight","description":"Optional relative weight for aggregate scoring.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.weight.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0.weight","typeLabel":"number | null"}},"additionalProperties":false,"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.0","typeLabel":"AttachedUserEvaluationRef · object"},{"type":"object","title":"AttachedSystemEvaluationRef","required":["source","analysis_item_id"],"properties":{"source":{"type":"string","const":"system","title":"Source","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1.source","typeLabel":"string"},"analysis_item_id":{"type":"string","enum":["__system_eval_criteria_sentiment","__system_eval_criteria_frustration"],"title":"Analysis Item Id","description":"Id of the referenced built-in system evaluation.","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1.analysis_item_id","typeLabel":"enum\u003cstring>"},"scope":{"type":"string","enum":["conversation","agent"],"title":"AnalysisScope","default":"conversation","description":"Transcript context ('conversation' or 'agent') used when running this item.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1.scope","typeLabel":"enum\u003cstring>"},"weight":{"oneOf":[{"type":"number","title":"Weight","description":"Optional relative weight for aggregate scoring.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1.weight.oneOf.0","typeLabel":"number"},{"type":"null","title":"Weight","description":"Optional relative weight for aggregate scoring.","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1.weight.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1.weight","typeLabel":"number | null"}},"additionalProperties":false,"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX].oneOf.1","typeLabel":"AttachedSystemEvaluationRef · object"}],"uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria.items.[INDEX]","typeLabel":"AttachedUserEvaluationRef · object | AttachedSystemEvaluationRef · object"},"type":"array","title":"Evaluation Criteria","uniqueKey":"platform_settings.analysis_items.oneOf.0.evaluation_criteria","typeLabel":"(AttachedUserEvaluationRef · object | AttachedSystemEvaluationRef · object)[]"},"data_collection":{"items":{"oneOf":[{"type":"object","title":"AttachedUserDataCollectionRef","required":["source","analysis_item_id"],"properties":{"source":{"type":"string","const":"user","title":"Source","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0.source","typeLabel":"string"},"analysis_item_id":{"type":"string","title":"Analysis Item Id","description":"Id of the referenced user data-collection item.","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0.analysis_item_id","typeLabel":"string"},"version_id":{"oneOf":[{"type":"string","title":"Version Id","description":"Pinned item version. None tracks the item's latest published version.","uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0.version_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Version Id","description":"Pinned item version. None tracks the item's latest published version.","uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0.version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0.version_id","typeLabel":"string | null"},"scope":{"type":"string","enum":["conversation","agent"],"title":"AnalysisScope","default":"conversation","description":"Transcript context ('conversation' or 'agent') used when running this item.","uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0.scope","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.0","typeLabel":"AttachedUserDataCollectionRef · object"},{"type":"object","title":"AttachedSystemDataCollectionRef","required":["source","analysis_item_id"],"properties":{"source":{"type":"string","const":"system","title":"Source","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.1.source","typeLabel":"string"},"analysis_item_id":{"type":"string","const":"__system_data_collection_topic","title":"Analysis Item Id","description":"Id of the referenced built-in system data-collection item.","isRequired":true,"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.1.analysis_item_id","typeLabel":"string"},"scope":{"type":"string","enum":["conversation","agent"],"title":"AnalysisScope","default":"conversation","description":"Transcript context ('conversation' or 'agent') used when running this item.","uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.1.scope","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX].oneOf.1","typeLabel":"AttachedSystemDataCollectionRef · object"}],"uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection.items.[INDEX]","typeLabel":"AttachedUserDataCollectionRef · object | AttachedSystemDataCollectionRef · object"},"type":"array","title":"Data Collection","uniqueKey":"platform_settings.analysis_items.oneOf.0.data_collection","typeLabel":"(AttachedUserDataCollectionRef · object | AttachedSystemDataCollectionRef · object)[]"}},"additionalProperties":false,"uniqueKey":"platform_settings.analysis_items.oneOf.0","typeLabel":"AgentAnalysisItems · object"},{"type":"null","description":"Evaluation + data-collection items attached by reference. None means the agent has not been migrated onto analysis items yet (distinct from an empty, migrated set); reads fall back to the legacy evaluation/data_collection fields in that case.","uniqueKey":"platform_settings.analysis_items.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.analysis_items","typeLabel":"AgentAnalysisItems · object | null"},"overrides":{"properties":{"conversation_config_override":{"oneOf":[{"type":"object","title":"ConversationConfigClientOverrideConfig","description":"Overrides for the conversation configuration","properties":{"turn":{"oneOf":[{"type":"object","title":"TurnConfigOverrideConfig","description":"Configures overrides for nested fields.","properties":{"soft_timeout_config":{"oneOf":[{"type":"object","title":"SoftTimeoutConfigOverrideConfig","description":"Configures overrides for nested fields.","properties":{"message":{"type":"boolean","title":"Message","description":"Whether to allow overriding the message field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.0.soft_timeout_config.oneOf.0.message","typeLabel":"boolean"},"additional_soft_timeout_messages":{"type":"boolean","title":"Additional Soft Timeout Messages","description":"Whether to allow overriding the additional_soft_timeout_messages field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.0.soft_timeout_config.oneOf.0","typeLabel":"SoftTimeoutConfigOverrideConfig · object"},{"type":"null","description":"Configures overrides for nested fields.","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.0.soft_timeout_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.0.soft_timeout_config","typeLabel":"SoftTimeoutConfigOverrideConfig · object | null"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.0","typeLabel":"TurnConfigOverrideConfig · object"},{"type":"null","description":"Configures overrides for nested fields.","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.turn","typeLabel":"TurnConfigOverrideConfig · object | null"},"tts":{"oneOf":[{"type":"object","title":"TTSConversationalConfigOverrideConfig","description":"Configures overrides for nested fields.","properties":{"voice_id":{"type":"boolean","title":"Voice Id","description":"Whether to allow overriding the voice_id field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.tts.oneOf.0.voice_id","typeLabel":"boolean"},"pronunciation_dictionary_locators":{"type":"boolean","title":"Pronunciation Dictionary Locators","description":"Whether to allow overriding the pronunciation_dictionary_locators field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.tts.oneOf.0.pronunciation_dictionary_locators","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.tts.oneOf.0","typeLabel":"TTSConversationalConfigOverrideConfig · object"},{"type":"null","description":"Configures overrides for nested fields.","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.tts.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.tts","typeLabel":"TTSConversationalConfigOverrideConfig · object | null"},"conversation":{"oneOf":[{"type":"object","title":"ConversationConfigOverrideConfig","description":"Configures overrides for nested fields.","properties":{"text_only":{"type":"boolean","title":"Text Only","description":"Whether to allow overriding the text_only field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.conversation.oneOf.0.text_only","typeLabel":"boolean"},"max_duration_seconds":{"type":"boolean","title":"Max Duration Seconds","description":"Whether to allow overriding the max_duration_seconds field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.conversation.oneOf.0.max_duration_seconds","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.conversation.oneOf.0","typeLabel":"ConversationConfigOverrideConfig · object"},{"type":"null","description":"Configures overrides for nested fields.","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.conversation","typeLabel":"ConversationConfigOverrideConfig · object | null"},"agent":{"oneOf":[{"type":"object","title":"AgentConfigOverrideConfig","description":"Configures overrides for nested fields.","properties":{"first_message":{"type":"boolean","title":"First Message","description":"Whether to allow overriding the first_message field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.first_message","typeLabel":"boolean"},"language":{"type":"boolean","title":"Language","description":"Whether to allow overriding the language field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.language","typeLabel":"boolean"},"max_conversation_duration_message":{"type":"boolean","title":"Max Conversation Duration Message","description":"Whether to allow overriding the max_conversation_duration_message field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.max_conversation_duration_message","typeLabel":"boolean"},"prompt":{"oneOf":[{"type":"object","title":"PromptAgentAPIModelOverrideConfig","description":"Configures overrides for nested fields.","properties":{"prompt":{"type":"boolean","title":"Prompt","description":"Whether to allow overriding the prompt field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.0.prompt","typeLabel":"boolean"},"llm":{"type":"boolean","title":"Llm","description":"Whether to allow overriding the llm field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.0.llm","typeLabel":"boolean"},"tool_ids":{"type":"boolean","title":"Tool Ids","description":"Whether to allow overriding the tool_ids field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.0.tool_ids","typeLabel":"boolean"},"native_mcp_server_ids":{"type":"boolean","title":"Native Mcp Server Ids","description":"Whether to allow overriding the native_mcp_server_ids field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.0.native_mcp_server_ids","typeLabel":"boolean"},"knowledge_base":{"type":"boolean","title":"Knowledge Base","description":"Whether to allow overriding the knowledge_base field.","default":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.0.knowledge_base","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.0","typeLabel":"PromptAgentAPIModelOverrideConfig · object"},{"type":"null","description":"Configures overrides for nested fields.","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0.prompt","typeLabel":"PromptAgentAPIModelOverrideConfig · object | null"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.0","typeLabel":"AgentConfigOverrideConfig · object"},{"type":"null","description":"Configures overrides for nested fields.","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0.agent","typeLabel":"AgentConfigOverrideConfig · object | null"}},"additionalProperties":false,"uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.0","typeLabel":"ConversationConfigClientOverrideConfig · object"},{"type":"null","description":"Overrides for the conversation configuration","uniqueKey":"platform_settings.overrides.conversation_config_override.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.overrides.conversation_config_override","typeLabel":"ConversationConfigClientOverrideConfig · object | null"},"custom_llm_extra_body":{"type":"boolean","title":"Custom Llm Extra Body","description":"Whether to include custom LLM extra body","default":false,"uniqueKey":"platform_settings.overrides.custom_llm_extra_body","typeLabel":"boolean"},"enable_conversation_initiation_client_data_from_webhook":{"type":"boolean","title":"Enable Conversation Initiation Client Data From Webhook","description":"Whether to enable conversation initiation client data from webhooks","default":false,"uniqueKey":"platform_settings.overrides.enable_conversation_initiation_client_data_from_webhook","typeLabel":"boolean"},"enable_starting_workflow_node_id_from_client":{"type":"boolean","title":"Enable Starting Workflow Node Id From Client","description":"Whether clients may pass starting_workflow_node_id in initiation client data; if false, sending it fails conversation start.","default":false,"uniqueKey":"platform_settings.overrides.enable_starting_workflow_node_id_from_client","typeLabel":"boolean"},"enable_procedure_ids_from_client":{"type":"boolean","title":"Enable Procedure Ids From Client","description":"Whether clients may pass procedure_ids in initiation client data to select which of the agent's procedures are available for the conversation; if false, sending it fails conversation start.","default":false,"uniqueKey":"platform_settings.overrides.enable_procedure_ids_from_client","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"ConversationInitiationClientDataConfig","example":{"custom_llm_extra_body":true,"enable_conversation_initiation_client_data_from_webhook":true,"enable_procedure_ids_from_client":true,"enable_starting_workflow_node_id_from_client":true},"description":"Additional overrides for the agent during conversation initiation","uniqueKey":"platform_settings.overrides","typeLabel":"ConversationInitiationClientDataConfig · object"},"workspace_overrides":{"properties":{"conversation_initiation_client_data_webhook":{"oneOf":[{"type":"object","title":"ConversationInitiationClientDataWebhook","description":"The webhook to send conversation initiation client data to","required":["url","request_headers"],"example":{"request_headers":{"Content-Type":"application/json"},"url":"https://example.com/webhook"},"properties":{"url":{"type":"string","title":"Url","description":"The URL to send the webhook to","isRequired":true,"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0.url","typeLabel":"string"},"request_headers":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0.request_headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","title":"ConvAISecretLocator","description":"Used to reference a secret from the agent's secret store.","required":["secret_id"],"properties":{"secret_id":{"type":"string","title":"Secret Id","isRequired":true,"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0.request_headers.additionalProperties.oneOf.1.secret_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0.request_headers.additionalProperties.oneOf.1","typeLabel":"ConvAISecretLocator · object"}],"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0.request_headers.additionalProperties","typeLabel":"string | ConvAISecretLocator · object"},"type":"object","title":"Request Headers","description":"The headers to send with the webhook request","isRequired":true,"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0.request_headers","typeLabel":"Request Headers · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.0","typeLabel":"ConversationInitiationClientDataWebhook · object"},{"type":"null","description":"The webhook to send conversation initiation client data to","uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.workspace_overrides.conversation_initiation_client_data_webhook","typeLabel":"ConversationInitiationClientDataWebhook · object | null"},"webhooks":{"properties":{"post_call_webhook_id":{"oneOf":[{"type":"string","title":"Post Call Webhook Id","uniqueKey":"platform_settings.workspace_overrides.webhooks.post_call_webhook_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Post Call Webhook Id","uniqueKey":"platform_settings.workspace_overrides.webhooks.post_call_webhook_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.workspace_overrides.webhooks.post_call_webhook_id","typeLabel":"string | null"},"events":{"items":{"type":"string","enum":["transcript","audio","call_initiation_failure","answering_machine_detection","unredacted_transcript","unredacted_audio"],"title":"WebhookEventType","uniqueKey":"platform_settings.workspace_overrides.webhooks.events.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Events","description":"List of event types to send via webhook. Options: transcript, audio, call_initiation_failure, unredacted_transcript, unredacted_audio. Unredacted events contain sensitive conversation data and must only be sent to explicitly authorized endpoints.","uniqueKey":"platform_settings.workspace_overrides.webhooks.events","typeLabel":"enum\u003cstring>[]"},"transcript_format":{"type":"string","enum":["json","opentelemetry"],"title":"WebhookTranscriptFormat","default":"json","description":"Format for transcript webhooks.","uniqueKey":"platform_settings.workspace_overrides.webhooks.transcript_format","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"type":"object","title":"ConvAIWebhooks","uniqueKey":"platform_settings.workspace_overrides.webhooks","typeLabel":"ConvAIWebhooks · object"}},"additionalProperties":false,"type":"object","title":"AgentWorkspaceOverrides","description":"Workspace overrides for the agent","uniqueKey":"platform_settings.workspace_overrides","typeLabel":"AgentWorkspaceOverrides · object"},"testing":{"properties":{"attached_tests":{"items":{"properties":{"test_id":{"type":"string","title":"Test Id","isRequired":true,"uniqueKey":"platform_settings.testing.attached_tests.items.[INDEX].test_id","typeLabel":"string"},"workflow_node_id":{"oneOf":[{"type":"string","title":"Workflow Node Id","uniqueKey":"platform_settings.testing.attached_tests.items.[INDEX].workflow_node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Workflow Node Id","uniqueKey":"platform_settings.testing.attached_tests.items.[INDEX].workflow_node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.testing.attached_tests.items.[INDEX].workflow_node_id","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["test_id"],"title":"AttachedTestModel","uniqueKey":"platform_settings.testing.attached_tests.items.[INDEX]","typeLabel":"AttachedTestModel · object"},"type":"array","maxItems":5000,"minItems":0,"title":"Attached Tests","description":"List of test IDs that should be run for this agent","uniqueKey":"platform_settings.testing.attached_tests","typeLabel":"AttachedTestModel · object[]"}},"additionalProperties":false,"type":"object","title":"AgentTestingSettings","description":"Testing configuration for the agent","example":{"attached_tests":[{"test_id":"test_123","workflow_node_id":"node_abc"},{"test_id":"test_456"}]},"uniqueKey":"platform_settings.testing","typeLabel":"AgentTestingSettings · object"},"archived":{"type":"boolean","title":"Archived","description":"Whether the agent is archived","default":false,"uniqueKey":"platform_settings.archived","typeLabel":"boolean"},"guardrails":{"type":"object","title":"Guardrails","description":"Guardrails configuration for the agent","properties":{"version":{"type":"string","title":"Version","default":"1","const":"1","uniqueKey":"platform_settings.guardrails.version","typeLabel":"string"},"focus":{"type":"object","title":"FocusGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.focus.is_enabled","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.focus","typeLabel":"FocusGuardrail · object"},"prompt_injection":{"type":"object","title":"PromptInjectionGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.prompt_injection.is_enabled","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.prompt_injection","typeLabel":"PromptInjectionGuardrail · object"},"content":{"type":"object","title":"ContentGuardrail","properties":{"execution_mode":{"type":"string","title":"GuardrailExecutionMode","default":"streaming","enum":["streaming","blocking"],"uniqueKey":"platform_settings.guardrails.content.execution_mode","typeLabel":"enum\u003cstring>"},"config":{"type":"object","title":"ContentConfig","properties":{"sexual":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.sexual.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.sexual.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.sexual.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.sexual.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.sexual","typeLabel":"ContentThresholdGuardrail · object"},"violence":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.violence.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.violence.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.violence.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.violence.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.violence","typeLabel":"ContentThresholdGuardrail · object"},"harassment":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.harassment.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.harassment.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.harassment.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.harassment.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.harassment","typeLabel":"ContentThresholdGuardrail · object"},"self_harm":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.self_harm.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.self_harm.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.self_harm.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.self_harm.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.self_harm","typeLabel":"ContentThresholdGuardrail · object"},"profanity":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.profanity.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.profanity.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.profanity.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.profanity.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.profanity","typeLabel":"ContentThresholdGuardrail · object"},"religion_or_politics":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.religion_or_politics.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.religion_or_politics.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.religion_or_politics.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.religion_or_politics.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.religion_or_politics","typeLabel":"ContentThresholdGuardrail · object"},"medical_and_legal_information":{"type":"object","title":"ContentThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.content.config.medical_and_legal_information.is_enabled","typeLabel":"boolean"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","default":0.3,"uniqueKey":"platform_settings.guardrails.content.config.medical_and_legal_information.threshold.oneOf.0","typeLabel":"number"},{"type":"string","title":"Threshold","default":0.3,"enum":["low","medium","high"],"uniqueKey":"platform_settings.guardrails.content.config.medical_and_legal_information.threshold.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"platform_settings.guardrails.content.config.medical_and_legal_information.threshold","typeLabel":"number | enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config.medical_and_legal_information","typeLabel":"ContentThresholdGuardrail · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.config","typeLabel":"ContentConfig · object"},"trigger_action":{"oneOf":[{"type":"object","title":"EndCallTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"end_call","const":"end_call","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.0","typeLabel":"EndCallTriggerAction · object"},{"type":"object","title":"RetryTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"retry","const":"retry","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.1.type","typeLabel":"string"},"feedback":{"type":"string","title":"Feedback","description":"Custom feedback to inject into the agent when retrying after guardrail trigger.","default":"Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user \"I'm sorry but I can't answer that question, would you like to know something else?\".","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.1.feedback","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.1","typeLabel":"RetryTriggerAction · object"},{"type":"object","title":"EndCallTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"end_call","const":"end_call","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.2.type","typeLabel":"string"},"feedback":{"type":"string","title":"Feedback","description":"Custom feedback to inject into the agent when retrying after guardrail trigger.","default":"Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user \"I'm sorry but I can't answer that question, would you like to know something else?\".","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.2.feedback","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.2","typeLabel":"EndCallTriggerAction · object"},{"type":"object","title":"RetryTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"retry","const":"retry","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.3.type","typeLabel":"string"},"feedback":{"type":"string","title":"Feedback","description":"Custom feedback to inject into the agent when retrying after guardrail trigger.","default":"Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user \"I'm sorry but I can't answer that question, would you like to know something else?\".","uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.3.feedback","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content.trigger_action.oneOf.3","typeLabel":"RetryTriggerAction · object"}],"uniqueKey":"platform_settings.guardrails.content.trigger_action","typeLabel":"EndCallTriggerAction · object · RetryTriggerAction · object · EndCallTriggerAction · object · RetryTriggerAction · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.content","typeLabel":"ContentGuardrail · object"},"moderation":{"oneOf":[{"type":"object","title":"ModerationGuardrail","x-fern-ignore":true,"properties":{"execution_mode":{"type":"string","title":"GuardrailExecutionMode","default":"streaming","enum":["streaming","blocking"],"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.execution_mode","typeLabel":"enum\u003cstring>"},"config":{"type":"object","title":"ModerationConfig","properties":{"sexual":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.sexual.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.sexual.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.sexual","typeLabel":"ThresholdGuardrail · object"},"violence":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.violence.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.violence.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.violence","typeLabel":"ThresholdGuardrail · object"},"violence_graphic":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.violence_graphic.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.violence_graphic.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.violence_graphic","typeLabel":"ThresholdGuardrail · object"},"harassment":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.harassment.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.harassment.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.harassment","typeLabel":"ThresholdGuardrail · object"},"harassment_threatening":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.harassment_threatening.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.harassment_threatening.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.harassment_threatening","typeLabel":"ThresholdGuardrail · object"},"hate":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.hate.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.hate.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.hate","typeLabel":"ThresholdGuardrail · object"},"hate_threatening":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.hate_threatening.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.hate_threatening.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.hate_threatening","typeLabel":"ThresholdGuardrail · object"},"self_harm_instructions":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm_instructions.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm_instructions.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm_instructions","typeLabel":"ThresholdGuardrail · object"},"self_harm":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm","typeLabel":"ThresholdGuardrail · object"},"self_harm_intent":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm_intent.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm_intent.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.self_harm_intent","typeLabel":"ThresholdGuardrail · object"},"sexual_minors":{"type":"object","title":"ThresholdGuardrail","properties":{"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.sexual_minors.is_enabled","typeLabel":"boolean"},"threshold":{"type":"number","title":"Threshold","default":0.3,"maximum":1,"minimum":0,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.sexual_minors.threshold","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config.sexual_minors","typeLabel":"ThresholdGuardrail · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0.config","typeLabel":"ModerationConfig · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.0","typeLabel":"ModerationGuardrail · object"},{"type":"null","x-fern-ignore":true,"uniqueKey":"platform_settings.guardrails.moderation.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.guardrails.moderation","typeLabel":"ModerationGuardrail · object | null"},"custom":{"type":"object","title":"CustomGuardrail","description":"Container for custom guardrails, matching ModerationGuardrail pattern.","properties":{"config":{"type":"object","title":"CustomGuardrailsConfig","description":"Config container for custom guardrails list.","properties":{"configs":{"type":"array","items":{"type":"object","title":"CustomGuardrailConfig","description":"Single custom guardrail configuration.","required":["name","prompt"],"properties":{"name":{"type":"string","title":"Name","description":"User-facing name for this guardrail","maxLength":500,"minLength":1,"isRequired":true,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].name","typeLabel":"string"},"prompt":{"type":"string","title":"Prompt","description":"Instruction describing what to block, e.g. 'don't talk about politics'","maxLength":10000,"minLength":1,"isRequired":true,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].prompt","typeLabel":"string"},"is_enabled":{"type":"boolean","title":"Is Enabled","default":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].is_enabled","typeLabel":"boolean"},"execution_mode":{"type":"string","title":"GuardrailExecutionMode","default":"streaming","enum":["streaming","blocking"],"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].execution_mode","typeLabel":"enum\u003cstring>"},"model":{"type":"string","title":"Model","description":"LLM model to use for custom guardrail evaluation","default":"google/gemini-3.1-flash-lite","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].model","typeLabel":"string"},"history_message_count":{"type":"integer","title":"History Message Count","description":"How many recent customer messages to include in the guardrail's history, plus the agent replies that follow them (and tool calls and results when history_include_tool_calls is enabled). Only customer messages count toward the limit. 0 (default) shows none; 1 shows the customer's latest message onward. When > 0, the guardrail prompt can refer to this history as \u003cconversation_history>; the reply under evaluation appears as \u003cagent_message> and may repeat at the end of the history.","default":0,"maximum":100,"minimum":0,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].history_message_count","typeLabel":"integer"},"history_include_tool_calls":{"type":"boolean","title":"History Include Tool Calls","description":"When history is on (history_message_count > 0), also render interleaved tool calls and results in the window. Off by default: history shows only customer and agent text. Tool payloads can be large, so enabling this increases evaluation token cost.","default":false,"x-fern-ignore":true,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].history_include_tool_calls","typeLabel":"boolean"},"trigger_action":{"oneOf":[{"type":"object","title":"EndCallTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"end_call","const":"end_call","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.0","typeLabel":"EndCallTriggerAction · object"},{"type":"object","title":"RetryTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"retry","const":"retry","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.1.type","typeLabel":"string"},"feedback":{"type":"string","title":"Feedback","description":"Custom feedback to inject into the agent when retrying after guardrail trigger.","default":"Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user \"I'm sorry but I can't answer that question, would you like to know something else?\".","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.1.feedback","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.1","typeLabel":"RetryTriggerAction · object"},{"type":"object","title":"EndCallTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"end_call","const":"end_call","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.2.type","typeLabel":"string"},"feedback":{"type":"string","title":"Feedback","description":"Custom feedback to inject into the agent when retrying after guardrail trigger.","default":"Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user \"I'm sorry but I can't answer that question, would you like to know something else?\".","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.2.feedback","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.2","typeLabel":"EndCallTriggerAction · object"},{"type":"object","title":"RetryTriggerAction","properties":{"type":{"type":"string","title":"Type","default":"retry","const":"retry","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.3.type","typeLabel":"string"},"feedback":{"type":"string","title":"Feedback","description":"Custom feedback to inject into the agent when retrying after guardrail trigger.","default":"Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user \"I'm sorry but I can't answer that question, would you like to know something else?\".","uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.3.feedback","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action.oneOf.3","typeLabel":"RetryTriggerAction · object"}],"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].trigger_action","typeLabel":"EndCallTriggerAction · object · RetryTriggerAction · object · EndCallTriggerAction · object · RetryTriggerAction · object"},"evaluate_full_response_only":{"type":"boolean","title":"Evaluate Full Response Only","description":"Evaluate once against the complete non-TTS response instead of cumulative partials. Requires blocking mode.","default":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX].evaluate_full_response_only","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom.config.configs.items.[INDEX]","typeLabel":"CustomGuardrailConfig · object"},"title":"Configs","uniqueKey":"platform_settings.guardrails.custom.config.configs","typeLabel":"CustomGuardrailConfig · object[]"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom.config","typeLabel":"CustomGuardrailsConfig · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails.custom","typeLabel":"CustomGuardrail · object"}},"additionalProperties":false,"uniqueKey":"platform_settings.guardrails","typeLabel":"Guardrails · object"},"summary_language":{"oneOf":[{"type":"string","title":"Summary Language","description":"Language for all conversation analysis outputs (summaries, titles, evaluation rationales, data collection rationales). If not set, the language will be inferred from the conversation. Must be one of the supported conversation languages.","uniqueKey":"platform_settings.summary_language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Summary Language","description":"Language for all conversation analysis outputs (summaries, titles, evaluation rationales, data collection rationales). If not set, the language will be inferred from the conversation. Must be one of the supported conversation languages.","uniqueKey":"platform_settings.summary_language.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.summary_language","typeLabel":"string | null"},"auto_translate_transcript_to_app_language":{"oneOf":[{"type":"boolean","title":"Auto Translate Transcript To App Language","description":"When enabled, a conversation transcript is automatically translated to the viewer's application language when they open the transcript page. If not set or false, transcripts are shown in their original language unless the viewer manually selects a translation.","uniqueKey":"platform_settings.auto_translate_transcript_to_app_language.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Auto Translate Transcript To App Language","description":"When enabled, a conversation transcript is automatically translated to the viewer's application language when they open the transcript page. If not set or false, transcripts are shown in their original language unless the viewer manually selects a translation.","uniqueKey":"platform_settings.auto_translate_transcript_to_app_language.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.auto_translate_transcript_to_app_language","typeLabel":"boolean | null"},"auth":{"properties":{"enable_auth":{"type":"boolean","title":"Enable Auth","description":"If set to true, starting a conversation with an agent will require a signed token","default":false,"uniqueKey":"platform_settings.auth.enable_auth","typeLabel":"boolean"},"allowlist":{"items":{"properties":{"hostname":{"type":"string","title":"Hostname","description":"The hostname of the allowed origin","isRequired":true,"uniqueKey":"platform_settings.auth.allowlist.items.[INDEX].hostname","typeLabel":"string"}},"additionalProperties":false,"type":"object","required":["hostname"],"title":"AllowlistItem","uniqueKey":"platform_settings.auth.allowlist.items.[INDEX]","typeLabel":"AllowlistItem · object"},"type":"array","title":"Allowlist","description":"A list of hosts that are allowed to start conversations with the agent","uniqueKey":"platform_settings.auth.allowlist","typeLabel":"AllowlistItem · object[]"},"require_origin_header":{"type":"boolean","title":"Require Origin Header","description":"When enabled, connections with no origin header will be rejected. If the allowlist is empty, this option has no effect.","default":false,"uniqueKey":"platform_settings.auth.require_origin_header","typeLabel":"boolean"},"shareable_token":{"oneOf":[{"type":"string","title":"Shareable Token","description":"A shareable token that can be used to start a conversation with the agent","uniqueKey":"platform_settings.auth.shareable_token.oneOf.0","typeLabel":"string"},{"type":"null","title":"Shareable Token","description":"A shareable token that can be used to start a conversation with the agent","uniqueKey":"platform_settings.auth.shareable_token.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.auth.shareable_token","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","title":"AuthSettings","example":{"allowlist":[{"hostname":"https://example.com"}],"enable_auth":true,"require_origin_header":true,"shareable_token":"1234567890"},"description":"Settings for authentication","uniqueKey":"platform_settings.auth","typeLabel":"AuthSettings · object"},"call_limits":{"properties":{"agent_concurrency_limit":{"type":"integer","title":"Agent Concurrency Limit","description":"The maximum number of concurrent conversations. -1 indicates that there is no maximum","default":-1,"uniqueKey":"platform_settings.call_limits.agent_concurrency_limit","typeLabel":"integer"},"daily_limit":{"type":"integer","title":"Daily Limit","description":"The maximum number of conversations per day","default":100000,"uniqueKey":"platform_settings.call_limits.daily_limit","typeLabel":"integer"},"bursting_enabled":{"type":"boolean","title":"Bursting Enabled","description":"Whether to enable bursting. If true, exceeding workspace concurrency limit will be allowed up to 3 times the limit. Calls will be charged at double rate when exceeding the limit.","default":true,"uniqueKey":"platform_settings.call_limits.bursting_enabled","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"AgentCallLimits","example":{"agent_concurrency_limit":-1,"bursting_enabled":true,"daily_limit":100000},"description":"Call limits for the agent","uniqueKey":"platform_settings.call_limits","typeLabel":"AgentCallLimits · object"},"queueing_config":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Hold callers in a wait queue when the agent is at its concurrency limit, instead of rejecting them immediately","default":false,"uniqueKey":"platform_settings.queueing_config.enabled","typeLabel":"boolean"},"wait_timeout_seconds":{"type":"integer","maximum":1800,"exclusiveMinimum":0,"title":"Wait Timeout Seconds","description":"Maximum time a caller can wait in the queue before being rejected","default":180,"uniqueKey":"platform_settings.queueing_config.wait_timeout_seconds","typeLabel":"integer"}},"type":"object","title":"AgentQueueingConfig","description":"Concurrency wait-queue config for the agent","uniqueKey":"platform_settings.queueing_config","typeLabel":"AgentQueueingConfig · object"},"privacy":{"properties":{"record_voice":{"type":"boolean","title":"Record Voice","description":"Whether to record the conversation","default":true,"uniqueKey":"platform_settings.privacy.record_voice","typeLabel":"boolean"},"retention_days":{"type":"integer","title":"Retention Days","description":"The number of days to retain the conversation. -1 indicates there is no retention limit","default":-1,"uniqueKey":"platform_settings.privacy.retention_days","typeLabel":"integer"},"delete_transcript_and_pii":{"type":"boolean","title":"Delete Transcript And Pii","description":"Whether to delete the transcript and PII","default":false,"uniqueKey":"platform_settings.privacy.delete_transcript_and_pii","typeLabel":"boolean"},"delete_audio":{"type":"boolean","title":"Delete Audio","description":"Whether to delete the audio","default":false,"uniqueKey":"platform_settings.privacy.delete_audio","typeLabel":"boolean"},"apply_to_existing_conversations":{"type":"boolean","title":"Apply To Existing Conversations","description":"Whether to apply the privacy settings to existing conversations","default":false,"uniqueKey":"platform_settings.privacy.apply_to_existing_conversations","typeLabel":"boolean"},"zero_retention_mode":{"type":"boolean","title":"Zero Retention Mode","description":"Whether to enable zero retention mode - no PII data is stored","default":false,"uniqueKey":"platform_settings.privacy.zero_retention_mode","typeLabel":"boolean"},"conversation_history_redaction":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Whether conversation history redaction is enabled","default":false,"uniqueKey":"platform_settings.privacy.conversation_history_redaction.enabled","typeLabel":"boolean"},"entities":{"items":{"type":"string","enum":["name","name.name_given","name.name_family","name.name_other","email_address","contact_number","dob","age","religious_belief","political_opinion","sexual_orientation","ethnicity_race","marital_status","occupation","physical_attribute","language","username","password","url","organization","financial_id","financial_id.payment_card","financial_id.payment_card.payment_card_number","financial_id.payment_card.payment_card_expiration_date","financial_id.payment_card.payment_card_cvv","financial_id.bank_account","financial_id.bank_account.bank_account_number","financial_id.bank_account.bank_routing_number","financial_id.bank_account.swift_bic_code","financial_id.financial_id_other","location","location.location_address","location.location_city","location.location_postal_code","location.location_coordinate","location.location_state","location.location_country","location.location_other","date","date_interval","unique_id","unique_id.government_issued_id","unique_id.account_number","unique_id.vehicle_id","unique_id.healthcare_number","unique_id.healthcare_number.medical_record_number","unique_id.healthcare_number.health_plan_beneficiary_number","unique_id.device_id","unique_id.unique_id_other","medical","medical.medical_condition","medical.medication","medical.medical_procedure","medical.medical_measurement","medical.medical_other"],"title":"ConfigEntityType","description":"Entity types for the API configuration.\n\nThis enum contains all valid entity type configurations that users can specify:\n- Parent types (e.g., \"name\", \"financial_id\") that expand to all subtypes\n- Specific subtypes using dot notation (e.g., \"name.full_name\")\n- Standalone terminal types (e.g., \"email_address\")\nWhen converted for service use, parent types expand to all their terminal subtypes.","uniqueKey":"platform_settings.privacy.conversation_history_redaction.entities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Entities","description":"The entities to redact from the conversation transcript, audio and analysis. Use top-level types like 'name', 'email_address', or dot notation for specific subtypes like 'name.name_given'.","uniqueKey":"platform_settings.privacy.conversation_history_redaction.entities","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"type":"object","title":"ConversationHistoryRedactionConfig","description":"Config for PII redaction in the conversation history","uniqueKey":"platform_settings.privacy.conversation_history_redaction","typeLabel":"ConversationHistoryRedactionConfig · object"}},"additionalProperties":false,"type":"object","title":"PrivacyConfig","example":{"apply_to_existing_conversations":false,"delete_audio":false,"delete_transcript_and_pii":false,"record_voice":true,"retention_days":-1,"zero_retention_mode":false},"description":"Privacy settings for the agent","uniqueKey":"platform_settings.privacy","typeLabel":"PrivacyConfig · object"},"trust_context":{"type":"string","enum":["unknown","low","high"],"title":"AgentTrustContext","description":"The trust context in which the agent operates.","default":"unknown","uniqueKey":"platform_settings.trust_context","typeLabel":"enum\u003cstring>"},"analysis_llm":{"type":"string","enum":["gpt-4o-mini","gpt-4o","gpt-4","gpt-4-turbo","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5.1","gpt-5.2","gpt-5.2-chat-latest","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-6-astra","gpt-6-sol","gpt-6-luna","gpt-5-mini","gpt-5-nano","gpt-3.5-turbo","gemini-1.5-pro","gemini-1.5-flash","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-pro-preview","gemini-3-flash-preview","gemini-3.1-pro-preview","gemini-3.1-flash-lite-preview","gemini-3.1-flash-lite","gemini-3.5-flash","gemini-3.5-flash-lite","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","claude-sonnet-4-5","claude-opus-4-7","claude-opus-4-8","claude-opus-5","claude-opus-5-5","claude-sonnet-4-6","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-4","claude-haiku-4-5","claude-3-7-sonnet","claude-3-5-sonnet","claude-3-5-sonnet-v1","claude-3-haiku","grok-beta","custom-llm","qwen3-4b","qwen3-30b-a3b","qwen36-35b-a3b","qwen35-397b-a17b","gpt-oss-20b","gpt-oss-120b","glm-45-air-fp8","glm-52","deepseek-v41-flash","gemini-2.5-flash-preview-09-2025","gemini-2.5-flash-lite-preview-09-2025","gemini-2.5-flash-preview-05-20","gemini-2.5-flash-preview-04-17","gemini-2.5-flash-lite-preview-06-17","gemini-2.0-flash-lite-001","gemini-2.0-flash-001","gemini-1.5-flash-002","gemini-1.5-flash-001","gemini-1.5-pro-002","gemini-1.5-pro-001","claude-sonnet-4@20250514","claude-sonnet-4-5@20250929","claude-haiku-4-5@20251001","claude-3-7-sonnet@20250219","claude-3-5-sonnet@20240620","claude-3-5-sonnet-v2@20241022","claude-3-haiku@20240307","gpt-5-2025-08-07","gpt-5.1-2025-11-13","gpt-5.2-2025-12-11","gpt-5.4-2026-03-05","gpt-5.4-mini-2026-03-17","gpt-5.4-nano-2026-03-17","gpt-5.5-2026-04-23","gpt-5-mini-2025-08-07","gpt-5-nano-2025-08-07","gpt-4.1-2025-04-14","gpt-4.1-mini-2025-04-14","gpt-4.1-nano-2025-04-14","gpt-4o-mini-2024-07-18","gpt-4o-2024-11-20","gpt-4o-2024-08-06","gpt-4o-2024-05-13","gpt-4-0613","gpt-4-0314","gpt-4-turbo-2024-04-09","gpt-3.5-turbo-0125","gpt-3.5-turbo-1106","watt-tool-8b","watt-tool-70b"],"title":"LLM","description":"Default LLM model for post-call analysis (evaluation and data collection)","default":"gpt-6-luna","uniqueKey":"platform_settings.analysis_llm","typeLabel":"enum\u003cstring>"},"topic_discovery":{"properties":{},"additionalProperties":false,"type":"object","title":"TopicDiscoverySettings","description":"Per-agent topic discovery configuration","uniqueKey":"platform_settings.topic_discovery","typeLabel":"TopicDiscoverySettings · object"},"sentiment_analysis":{"properties":{},"additionalProperties":false,"type":"object","title":"SentimentAnalysisSettings","description":"Per-agent post-call sentiment analysis configuration","uniqueKey":"platform_settings.sentiment_analysis","typeLabel":"SentimentAnalysisSettings · object"},"alerting":{"oneOf":[{"type":"object","title":"AlertingSettings","description":"Agent-level alerting configuration overriding workspace settings.","properties":{"monitor_configs":{"additionalProperties":{"properties":{"enabled":{"oneOf":[{"type":"boolean","title":"Enabled","description":"Whether this monitor is enabled and can notify","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enabled","description":"Whether this monitor is enabled and can notify","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.enabled","typeLabel":"boolean | null"},"threshold":{"oneOf":[{"type":"number","title":"Threshold","description":"Failure rate threshold at which this monitor can notify.","maximum":1,"minimum":0,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Threshold","description":"Failure rate threshold at which this monitor can notify.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.threshold","typeLabel":"number | null"},"relative_increase_threshold":{"oneOf":[{"type":"number","title":"Relative Increase Threshold","description":"Relative increase over the trailing baseline at which this monitor can notify (0.2 = 20% above baseline, 0 = any failure).","maximum":10,"minimum":0,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.relative_increase_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Relative Increase Threshold","description":"Relative increase over the trailing baseline at which this monitor can notify (0.2 = 20% above baseline, 0 = any failure).","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.relative_increase_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.relative_increase_threshold","typeLabel":"number | null"},"min_failure_count":{"oneOf":[{"type":"integer","title":"Min Failure Count","description":"Minimum failures in the window before this monitor can fire.","minimum":1,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_failure_count.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Min Failure Count","description":"Minimum failures in the window before this monitor can fire.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_failure_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_failure_count","typeLabel":"integer | null"},"min_history_bucket_count":{"oneOf":[{"type":"integer","title":"Min History Bucket Count","description":"Minimum trailing buckets with traffic before spike detection can fire.","minimum":1,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_history_bucket_count.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Min History Bucket Count","description":"Minimum trailing buckets with traffic before spike detection can fire.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_history_bucket_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_history_bucket_count","typeLabel":"integer | null"},"min_sample_count":{"oneOf":[{"type":"integer","title":"Min Sample Count","description":"Minimum samples in the window before this monitor can fire.","minimum":1,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_sample_count.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Min Sample Count","description":"Minimum samples in the window before this monitor can fire.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_sample_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.min_sample_count","typeLabel":"integer | null"},"suspect_trigger_threshold":{"oneOf":[{"type":"integer","title":"Suspect Trigger Threshold","description":"How many suspect buckets within the lookback window are required to promote a suspect to an alert.","maximum":10,"minimum":1,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.suspect_trigger_threshold.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Suspect Trigger Threshold","description":"How many suspect buckets within the lookback window are required to promote a suspect to an alert.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.suspect_trigger_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.suspect_trigger_threshold","typeLabel":"integer | null"},"auto_resolve_after_inactive_minutes":{"oneOf":[{"type":"integer","title":"Auto Resolve After Inactive Minutes","description":"How many minutes an alert can stay inactive before it is auto-resolved.","minimum":1,"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.auto_resolve_after_inactive_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Auto Resolve After Inactive Minutes","description":"How many minutes an alert can stay inactive before it is auto-resolved.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.auto_resolve_after_inactive_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties.auto_resolve_after_inactive_minutes","typeLabel":"integer | null"}},"additionalProperties":false,"type":"object","title":"AlertingMonitorConfig","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs.additionalProperties","typeLabel":"AlertingMonitorConfig · object"},"type":"object","title":"Monitor Configs","description":"Alerting configuration keyed by monitor name.","uniqueKey":"platform_settings.alerting.oneOf.0.monitor_configs","typeLabel":"Monitor Configs · object"},"auto_resolve_after_inactive_minutes":{"oneOf":[{"type":"integer","title":"Auto Resolve After Inactive Minutes","description":"How many minutes an alert can stay inactive before it is auto-resolved. Unset values fall through to the next layer.","minimum":1,"uniqueKey":"platform_settings.alerting.oneOf.0.auto_resolve_after_inactive_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Auto Resolve After Inactive Minutes","description":"How many minutes an alert can stay inactive before it is auto-resolved. Unset values fall through to the next layer.","uniqueKey":"platform_settings.alerting.oneOf.0.auto_resolve_after_inactive_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting.oneOf.0.auto_resolve_after_inactive_minutes","typeLabel":"integer | null"},"notifiers":{"items":{"oneOf":[{"type":"object","title":"AlertingWebhookNotifier","required":["webhook_id"],"properties":{"webhook_id":{"type":"string","title":"Webhook Id","description":"ID of the workspace webhook to deliver alert lifecycle notifications to.","isRequired":true,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.0.webhook_id","typeLabel":"string"},"type":{"type":"string","const":"webhook","title":"Type","default":"webhook","uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.0","typeLabel":"AlertingWebhookNotifier · object"},{"type":"object","title":"AlertingPagerDutyNotifier","required":["connection_id"],"properties":{"connection_id":{"type":"string","minLength":1,"title":"Connection Id","description":"ID of the workspace integration connection to deliver alert lifecycle notifications to. The connection's integration must have the monitoring capability and match ``integration_type``.","isRequired":true,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.1.connection_id","typeLabel":"string"},"type":{"type":"string","const":"integration","title":"Type","default":"integration","uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"integration_type":{"type":"string","const":"pagerduty","title":"Integration Type","default":"pagerduty","uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.1.integration_type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.1","typeLabel":"AlertingPagerDutyNotifier · object"},{"type":"object","title":"AlertingSlackNotifier","required":["connection_id","channel_id"],"properties":{"connection_id":{"type":"string","minLength":1,"title":"Connection Id","description":"ID of the workspace integration connection to deliver alert lifecycle notifications to. The connection's integration must have the monitoring capability and match ``integration_type``.","isRequired":true,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.2.connection_id","typeLabel":"string"},"channel_id":{"type":"string","maxLength":64,"minLength":1,"title":"Channel Id","description":"ID of the Slack channel to post alert notifications to, e.g. ``C0123456789``. The Slack app must be a member of the channel and have the ``chat:write`` scope, or ``chat:write.public`` for public channels it has not joined.","isRequired":true,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.2.channel_id","typeLabel":"string"},"type":{"type":"string","const":"integration","title":"Type","default":"integration","uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.2.type","typeLabel":"string"},"integration_type":{"type":"string","const":"slack","title":"Integration Type","default":"slack","uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.2.integration_type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX].oneOf.2","typeLabel":"AlertingSlackNotifier · object"}],"uniqueKey":"platform_settings.alerting.oneOf.0.notifiers.items.[INDEX]","typeLabel":"AlertingWebhookNotifier · object | AlertingPagerDutyNotifier · object | AlertingSlackNotifier · object"},"type":"array","maxItems":10,"title":"Notifiers","description":"Delivery channels for alert lifecycle notifications. Stacked with other layers and deduped by ``webhook_id``, PagerDuty ``connection_id``, or Slack ``(connection_id, channel_id)``.","uniqueKey":"platform_settings.alerting.oneOf.0.notifiers","typeLabel":"(AlertingWebhookNotifier · object | AlertingPagerDutyNotifier · object | AlertingSlackNotifier · object)[]"}},"additionalProperties":false,"uniqueKey":"platform_settings.alerting.oneOf.0","typeLabel":"AlertingSettings · object"},{"type":"null","description":"Agent-level alerting configuration overriding workspace settings.","uniqueKey":"platform_settings.alerting.oneOf.1","typeLabel":"null"}],"uniqueKey":"platform_settings.alerting","typeLabel":"AlertingSettings · object | null"}},"additionalProperties":false,"type":"object","title":"AgentPlatformSettingsRequestModel","description":"Complete platform settings for the draft","isRequired":true,"uniqueKey":"platform_settings","typeLabel":"AgentPlatformSettingsRequestModel · object"},"workflow":{"properties":{"edges":{"additionalProperties":{"properties":{"source":{"type":"string","title":"Source","description":"ID of the source node.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.source","typeLabel":"string"},"target":{"type":"string","title":"Target","description":"ID of the target node.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.target","typeLabel":"string"},"forward_condition":{"oneOf":[{"type":"object","title":"WorkflowUnconditionalModel","description":"Condition that is always true.","properties":{"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.0.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.0.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.0.label","typeLabel":"string | null"},"type":{"type":"string","const":"unconditional","title":"Type","default":"unconditional","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.0.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.0","typeLabel":"WorkflowUnconditionalModel · object"},{"type":"object","title":"WorkflowLLMConditionModel","description":"Condition described using human language and evaluated by an LLM.","required":["condition"],"properties":{"condition":{"type":"string","title":"Condition","description":"Condition to evaluate","examples":["User's last message contains a question about our pricing.","User provided their email address."],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.1.condition","typeLabel":"string"},"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.1.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.1.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.1.label","typeLabel":"string | null"},"type":{"type":"string","const":"llm","title":"Type","default":"llm","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.1.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.1","typeLabel":"WorkflowLLMConditionModel · object"},{"type":"object","title":"WorkflowResultConditionModel","description":"Condition based on the result of the last executed tool dispatch node.","required":["successful"],"properties":{"successful":{"type":"boolean","title":"Successful","description":"Whether all tools in the previously executed tool node were executed successfully.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.2.successful","typeLabel":"boolean"},"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.2.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.2.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.2.label","typeLabel":"string | null"},"type":{"type":"string","const":"result","title":"Type","default":"result","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.2.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.2","typeLabel":"WorkflowResultConditionModel · object"},{"type":"object","title":"WorkflowExpressionConditionModel","description":"Condition described using a deterministic expression.","required":["expression"],"properties":{"expression":{"oneOf":[{"type":"object","title":"ASTStringNode","description":"Expression to evaluate.","required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"string_literal","title":"Type","default":"string_literal","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.0","typeLabel":"ASTStringNode · object"},{"type":"object","title":"ASTNumberNode","description":"Expression to evaluate.","required":["value"],"properties":{"value":{"oneOf":[{"type":"number","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.1.value.oneOf.0","typeLabel":"number"},{"type":"integer","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.1.value.oneOf.1","typeLabel":"integer"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.1.value","typeLabel":"number | integer"},"type":{"type":"string","const":"number_literal","title":"Type","default":"number_literal","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.1.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.1","typeLabel":"ASTNumberNode · object"},{"type":"object","title":"ASTBooleanNode","description":"Expression to evaluate.","required":["value"],"properties":{"value":{"type":"boolean","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.2.value","typeLabel":"boolean"},"type":{"type":"string","const":"boolean_literal","title":"Type","default":"boolean_literal","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.2","typeLabel":"ASTBooleanNode · object"},{"type":"object","title":"ASTNullNode","description":"Expression to evaluate.","properties":{"type":{"type":"string","const":"null_literal","title":"Type","default":"null_literal","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.3","typeLabel":"ASTNullNode · object"},{"type":"object","title":"ASTLLMNode","description":"Expression to evaluate.","required":["value_schema"],"properties":{"value_schema":{"properties":{"type":{"oneOf":[{"type":"string","title":"Type","enum":["boolean","string","integer","number"],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.type.oneOf.1.items.[INDEX]","typeLabel":"string"},"title":"Type","maxItems":2,"minItems":2,"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.type.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.type","typeLabel":"enum\u003cstring> | string[]"},"description":{"type":"string","minLength":0,"title":"Description","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.description","typeLabel":"string"},"enum":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.enum.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.enum.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.enum.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema.enum","typeLabel":"string[] | null"}},"type":"object","required":["type","description"],"title":"LLMLiteralJsonSchemaProperty","description":"JSON schema describing the value that the LLM should extract.","examples":[{"description":"User's last message contains a question about our pricing.","type":"boolean"},{"description":"User provided their email address.","type":"boolean"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.value_schema","typeLabel":"LLMLiteralJsonSchemaProperty · object"},"type":{"type":"string","const":"llm","title":"Type","default":"llm","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.4","typeLabel":"ASTLLMNode · object"},{"type":"object","title":"ASTDynamicVariableNode","description":"Expression to evaluate.","required":["name"],"properties":{"name":{"type":"string","title":"Name","description":"The name of the dynamic variable.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.5.name","typeLabel":"string"},"type":{"type":"string","const":"dynamic_variable","title":"Type","default":"dynamic_variable","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.5","typeLabel":"ASTDynamicVariableNode · object"},{"type":"object","title":"ASTOrOperatorNode","description":"Expression to evaluate.","required":["children"],"properties":{"children":{"items":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55"},"type":"array","minItems":2,"title":"Children","description":"Child nodes of the logical operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.6.children","typeLabel":"Children · array"},"type":{"type":"string","const":"or_operator","title":"Type","default":"or_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.6","typeLabel":"ASTOrOperatorNode · object"},{"type":"object","title":"ASTAndOperatorNode","description":"Expression to evaluate.","required":["children"],"properties":{"children":{"items":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55"},"type":"array","minItems":2,"title":"Children","description":"Child nodes of the logical operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.7.children","typeLabel":"Children · array"},"type":{"type":"string","const":"and_operator","title":"Type","default":"and_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.7.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.7","typeLabel":"ASTAndOperatorNode · object"},{"type":"object","title":"ASTEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.8.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.8.right","typeLabel":"any"},"type":{"type":"string","const":"eq_operator","title":"Type","default":"eq_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.8.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.8","typeLabel":"ASTEqualsOperatorNode · object"},{"type":"object","title":"ASTNotEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.9.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.9.right","typeLabel":"any"},"type":{"type":"string","const":"neq_operator","title":"Type","default":"neq_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.9.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.9","typeLabel":"ASTNotEqualsOperatorNode · object"},{"type":"object","title":"ASTGreaterThanOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.10.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.10.right","typeLabel":"any"},"type":{"type":"string","const":"gt_operator","title":"Type","default":"gt_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.10.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.10","typeLabel":"ASTGreaterThanOperatorNode · object"},{"type":"object","title":"ASTLessThanOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.11.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.11.right","typeLabel":"any"},"type":{"type":"string","const":"lt_operator","title":"Type","default":"lt_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.11.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.11","typeLabel":"ASTLessThanOperatorNode · object"},{"type":"object","title":"ASTGreaterThanOrEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.12.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.12.right","typeLabel":"any"},"type":{"type":"string","const":"gte_operator","title":"Type","default":"gte_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.12.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.12","typeLabel":"ASTGreaterThanOrEqualsOperatorNode · object"},{"type":"object","title":"ASTLessThanOrEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.13.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.13.right","typeLabel":"any"},"type":{"type":"string","const":"lte_operator","title":"Type","default":"lte_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.13.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.13","typeLabel":"ASTLessThanOrEqualsOperatorNode · object"},{"type":"object","title":"ASTAdditionOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.14.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.14.right","typeLabel":"any"},"type":{"type":"string","const":"add_operator","title":"Type","default":"add_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.14.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.14","typeLabel":"ASTAdditionOperatorNode · object"},{"type":"object","title":"ASTSubtractionOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.15.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.15.right","typeLabel":"any"},"type":{"type":"string","const":"sub_operator","title":"Type","default":"sub_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.15.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.15","typeLabel":"ASTSubtractionOperatorNode · object"},{"type":"object","title":"ASTMultiplicationOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.16.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.16.right","typeLabel":"any"},"type":{"type":"string","const":"mul_operator","title":"Type","default":"mul_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.16.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.16","typeLabel":"ASTMultiplicationOperatorNode · object"},{"type":"object","title":"ASTDivisionOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.17.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.17.right","typeLabel":"any"},"type":{"type":"string","const":"div_operator","title":"Type","default":"div_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.17.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.17","typeLabel":"ASTDivisionOperatorNode · object"},{"type":"object","title":"ASTConditionalOperatorNode","description":"Expression to evaluate.","required":["condition","trueExpression","falseExpression"],"properties":{"condition":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Condition deciding which expression should be selected.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.18.condition","typeLabel":"any"},"trueExpression":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Expression selected if the condition is true.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.18.trueExpression","typeLabel":"any"},"falseExpression":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Expression selected if the condition is false.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.18.falseExpression","typeLabel":"any"},"type":{"type":"string","const":"conditional_operator","title":"Type","default":"conditional_operator","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.18.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression.oneOf.18","typeLabel":"ASTConditionalOperatorNode · object"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.expression","typeLabel":"ASTStringNode · object | ASTNumberNode · object | ASTBooleanNode · object | ASTNullNode · object | ASTLLMNode · object | ASTDynamicVariableNode · object | ASTOrOperatorNode · object | ASTAndOperatorNode · object | ASTEqualsOperatorNode · object | ASTNotEqualsOperatorNode · object | ASTGreaterThanOperatorNode · object | ASTLessThanOperatorNode · object | ASTGreaterThanOrEqualsOperatorNode · object | ASTLessThanOrEqualsOperatorNode · object | ASTAdditionOperatorNode · object | ASTSubtractionOperatorNode · object | ASTMultiplicationOperatorNode · object | ASTDivisionOperatorNode · object | ASTConditionalOperatorNode · object"},"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.label","typeLabel":"string | null"},"type":{"type":"string","const":"expression","title":"Type","default":"expression","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.3","typeLabel":"WorkflowExpressionConditionModel · object"},{"type":"null","title":"Forward Condition","description":"Condition that must be met for the edge to be traversed in the forward direction (source to target).","uniqueKey":"workflow.edges.additionalProperties.forward_condition.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.forward_condition","typeLabel":"WorkflowUnconditionalModel · object | WorkflowLLMConditionModel · object | WorkflowResultConditionModel · object | WorkflowExpressionConditionModel · object | null"},"backward_condition":{"oneOf":[{"type":"object","title":"WorkflowUnconditionalModel","description":"Condition that is always true.","properties":{"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.0.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.0.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.0.label","typeLabel":"string | null"},"type":{"type":"string","const":"unconditional","title":"Type","default":"unconditional","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.0.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.0","typeLabel":"WorkflowUnconditionalModel · object"},{"type":"object","title":"WorkflowLLMConditionModel","description":"Condition described using human language and evaluated by an LLM.","required":["condition"],"properties":{"condition":{"type":"string","title":"Condition","description":"Condition to evaluate","examples":["User's last message contains a question about our pricing.","User provided their email address."],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.1.condition","typeLabel":"string"},"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.1.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.1.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.1.label","typeLabel":"string | null"},"type":{"type":"string","const":"llm","title":"Type","default":"llm","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.1.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.1","typeLabel":"WorkflowLLMConditionModel · object"},{"type":"object","title":"WorkflowResultConditionModel","description":"Condition based on the result of the last executed tool dispatch node.","required":["successful"],"properties":{"successful":{"type":"boolean","title":"Successful","description":"Whether all tools in the previously executed tool node were executed successfully.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.2.successful","typeLabel":"boolean"},"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.2.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.2.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.2.label","typeLabel":"string | null"},"type":{"type":"string","const":"result","title":"Type","default":"result","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.2.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.2","typeLabel":"WorkflowResultConditionModel · object"},{"type":"object","title":"WorkflowExpressionConditionModel","description":"Condition described using a deterministic expression.","required":["expression"],"properties":{"expression":{"oneOf":[{"type":"object","title":"ASTStringNode","description":"Expression to evaluate.","required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"string_literal","title":"Type","default":"string_literal","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.0","typeLabel":"ASTStringNode · object"},{"type":"object","title":"ASTNumberNode","description":"Expression to evaluate.","required":["value"],"properties":{"value":{"oneOf":[{"type":"number","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.1.value.oneOf.0","typeLabel":"number"},{"type":"integer","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.1.value.oneOf.1","typeLabel":"integer"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.1.value","typeLabel":"number | integer"},"type":{"type":"string","const":"number_literal","title":"Type","default":"number_literal","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.1.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.1","typeLabel":"ASTNumberNode · object"},{"type":"object","title":"ASTBooleanNode","description":"Expression to evaluate.","required":["value"],"properties":{"value":{"type":"boolean","title":"Value","description":"Value of this literal.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.2.value","typeLabel":"boolean"},"type":{"type":"string","const":"boolean_literal","title":"Type","default":"boolean_literal","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.2","typeLabel":"ASTBooleanNode · object"},{"type":"object","title":"ASTNullNode","description":"Expression to evaluate.","properties":{"type":{"type":"string","const":"null_literal","title":"Type","default":"null_literal","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.3","typeLabel":"ASTNullNode · object"},{"type":"object","title":"ASTLLMNode","description":"Expression to evaluate.","required":["value_schema"],"properties":{"value_schema":{"properties":{"type":{"oneOf":[{"type":"string","title":"Type","enum":["boolean","string","integer","number"],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.type.oneOf.1.items.[INDEX]","typeLabel":"string"},"title":"Type","maxItems":2,"minItems":2,"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.type.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.type","typeLabel":"enum\u003cstring> | string[]"},"description":{"type":"string","minLength":0,"title":"Description","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.description","typeLabel":"string"},"enum":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.enum.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.enum.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.enum.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema.enum","typeLabel":"string[] | null"}},"type":"object","required":["type","description"],"title":"LLMLiteralJsonSchemaProperty","description":"JSON schema describing the value that the LLM should extract.","examples":[{"description":"User's last message contains a question about our pricing.","type":"boolean"},{"description":"User provided their email address.","type":"boolean"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.value_schema","typeLabel":"LLMLiteralJsonSchemaProperty · object"},"type":{"type":"string","const":"llm","title":"Type","default":"llm","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.4","typeLabel":"ASTLLMNode · object"},{"type":"object","title":"ASTDynamicVariableNode","description":"Expression to evaluate.","required":["name"],"properties":{"name":{"type":"string","title":"Name","description":"The name of the dynamic variable.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.5.name","typeLabel":"string"},"type":{"type":"string","const":"dynamic_variable","title":"Type","default":"dynamic_variable","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.5","typeLabel":"ASTDynamicVariableNode · object"},{"type":"object","title":"ASTOrOperatorNode","description":"Expression to evaluate.","required":["children"],"properties":{"children":{"items":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55"},"type":"array","minItems":2,"title":"Children","description":"Child nodes of the logical operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.6.children","typeLabel":"Children · array"},"type":{"type":"string","const":"or_operator","title":"Type","default":"or_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.6","typeLabel":"ASTOrOperatorNode · object"},{"type":"object","title":"ASTAndOperatorNode","description":"Expression to evaluate.","required":["children"],"properties":{"children":{"items":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55"},"type":"array","minItems":2,"title":"Children","description":"Child nodes of the logical operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.7.children","typeLabel":"Children · array"},"type":{"type":"string","const":"and_operator","title":"Type","default":"and_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.7.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.7","typeLabel":"ASTAndOperatorNode · object"},{"type":"object","title":"ASTEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.8.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.8.right","typeLabel":"any"},"type":{"type":"string","const":"eq_operator","title":"Type","default":"eq_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.8.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.8","typeLabel":"ASTEqualsOperatorNode · object"},{"type":"object","title":"ASTNotEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.9.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.9.right","typeLabel":"any"},"type":{"type":"string","const":"neq_operator","title":"Type","default":"neq_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.9.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.9","typeLabel":"ASTNotEqualsOperatorNode · object"},{"type":"object","title":"ASTGreaterThanOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.10.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.10.right","typeLabel":"any"},"type":{"type":"string","const":"gt_operator","title":"Type","default":"gt_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.10.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.10","typeLabel":"ASTGreaterThanOperatorNode · object"},{"type":"object","title":"ASTLessThanOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.11.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.11.right","typeLabel":"any"},"type":{"type":"string","const":"lt_operator","title":"Type","default":"lt_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.11.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.11","typeLabel":"ASTLessThanOperatorNode · object"},{"type":"object","title":"ASTGreaterThanOrEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.12.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.12.right","typeLabel":"any"},"type":{"type":"string","const":"gte_operator","title":"Type","default":"gte_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.12.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.12","typeLabel":"ASTGreaterThanOrEqualsOperatorNode · object"},{"type":"object","title":"ASTLessThanOrEqualsOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.13.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.13.right","typeLabel":"any"},"type":{"type":"string","const":"lte_operator","title":"Type","default":"lte_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.13.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.13","typeLabel":"ASTLessThanOrEqualsOperatorNode · object"},{"type":"object","title":"ASTAdditionOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.14.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.14.right","typeLabel":"any"},"type":{"type":"string","const":"add_operator","title":"Type","default":"add_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.14.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.14","typeLabel":"ASTAdditionOperatorNode · object"},{"type":"object","title":"ASTSubtractionOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.15.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.15.right","typeLabel":"any"},"type":{"type":"string","const":"sub_operator","title":"Type","default":"sub_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.15.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.15","typeLabel":"ASTSubtractionOperatorNode · object"},{"type":"object","title":"ASTMultiplicationOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.16.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.16.right","typeLabel":"any"},"type":{"type":"string","const":"mul_operator","title":"Type","default":"mul_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.16.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.16","typeLabel":"ASTMultiplicationOperatorNode · object"},{"type":"object","title":"ASTDivisionOperatorNode","description":"Expression to evaluate.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.17.left","typeLabel":"any"},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.17.right","typeLabel":"any"},"type":{"type":"string","const":"div_operator","title":"Type","default":"div_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.17.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.17","typeLabel":"ASTDivisionOperatorNode · object"},{"type":"object","title":"ASTConditionalOperatorNode","description":"Expression to evaluate.","required":["condition","trueExpression","falseExpression"],"properties":{"condition":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Condition deciding which expression should be selected.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.18.condition","typeLabel":"any"},"trueExpression":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Expression selected if the condition is true.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.18.trueExpression","typeLabel":"any"},"falseExpression":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Expression selected if the condition is false.","isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.18.falseExpression","typeLabel":"any"},"type":{"type":"string","const":"conditional_operator","title":"Type","default":"conditional_operator","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.18.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression.oneOf.18","typeLabel":"ASTConditionalOperatorNode · object"}],"isRequired":true,"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.expression","typeLabel":"ASTStringNode · object | ASTNumberNode · object | ASTBooleanNode · object | ASTNullNode · object | ASTLLMNode · object | ASTDynamicVariableNode · object | ASTOrOperatorNode · object | ASTAndOperatorNode · object | ASTEqualsOperatorNode · object | ASTNotEqualsOperatorNode · object | ASTGreaterThanOperatorNode · object | ASTLessThanOperatorNode · object | ASTGreaterThanOrEqualsOperatorNode · object | ASTLessThanOrEqualsOperatorNode · object | ASTAdditionOperatorNode · object | ASTSubtractionOperatorNode · object | ASTMultiplicationOperatorNode · object | ASTDivisionOperatorNode · object | ASTConditionalOperatorNode · object"},"label":{"oneOf":[{"type":"string","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"Optional human-readable label for the condition used throughout the UI.","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.label","typeLabel":"string | null"},"type":{"type":"string","const":"expression","title":"Type","default":"expression","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3.type","typeLabel":"string"}},"uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.3","typeLabel":"WorkflowExpressionConditionModel · object"},{"type":"null","title":"Backward Condition","description":"Condition that must be met for the edge to be traversed in the backward direction (target to source).","uniqueKey":"workflow.edges.additionalProperties.backward_condition.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.edges.additionalProperties.backward_condition","typeLabel":"WorkflowUnconditionalModel · object | WorkflowLLMConditionModel · object | WorkflowResultConditionModel · object | WorkflowExpressionConditionModel · object | null"}},"type":"object","required":["source","target"],"title":"WorkflowEdgeModel","uniqueKey":"workflow.edges.additionalProperties","typeLabel":"WorkflowEdgeModel · object"},"type":"object","title":"Edges","uniqueKey":"workflow.edges","typeLabel":"Edges · object"},"nodes":{"additionalProperties":{"oneOf":[{"type":"object","title":"WorkflowStartNodeModel","description":"Entry point of the workflow.","properties":{"type":{"type":"string","const":"start","title":"Type","default":"start","uniqueKey":"workflow.nodes.additionalProperties.oneOf.0.type","typeLabel":"string"},"position":{"properties":{"x":{"type":"number","title":"X","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.0.position.x","typeLabel":"number"},"y":{"type":"number","title":"Y","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.0.position.y","typeLabel":"number"}},"type":"object","title":"Position","description":"Position of the node in the workflow.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.0.position","typeLabel":"Position · object"},"edge_order":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.0.edge_order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Edge Order","description":"The ids of outgoing edges in the order they should be evaluated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.0.edge_order","typeLabel":"string[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.0","typeLabel":"WorkflowStartNodeModel · object"},{"type":"object","title":"WorkflowEndNodeModel","description":"Terminates the conversation upon reaching this node.","properties":{"type":{"type":"string","const":"end","title":"Type","default":"end","uniqueKey":"workflow.nodes.additionalProperties.oneOf.1.type","typeLabel":"string"},"position":{"properties":{"x":{"type":"number","title":"X","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.1.position.x","typeLabel":"number"},"y":{"type":"number","title":"Y","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.1.position.y","typeLabel":"number"}},"type":"object","title":"Position","description":"Position of the node in the workflow.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.1.position","typeLabel":"Position · object"},"edge_order":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.1.edge_order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Edge Order","description":"The ids of outgoing edges in the order they should be evaluated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.1.edge_order","typeLabel":"string[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.1","typeLabel":"WorkflowEndNodeModel · object"},{"type":"object","title":"WorkflowPhoneNumberNodeModel","description":"Transfers the conversation to a phone number.","required":["transfer_destination"],"properties":{"transfer_destination":{"oneOf":[{"type":"object","title":"PhoneNumberTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.0.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone","title":"Type","default":"phone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.0","typeLabel":"PhoneNumberTransferDestination · object"},{"type":"object","title":"SIPUriTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.1.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri","title":"Type","default":"sip_uri","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.1","typeLabel":"SIPUriTransferDestination · object"},{"type":"object","title":"PhoneNumberDynamicVariableTransferDestination","required":["phone_number"],"properties":{"phone_number":{"type":"string","title":"Phone Number","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.2.phone_number","typeLabel":"string"},"type":{"type":"string","const":"phone_dynamic_variable","title":"Type","default":"phone_dynamic_variable","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.2","typeLabel":"PhoneNumberDynamicVariableTransferDestination · object"},{"type":"object","title":"SIPUriDynamicVariableTransferDestination","required":["sip_uri"],"properties":{"sip_uri":{"type":"string","title":"Sip Uri","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.3.sip_uri","typeLabel":"string"},"type":{"type":"string","const":"sip_uri_dynamic_variable","title":"Type","default":"sip_uri_dynamic_variable","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination.oneOf.3","typeLabel":"SIPUriDynamicVariableTransferDestination · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_destination","typeLabel":"PhoneNumberTransferDestination · object | SIPUriTransferDestination · object | PhoneNumberDynamicVariableTransferDestination · object | SIPUriDynamicVariableTransferDestination · object"},"custom_sip_headers":{"items":{"oneOf":[{"type":"object","title":"CustomSIPHeader","required":["key","value"],"properties":{"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.0.key","typeLabel":"string"},"value":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[\\x09\\x20-\\x7E]+$","title":"Value","description":"The header value","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.0","typeLabel":"CustomSIPHeader · object"},{"type":"object","title":"CustomSIPHeaderWithDynamicVariable","required":["type","key","value"],"properties":{"type":{"type":"string","const":"dynamic","title":"Type","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.1.type","typeLabel":"string"},"key":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$","title":"Key","description":"The SIP header name (e.g., 'X-Customer-ID')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.1.key","typeLabel":"string"},"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX].oneOf.1","typeLabel":"CustomSIPHeaderWithDynamicVariable · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers.items.[INDEX]","typeLabel":"CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.custom_sip_headers","typeLabel":"(CustomSIPHeader · object | CustomSIPHeaderWithDynamicVariable · object)[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"oneOf":[{"type":"object","title":"UUITransferConfig","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","required":["data"],"properties":{"data":{"type":"string","maxLength":8192,"title":"Data","description":"UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.0.data","typeLabel":"string"},"protocol_discriminator":{"oneOf":[{"type":"string","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","pattern":"^[0-9A-Fa-f]{2}$","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.0.protocol_discriminator.oneOf.0","typeLabel":"string"},{"type":"null","title":"Protocol Discriminator","description":"Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.0.protocol_discriminator.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.0.protocol_discriminator","typeLabel":"string | null"},"protocol_discriminator_mode":{"type":"string","enum":["prefix","pd_parameter"],"title":"Protocol Discriminator Mode","description":"How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX\u003chex>;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=\u003chex>;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset.","default":"prefix","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.0.protocol_discriminator_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.0","typeLabel":"UUITransferConfig · object"},{"type":"null","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.uui","typeLabel":"UUITransferConfig · object | null"},"post_dial_digits":{"oneOf":[{"type":"object","title":"PostDialDigitsStatic","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"pattern":"^[0-9*#wW]*$","title":"Value","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension)","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.0.value","typeLabel":"string"},"type":{"type":"string","const":"static","title":"Type","default":"static","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.0","typeLabel":"PostDialDigitsStatic · object"},{"type":"object","title":"PostDialDigitsDynamicVariable","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","required":["value"],"properties":{"value":{"type":"string","minLength":1,"title":"Value","description":"The dynamic variable name to resolve","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.1.value","typeLabel":"string"},"type":{"type":"string","const":"dynamic","title":"Type","default":"dynamic","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.1","typeLabel":"PostDialDigitsDynamicVariable · object"},{"type":"null","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits.oneOf.2","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.post_dial_digits","typeLabel":"PostDialDigitsStatic · object | PostDialDigitsDynamicVariable · object | null"},"type":{"type":"string","const":"phone_number","title":"Type","default":"phone_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.type","typeLabel":"string"},"position":{"properties":{"x":{"type":"number","title":"X","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.position.x","typeLabel":"number"},"y":{"type":"number","title":"Y","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.position.y","typeLabel":"number"}},"type":"object","title":"Position","description":"Position of the node in the workflow.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.position","typeLabel":"Position · object"},"edge_order":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.edge_order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Edge Order","description":"The ids of outgoing edges in the order they should be evaluated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.2.edge_order","typeLabel":"string[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.2","typeLabel":"WorkflowPhoneNumberNodeModel · object"},{"type":"object","title":"WorkflowOverrideAgentNodeModel","description":"A subagent conducting the conversation until one of the exit conditions is met. Each subagent can override the base settings, changing the prompt, knowledge base, and more.","required":["label"],"properties":{"label":{"type":"string","title":"Label","description":"Human-readable label for the node used throughout the UI.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.label","typeLabel":"string"},"type":{"type":"string","const":"override_agent","title":"Type","default":"override_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.type","typeLabel":"string"},"position":{"properties":{"x":{"type":"number","title":"X","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.position.x","typeLabel":"number"},"y":{"type":"number","title":"Y","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.position.y","typeLabel":"number"}},"type":"object","title":"Position","description":"Position of the node in the workflow.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.position","typeLabel":"Position · object"},"edge_order":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.edge_order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Edge Order","description":"The ids of outgoing edges in the order they should be evaluated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.edge_order","typeLabel":"string[]"},"conversation_config":{"properties":{"turn":{"oneOf":[{"type":"object","title":"TurnConfigWorkflowOverride","description":"Configuration for turn detection","example":{"interruption_ignore_term_languages":[],"interruption_ignore_terms":[],"merge_with_default_ignore_terms":false,"mode":"turn","retranscribe_on_turn_timeout":false,"silence_end_call_timeout":-1,"soft_timeout_config":{"message":"Hhmmmm...yeah.","timeout_seconds":-1,"use_llm_generated_message":false},"speculative_turn":false,"spelling_patience":"auto","transcribe_on_disabled_interruptions":false,"turn_eagerness":"normal","turn_model":"turn_v3","turn_timeout":7},"properties":{"turn_timeout":{"oneOf":[{"type":"number","title":"Turn Timeout","description":"Maximum wait time for the user's reply before re-engaging the user","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_timeout.oneOf.0","typeLabel":"number"},{"type":"null","title":"Turn Timeout","description":"Maximum wait time for the user's reply before re-engaging the user","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_timeout.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_timeout","typeLabel":"number | null"},"initial_wait_time":{"oneOf":[{"type":"number","title":"Initial Wait Time","description":"How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.initial_wait_time.oneOf.0","typeLabel":"number"},{"type":"null","title":"Initial Wait Time","description":"How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.initial_wait_time.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.initial_wait_time","typeLabel":"number | null"},"silence_end_call_timeout":{"oneOf":[{"type":"number","title":"Silence End Call Timeout","description":"Maximum wait time since the user last spoke before terminating the call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.silence_end_call_timeout.oneOf.0","typeLabel":"number"},{"type":"null","title":"Silence End Call Timeout","description":"Maximum wait time since the user last spoke before terminating the call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.silence_end_call_timeout.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.silence_end_call_timeout","typeLabel":"number | null"},"mode":{"oneOf":[{"type":"string","title":"TurnMode","description":"The mode of turn detection","enum":["silence","turn"],"x-fern-ignore":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The mode of turn detection","x-fern-ignore":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.mode","typeLabel":"enum\u003cstring> | null"},"turn_eagerness":{"oneOf":[{"type":"string","title":"TurnEagerness","description":"Controls how eager the agent is to respond. Low = less eager (waits longer), Standard = default eagerness, High = more eager (responds sooner)","enum":["patient","normal","eager"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_eagerness.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Controls how eager the agent is to respond. Low = less eager (waits longer), Standard = default eagerness, High = more eager (responds sooner)","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_eagerness.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_eagerness","typeLabel":"enum\u003cstring> | null"},"spelling_patience":{"oneOf":[{"type":"string","title":"SpellingPatience","description":"Controls if the agent should be more patient when user is spelling numbers and named entities. Auto = model based, Off = never wait extra","enum":["auto","off"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.spelling_patience.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Controls if the agent should be more patient when user is spelling numbers and named entities. Auto = model based, Off = never wait extra","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.spelling_patience.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.spelling_patience","typeLabel":"enum\u003cstring> | null"},"speculative_turn":{"oneOf":[{"type":"boolean","title":"Speculative Turn","description":"When enabled, starts generating LLM responses during silence before full turn confidence is reached, reducing perceived latency. May increase LLM costs.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.speculative_turn.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Speculative Turn","description":"When enabled, starts generating LLM responses during silence before full turn confidence is reached, reducing perceived latency. May increase LLM costs.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.speculative_turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.speculative_turn","typeLabel":"boolean | null"},"retranscribe_on_turn_timeout":{"oneOf":[{"type":"boolean","title":"Retranscribe On Turn Timeout","description":"When enabled, if VAD detects no speech, attempts to re-transcribe accumulated audio at turn timeout. Disables silence discount billing for affected turns.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.retranscribe_on_turn_timeout.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retranscribe On Turn Timeout","description":"When enabled, if VAD detects no speech, attempts to re-transcribe accumulated audio at turn timeout. Disables silence discount billing for affected turns.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.retranscribe_on_turn_timeout.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.retranscribe_on_turn_timeout","typeLabel":"boolean | null"},"turn_model":{"oneOf":[{"type":"string","title":"TurnModel","description":"Version of the turn detection model to use.","enum":["turn_v2","turn_v3"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_model.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Version of the turn detection model to use.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.turn_model","typeLabel":"enum\u003cstring> | null"},"interruption_ignore_terms":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_terms.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Interruption Ignore Terms","description":"List of terms that should not trigger an interruption when spoken by the user (e.g. 'gotcha', 'understood'). Uses case-insensitive exact matching.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_terms.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Interruption Ignore Terms","description":"List of terms that should not trigger an interruption when spoken by the user (e.g. 'gotcha', 'understood'). Uses case-insensitive exact matching.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_terms.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_terms","typeLabel":"string[] | null"},"interruption_ignore_term_languages":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_term_languages.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Interruption Ignore Term Languages","description":"Language codes for which preset ignore-term categories have been activated. Stored explicitly so display is not inferred from term overlap.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_term_languages.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Interruption Ignore Term Languages","description":"Language codes for which preset ignore-term categories have been activated. Stored explicitly so display is not inferred from term overlap.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_term_languages.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.interruption_ignore_term_languages","typeLabel":"string[] | null"},"merge_with_default_ignore_terms":{"oneOf":[{"type":"boolean","title":"Merge With Default Ignore Terms","description":"When enabled, the curated default terms for interruption_ignore_term_languages are used in addition to interruption_ignore_terms.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.merge_with_default_ignore_terms.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Merge With Default Ignore Terms","description":"When enabled, the curated default terms for interruption_ignore_term_languages are used in addition to interruption_ignore_terms.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.merge_with_default_ignore_terms.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.merge_with_default_ignore_terms","typeLabel":"boolean | null"},"transcribe_on_disabled_interruptions":{"oneOf":[{"type":"boolean","title":"Transcribe On Disabled Interruptions","description":"When interruptions are disabled, still transcribe what the user says so it can carry into the next turn. When off, user speech during a non-interruptible turn is ignored and won't trigger a turn.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.transcribe_on_disabled_interruptions.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Transcribe On Disabled Interruptions","description":"When interruptions are disabled, still transcribe what the user says so it can carry into the next turn. When off, user speech during a non-interruptible turn is ignored and won't trigger a turn.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.transcribe_on_disabled_interruptions.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.transcribe_on_disabled_interruptions","typeLabel":"boolean | null"},"soft_timeout_config":{"oneOf":[{"type":"object","title":"SoftTimeoutConfigWorkflowOverride","description":"Configuration for soft timeout functionality. Provides immediate feedback during longer LLM responses.","example":{"message":"Hhmmmm...yeah.","timeout_seconds":-1,"use_llm_generated_message":false},"properties":{"timeout_seconds":{"oneOf":[{"type":"number","title":"Timeout Seconds","description":"Time in seconds before showing the predefined message while waiting for LLM response. Set to -1 to disable.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.timeout_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timeout Seconds","description":"Time in seconds before showing the predefined message while waiting for LLM response. Set to -1 to disable.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.timeout_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.timeout_seconds","typeLabel":"number | null"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.message","typeLabel":"string | null"},"additional_soft_timeout_messages":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages","typeLabel":"string[] | null"},"use_llm_generated_message":{"oneOf":[{"type":"boolean","title":"Use Llm Generated Message","description":"If enabled, the soft timeout message will be generated dynamically instead of using the static message.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.use_llm_generated_message.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Use Llm Generated Message","description":"If enabled, the soft timeout message will be generated dynamically instead of using the static message.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.use_llm_generated_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.use_llm_generated_message","typeLabel":"boolean | null"},"randomize_fillers":{"oneOf":[{"type":"boolean","title":"Randomize Fillers","description":"If enabled, shuffle the order of static soft timeout messages once at the start of each turn. Only applies when use_llm_generated_message is false.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.randomize_fillers.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Randomize Fillers","description":"If enabled, shuffle the order of static soft timeout messages once at the start of each turn. Only applies when use_llm_generated_message is false.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.randomize_fillers.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.randomize_fillers","typeLabel":"boolean | null"},"max_soft_timeouts_per_generation":{"oneOf":[{"type":"integer","title":"Max Soft Timeouts Per Generation","description":"Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.max_soft_timeouts_per_generation.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Soft Timeouts Per Generation","description":"Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.max_soft_timeouts_per_generation.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.max_soft_timeouts_per_generation","typeLabel":"integer | null"},"llm_generated_message_prompt_override":{"oneOf":[{"type":"string","title":"Llm Generated Message Prompt Override","description":"Custom prompt for generating the soft timeout filler message when use_llm_generated_message is enabled. Recent conversation context is provided as a separate user message. If not set, the default prompt will be used. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","example":"Output a SHORT neutral filler phrase (1-4 words MAX) acknowledging you heard the user.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.llm_generated_message_prompt_override.oneOf.0","typeLabel":"string"},{"type":"null","title":"Llm Generated Message Prompt Override","description":"Custom prompt for generating the soft timeout filler message when use_llm_generated_message is enabled. Recent conversation context is provided as a separate user message. If not set, the default prompt will be used. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","example":"Output a SHORT neutral filler phrase (1-4 words MAX) acknowledging you heard the user.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.llm_generated_message_prompt_override.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.llm_generated_message_prompt_override","typeLabel":"string | null"},"disable_until_first_user_message":{"oneOf":[{"type":"boolean","title":"Disable Until First User Message","description":"When true, soft timeout fillers are suppressed until the conversation has at least one real user message. Prevents fillers during the agent's opening turn (e.g. workflow generate-immediately / tool calls before the user speaks).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.disable_until_first_user_message.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Disable Until First User Message","description":"When true, soft timeout fillers are suppressed until the conversation has at least one real user message. Prevents fillers during the agent's opening turn (e.g. workflow generate-immediately / tool calls before the user speaks).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.disable_until_first_user_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0.disable_until_first_user_message","typeLabel":"boolean | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.0","typeLabel":"SoftTimeoutConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for soft timeout functionality. Provides immediate feedback during longer LLM responses.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0.soft_timeout_config","typeLabel":"SoftTimeoutConfigWorkflowOverride · object | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.0","typeLabel":"TurnConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for turn detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.turn","typeLabel":"TurnConfigWorkflowOverride · object | null"},"tts":{"oneOf":[{"type":"object","title":"TTSConversationalConfigWorkflowOverride","description":"Configuration for conversational text to speech","example":{"voice_id":"ME9RtCnWp5vX2LhJdF3k"},"properties":{"voice_id":{"oneOf":[{"type":"string","title":"Voice Id","description":"The voice ID to use for TTS","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.voice_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Id","description":"The voice ID to use for TTS","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.voice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.voice_id","typeLabel":"string | null"},"pronunciation_dictionary_locators":{"oneOf":[{"type":"array","items":{"properties":{"pronunciation_dictionary_id":{"type":"string","title":"Pronunciation Dictionary Id","description":"The ID of the pronunciation dictionary","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.0.items.[INDEX].pronunciation_dictionary_id","typeLabel":"string"},"version_id":{"oneOf":[{"type":"string","title":"Version Id","description":"The ID of the version of the pronunciation dictionary","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.0.items.[INDEX].version_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Version Id","description":"The ID of the version of the pronunciation dictionary","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.0.items.[INDEX].version_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.0.items.[INDEX].version_id","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["pronunciation_dictionary_id","version_id"],"title":"PydanticPronunciationDictionaryVersionLocator","description":"A locator for other documents to be able to reference a specific dictionary and it's version.\nThis is a pydantic version of PronunciationDictionaryVersionLocatorDBModel.\nRequired to ensure compat with the rest of the agent data models.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.0.items.[INDEX]","typeLabel":"PydanticPronunciationDictionaryVersionLocator · object"},"title":"Pronunciation Dictionary Locators","description":"The pronunciation dictionary locators","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.0","typeLabel":"PydanticPronunciationDictionaryVersionLocator · object[]"},{"type":"null","title":"Pronunciation Dictionary Locators","description":"The pronunciation dictionary locators","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.pronunciation_dictionary_locators","typeLabel":"PydanticPronunciationDictionaryVersionLocator · object[] | null"},"enable_phoneme_tags":{"oneOf":[{"type":"boolean","title":"Enable Phoneme Tags","description":"Opt-in to SSML phoneme tag handling. When enabled, phoneme tags from inline content and pronunciation dictionaries may be normalized before synthesis when the selected provider supports them.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.enable_phoneme_tags.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enable Phoneme Tags","description":"Opt-in to SSML phoneme tag handling. When enabled, phoneme tags from inline content and pronunciation dictionaries may be normalized before synthesis when the selected provider supports them.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.enable_phoneme_tags.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0.enable_phoneme_tags","typeLabel":"boolean | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.0","typeLabel":"TTSConversationalConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for conversational text to speech","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.tts","typeLabel":"TTSConversationalConfigWorkflowOverride · object | null"},"conversation":{"oneOf":[{"type":"object","title":"ConversationConfigWorkflowOverride","description":"Configuration for conversational events","example":{"client_events":["audio","interruption"],"max_duration_seconds":600},"properties":{"text_only":{"oneOf":[{"type":"boolean","title":"Text Only","description":"If enabled audio will not be processed and only text will be used, use to avoid audio pricing.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.text_only.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Text Only","description":"If enabled audio will not be processed and only text will be used, use to avoid audio pricing.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.text_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.text_only","typeLabel":"boolean | null"},"max_duration_seconds":{"oneOf":[{"type":"integer","title":"Max Duration Seconds","description":"The maximum duration of a conversation in seconds","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.max_duration_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Duration Seconds","description":"The maximum duration of a conversation in seconds","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.max_duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.max_duration_seconds","typeLabel":"integer | null"},"client_events":{"oneOf":[{"type":"array","items":{"type":"string","enum":["conversation_initiation_metadata","asr_initiation_metadata","ping","audio","interruption","user_transcript","tentative_user_transcript","agent_response","agent_response_correction","client_tool_call","mcp_tool_call","mcp_connection_status","agent_tool_request","agent_tool_response","agent_tool_response_full_payload","agent_response_metadata","vad_score","agent_chat_response_part","client_error","guardrail_triggered","dtmf_request","agent_response_complete","context_usage","internal_turn_probability","internal_tentative_agent_response"],"title":"ClientEvent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.client_events.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Client Events","description":"The events that will be sent to the client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.client_events.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Client Events","description":"The events that will be sent to the client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.client_events.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.client_events","typeLabel":"enum\u003cstring>[] | null"},"file_input":{"oneOf":[{"type":"object","title":"FileInputConfigWorkflowOverride","description":"Configuration for file input (image/PDF uploads) during conversations.","x-convai-client-override":true,"properties":{"enabled":{"oneOf":[{"type":"boolean","title":"Enabled","description":"When enabled, users may attach images or PDFs in chat when the LLM supports multimodal input.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enabled","description":"When enabled, users may attach images or PDFs in chat when the LLM supports multimodal input.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.enabled","typeLabel":"boolean | null"},"max_files_in_memory":{"oneOf":[{"type":"integer","title":"Max Files In Memory","description":"Number of most-recent files kept in memory during a conversation. Older files are summarized and their bytes freed.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.max_files_in_memory.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Files In Memory","description":"Number of most-recent files kept in memory during a conversation. Older files are summarized and their bytes freed.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.max_files_in_memory.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.max_files_in_memory","typeLabel":"integer | null"},"max_files_per_conversation":{"oneOf":[{"type":"integer","title":"Max Files Per Conversation","description":"Total files a user can upload in one conversation. Uploads are billed per file. Use -1 for no limit, or a value >= max_files_in_memory.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.max_files_per_conversation.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Files Per Conversation","description":"Total files a user can upload in one conversation. Uploads are billed per file. Use -1 for no limit, or a value >= max_files_in_memory.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.max_files_per_conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0.max_files_per_conversation","typeLabel":"integer | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.0","typeLabel":"FileInputConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for file input (image/PDF uploads) during conversations.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.file_input","typeLabel":"FileInputConfigWorkflowOverride · object | null"},"monitoring_enabled":{"oneOf":[{"type":"boolean","title":"Monitoring Enabled","description":"Enable real-time monitoring of conversations via WebSocket","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Monitoring Enabled","description":"Enable real-time monitoring of conversations via WebSocket","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_enabled","typeLabel":"boolean | null"},"monitoring_events":{"oneOf":[{"type":"array","items":{"type":"string","enum":["conversation_initiation_metadata","asr_initiation_metadata","ping","audio","interruption","user_transcript","tentative_user_transcript","agent_response","agent_response_correction","client_tool_call","mcp_tool_call","mcp_connection_status","agent_tool_request","agent_tool_response","agent_tool_response_full_payload","agent_response_metadata","vad_score","agent_chat_response_part","client_error","guardrail_triggered","dtmf_request","agent_response_complete","context_usage","internal_turn_probability","internal_tentative_agent_response"],"title":"ClientEvent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_events.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Monitoring Events","description":"The events that will be sent to monitoring connections.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_events.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Monitoring Events","description":"The events that will be sent to monitoring connections.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_events.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.monitoring_events","typeLabel":"enum\u003cstring>[] | null"},"dtmf_input_settings":{"oneOf":[{"type":"object","title":"DTMFInputConfig","description":"Configure DTMF (keypad) input collection during phone calls","properties":{"dtmf_input_timeout":{"type":"number","maximum":10,"minimum":0.5,"title":"Dtmf Input Timeout","description":"Timeout in seconds to wait for additional DTMF digits","default":2,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.dtmf_input_settings.oneOf.0.dtmf_input_timeout","typeLabel":"number"},"hash_terminator":{"type":"boolean","title":"Hash Terminator","description":"If true, pressing # immediately completes DTMF input","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.dtmf_input_settings.oneOf.0.hash_terminator","typeLabel":"boolean"},"redact_input":{"type":"boolean","title":"Redact Input","description":"If true, replace the caller's DTMF (keypad) entries with a redaction marker in the transcript, conversation log and analysis. Digits the agent repeats back or passes to a tool are not affected.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.dtmf_input_settings.oneOf.0.redact_input","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.dtmf_input_settings.oneOf.0","typeLabel":"DTMFInputConfig · object"},{"type":"null","description":"Configure DTMF (keypad) input collection during phone calls","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.dtmf_input_settings.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.dtmf_input_settings","typeLabel":"DTMFInputConfig · object | null"},"background_sound":{"oneOf":[{"type":"object","title":"BackgroundSoundConfigWorkflowOverride","description":"Configuration for background sound during conversations.","properties":{"source_type":{"oneOf":[{"type":"string","title":"BackgroundSoundSourceType","description":"The type of background sound source.","enum":["preset"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.source_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The type of background sound source.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.source_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.source_type","typeLabel":"enum\u003cstring> | null"},"source_id":{"oneOf":[{"type":"string","title":"BackgroundSoundPresetId","description":"Identifier for the sound source.","enum":["office2","office1","restaurant","city","typing","elevator1","elevator2","elevator3","elevator4"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.source_id.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Identifier for the sound source.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.source_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.source_id","typeLabel":"enum\u003cstring> | null"},"volume":{"oneOf":[{"type":"number","title":"Volume","description":"Volume level for background sound (0.01 to 1.0).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.volume.oneOf.0","typeLabel":"number"},{"type":"null","title":"Volume","description":"Volume level for background sound (0.01 to 1.0).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.volume","typeLabel":"number | null"},"crossfade_loop":{"oneOf":[{"type":"boolean","title":"Crossfade Loop","description":"Apply a crossfade at the loop boundary to avoid audible pops when the sound loops.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.crossfade_loop.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Crossfade Loop","description":"Apply a crossfade at the loop boundary to avoid audible pops when the sound loops.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.crossfade_loop.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0.crossfade_loop","typeLabel":"boolean | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.0","typeLabel":"BackgroundSoundConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for background sound during conversations.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.background_sound","typeLabel":"BackgroundSoundConfigWorkflowOverride · object | null"},"source_attribution":{"oneOf":[{"type":"boolean","title":"Source Attribution","description":"When enabled and knowledge base content is present, the LLM is instructed to report which sources it used.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.source_attribution.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Source Attribution","description":"When enabled and knowledge base content is present, the LLM is instructed to report which sources it used.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.source_attribution.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0.source_attribution","typeLabel":"boolean | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.0","typeLabel":"ConversationConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for conversational events","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.conversation","typeLabel":"ConversationConfigWorkflowOverride · object | null"},"language_presets":{"oneOf":[{"type":"object","title":"Language Presets","description":"Language presets for conversations","additionalProperties":{"properties":{"overrides":{"properties":{"agent":{"oneOf":[{"type":"object","title":"LanguagePresetAgentOverride","description":"Localized agent copy that a language preset may replace.","properties":{"first_message":{"oneOf":[{"type":"string","title":"First Message","description":"Localized opening message.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0.first_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"First Message","description":"Localized opening message.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0.first_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0.first_message","typeLabel":"string | null"},"max_conversation_duration_message":{"oneOf":[{"type":"string","title":"Max Conversation Duration Message","description":"Localized message sent when the conversation duration limit is reached.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0.max_conversation_duration_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Max Conversation Duration Message","description":"Localized message sent when the conversation duration limit is reached.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0.max_conversation_duration_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0.max_conversation_duration_message","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.0","typeLabel":"LanguagePresetAgentOverride · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.agent","typeLabel":"LanguagePresetAgentOverride · object | null"},"turn":{"oneOf":[{"type":"object","title":"LanguagePresetTurnOverride","description":"Localized turn copy that a language preset may replace.","properties":{"soft_timeout_config":{"oneOf":[{"type":"object","title":"SoftTimeoutConfigOverride","description":"Localized static soft-timeout messages.","example":{"message":"Hhmmmm...yeah."},"properties":{"message":{"oneOf":[{"type":"string","title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}).","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.message","typeLabel":"string | null"},"additional_soft_timeout_messages":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Additional Soft Timeout Messages","description":"Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0.additional_soft_timeout_messages","typeLabel":"string[] | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.0","typeLabel":"SoftTimeoutConfigOverride · object"},{"type":"null","description":"Localized static soft-timeout messages.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0.soft_timeout_config","typeLabel":"SoftTimeoutConfigOverride · object | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.0","typeLabel":"LanguagePresetTurnOverride · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.turn","typeLabel":"LanguagePresetTurnOverride · object | null"},"tts":{"oneOf":[{"type":"object","title":"LanguagePresetTTSOverride","description":"Compatible curated voice selected for one configured language.","properties":{"voice_id":{"oneOf":[{"type":"string","title":"Voice Id","description":"Stable curated Threetone voice ID.","minLength":1,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.tts.oneOf.0.voice_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Id","description":"Stable curated Threetone voice ID.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.tts.oneOf.0.voice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.tts.oneOf.0.voice_id","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.tts.oneOf.0","typeLabel":"LanguagePresetTTSOverride · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.tts.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides.tts","typeLabel":"LanguagePresetTTSOverride · object | null"}},"additionalProperties":false,"type":"object","title":"LanguagePresetOverrides","description":"Localized copy and compatible voice overrides for the language preset.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.overrides","typeLabel":"LanguagePresetOverrides · object"},"first_message_translation":{"oneOf":[{"type":"object","title":"LanguagePresetTranslation","description":"The translation of the first message","required":["source_hash","text"],"properties":{"source_hash":{"type":"string","title":"Source Hash","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.first_message_translation.oneOf.0.source_hash","typeLabel":"string"},"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.first_message_translation.oneOf.0.text","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.first_message_translation.oneOf.0","typeLabel":"LanguagePresetTranslation · object"},{"type":"null","description":"The translation of the first message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.first_message_translation.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.first_message_translation","typeLabel":"LanguagePresetTranslation · object | null"},"soft_timeout_translation":{"oneOf":[{"type":"object","title":"LanguagePresetTranslation","description":"The translation of the soft timeout message","required":["source_hash","text"],"properties":{"source_hash":{"type":"string","title":"Source Hash","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.soft_timeout_translation.oneOf.0.source_hash","typeLabel":"string"},"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.soft_timeout_translation.oneOf.0.text","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.soft_timeout_translation.oneOf.0","typeLabel":"LanguagePresetTranslation · object"},{"type":"null","description":"The translation of the soft timeout message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.soft_timeout_translation.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties.soft_timeout_translation","typeLabel":"LanguagePresetTranslation · object | null"}},"additionalProperties":false,"type":"object","required":["overrides"],"title":"LanguagePreset","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0.additionalProperties","typeLabel":"LanguagePreset · object"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.0","typeLabel":"Language Presets · object"},{"type":"null","title":"Language Presets","description":"Language presets for conversations","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.language_presets","typeLabel":"Language Presets · object | null"},"vad":{"oneOf":[{"type":"object","title":"VADConfigWorkflowOverride","description":"Configuration for voice activity detection","example":{"background_voice_detection":false},"properties":{"background_voice_detection":{"oneOf":[{"type":"boolean","title":"Background Voice Detection","description":"Whether to use background voice filtering","x-fern-ignore":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.vad.oneOf.0.background_voice_detection.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Background Voice Detection","description":"Whether to use background voice filtering","x-fern-ignore":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.vad.oneOf.0.background_voice_detection.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.vad.oneOf.0.background_voice_detection","typeLabel":"boolean | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.vad.oneOf.0","typeLabel":"VADConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for voice activity detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.vad.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.vad","typeLabel":"VADConfigWorkflowOverride · object | null"},"agent":{"oneOf":[{"type":"object","title":"AgentConfigAPIModelWorkflowOverride","description":"Agent specific configuration","example":{"disable_first_message_interruptions":false,"dynamic_variables":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"first_message":"Hello, how can I help you today?","language":"en","prompt":{"knowledge_base":[],"llm":"google/gemma-4-31b","max_tokens":-1,"prompt":"You are a helpful assistant that can answer questions about the topic of the conversation.","temperature":0,"tool_ids":[]}},"properties":{"first_message":{"oneOf":[{"type":"string","title":"First Message","description":"If non-empty, the first message the agent will say. If empty, the agent waits for the user to start the discussion.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.first_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"First Message","description":"If non-empty, the first message the agent will say. If empty, the agent waits for the user to start the discussion.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.first_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.first_message","typeLabel":"string | null"},"language":{"oneOf":[{"type":"string","title":"Language","description":"Normalized lowercase BCP 47 language tag.","minLength":2,"pattern":"^[a-z]{2,8}(-[a-z0-9]{1,8})*$","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language","description":"Default response language. ASR input languages are configured separately.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.language.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.language","typeLabel":"string | null"},"dynamic_variables":{"oneOf":[{"type":"object","title":"DynamicVariablesConfigWorkflowOverride","description":"Configuration for dynamic variables","example":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"properties":{"dynamic_variable_placeholders":{"oneOf":[{"type":"object","title":"Dynamic Variable Placeholders","description":"A dictionary of dynamic variable placeholders and their values","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"boolean"},{},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4.items.[INDEX].oneOf.5","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string | number | integer | boolean | null"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.4","typeLabel":"(string | number | integer | boolean | null)[]"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0.additionalProperties","typeLabel":"string | number | integer | boolean | (string | number | integer | boolean | null)[] | null"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.0","typeLabel":"Dynamic Variable Placeholders · object"},{"type":"null","title":"Dynamic Variable Placeholders","description":"A dictionary of dynamic variable placeholders and their values","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0.dynamic_variable_placeholders","typeLabel":"Dynamic Variable Placeholders · object | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.0","typeLabel":"DynamicVariablesConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.dynamic_variables","typeLabel":"DynamicVariablesConfigWorkflowOverride · object | null"},"disable_first_message_interruptions":{"oneOf":[{"type":"boolean","title":"Disable First Message Interruptions","description":"If true, the user will not be able to interrupt the agent while the first message is being delivered.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.disable_first_message_interruptions.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Disable First Message Interruptions","description":"If true, the user will not be able to interrupt the agent while the first message is being delivered.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.disable_first_message_interruptions.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.disable_first_message_interruptions","typeLabel":"boolean | null"},"max_conversation_duration_message":{"oneOf":[{"type":"string","title":"Max Conversation Duration Message","description":"If non-empty, the message the agent will send when max conversation duration is reached.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.max_conversation_duration_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Max Conversation Duration Message","description":"If non-empty, the message the agent will send when max conversation duration is reached.","x-convai-client-override":true,"x-convai-language-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.max_conversation_duration_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.max_conversation_duration_message","typeLabel":"string | null"},"text_behavior_overrides":{"oneOf":[{"type":"object","title":"Text Behavior Overrides","description":"Per-channel response behavior overrides for text conversations. Built-in channel defaults apply when unset.","additionalProperties":{"properties":{"verbosity":{"oneOf":[{"type":"string","title":"Verbosity","description":"Verbosity override. Underlying default applies when unset.","enum":["auto","concise","thorough"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.verbosity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Verbosity override. Underlying default applies when unset.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.verbosity.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.verbosity","typeLabel":"enum\u003cstring> | null"},"output_format":{"oneOf":[{"type":"string","title":"OutputFormat","description":"Output format override. Underlying default applies when unset.","enum":["plain_text","markdown"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.output_format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Output format override. Underlying default applies when unset.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.output_format.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.output_format","typeLabel":"enum\u003cstring> | null"},"interaction_budget":{"oneOf":[{"type":"string","title":"InteractionBudget","description":"Interaction budget override. Underlying default applies when unset.","enum":["realtime","5_minutes","10_minutes","1_hour"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.interaction_budget.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Interaction budget override. Underlying default applies when unset.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.interaction_budget.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties.interaction_budget","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"type":"object","title":"BehaviorOverride","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0.additionalProperties","typeLabel":"BehaviorOverride · object"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.0","typeLabel":"Text Behavior Overrides · object"},{"type":"null","title":"Text Behavior Overrides","description":"Per-channel response behavior overrides for text conversations. Built-in channel defaults apply when unset.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.text_behavior_overrides","typeLabel":"Text Behavior Overrides · object | null"},"prompt":{"oneOf":[{"type":"object","title":"PromptAgentAPIModelWorkflowOverride","description":"The prompt for the agent","example":{"knowledge_base":[],"llm":"google/gemma-4-31b","max_tokens":-1,"prompt":"You are a helpful assistant that can answer questions about the topic of the conversation.","temperature":0,"tool_ids":[],"tools":[]},"properties":{"prompt":{"oneOf":[{"type":"string","title":"Prompt","description":"The prompt for the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Prompt","description":"The prompt for the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.prompt","typeLabel":"string | null"},"llm":{"oneOf":[{"type":"string","description":"The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.llm.oneOf.0","typeLabel":"string"},{"type":"string","description":"The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment","const":"custom-llm","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.llm.oneOf.1","typeLabel":"string"},{"type":"null","description":"The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.llm.oneOf.2","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.llm","typeLabel":"string · string · null"},"reasoning_effort":{"oneOf":[{"type":"string","title":"LLMReasoningEffort","description":"Reasoning effort of the model. Only available for some models.","enum":["none","minimal","low","medium","high","xhigh","max"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.reasoning_effort.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Reasoning effort of the model. Only available for some models.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.reasoning_effort.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.reasoning_effort","typeLabel":"enum\u003cstring> | null"},"thinking_budget":{"oneOf":[{"type":"integer","title":"Thinking Budget","description":"Max number of tokens used for thinking. Use 0 to turn off if supported by the model.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.thinking_budget.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Thinking Budget","description":"Max number of tokens used for thinking. Use 0 to turn off if supported by the model.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.thinking_budget.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.thinking_budget","typeLabel":"integer | null"},"enable_reasoning_summary":{"oneOf":[{"type":"boolean","title":"Enable Reasoning Summary","description":"Enable model reasoning summaries. When disabled, we do not request summaries from provider if possible for faster TTFB. Not ZRM compatible.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.enable_reasoning_summary.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enable Reasoning Summary","description":"Enable model reasoning summaries. When disabled, we do not request summaries from provider if possible for faster TTFB. Not ZRM compatible.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.enable_reasoning_summary.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.enable_reasoning_summary","typeLabel":"boolean | null"},"temperature":{"oneOf":[{"type":"number","title":"Temperature","description":"The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.temperature.oneOf.0","typeLabel":"number"},{"type":"null","title":"Temperature","description":"The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.temperature","typeLabel":"number | null"},"max_tokens":{"oneOf":[{"type":"integer","title":"Max Tokens","description":"If greater than 0, maximum number of tokens the LLM can predict","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.max_tokens.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Tokens","description":"If greater than 0, maximum number of tokens the LLM can predict","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.max_tokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.max_tokens","typeLabel":"integer | null"},"tool_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tool_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Tool Ids","description":"A list of IDs of tools used by the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tool_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Tool Ids","description":"A list of IDs of tools used by the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tool_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tool_ids","typeLabel":"string[] | null"},"built_in_tools":{"oneOf":[{"type":"object","title":"BuiltInToolsWorkflowOverride","description":"Built-in system tools to be used by the agent","properties":{"end_call":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The end call tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The end call tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.end_call","typeLabel":"SystemToolConfig · object | null"},"language_detection":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The language detection tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The language detection tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.language_detection","typeLabel":"SystemToolConfig · object | null"},"transfer_to_agent":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The transfer to agent tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The transfer to agent tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_agent","typeLabel":"SystemToolConfig · object | null"},"transfer_to_number":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The transfer to number tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The transfer to number tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.transfer_to_number","typeLabel":"SystemToolConfig · object | null"},"skip_turn":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The skip turn tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The skip turn tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.skip_turn","typeLabel":"SystemToolConfig · object | null"},"play_keypad_touch_tone":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The play DTMF tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The play DTMF tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.play_keypad_touch_tone","typeLabel":"SystemToolConfig · object | null"},"voicemail_detection":{"oneOf":[{"type":"object","title":"SystemToolConfig","description":"The voicemail detection tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.0","typeLabel":"SystemToolConfig · object"},{"type":"null","description":"The voicemail detection tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0.voicemail_detection","typeLabel":"SystemToolConfig · object | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.0","typeLabel":"BuiltInToolsWorkflowOverride · object"},{"type":"null","description":"Built-in system tools to be used by the agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.built_in_tools","typeLabel":"BuiltInToolsWorkflowOverride · object | null"},"enable_parallel_tool_calls":{"oneOf":[{"type":"boolean","title":"Enable Parallel Tool Calls","description":"Enable parallel tool calling. When enabled, the agent can execute multiple tools in parallel within a single turn. Not supported by all models.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.enable_parallel_tool_calls.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enable Parallel Tool Calls","description":"Enable parallel tool calling. When enabled, the agent can execute multiple tools in parallel within a single turn. Not supported by all models.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.enable_parallel_tool_calls.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.enable_parallel_tool_calls","typeLabel":"boolean | null"},"mcp_server_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.mcp_server_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Mcp Server Ids","description":"A list of MCP server ids to be used by the agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.mcp_server_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Mcp Server Ids","description":"A list of MCP server ids to be used by the agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.mcp_server_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.mcp_server_ids","typeLabel":"string[] | null"},"native_mcp_server_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.native_mcp_server_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Native Mcp Server Ids","description":"A list of Native MCP server ids to be used by the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.native_mcp_server_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Native Mcp Server Ids","description":"A list of Native MCP server ids to be used by the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.native_mcp_server_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.native_mcp_server_ids","typeLabel":"string[] | null"},"knowledge_base":{"oneOf":[{"type":"array","items":{"properties":{"type":{"type":"string","enum":["file","url","text","folder"],"title":"KnowledgeBaseDocumentType","description":"The type of the knowledge base","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.0.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","title":"Name","description":"The name of the knowledge base","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.0.items.[INDEX].name","typeLabel":"string"},"id":{"type":"string","title":"Id","description":"The ID of the knowledge base","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.0.items.[INDEX].id","typeLabel":"string"},"usage_mode":{"type":"string","enum":["prompt","auto"],"title":"DocumentUsageModeEnum","default":"auto","description":"The usage mode of the knowledge base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.0.items.[INDEX].usage_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"type":"object","required":["type","name","id"],"title":"KnowledgeBaseLocator","example":{"id":"123","name":"My Knowledge Base","type":"file","usage_mode":"auto"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.0.items.[INDEX]","typeLabel":"KnowledgeBaseLocator · object"},"title":"Knowledge Base","description":"A list of knowledge bases to be used by the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.0","typeLabel":"KnowledgeBaseLocator · object[]"},{"type":"null","title":"Knowledge Base","description":"A list of knowledge bases to be used by the agent","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.knowledge_base","typeLabel":"KnowledgeBaseLocator · object[] | null"},"custom_llm":{"oneOf":[{"type":"object","title":"CustomLLM","description":"Definition for a custom LLM when llm is 'custom-llm'. Managed models require null.","required":["url"],"properties":{"url":{"type":"string","title":"Url","description":"The URL of the Chat Completions compatible endpoint","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.url","typeLabel":"string"},"model_id":{"oneOf":[{"type":"string","title":"Model Id","description":"The model ID to be used if URL serves multiple models","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.model_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Id","description":"The model ID to be used if URL serves multiple models","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.model_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.model_id","typeLabel":"string | null"},"api_key":{"oneOf":[{"type":"object","title":"ConvAISecretLocator","description":"Used to reference a secret from the agent's secret store.","required":["secret_id"],"properties":{"secret_id":{"type":"string","title":"Secret Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_key.oneOf.0.secret_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_key.oneOf.0","typeLabel":"ConvAISecretLocator · object"},{"type":"object","title":"ConvAIEnvVarLocator","description":"Used to reference an environment variable by label.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_key.oneOf.1.env_var_label","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_key.oneOf.1","typeLabel":"ConvAIEnvVarLocator · object"},{"type":"null","title":"Api Key","description":"The API key for authentication. Either a workspace secret reference {'secret_id': '...'} or an environment variable reference {'env_var_label': '...'}.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_key.oneOf.2","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_key","typeLabel":"ConvAISecretLocator · object | ConvAIEnvVarLocator · object | null"},"auth_connection":{"oneOf":[{"type":"object","title":"AuthConnectionLocator","description":"Used to reference an auth connection from the workspace's auth connection store.","required":["auth_connection_id"],"properties":{"auth_connection_id":{"type":"string","title":"Auth Connection Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.auth_connection.oneOf.0.auth_connection_id","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.auth_connection.oneOf.0","typeLabel":"AuthConnectionLocator · object"},{"type":"object","title":"EnvironmentAuthConnectionLocator","description":"References an environment variable of type 'auth_connection' by label.\nAt runtime, resolves to the auth connection for the current environment,\nfalling back to the default environment.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.auth_connection.oneOf.1.env_var_label","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.auth_connection.oneOf.1","typeLabel":"EnvironmentAuthConnectionLocator · object"},{"type":"null","title":"Auth Connection","description":"Optional workspace auth connection for authentication. Only auth connections that produce an Authorization Bearer token are supported; Basic auth, mTLS, custom header, and URL secret auth connections are not supported.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.auth_connection.oneOf.2","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.auth_connection","typeLabel":"AuthConnectionLocator · object | EnvironmentAuthConnectionLocator · object | null"},"request_headers":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","title":"ConvAISecretLocator","description":"Used to reference a secret from the agent's secret store.","required":["secret_id"],"properties":{"secret_id":{"type":"string","title":"Secret Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.1.secret_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.1","typeLabel":"ConvAISecretLocator · object"},{"type":"object","title":"ConvAIDynamicVariable","description":"Used to reference a dynamic variable.","required":["variable_name"],"properties":{"variable_name":{"type":"string","title":"Variable Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.2.variable_name","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.2","typeLabel":"ConvAIDynamicVariable · object"},{"type":"object","title":"ConvAIEnvVarLocator","description":"Used to reference an environment variable by label.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.3.env_var_label","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties.oneOf.3","typeLabel":"ConvAIEnvVarLocator · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers.additionalProperties","typeLabel":"string | ConvAISecretLocator · object | ConvAIDynamicVariable · object | ConvAIEnvVarLocator · object"},"type":"object","title":"Request Headers","description":"Headers that should be included in the request","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.request_headers","typeLabel":"Request Headers · object"},"api_version":{"oneOf":[{"type":"string","title":"Api Version","description":"The API version to use for the request","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_version.oneOf.0","typeLabel":"string"},{"type":"null","title":"Api Version","description":"The API version to use for the request","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_version","typeLabel":"string | null"},"api_type":{"type":"string","enum":["chat_completions","responses","websocket"],"title":"CustomLLMAPIType","description":"The API type to use (chat_completions, responses or websocket)","default":"chat_completions","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0.api_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.0","typeLabel":"CustomLLM · object"},{"type":"null","description":"Definition for a custom LLM when llm is 'custom-llm'. Managed models require null.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.custom_llm","typeLabel":"CustomLLM · object | null"},"ignore_default_personality":{"oneOf":[{"type":"boolean","title":"Ignore Default Personality","description":"Whether to remove the default personality lines from the system prompt","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.ignore_default_personality.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Ignore Default Personality","description":"Whether to remove the default personality lines from the system prompt","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.ignore_default_personality.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.ignore_default_personality","typeLabel":"boolean | null"},"rag":{"oneOf":[{"type":"object","title":"RagConfigWorkflowOverride","description":"Configuration for RAG","properties":{"enabled":{"oneOf":[{"type":"boolean","title":"Enabled","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enabled","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.enabled","typeLabel":"boolean | null"},"embedding_model":{"oneOf":[{"type":"string","title":"EmbeddingModelEnum","default":"e5_mistral_7b_instruct","enum":["e5_mistral_7b_instruct","multilingual_e5_large_instruct"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.embedding_model.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.embedding_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.embedding_model","typeLabel":"enum\u003cstring> | null"},"max_vector_distance":{"oneOf":[{"type":"number","title":"Max Vector Distance","description":"Maximum vector distance of retrieved chunks.","example":0.5,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_vector_distance.oneOf.0","typeLabel":"number"},{"type":"null","title":"Max Vector Distance","description":"Maximum vector distance of retrieved chunks.","example":0.5,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_vector_distance.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_vector_distance","typeLabel":"number | null"},"max_documents_length":{"oneOf":[{"type":"integer","title":"Max Documents Length","description":"Maximum total length of document chunks retrieved from RAG.","example":"50000","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_documents_length.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Documents Length","description":"Maximum total length of document chunks retrieved from RAG.","example":"50000","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_documents_length.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_documents_length","typeLabel":"integer | null"},"max_retrieved_rag_chunks_count":{"oneOf":[{"type":"integer","title":"Max Retrieved Rag Chunks Count","description":"Maximum number of RAG document chunks to initially retrieve from the vector store. These are then further filtered by vector distance and total length.","example":5,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_retrieved_rag_chunks_count.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Retrieved Rag Chunks Count","description":"Maximum number of RAG document chunks to initially retrieve from the vector store. These are then further filtered by vector distance and total length.","example":5,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_retrieved_rag_chunks_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.max_retrieved_rag_chunks_count","typeLabel":"integer | null"},"num_candidates":{"oneOf":[{"type":"integer","title":"Num Candidates","description":"Number of candidates evaluated in ANN vector search. Higher number means better results, but higher latency. Minimum recommended value is 100. If disabled, the default value is used.","example":300,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.num_candidates.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Num Candidates","description":"Number of candidates evaluated in ANN vector search. Higher number means better results, but higher latency. Minimum recommended value is 100. If disabled, the default value is used.","example":300,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.num_candidates.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.num_candidates","typeLabel":"integer | null"},"query_rewrite_prompt_override":{"oneOf":[{"type":"string","title":"Query Rewrite Prompt Override","description":"Custom prompt for rewriting user queries before RAG retrieval. The conversation history will be automatically appended at the end. If not set, the default prompt will be used.","example":"You are given a conversation between a user and an assistant. Rewrite the last question to be self-contained and clear.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.query_rewrite_prompt_override.oneOf.0","typeLabel":"string"},{"type":"null","title":"Query Rewrite Prompt Override","description":"Custom prompt for rewriting user queries before RAG retrieval. The conversation history will be automatically appended at the end. If not set, the default prompt will be used.","example":"You are given a conversation between a user and an assistant. Rewrite the last question to be self-contained and clear.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.query_rewrite_prompt_override.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.query_rewrite_prompt_override","typeLabel":"string | null"},"knowledge_base_tool_info":{"oneOf":[{"type":"object","title":"KnowledgeBaseToolInfo","description":"When set, uses the knowledge_base tool instead of the legacy knowledge_base_rag tool. None means the agent has not opted in.","properties":{"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.knowledge_base_tool_info.oneOf.0.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","description":"Search strategies exposed to the model. Must be non-empty.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.knowledge_base_tool_info.oneOf.0.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.knowledge_base_tool_info.oneOf.0","typeLabel":"KnowledgeBaseToolInfo · object"},{"type":"null","description":"When set, uses the knowledge_base tool instead of the legacy knowledge_base_rag tool. None means the agent has not opted in.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.knowledge_base_tool_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0.knowledge_base_tool_info","typeLabel":"KnowledgeBaseToolInfo · object | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.0","typeLabel":"RagConfigWorkflowOverride · object"},{"type":"null","description":"Configuration for RAG","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.rag","typeLabel":"RagConfigWorkflowOverride · object | null"},"timezone":{"oneOf":[{"type":"string","title":"Timezone","description":"Timezone for displaying current time in system prompt. If set, the current time will be included in the system prompt using this timezone. Must be a valid timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC'). Recommended for accurate time-aware responses; without this, the agent has no knowledge of the current date/time unless you provide it via dynamic variables or tools, which can lead to incorrect or hallucinated time references.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.timezone.oneOf.0","typeLabel":"string"},{"type":"null","title":"Timezone","description":"Timezone for displaying current time in system prompt. If set, the current time will be included in the system prompt using this timezone. Must be a valid timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC'). Recommended for accurate time-aware responses; without this, the agent has no knowledge of the current date/time unless you provide it via dynamic variables or tools, which can lead to incorrect or hallucinated time references.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.timezone","typeLabel":"string | null"},"backup_llm_config":{"oneOf":[{"type":"object","title":"BackupLLMDefault","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","properties":{"preference":{"type":"string","const":"default","title":"Preference","default":"default","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.0.preference","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.0","typeLabel":"BackupLLMDefault · object"},{"type":"object","title":"BackupLLMDisabled","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","properties":{"preference":{"type":"string","const":"disabled","title":"Preference","default":"disabled","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.1.preference","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.1","typeLabel":"BackupLLMDisabled · object"},{"type":"object","title":"BackupLLMOverride","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","required":["order"],"properties":{"order":{"items":{"type":"string","maxLength":128,"minLength":3,"pattern":"^[a-z][a-z0-9_-]*/[A-Za-z0-9][A-Za-z0-9._:-]*$","description":"Provider-qualified model identifier.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.2.order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Order","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.2.order","typeLabel":"string[]"},"preference":{"type":"string","const":"override","title":"Preference","default":"override","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.2.preference","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.2","typeLabel":"BackupLLMOverride · object"},{"type":"null","title":"Backup Llm Config","description":"Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config.oneOf.3","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.backup_llm_config","typeLabel":"BackupLLMDefault · object | BackupLLMDisabled · object | BackupLLMOverride · object | null"},"cascade_timeout_seconds":{"oneOf":[{"type":"number","title":"Cascade Timeout Seconds","description":"Time in seconds before cascading to backup LLM. Must be between 2 and 15 seconds.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.cascade_timeout_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Cascade Timeout Seconds","description":"Time in seconds before cascading to backup LLM. Must be between 2 and 15 seconds.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.cascade_timeout_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.cascade_timeout_seconds","typeLabel":"number | null"},"tools":{"oneOf":[{"type":"array","items":{"oneOf":[{"type":"object","title":"WebhookToolConfig","description":"The type of tool","required":["name","description","api_schema"],"example":{"response_timeout_secs":20,"type":"webhook"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.name","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.description","typeLabel":"string"},"api_schema":{"properties":{"url":{"type":"string","title":"Url","description":"The URL that the webhook will be sent to. May include path parameters, e.g. https://example.com/agents/{agent_id}","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.url","typeLabel":"string"},"request_headers":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","title":"ConvAISecretLocator","description":"Used to reference a secret from the agent's secret store.","required":["secret_id"],"properties":{"secret_id":{"type":"string","title":"Secret Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.1.secret_id","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.1","typeLabel":"ConvAISecretLocator · object"},{"type":"object","title":"ConvAIDynamicVariable","description":"Used to reference a dynamic variable.","required":["variable_name"],"properties":{"variable_name":{"type":"string","title":"Variable Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.2.variable_name","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.2","typeLabel":"ConvAIDynamicVariable · object"},{"type":"object","title":"ConvAIEnvVarLocator","description":"Used to reference an environment variable by label.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.3.env_var_label","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties.oneOf.3","typeLabel":"ConvAIEnvVarLocator · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers.additionalProperties","typeLabel":"string | ConvAISecretLocator · object | ConvAIDynamicVariable · object | ConvAIEnvVarLocator · object"},"type":"object","title":"Request Headers","description":"Headers that should be included in the request","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_headers","typeLabel":"Request Headers · object"},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"],"title":"Method","description":"The HTTP method to use for the webhook","default":"GET","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.method","typeLabel":"enum\u003cstring>"},"path_params_schema":{"additionalProperties":{"properties":{"type":{"oneOf":[{"type":"string","title":"Type","enum":["boolean","string","integer","number"],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.type.oneOf.1.items.[INDEX]","typeLabel":"string"},"title":"Type","maxItems":2,"minItems":2,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.type.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.type","typeLabel":"enum\u003cstring> | string[]"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.description","typeLabel":"string"},"enum":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.enum.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.enum.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.enum.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.enum","typeLabel":"string[] | null"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.dynamic_variable","typeLabel":"string"},"allowed_values":{"oneOf":[{"type":"object","title":"AllowedValues","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","required":["dynamic_variable"],"properties":{"dynamic_variable":{"type":"string","minLength":1,"title":"Dynamic Variable","description":"Name of a dynamic variable that must resolve to a JSON array of permitted values, e.g. [\"ws_alpha\", \"ws_beta\"]. System variables work only if they resolve to a list.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.allowed_values.oneOf.0.dynamic_variable","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.allowed_values.oneOf.0","typeLabel":"AllowedValues · object"},{"type":"null","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.allowed_values.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.allowed_values","typeLabel":"AllowedValues · object | null"},"constant_value":{"oneOf":[{"type":"string","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.constant_value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.constant_value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.constant_value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.constant_value.oneOf.3","typeLabel":"boolean"},{"type":"null","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.constant_value.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.constant_value","typeLabel":"string | integer | number | boolean | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties.is_omitted","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["type"],"title":"LiteralJsonSchemaProperty","description":"Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.","example":{"description":"A user-provided message","type":"string"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema.additionalProperties","typeLabel":"LiteralJsonSchemaProperty · object"},"type":"object","title":"Path Params Schema","description":"Schema for path parameters, if any. The keys should match the placeholders in the URL.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.path_params_schema","typeLabel":"Path Params Schema · object"},"query_params_schema":{"oneOf":[{"type":"object","title":"QueryParamsJsonSchema","description":"Schema for any query params, if any. These will be added to end of the URL as query params. Note: properties in a query param must all be literal types","required":["properties"],"properties":{"properties":{"additionalProperties":{"properties":{"type":{"oneOf":[{"type":"string","title":"Type","enum":["boolean","string","integer","number"],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.type.oneOf.1.items.[INDEX]","typeLabel":"string"},"title":"Type","maxItems":2,"minItems":2,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.type.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.type","typeLabel":"enum\u003cstring> | string[]"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.description","typeLabel":"string"},"enum":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.enum.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.enum.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.enum.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.enum","typeLabel":"string[] | null"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.dynamic_variable","typeLabel":"string"},"allowed_values":{"oneOf":[{"type":"object","title":"AllowedValues","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","required":["dynamic_variable"],"properties":{"dynamic_variable":{"type":"string","minLength":1,"title":"Dynamic Variable","description":"Name of a dynamic variable that must resolve to a JSON array of permitted values, e.g. [\"ws_alpha\", \"ws_beta\"]. System variables work only if they resolve to a list.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.allowed_values.oneOf.0.dynamic_variable","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.allowed_values.oneOf.0","typeLabel":"AllowedValues · object"},{"type":"null","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.allowed_values.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.allowed_values","typeLabel":"AllowedValues · object | null"},"constant_value":{"oneOf":[{"type":"string","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.constant_value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.constant_value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.constant_value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.constant_value.oneOf.3","typeLabel":"boolean"},{"type":"null","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.constant_value.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.constant_value","typeLabel":"string | integer | number | boolean | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties.is_omitted","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["type"],"title":"LiteralJsonSchemaProperty","description":"Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.","example":{"description":"A user-provided message","type":"string"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties.additionalProperties","typeLabel":"LiteralJsonSchemaProperty · object"},"type":"object","minProperties":1,"title":"Properties","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.properties","typeLabel":"Properties · object"},"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0.required","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.0","typeLabel":"QueryParamsJsonSchema · object"},{"type":"null","description":"Schema for any query params, if any. These will be added to end of the URL as query params. Note: properties in a query param must all be literal types","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.query_params_schema","typeLabel":"QueryParamsJsonSchema · object | null"},"response_filter":{"oneOf":[{"type":"object","title":"ResponseFilter","description":"Optional allow-list filter applied to the response before the LLM sees it, so large responses don't pollute the context. Defaults to the full response.","properties":{"mode":{"type":"string","enum":["all","allow","hide_all"],"title":"ResponseFilterMode","description":"Controls how tool responses are filtered. 'all' returns entire response, 'allow' returns only specified paths, 'hide_all' hides the entire response.","default":"all","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"filters":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter.oneOf.0.filters.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Filters","description":"Dot notation paths to include when mode is 'allow' (e.g., ['ticket.id', 'ticket.status']).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter.oneOf.0.filters","typeLabel":"string[]"},"content_type":{"type":"string","const":"application/json","title":"Content Type","description":"Content type for response filtering. Only 'application/json' responses are filtered.","default":"application/json","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter.oneOf.0.content_type","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter.oneOf.0","typeLabel":"ResponseFilter · object"},{"type":"null","description":"Optional allow-list filter applied to the response before the LLM sees it, so large responses don't pollute the context. Defaults to the full response.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_filter","typeLabel":"ResponseFilter · object | null"},"content_type":{"type":"string","enum":["application/json","application/x-www-form-urlencoded"],"title":"Content Type","description":"Content type for the request body. Only applies to POST/PUT/PATCH requests.","default":"application/json","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.content_type","typeLabel":"enum\u003cstring>"},"auth_resolved_params":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_resolved_params.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueItems":true,"title":"Auth Resolved Params","description":"URL placeholders resolved from the auth connection (e.g. secrets injected via UrlSecretAuthConnection) rather than from path_params_schema.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_resolved_params","typeLabel":"string[]"},"auth_connection":{"oneOf":[{"type":"object","title":"AuthConnectionLocator","description":"Used to reference an auth connection from the workspace's auth connection store.","required":["auth_connection_id"],"properties":{"auth_connection_id":{"type":"string","title":"Auth Connection Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_connection.oneOf.0.auth_connection_id","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_connection.oneOf.0","typeLabel":"AuthConnectionLocator · object"},{"type":"object","title":"EnvironmentAuthConnectionLocator","description":"References an environment variable of type 'auth_connection' by label.\nAt runtime, resolves to the auth connection for the current environment,\nfalling back to the default environment.","required":["env_var_label"],"properties":{"env_var_label":{"type":"string","title":"Env Var Label","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_connection.oneOf.1.env_var_label","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_connection.oneOf.1","typeLabel":"EnvironmentAuthConnectionLocator · object"},{"type":"null","title":"Auth Connection","description":"Optional auth connection to use for authentication with this webhook","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_connection.oneOf.2","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.auth_connection","typeLabel":"AuthConnectionLocator · object | EnvironmentAuthConnectionLocator · object | null"},"request_body_schema":{"oneOf":[{"type":"object","title":"ObjectJsonSchemaProperty","description":"Schema for the body parameters, if any. Used for POST/PATCH/PUT requests. The schema should be an object which will be sent as the json body","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.dynamic_variable","typeLabel":"string"},"constant_value":{"oneOf":[{"type":"object","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","additionalProperties":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.constant_value.oneOf.0","typeLabel":"Constant Value · object"},{"type":"null","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.constant_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.constant_value","typeLabel":"Constant Value · object | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"object","title":"Type","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.type","typeLabel":"string"},"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required","typeLabel":"string[]"},"required_constraints":{"oneOf":[{"type":"object","title":"RequiredConstraints","description":"Wrapper for anyOf/allOf composition constraints scoped to required fields.","properties":{"any_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"Any Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.any_of","typeLabel":"RequiredConstraint · object[]"},"all_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"All Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0.all_of","typeLabel":"RequiredConstraint · object[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.0","typeLabel":"RequiredConstraints · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.required_constraints","typeLabel":"RequiredConstraints · object | null"},"properties":{"additionalProperties":{"oneOf":[{"type":"object","title":"LiteralJsonSchemaProperty","description":"Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.","required":["type"],"example":{"description":"A user-provided message","type":"string"},"properties":{"type":{"type":"any","title":"Type","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.type","typeLabel":"any"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.description","typeLabel":"string"},"enum":{"type":"any","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.enum","typeLabel":"any"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.dynamic_variable","typeLabel":"string"},"allowed_values":{"type":"any","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.allowed_values","typeLabel":"any"},"constant_value":{"type":"any","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.is_omitted","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"LiteralJsonSchemaProperty · object"},{},{"type":"object","title":"ArrayJsonSchemaProperty","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.dynamic_variable","typeLabel":"string"},"constant_value":{"type":"any","title":"Constant Value","description":"When set, the entire array uses this constant value at runtime. Mutually exclusive with description (LLM-provided array), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"array","title":"Type","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.type","typeLabel":"string"},"items":{"type":"any","title":"Items","description":"Schema for array elements.","default":{"type":"string","description":"Array element","is_system_provided":false,"dynamic_variable":"","constant_value":"","is_omitted":false},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.\\items","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"ArrayJsonSchemaProperty · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties.additionalProperties","typeLabel":"LiteralJsonSchemaProperty · object | ArrayJsonSchemaProperty · object"},"type":"object","title":"Properties","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0.properties","typeLabel":"Properties · object"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.0","typeLabel":"ObjectJsonSchemaProperty · object"},{"type":"null","description":"Schema for the body parameters, if any. Used for POST/PATCH/PUT requests. The schema should be an object which will be sent as the json body","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.request_body_schema","typeLabel":"ObjectJsonSchemaProperty · object | null"},"response_body_schema":{"oneOf":[{"type":"object","title":"ObjectJsonSchemaProperty","description":"Schema describing the expected response body structure. For documentation only; not surfaced to the LLM.","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.dynamic_variable","typeLabel":"string"},"constant_value":{"oneOf":[{"type":"object","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","additionalProperties":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.constant_value.oneOf.0","typeLabel":"Constant Value · object"},{"type":"null","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.constant_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.constant_value","typeLabel":"Constant Value · object | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"object","title":"Type","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.type","typeLabel":"string"},"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required","typeLabel":"string[]"},"required_constraints":{"oneOf":[{"type":"object","title":"RequiredConstraints","description":"Wrapper for anyOf/allOf composition constraints scoped to required fields.","properties":{"any_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"Any Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.any_of","typeLabel":"RequiredConstraint · object[]"},"all_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"All Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0.all_of","typeLabel":"RequiredConstraint · object[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.0","typeLabel":"RequiredConstraints · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.required_constraints","typeLabel":"RequiredConstraints · object | null"},"properties":{"additionalProperties":{"oneOf":[{"type":"object","title":"LiteralJsonSchemaProperty","description":"Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.","required":["type"],"example":{"description":"A user-provided message","type":"string"},"properties":{"type":{"type":"any","title":"Type","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.type","typeLabel":"any"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.description","typeLabel":"string"},"enum":{"type":"any","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.enum","typeLabel":"any"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.dynamic_variable","typeLabel":"string"},"allowed_values":{"type":"any","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.allowed_values","typeLabel":"any"},"constant_value":{"type":"any","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0.is_omitted","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"LiteralJsonSchemaProperty · object"},{},{"type":"object","title":"ArrayJsonSchemaProperty","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.dynamic_variable","typeLabel":"string"},"constant_value":{"type":"any","title":"Constant Value","description":"When set, the entire array uses this constant value at runtime. Mutually exclusive with description (LLM-provided array), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"array","title":"Type","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.type","typeLabel":"string"},"items":{"type":"any","title":"Items","description":"Schema for array elements.","default":{"type":"string","description":"Array element","is_system_provided":false,"dynamic_variable":"","constant_value":"","is_omitted":false},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2.\\items","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"ArrayJsonSchemaProperty · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties.additionalProperties","typeLabel":"LiteralJsonSchemaProperty · object | ArrayJsonSchemaProperty · object"},"type":"object","title":"Properties","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0.properties","typeLabel":"Properties · object"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.0","typeLabel":"ObjectJsonSchemaProperty · object"},{"type":"null","description":"Schema describing the expected response body structure. For documentation only; not surfaced to the LLM.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema.response_body_schema","typeLabel":"ObjectJsonSchemaProperty · object | null"}},"type":"object","required":["url"],"title":"WebhookToolApiSchemaConfig","example":{"method":"GET","path_params_schema":{"agent_id":{"type":"string"}},"query_params_schema":{"param1":{"type":"string"}},"request_body_schema":{"param1":{"type":"string"}},"request_headers":{"Authorization":"Bearer {api_key}"},"url":"https://example.com/agents/{agent_id}"},"description":"The schema for the outgoing webhook, including parameters and URL specification","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.api_schema","typeLabel":"WebhookToolApiSchemaConfig · object"},"type":{"type":"string","const":"webhook","title":"Type","description":"The type of tool","default":"webhook","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.type","typeLabel":"string"},"response_timeout_secs":{"type":"integer","maximum":300,"minimum":5,"title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete. Must be between 5 and 300 seconds (inclusive).","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.tool_error_handling_mode","typeLabel":"enum\u003cstring>"},"dynamic_variables":{"properties":{"dynamic_variable_placeholders":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4","typeLabel":"any[]"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders.additionalProperties","typeLabel":"string | number | integer | boolean | any[] | null"},"type":"object","title":"Dynamic Variable Placeholders","description":"A dictionary of dynamic variable placeholders and their values","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables.dynamic_variable_placeholders","typeLabel":"Dynamic Variable Placeholders · object"}},"additionalProperties":false,"type":"object","title":"DynamicVariablesConfig","example":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"description":"Configuration for dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.dynamic_variables","typeLabel":"DynamicVariablesConfig · object"},"execution_mode":{"type":"string","enum":["immediate","post_tool_speech","async"],"title":"ToolExecutionMode","description":"Determines when and how the tool executes: 'immediate' executes the tool right away when requested by the LLM, 'post_tool_speech' waits for the agent to finish speaking before executing, 'async' runs the tool in the background without blocking - best for long-running operations.","default":"immediate","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.execution_mode","typeLabel":"enum\u003cstring>"},"follow_redirects":{"type":"boolean","title":"Follow Redirects","description":"Whether to resolve a redirect from the endpoint and return the final response. One redirect is followed, as a GET without the request body; nothing configured on this tool (headers, authentication, client certificate) is sent to the redirect target. Both the endpoint and the redirect target must use HTTPS. Not supported for API integration tools.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.follow_redirects","typeLabel":"boolean"},"follow_redirects_allowed_domains":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.follow_redirects_allowed_domains.items.[INDEX]","typeLabel":"string"},"type":"array","maxItems":20,"title":"Follow Redirects Allowed Domains","description":"Domains a redirect may point at, e.g. 'test.example.com'. Required when following redirects, and a target outside the list is refused.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0.follow_redirects_allowed_domains","typeLabel":"string[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"WebhookToolConfig · object"},{"type":"object","title":"ClientToolConfig","description":"The type of tool","required":["name","description"],"example":{"expects_response":false,"type":"client"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.name","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.description","typeLabel":"string"},"type":{"type":"string","const":"client","title":"Type","description":"The type of tool","default":"client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.type","typeLabel":"string"},"response_timeout_secs":{"type":"integer","maximum":120,"minimum":1,"title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete. Must be between 1 and 120 seconds (inclusive).","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.tool_error_handling_mode","typeLabel":"enum\u003cstring>"},"parameters":{"oneOf":[{"type":"object","title":"ObjectJsonSchemaProperty","description":"Schema for any parameters to pass to the client","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.dynamic_variable","typeLabel":"string"},"constant_value":{"oneOf":[{"type":"object","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","additionalProperties":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.constant_value.oneOf.0","typeLabel":"Constant Value · object"},{"type":"null","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.constant_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.constant_value","typeLabel":"Constant Value · object | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"object","title":"Type","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.type","typeLabel":"string"},"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required","typeLabel":"string[]"},"required_constraints":{"oneOf":[{"type":"object","title":"RequiredConstraints","description":"Wrapper for anyOf/allOf composition constraints scoped to required fields.","properties":{"any_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"Any Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.any_of","typeLabel":"RequiredConstraint · object[]"},"all_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"All Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0.all_of","typeLabel":"RequiredConstraint · object[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.0","typeLabel":"RequiredConstraints · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.required_constraints","typeLabel":"RequiredConstraints · object | null"},"properties":{"additionalProperties":{"oneOf":[{"type":"object","title":"LiteralJsonSchemaProperty","description":"Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.","required":["type"],"example":{"description":"A user-provided message","type":"string"},"properties":{"type":{"type":"any","title":"Type","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.type","typeLabel":"any"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.description","typeLabel":"string"},"enum":{"type":"any","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.enum","typeLabel":"any"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.dynamic_variable","typeLabel":"string"},"allowed_values":{"type":"any","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.allowed_values","typeLabel":"any"},"constant_value":{"type":"any","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0.is_omitted","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"LiteralJsonSchemaProperty · object"},{},{"type":"object","title":"ArrayJsonSchemaProperty","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.dynamic_variable","typeLabel":"string"},"constant_value":{"type":"any","title":"Constant Value","description":"When set, the entire array uses this constant value at runtime. Mutually exclusive with description (LLM-provided array), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"array","title":"Type","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.type","typeLabel":"string"},"items":{"type":"any","title":"Items","description":"Schema for array elements.","default":{"type":"string","description":"Array element","is_system_provided":false,"dynamic_variable":"","constant_value":"","is_omitted":false},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2.\\items","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"ArrayJsonSchemaProperty · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties.additionalProperties","typeLabel":"LiteralJsonSchemaProperty · object | ArrayJsonSchemaProperty · object"},"type":"object","title":"Properties","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0.properties","typeLabel":"Properties · object"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.0","typeLabel":"ObjectJsonSchemaProperty · object"},{"type":"null","description":"Schema for any parameters to pass to the client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.parameters","typeLabel":"ObjectJsonSchemaProperty · object | null"},"expects_response":{"type":"boolean","title":"Expects Response","description":"If true, calling this tool should block the conversation until the client responds with some response which is passed to the llm. If false then we will continue the conversation without waiting for the client to respond, this is useful to show content to a user but not block the conversation","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.expects_response","typeLabel":"boolean"},"dynamic_variables":{"properties":{"dynamic_variable_placeholders":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4","typeLabel":"any[]"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders.additionalProperties","typeLabel":"string | number | integer | boolean | any[] | null"},"type":"object","title":"Dynamic Variable Placeholders","description":"A dictionary of dynamic variable placeholders and their values","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables.dynamic_variable_placeholders","typeLabel":"Dynamic Variable Placeholders · object"}},"additionalProperties":false,"type":"object","title":"DynamicVariablesConfig","example":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"description":"Configuration for dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.dynamic_variables","typeLabel":"DynamicVariablesConfig · object"},"execution_mode":{"type":"string","enum":["immediate","post_tool_speech","async"],"title":"ToolExecutionMode","description":"Determines when and how the tool executes: 'immediate' executes the tool right away when requested by the LLM, 'post_tool_speech' waits for the agent to finish speaking before executing, 'async' runs the tool in the background without blocking - best for long-running operations.","default":"immediate","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1.execution_mode","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"ClientToolConfig · object"},{"type":"object","title":"SystemToolConfig","description":"The type of tool","required":["name","params"],"example":{"description":"","name":"end_call","params":{"system_tool_type":"end_call"},"type":"system"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"EndCallToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_call","title":"System Tool Type","default":"end_call","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.0.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.0","typeLabel":"EndCallToolConfig · object"},{"type":"object","title":"LanguageDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"language_detection","title":"System Tool Type","default":"language_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.1.system_tool_type","typeLabel":"string"},"only_at_conversation_start":{"type":"boolean","title":"Only At Conversation Start","description":"If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.1.only_at_conversation_start","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.1","typeLabel":"LanguageDetectionToolConfig · object"},{"type":"object","title":"TransferToAgentToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].condition","typeLabel":"string"},"agent_id":{"type":"any","title":"Agent Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].agent_id","typeLabel":"any"},"node_id":{"type":"any","title":"Node Id","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].node_id","typeLabel":"any"},"delay_ms":{"type":"integer","title":"Delay Ms","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].delay_ms","typeLabel":"integer"},"transfer_message":{"type":"any","title":"Transfer Message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].transfer_message","typeLabel":"any"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].enable_transferred_agent_first_message","typeLabel":"boolean"},"is_workflow_node_transfer":{"type":"boolean","title":"Is Workflow Node Transfer","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].is_workflow_node_transfer","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX].preserve_client_tts_overrides","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["condition"],"title":"AgentTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers.items.[INDEX]","typeLabel":"AgentTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.transfers","typeLabel":"AgentTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_agent","title":"System Tool Type","default":"transfer_to_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.2","typeLabel":"TransferToAgentToolConfig · object"},{"type":"object","title":"TransferToNumberToolConfig","required":["transfers"],"properties":{"transfers":{"items":{"properties":{"transfer_destination":{"type":"any","title":"Transfer Destination","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].transfer_destination","typeLabel":"any"},"condition":{"type":"string","title":"Condition","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].condition","typeLabel":"string"},"custom_sip_headers":{"items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers.items.[INDEX]","typeLabel":"any"},"type":"array","maxItems":20,"title":"Custom Sip Headers","description":"Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].custom_sip_headers","typeLabel":"any[]"},"transfer_type":{"type":"string","enum":["blind","conference","sip_refer"],"title":"TransferTypeEnum","default":"conference","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].transfer_type","typeLabel":"enum\u003cstring>"},"sip_refer_play_dialtone":{"type":"boolean","title":"Sip Refer Play Dialtone","description":"When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].sip_refer_play_dialtone","typeLabel":"boolean"},"uui":{"type":"any","description":"User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].uui","typeLabel":"any"},"post_dial_digits":{"type":"any","title":"Post Dial Digits","description":"DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX].post_dial_digits","typeLabel":"any"}},"additionalProperties":false,"type":"object","required":["transfer_destination","condition"],"title":"PhoneNumberTransfer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers.items.[INDEX]","typeLabel":"PhoneNumberTransfer · object"},"type":"array","title":"Transfers","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.transfers","typeLabel":"PhoneNumberTransfer · object[]"},"system_tool_type":{"type":"string","const":"transfer_to_number","title":"System Tool Type","default":"transfer_to_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.system_tool_type","typeLabel":"string"},"enable_client_message":{"type":"boolean","title":"Enable Client Message","description":"Whether to play a message to the client while they wait for transfer. Defaults to true.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3.enable_client_message","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.3","typeLabel":"TransferToNumberToolConfig · object"},{"type":"object","title":"SkipTurnToolConfig","properties":{"system_tool_type":{"type":"string","const":"skip_turn","title":"System Tool Type","default":"skip_turn","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.4.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.4","typeLabel":"SkipTurnToolConfig · object"},{"type":"object","title":"PlayDTMFToolConfig","properties":{"system_tool_type":{"type":"string","const":"play_keypad_touch_tone","title":"System Tool Type","default":"play_keypad_touch_tone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.5.system_tool_type","typeLabel":"string"},"use_out_of_band_dtmf":{"type":"boolean","title":"Use Out Of Band Dtmf","description":"Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers.","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.5.use_out_of_band_dtmf","typeLabel":"boolean"},"suppress_turn_after_dtmf":{"type":"boolean","title":"Suppress Turn After Dtmf","description":"If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.5.suppress_turn_after_dtmf","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.5","typeLabel":"PlayDTMFToolConfig · object"},{"type":"object","title":"VoicemailDetectionToolConfig","properties":{"system_tool_type":{"type":"string","const":"voicemail_detection","title":"System Tool Type","default":"voicemail_detection","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.6.system_tool_type","typeLabel":"string"},"voicemail_message":{"type":"any","title":"Voicemail Message","description":"Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}).","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.6.voicemail_message","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.6","typeLabel":"VoicemailDetectionToolConfig · object"},{"type":"object","title":"KnowledgeBaseRagToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base_rag","title":"System Tool Type","default":"knowledge_base_rag","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.7.system_tool_type","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.7","typeLabel":"KnowledgeBaseRagToolConfig · object"},{"type":"object","title":"KnowledgeBaseToolConfig","properties":{"system_tool_type":{"type":"string","const":"knowledge_base","title":"System Tool Type","default":"knowledge_base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.8.system_tool_type","typeLabel":"string"},"enabled_strategies":{"items":{"type":"string","enum":["cat","keyword","semantic","ls"],"title":"SearchStrategy","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.8.enabled_strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Enabled Strategies","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.8.enabled_strategies","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.8","typeLabel":"KnowledgeBaseToolConfig · object"},{"type":"object","title":"StartProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"start_procedure","title":"System Tool Type","default":"start_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.9.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.9.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.9.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.9","typeLabel":"StartProcedureToolConfig · object"},{"type":"object","title":"EndProcedureToolConfig","properties":{"system_tool_type":{"type":"string","const":"end_procedure","title":"System Tool Type","default":"end_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.10.system_tool_type","typeLabel":"string"},"procedures":{"additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.10.procedures.additionalProperties","typeLabel":"any"},"type":"object","title":"Procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.10.procedures","typeLabel":"Procedures · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params.oneOf.10","typeLabel":"EndProcedureToolConfig · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.params","typeLabel":"EndCallToolConfig · object | LanguageDetectionToolConfig · object | TransferToAgentToolConfig · object | TransferToNumberToolConfig · object | SkipTurnToolConfig · object | PlayDTMFToolConfig · object | VoicemailDetectionToolConfig · object | KnowledgeBaseRagToolConfig · object | KnowledgeBaseToolConfig · object | StartProcedureToolConfig · object | EndProcedureToolConfig · object"},"type":{"type":"string","const":"system","title":"Type","description":"The type of tool","default":"system","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2.tool_error_handling_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.2","typeLabel":"SystemToolConfig · object"},{"type":"object","title":"MCPToolConfig","description":"The type of tool","required":["name","description","integration_type","mcp_tool_name","mcp_tool_description","mcp_server_id","mcp_server_name"],"x-fern-ignore":true,"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.name","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.description","typeLabel":"string"},"integration_type":{"type":"string","enum":["mcp_server","mcp_integration"],"title":"IntegrationType","description":"The type of MCP tool","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.integration_type","typeLabel":"enum\u003cstring>"},"mcp_tool_name":{"type":"string","title":"Mcp Tool Name","description":"The name of the MCP tool to call","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_tool_name","typeLabel":"string"},"mcp_tool_description":{"type":"string","title":"Mcp Tool Description","description":"The description of the MCP tool to call","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_tool_description","typeLabel":"string"},"mcp_server_id":{"type":"string","title":"Mcp Server Id","description":"The id of the MCP server to call","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_server_id","typeLabel":"string"},"mcp_server_name":{"type":"string","title":"Mcp Server Name","description":"The name of the MCP server to call","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_server_name","typeLabel":"string"},"type":{"type":"string","const":"mcp","title":"Type","default":"mcp","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.type","typeLabel":"string"},"response_timeout_secs":{"type":"integer","maximum":300,"minimum":5,"title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the MCP tool call to complete. Must be between 5 and 300 seconds (inclusive).","default":30,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.tool_error_handling_mode","typeLabel":"enum\u003cstring>"},"parameters":{"oneOf":[{"type":"object","title":"ObjectJsonSchemaProperty","description":"Schema for any parameters the LLM needs to provide to the MCP tool.","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.dynamic_variable","typeLabel":"string"},"constant_value":{"oneOf":[{"type":"object","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","additionalProperties":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.constant_value.oneOf.0","typeLabel":"Constant Value · object"},{"type":"null","title":"Constant Value","description":"When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.constant_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.constant_value","typeLabel":"Constant Value · object | null"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"object","title":"Type","default":"object","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.type","typeLabel":"string"},"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required","typeLabel":"string[]"},"required_constraints":{"oneOf":[{"type":"object","title":"RequiredConstraints","description":"Wrapper for anyOf/allOf composition constraints scoped to required fields.","properties":{"any_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.any_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"Any Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.any_of","typeLabel":"RequiredConstraint · object[]"},"all_of":{"items":{"properties":{"required":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Required","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX].required","typeLabel":"string[]"}},"type":"object","required":["required"],"title":"RequiredConstraint","description":"A set of fields that must all be present to satisfy this constraint.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.all_of.items.[INDEX]","typeLabel":"RequiredConstraint · object"},"type":"array","title":"All Of","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0.all_of","typeLabel":"RequiredConstraint · object[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.0","typeLabel":"RequiredConstraints · object"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.required_constraints","typeLabel":"RequiredConstraints · object | null"},"properties":{"additionalProperties":{"oneOf":[{"type":"object","title":"LiteralJsonSchemaProperty","description":"Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.","required":["type"],"example":{"description":"A user-provided message","type":"string"},"properties":{"type":{"type":"any","title":"Type","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.type","typeLabel":"any"},"description":{"type":"string","title":"Description","description":"The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.description","typeLabel":"string"},"enum":{"type":"any","title":"Enum","description":"List of allowed string values for string type parameters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.enum","typeLabel":"any"},"is_system_provided":{"type":"boolean","title":"Is System Provided","description":"If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.is_system_provided","typeLabel":"boolean"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.dynamic_variable","typeLabel":"string"},"allowed_values":{"type":"any","description":"Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.allowed_values","typeLabel":"any"},"constant_value":{"type":"any","title":"Constant Value","description":"A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0.is_omitted","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"LiteralJsonSchemaProperty · object"},{},{"type":"object","title":"ArrayJsonSchemaProperty","properties":{"property_kind":{"type":"string","enum":["array","object"],"title":"Property Kind","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.property_kind","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.description","typeLabel":"string"},"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.dynamic_variable","typeLabel":"string"},"constant_value":{"type":"any","title":"Constant Value","description":"When set, the entire array uses this constant value at runtime. Mutually exclusive with description (LLM-provided array), dynamic_variable, and is_omitted.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.constant_value","typeLabel":"any"},"is_omitted":{"type":"boolean","title":"Is Omitted","description":"If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.is_omitted","typeLabel":"boolean"},"type":{"type":"string","const":"array","title":"Type","default":"array","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.type","typeLabel":"string"},"items":{"type":"any","title":"Items","description":"Schema for array elements.","default":{"type":"string","description":"Array element","is_system_provided":false,"dynamic_variable":"","constant_value":"","is_omitted":false},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2.\\items","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"ArrayJsonSchemaProperty · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties.additionalProperties","typeLabel":"LiteralJsonSchemaProperty · object | ArrayJsonSchemaProperty · object"},"type":"object","title":"Properties","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0.properties","typeLabel":"Properties · object"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.0","typeLabel":"ObjectJsonSchemaProperty · object"},{"type":"null","description":"Schema for any parameters the LLM needs to provide to the MCP tool.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.parameters","typeLabel":"ObjectJsonSchemaProperty · object | null"},"approval_policy":{"type":"string","enum":["auto_approve_all","require_approval_all","require_approval_per_tool"],"title":"MCPApprovalPolicy","description":"The approval policy for the MCP tool","default":"require_approval_all","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.approval_policy","typeLabel":"enum\u003cstring>"},"mcp_input_schema":{"oneOf":[{"type":"object","title":"Mcp Input Schema","description":"Original inputSchema dict for consistent hashing","additionalProperties":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_input_schema.oneOf.0","typeLabel":"Mcp Input Schema · object"},{"type":"null","title":"Mcp Input Schema","description":"Original inputSchema dict for consistent hashing","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_input_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.mcp_input_schema","typeLabel":"Mcp Input Schema · object | null"},"execution_mode":{"type":"string","enum":["immediate","post_tool_speech","async"],"title":"ToolExecutionMode","description":"Determines when and how the tool executes: 'immediate' executes the tool right away when requested by the LLM, 'post_tool_speech' waits for the agent to finish speaking before executing, 'async' runs the tool in the background without blocking - best for long-running operations.","default":"immediate","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.execution_mode","typeLabel":"enum\u003cstring>"},"input_overrides":{"oneOf":[{"type":"object","title":"Input Overrides","description":"Input parameter overrides for this tool","additionalProperties":{"oneOf":[{"type":"object","title":"ConstantSchemaOverride","required":["constant_value"],"properties":{"constant_value":{"type":"any","title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value","typeLabel":"any"},"source":{"type":"string","const":"constant","title":"Source","default":"constant","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.0.source","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.0","typeLabel":"ConstantSchemaOverride · object"},{"type":"object","title":"DynamicVariableSchemaOverride","required":["dynamic_variable"],"properties":{"dynamic_variable":{"type":"string","minLength":1,"title":"Dynamic Variable","description":"The name of the dynamic variable to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.1.dynamic_variable","typeLabel":"string"},"source":{"type":"string","const":"dynamic_variable","title":"Source","default":"dynamic_variable","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.1.source","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.1","typeLabel":"DynamicVariableSchemaOverride · object"},{"type":"object","title":"LLMSchemaOverride","properties":{"source":{"type":"string","const":"llm","title":"Source","default":"llm","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.2.source","typeLabel":"string"},"prompt":{"type":"any","title":"Prompt","description":"Prompt override for the LLM. If not provided, the original schema description is used.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.2.prompt","typeLabel":"any"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.2","typeLabel":"LLMSchemaOverride · object"},{"type":"object","title":"OmitSchemaOverride","properties":{"source":{"type":"string","const":"omit","title":"Source","default":"omit","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.3.source","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties.oneOf.3","typeLabel":"OmitSchemaOverride · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0.additionalProperties","typeLabel":"ConstantSchemaOverride · object | DynamicVariableSchemaOverride · object | LLMSchemaOverride · object | OmitSchemaOverride · object"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.0","typeLabel":"Input Overrides · object"},{"type":"null","title":"Input Overrides","description":"Input parameter overrides for this tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3.input_overrides","typeLabel":"Input Overrides · object | null"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.3","typeLabel":"MCPToolConfig · object"},{"type":"object","title":"ApiIntegrationWebhookToolConfig","description":"The type of tool","required":["name","description","api_integration_id","api_integration_connection_id"],"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.name","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does.","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.description","typeLabel":"string"},"api_integration_id":{"type":"string","title":"Api Integration Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_integration_id","typeLabel":"string"},"api_integration_connection_id":{"type":"string","title":"Api Integration Connection Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_integration_connection_id","typeLabel":"string"},"type":{"type":"string","const":"api_integration_webhook","title":"Type","default":"api_integration_webhook","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.type","typeLabel":"string"},"response_timeout_secs":{"type":"integer","maximum":300,"minimum":5,"title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete. Must be between 5 and 300 seconds (inclusive).","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.tool_error_handling_mode","typeLabel":"enum\u003cstring>"},"dynamic_variables":{"properties":{"dynamic_variable_placeholders":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"integer","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.2","typeLabel":"integer"},{"type":"boolean","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.4","typeLabel":"any[]"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders.additionalProperties","typeLabel":"string | number | integer | boolean | any[] | null"},"type":"object","title":"Dynamic Variable Placeholders","description":"A dictionary of dynamic variable placeholders and their values","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables.dynamic_variable_placeholders","typeLabel":"Dynamic Variable Placeholders · object"}},"additionalProperties":false,"type":"object","title":"DynamicVariablesConfig","example":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"description":"Configuration for dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.dynamic_variables","typeLabel":"DynamicVariablesConfig · object"},"execution_mode":{"type":"string","enum":["immediate","post_tool_speech","async"],"title":"ToolExecutionMode","description":"Determines when and how the tool executes: 'immediate' executes the tool right away when requested by the LLM, 'post_tool_speech' waits for the agent to finish speaking before executing, 'async' runs the tool in the background without blocking - best for long-running operations.","default":"immediate","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.execution_mode","typeLabel":"enum\u003cstring>"},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the API integration tool","default":"1.0.0","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.tool_version","typeLabel":"string"},"api_schema_overrides":{"oneOf":[{"type":"object","title":"ApiIntegrationWebhookOverrides","description":"A whitelist of fields that can be overridden by users when\nconfiguring an API Integration Webhook Tool.","properties":{"schema_overrides":{"oneOf":[{"type":"object","title":"Schema Overrides","additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.schema_overrides.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.schema_overrides.oneOf.0","typeLabel":"Schema Overrides · object"},{"type":"null","title":"Schema Overrides","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.schema_overrides.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.schema_overrides","typeLabel":"Schema Overrides · object | null"},"request_headers":{"oneOf":[{"type":"object","title":"Request Headers","additionalProperties":{"type":"any","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.request_headers.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.request_headers.oneOf.0","typeLabel":"Request Headers · object"},{"type":"null","title":"Request Headers","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.request_headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.request_headers","typeLabel":"Request Headers · object | null"},"response_filter_mode":{"oneOf":[{"type":"string","title":"ResponseFilterMode","description":"Controls how tool responses are filtered before being visible to the agent.","default":"all","enum":["all","allow","hide_all"],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filter_mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filter_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filter_mode","typeLabel":"enum\u003cstring> | null"},"response_filters":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filters.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Response Filters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filters.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Response Filters","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filters.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0.response_filters","typeLabel":"string[] | null"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.0","typeLabel":"ApiIntegrationWebhookOverrides · object"},{"type":"null","title":"Api Schema Overrides","description":"User overrides applied on top of the base api_schema","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4.api_schema_overrides","typeLabel":"ApiIntegrationWebhookOverrides · object | null"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.4","typeLabel":"ApiIntegrationWebhookToolConfig · object"},{"type":"object","title":"SMBToolConfig","description":"The type of tool","required":["name","params"],"x-fern-ignore":true,"example":{"description":"","enabled":true,"name":"search_clients","params":{"smb_tool_type":"search_clients"},"type":"smb"},"properties":{"name":{"type":"string","minLength":0,"pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.name","typeLabel":"string"},"params":{"oneOf":[{"type":"object","title":"SearchClientsParams","description":"Search for clients by name, phone number, or email.","properties":{"smb_tool_type":{"type":"string","const":"search_clients","title":"Smb Tool Type","default":"search_clients","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.0.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.0","typeLabel":"SearchClientsParams · object"},{"type":"object","title":"SendCustomEmailParams","properties":{"smb_tool_type":{"type":"string","const":"send_custom_email","title":"Smb Tool Type","default":"send_custom_email","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.1.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.1","typeLabel":"SendCustomEmailParams · object"},{"type":"object","title":"ListClientsParams","description":"List clients ordered by most recently updated, with an optional limit.","properties":{"smb_tool_type":{"type":"string","const":"list_clients","title":"Smb Tool Type","default":"list_clients","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.2.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.2","typeLabel":"ListClientsParams · object"},{"type":"object","title":"GetClientByPhoneParams","description":"Look up a client by their exact phone number.","properties":{"smb_tool_type":{"type":"string","const":"get_client_by_phone","title":"Smb Tool Type","default":"get_client_by_phone","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.3.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.3","typeLabel":"GetClientByPhoneParams · object"},{"type":"object","title":"CreateClientParams","description":"Create a new client in the system.","properties":{"smb_tool_type":{"type":"string","const":"create_client","title":"Smb Tool Type","default":"create_client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.4.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.4","typeLabel":"CreateClientParams · object"},{"type":"object","title":"UpdateClientParams","description":"Update an existing client's information.","properties":{"smb_tool_type":{"type":"string","const":"update_client","title":"Smb Tool Type","default":"update_client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.5.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.5","typeLabel":"UpdateClientParams · object"},{"type":"object","title":"DeleteClientParams","description":"Delete a client, cascading deletion of all their appointments first.","properties":{"smb_tool_type":{"type":"string","const":"delete_client","title":"Smb Tool Type","default":"delete_client","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.6.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.6","typeLabel":"DeleteClientParams · object"},{"type":"object","title":"ListStaffParams","properties":{"list_kwargs":{"additionalProperties":true,"type":"object","title":"List Kwargs","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.7.list_kwargs","typeLabel":"List Kwargs · object"},"smb_tool_type":{"type":"string","const":"list_staff","title":"Smb Tool Type","default":"list_staff","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.7.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.7","typeLabel":"ListStaffParams · object"},{"type":"object","title":"CreateStaffParams","description":"Create a new staff member in the system.","properties":{"smb_tool_type":{"type":"string","const":"create_staff","title":"Smb Tool Type","default":"create_staff","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.8.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.8","typeLabel":"CreateStaffParams · object"},{"type":"object","title":"UpdateStaffParams","description":"Update an existing staff member's information.","properties":{"smb_tool_type":{"type":"string","const":"update_staff","title":"Smb Tool Type","default":"update_staff","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.9.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.9","typeLabel":"UpdateStaffParams · object"},{"type":"object","title":"DeleteStaffParams","description":"Delete an existing staff member from the system.","properties":{"smb_tool_type":{"type":"string","const":"delete_staff","title":"Smb Tool Type","default":"delete_staff","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.10.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.10","typeLabel":"DeleteStaffParams · object"},{"type":"object","title":"ListAssetsParams","properties":{"list_kwargs":{"additionalProperties":true,"type":"object","title":"List Kwargs","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.11.list_kwargs","typeLabel":"List Kwargs · object"},"smb_tool_type":{"type":"string","const":"list_assets","title":"Smb Tool Type","default":"list_assets","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.11.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.11","typeLabel":"ListAssetsParams · object"},{"type":"object","title":"CreateAssetParams","properties":{"smb_tool_type":{"type":"string","const":"create_asset","title":"Smb Tool Type","default":"create_asset","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.12.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.12","typeLabel":"CreateAssetParams · object"},{"type":"object","title":"UpdateAssetParams","properties":{"smb_tool_type":{"type":"string","const":"update_asset","title":"Smb Tool Type","default":"update_asset","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.13.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.13","typeLabel":"UpdateAssetParams · object"},{"type":"object","title":"DeleteAssetParams","properties":{"smb_tool_type":{"type":"string","const":"delete_asset","title":"Smb Tool Type","default":"delete_asset","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.14.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.14","typeLabel":"DeleteAssetParams · object"},{"type":"object","title":"ListServicesParams","properties":{"list_kwargs":{"additionalProperties":true,"type":"object","title":"List Kwargs","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.15.list_kwargs","typeLabel":"List Kwargs · object"},"smb_tool_type":{"type":"string","const":"list_services","title":"Smb Tool Type","default":"list_services","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.15.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.15","typeLabel":"ListServicesParams · object"},{"type":"object","title":"CreateServiceParams","description":"Create a new service (classic, rental, or group) in the system.","properties":{"smb_tool_type":{"type":"string","const":"create_service","title":"Smb Tool Type","default":"create_service","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.16.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.16","typeLabel":"CreateServiceParams · object"},{"type":"object","title":"UpdateServiceParams","description":"Update an existing service's information.","properties":{"smb_tool_type":{"type":"string","const":"update_service","title":"Smb Tool Type","default":"update_service","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.17.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.17","typeLabel":"UpdateServiceParams · object"},{"type":"object","title":"DeleteServiceParams","description":"Delete an existing service from the system.","properties":{"smb_tool_type":{"type":"string","const":"delete_service","title":"Smb Tool Type","default":"delete_service","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.18.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.18","typeLabel":"DeleteServiceParams · object"},{"type":"object","title":"ListProductsParams","properties":{"list_kwargs":{"additionalProperties":true,"type":"object","title":"List Kwargs","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.19.list_kwargs","typeLabel":"List Kwargs · object"},"smb_tool_type":{"type":"string","const":"list_products","title":"Smb Tool Type","default":"list_products","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.19.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.19","typeLabel":"ListProductsParams · object"},{"type":"object","title":"CreateProductParams","properties":{"smb_tool_type":{"type":"string","const":"create_product","title":"Smb Tool Type","default":"create_product","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.20.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.20","typeLabel":"CreateProductParams · object"},{"type":"object","title":"UpdateProductParams","properties":{"smb_tool_type":{"type":"string","const":"update_product","title":"Smb Tool Type","default":"update_product","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.21.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.21","typeLabel":"UpdateProductParams · object"},{"type":"object","title":"DeleteProductParams","properties":{"smb_tool_type":{"type":"string","const":"delete_product","title":"Smb Tool Type","default":"delete_product","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.22.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.22","typeLabel":"DeleteProductParams · object"},{"type":"object","title":"CheckServiceAvailabilityParams","properties":{"smb_tool_type":{"type":"string","const":"check_service_availability","title":"Smb Tool Type","default":"check_service_availability","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.23.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.23","typeLabel":"CheckServiceAvailabilityParams · object"},{"type":"object","title":"CreateClientAppointmentParams","properties":{"smb_tool_type":{"type":"string","const":"create_client_appointment","title":"Smb Tool Type","default":"create_client_appointment","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.24.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.24","typeLabel":"CreateClientAppointmentParams · object"},{"type":"object","title":"GetClientAppointmentsParams","properties":{"smb_tool_type":{"type":"string","const":"get_client_appointments","title":"Smb Tool Type","default":"get_client_appointments","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.25.smb_tool_type","typeLabel":"string"},"include_cancelled":{"type":"boolean","title":"Include Cancelled","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.25.include_cancelled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.25","typeLabel":"GetClientAppointmentsParams · object"},{"type":"object","title":"GetAppointmentByConfirmationNumberParams","description":"Look up an appointment by the booking confirmation number the caller quotes.\n\nThe confirmation number is the 8-character code shown on the booking\nconfirmation page (e.g. ``#01ABCDEF``). Callers may read it back with or\nwithout the leading ``#`` and with varied spacing; the tool normalizes\nthe input and does a prefix match on the stored calendar item id.","properties":{"smb_tool_type":{"type":"string","const":"get_appointment_by_confirmation_number","title":"Smb Tool Type","default":"get_appointment_by_confirmation_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.26.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.26","typeLabel":"GetAppointmentByConfirmationNumberParams · object"},{"type":"object","title":"CreateOrderParams","properties":{"smb_tool_type":{"type":"string","const":"create_order","title":"Smb Tool Type","default":"create_order","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.27.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.27","typeLabel":"CreateOrderParams · object"},{"type":"object","title":"GetOrderByConfirmationNumberParams","properties":{"smb_tool_type":{"type":"string","const":"get_order_by_confirmation_number","title":"Smb Tool Type","default":"get_order_by_confirmation_number","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.28.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.28","typeLabel":"GetOrderByConfirmationNumberParams · object"},{"type":"object","title":"GetClientOrdersParams","properties":{"smb_tool_type":{"type":"string","const":"get_client_orders","title":"Smb Tool Type","default":"get_client_orders","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.29.smb_tool_type","typeLabel":"string"},"include_cancelled":{"type":"boolean","title":"Include Cancelled","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.29.include_cancelled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.29","typeLabel":"GetClientOrdersParams · object"},{"type":"object","title":"UpdateOrderParams","properties":{"smb_tool_type":{"type":"string","const":"update_order","title":"Smb Tool Type","default":"update_order","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.30.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.30","typeLabel":"UpdateOrderParams · object"},{"type":"object","title":"CancelOrderParams","properties":{"smb_tool_type":{"type":"string","const":"cancel_order","title":"Smb Tool Type","default":"cancel_order","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.31.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.31","typeLabel":"CancelOrderParams · object"},{"type":"object","title":"ListGroupSessionsParams","description":"List scheduled group sessions for a group service in a date range.\n\nGroup services are scheduled in advance (e.g. yoga classes, workshops) and\ncallers register against an existing session. Use this for group services;\nuse ``check_service_availability`` for appointment / rental services.","properties":{"smb_tool_type":{"type":"string","const":"list_group_sessions","title":"Smb Tool Type","default":"list_group_sessions","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.32.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.32","typeLabel":"ListGroupSessionsParams · object"},{"type":"object","title":"ScheduleGroupSessionParams","description":"Schedule a single instance of a group service.\n\nThe session's duration is derived from the parent service so the assistant\nonly has to pin start time, the (optional) instructor / room, and the\nlocation. Participants register separately via\n``register_for_group_session``.","properties":{"smb_tool_type":{"type":"string","const":"schedule_group_session","title":"Smb Tool Type","default":"schedule_group_session","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.33.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.33","typeLabel":"ScheduleGroupSessionParams · object"},{"type":"object","title":"RegisterForGroupSessionParams","description":"Register a client for a scheduled group session.","properties":{"smb_tool_type":{"type":"string","const":"register_for_group_session","title":"Smb Tool Type","default":"register_for_group_session","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.34.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.34","typeLabel":"RegisterForGroupSessionParams · object"},{"type":"object","title":"CancelGroupSessionRegistrationParams","description":"Cancel a single client's registration for a group session.","properties":{"smb_tool_type":{"type":"string","const":"cancel_group_session_registration","title":"Smb Tool Type","default":"cancel_group_session_registration","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.35.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.35","typeLabel":"CancelGroupSessionRegistrationParams · object"},{"type":"object","title":"UpdateGroupSessionSeatsParams","description":"Change the seat count of an existing group session registration.","properties":{"smb_tool_type":{"type":"string","const":"update_group_session_seats","title":"Smb Tool Type","default":"update_group_session_seats","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.36.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.36","typeLabel":"UpdateGroupSessionSeatsParams · object"},{"type":"object","title":"CancelGroupSessionForAllParams","description":"Cancel an entire group session and notify every registered participant.\nDestructive -- prefer ``cancel_group_session_registration`` for cancelling\na single attendee.","properties":{"smb_tool_type":{"type":"string","const":"cancel_group_session_for_all","title":"Smb Tool Type","default":"cancel_group_session_for_all","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.37.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.37","typeLabel":"CancelGroupSessionForAllParams · object"},{"type":"object","title":"DeleteGroupSessionParams","description":"Permanently remove a previously-cancelled group session.\n\nGroup analogue of ``delete_calendar_event``: cancel\n(``cancel_group_session_for_all``) is the soft, history-preserving step;\nthis tool is the irreversible follow-up that drops the row from Mongo\nand the staff Google Calendar entirely. The backend rejects the call\n(422) if the session hasn't been cancelled yet, so the only safe path\nis cancel-then-delete.","properties":{"smb_tool_type":{"type":"string","const":"delete_group_session","title":"Smb Tool Type","default":"delete_group_session","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.38.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.38","typeLabel":"DeleteGroupSessionParams · object"},{"type":"object","title":"ListCalendarEventsParams","properties":{"smb_tool_type":{"type":"string","const":"list_calendar_events","title":"Smb Tool Type","default":"list_calendar_events","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.39.smb_tool_type","typeLabel":"string"},"include_cancelled":{"type":"boolean","title":"Include Cancelled","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.39.include_cancelled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.39","typeLabel":"ListCalendarEventsParams · object"},{"type":"object","title":"UpdateCalendarEventParams","properties":{"smb_tool_type":{"type":"string","const":"update_calendar_event","title":"Smb Tool Type","default":"update_calendar_event","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.40.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.40","typeLabel":"UpdateCalendarEventParams · object"},{"type":"object","title":"CancelCalendarEventParams","properties":{"smb_tool_type":{"type":"string","const":"cancel_calendar_event","title":"Smb Tool Type","default":"cancel_calendar_event","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.41.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.41","typeLabel":"CancelCalendarEventParams · object"},{"type":"object","title":"RestoreCalendarEventParams","properties":{"smb_tool_type":{"type":"string","const":"restore_calendar_event","title":"Smb Tool Type","default":"restore_calendar_event","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.42.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.42","typeLabel":"RestoreCalendarEventParams · object"},{"type":"object","title":"DeleteCalendarEventParams","description":"Permanently remove a previously-cancelled calendar event.\n\nThis delete tool is the irreversible follow-up to cancel_calendar_event.\nThe backend rejects the call (422) if the event hasn't been\ncancelled yet, so the only safe path is cancel-then-delete.","properties":{"smb_tool_type":{"type":"string","const":"delete_calendar_event","title":"Smb Tool Type","default":"delete_calendar_event","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.43.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.43","typeLabel":"DeleteCalendarEventParams · object"},{"type":"object","title":"ListCustomerFacingAgentsParams","description":"List every customer-facing agent on the workspace.\n\nThe assistant uses this whenever it needs to act on a specific customer-facing\nagent (rules, config edits, etc.) so it can pick the right ``agent_id`` to pass\nto mutating tools. Mirrors the ``list_services`` / ``list_clients``\npattern: read once, then mutate by id.","properties":{"smb_tool_type":{"type":"string","const":"list_customer_facing_agents","title":"Smb Tool Type","default":"list_customer_facing_agents","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.44.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.44","typeLabel":"ListCustomerFacingAgentsParams · object"},{"type":"object","title":"ListAgentRulesParams","properties":{"smb_tool_type":{"type":"string","const":"list_agent_rules","title":"Smb Tool Type","default":"list_agent_rules","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.45.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.45","typeLabel":"ListAgentRulesParams · object"},{"type":"object","title":"CreateAgentRuleParams","properties":{"smb_tool_type":{"type":"string","const":"create_agent_rule","title":"Smb Tool Type","default":"create_agent_rule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.46.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.46","typeLabel":"CreateAgentRuleParams · object"},{"type":"object","title":"UpdateAgentRuleParams","properties":{"smb_tool_type":{"type":"string","const":"update_agent_rule","title":"Smb Tool Type","default":"update_agent_rule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.47.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.47","typeLabel":"UpdateAgentRuleParams · object"},{"type":"object","title":"DeleteAgentRuleParams","properties":{"smb_tool_type":{"type":"string","const":"delete_agent_rule","title":"Smb Tool Type","default":"delete_agent_rule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.48.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.48","typeLabel":"DeleteAgentRuleParams · object"},{"type":"object","title":"ListTransferRulesParams","properties":{"smb_tool_type":{"type":"string","const":"list_transfer_rules","title":"Smb Tool Type","default":"list_transfer_rules","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.49.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.49","typeLabel":"ListTransferRulesParams · object"},{"type":"object","title":"CreateTransferRuleParams","properties":{"smb_tool_type":{"type":"string","const":"create_transfer_rule","title":"Smb Tool Type","default":"create_transfer_rule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.50.smb_tool_type","typeLabel":"string"},"post_dial_digits_enabled":{"type":"boolean","title":"Post Dial Digits Enabled","description":"Whether to offer the post_dial_digits parameter, set from the receptionists' enable_play_keypad_touch_tone_tool config. Digits saved while that is off are dropped when the receptionist is built, so the parameter is hidden rather than accepted and ignored.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.50.post_dial_digits_enabled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.50","typeLabel":"CreateTransferRuleParams · object"},{"type":"object","title":"UpdateTransferRuleParams","properties":{"smb_tool_type":{"type":"string","const":"update_transfer_rule","title":"Smb Tool Type","default":"update_transfer_rule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.51.smb_tool_type","typeLabel":"string"},"post_dial_digits_enabled":{"type":"boolean","title":"Post Dial Digits Enabled","description":"Whether to offer the post_dial_digits parameter, set from the receptionists' enable_play_keypad_touch_tone_tool config. Digits saved while that is off are dropped when the receptionist is built, so the parameter is hidden rather than accepted and ignored.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.51.post_dial_digits_enabled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.51","typeLabel":"UpdateTransferRuleParams · object"},{"type":"object","title":"DeleteTransferRuleParams","properties":{"smb_tool_type":{"type":"string","const":"delete_transfer_rule","title":"Smb Tool Type","default":"delete_transfer_rule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.52.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.52","typeLabel":"DeleteTransferRuleParams · object"},{"type":"object","title":"ListAgentProceduresParams","properties":{"smb_tool_type":{"type":"string","const":"list_agent_procedures","title":"Smb Tool Type","default":"list_agent_procedures","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.53.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.53","typeLabel":"ListAgentProceduresParams · object"},{"type":"object","title":"ListAgentReferencesParams","properties":{"smb_tool_type":{"type":"string","const":"list_agent_references","title":"Smb Tool Type","default":"list_agent_references","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.54.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.54","typeLabel":"ListAgentReferencesParams · object"},{"type":"object","title":"CreateAgentProcedureParams","properties":{"smb_tool_type":{"type":"string","const":"create_agent_procedure","title":"Smb Tool Type","default":"create_agent_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.55.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.55","typeLabel":"CreateAgentProcedureParams · object"},{"type":"object","title":"UpdateAgentProcedureParams","properties":{"smb_tool_type":{"type":"string","const":"update_agent_procedure","title":"Smb Tool Type","default":"update_agent_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.56.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.56","typeLabel":"UpdateAgentProcedureParams · object"},{"type":"object","title":"DeleteAgentProcedureParams","properties":{"smb_tool_type":{"type":"string","const":"delete_agent_procedure","title":"Smb Tool Type","default":"delete_agent_procedure","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.57.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.57","typeLabel":"DeleteAgentProcedureParams · object"},{"type":"object","title":"ListHolidaysParams","properties":{"smb_tool_type":{"type":"string","const":"list_holidays","title":"Smb Tool Type","default":"list_holidays","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.58.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.58","typeLabel":"ListHolidaysParams · object"},{"type":"object","title":"CreateHolidayParams","properties":{"smb_tool_type":{"type":"string","const":"create_holiday","title":"Smb Tool Type","default":"create_holiday","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.59.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.59","typeLabel":"CreateHolidayParams · object"},{"type":"object","title":"UpdateHolidayParams","properties":{"smb_tool_type":{"type":"string","const":"update_holiday","title":"Smb Tool Type","default":"update_holiday","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.60.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.60","typeLabel":"UpdateHolidayParams · object"},{"type":"object","title":"DeleteHolidayParams","properties":{"smb_tool_type":{"type":"string","const":"delete_holiday","title":"Smb Tool Type","default":"delete_holiday","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.61.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.61","typeLabel":"DeleteHolidayParams · object"},{"type":"object","title":"GetScheduleParams","properties":{"smb_tool_type":{"type":"string","const":"get_schedule","title":"Smb Tool Type","default":"get_schedule","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.62.smb_tool_type","typeLabel":"string"},"include_location_filter":{"type":"boolean","title":"Include Location Filter","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.62.include_location_filter","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.62","typeLabel":"GetScheduleParams · object"},{"type":"object","title":"SubmitBusinessInfoParams","description":"Finalize the onboarding interview: create a text knowledge source and mark done.","properties":{"smb_tool_type":{"type":"string","const":"submit_business_info","title":"Smb Tool Type","default":"submit_business_info","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.63.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.63","typeLabel":"SubmitBusinessInfoParams · object"},{"type":"object","title":"UpdateBusinessInfoParams","properties":{"smb_tool_type":{"type":"string","const":"update_business_info","title":"Smb Tool Type","default":"update_business_info","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.64.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.64","typeLabel":"UpdateBusinessInfoParams · object"},{"type":"object","title":"UpdateCustomerFacingConfigParams","properties":{"smb_tool_type":{"type":"string","const":"update_customer_facing_config","title":"Smb Tool Type","default":"update_customer_facing_config","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.65.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.65","typeLabel":"UpdateCustomerFacingConfigParams · object"},{"type":"object","title":"GetAnalyticsSummaryParams","description":"Get a summary of key business analytics for a time period.","properties":{"smb_tool_type":{"type":"string","const":"get_analytics_summary","title":"Smb Tool Type","default":"get_analytics_summary","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.66.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.66","typeLabel":"GetAnalyticsSummaryParams · object"},{"type":"object","title":"GetBookingPageSettingsParams","properties":{"smb_tool_type":{"type":"string","const":"get_booking_page_settings","title":"Smb Tool Type","default":"get_booking_page_settings","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.67.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.67","typeLabel":"GetBookingPageSettingsParams · object"},{"type":"object","title":"UpdateBookingPageSettingsParams","properties":{"smb_tool_type":{"type":"string","const":"update_booking_page_settings","title":"Smb Tool Type","default":"update_booking_page_settings","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.68.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.68","typeLabel":"UpdateBookingPageSettingsParams · object"},{"type":"object","title":"UpdateBookingPageAppearanceParams","properties":{"smb_tool_type":{"type":"string","const":"update_booking_page_appearance","title":"Smb Tool Type","default":"update_booking_page_appearance","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.69.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.69","typeLabel":"UpdateBookingPageAppearanceParams · object"},{"type":"object","title":"GetBookingSlugStatusParams","properties":{"smb_tool_type":{"type":"string","const":"get_booking_slug_status","title":"Smb Tool Type","default":"get_booking_slug_status","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.70.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.70","typeLabel":"GetBookingSlugStatusParams · object"},{"type":"object","title":"SetBookingSlugParams","properties":{"smb_tool_type":{"type":"string","const":"set_booking_slug","title":"Smb Tool Type","default":"set_booking_slug","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.71.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.71","typeLabel":"SetBookingSlugParams · object"},{"type":"object","title":"ListClientInteractionsParams","properties":{"smb_tool_type":{"type":"string","const":"list_client_interactions","title":"Smb Tool Type","default":"list_client_interactions","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.72.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.72","typeLabel":"ListClientInteractionsParams · object"},{"type":"object","title":"CreateClientInteractionParams","properties":{"smb_tool_type":{"type":"string","const":"create_client_interaction","title":"Smb Tool Type","default":"create_client_interaction","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.73.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.73","typeLabel":"CreateClientInteractionParams · object"},{"type":"object","title":"DeleteClientInteractionParams","properties":{"smb_tool_type":{"type":"string","const":"delete_client_interaction","title":"Smb Tool Type","default":"delete_client_interaction","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.74.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.74","typeLabel":"DeleteClientInteractionParams · object"},{"type":"object","title":"ListLocationsParams","description":"Params + Reception-proxied ``run()`` for list_locations.","properties":{"smb_tool_type":{"type":"string","const":"list_locations","title":"Smb Tool Type","default":"list_locations","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.75.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.75","typeLabel":"ListLocationsParams · object"},{"type":"object","title":"CreateLocationParams","properties":{"smb_tool_type":{"type":"string","const":"create_location","title":"Smb Tool Type","default":"create_location","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.76.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.76","typeLabel":"CreateLocationParams · object"},{"type":"object","title":"UpdateLocationParams","properties":{"smb_tool_type":{"type":"string","const":"update_location","title":"Smb Tool Type","default":"update_location","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.77.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.77","typeLabel":"UpdateLocationParams · object"},{"type":"object","title":"DeleteLocationParams","properties":{"smb_tool_type":{"type":"string","const":"delete_location","title":"Smb Tool Type","default":"delete_location","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.78.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.78","typeLabel":"DeleteLocationParams · object"},{"type":"object","title":"LeaveMessageParams","properties":{"smb_tool_type":{"type":"string","const":"leave_message","title":"Smb Tool Type","default":"leave_message","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.79.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.79","typeLabel":"LeaveMessageParams · object"},{"type":"object","title":"CreateServiceQuoteRequestParams","properties":{"smb_tool_type":{"type":"string","const":"create_service_quote_request","title":"Smb Tool Type","default":"create_service_quote_request","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.80.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.80","typeLabel":"CreateServiceQuoteRequestParams · object"},{"type":"object","title":"CreateProductQuoteRequestParams","properties":{"smb_tool_type":{"type":"string","const":"create_product_quote_request","title":"Smb Tool Type","default":"create_product_quote_request","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.81.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.81","typeLabel":"CreateProductQuoteRequestParams · object"},{"type":"object","title":"ReportKnowledgeGapParams","properties":{"smb_tool_type":{"type":"string","const":"report_knowledge_gap","title":"Smb Tool Type","default":"report_knowledge_gap","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.82.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.82","typeLabel":"ReportKnowledgeGapParams · object"},{"type":"object","title":"OptInSmsReminderParams","properties":{"smb_tool_type":{"type":"string","const":"opt_in_sms_reminder","title":"Smb Tool Type","default":"opt_in_sms_reminder","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.83.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.83","typeLabel":"OptInSmsReminderParams · object"},{"type":"object","title":"OptOutSmsReminderParams","properties":{"smb_tool_type":{"type":"string","const":"opt_out_sms_reminder","title":"Smb Tool Type","default":"opt_out_sms_reminder","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.84.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.84","typeLabel":"OptOutSmsReminderParams · object"},{"type":"object","title":"TriggerUserVerificationParams","properties":{"smb_tool_type":{"type":"string","const":"trigger_user_verification","title":"Smb Tool Type","default":"trigger_user_verification","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.85.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.85","typeLabel":"TriggerUserVerificationParams · object"},{"type":"object","title":"ValidateUserVerificationCodeParams","properties":{"smb_tool_type":{"type":"string","const":"validate_user_verification_code","title":"Smb Tool Type","default":"validate_user_verification_code","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.86.smb_tool_type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params.oneOf.86","typeLabel":"ValidateUserVerificationCodeParams · object"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.params","typeLabel":"SearchClientsParams · object | SendCustomEmailParams · object | ListClientsParams · object | GetClientByPhoneParams · object | CreateClientParams · object | UpdateClientParams · object | DeleteClientParams · object | ListStaffParams · object | CreateStaffParams · object | UpdateStaffParams · object | DeleteStaffParams · object | ListAssetsParams · object | CreateAssetParams · object | UpdateAssetParams · object | DeleteAssetParams · object | ListServicesParams · object | CreateServiceParams · object | UpdateServiceParams · object | DeleteServiceParams · object | ListProductsParams · object | CreateProductParams · object | UpdateProductParams · object | DeleteProductParams · object | CheckServiceAvailabilityParams · object | CreateClientAppointmentParams · object | GetClientAppointmentsParams · object | GetAppointmentByConfirmationNumberParams · object | CreateOrderParams · object | GetOrderByConfirmationNumberParams · object | GetClientOrdersParams · object | UpdateOrderParams · object | CancelOrderParams · object | ListGroupSessionsParams · object | ScheduleGroupSessionParams · object | RegisterForGroupSessionParams · object | CancelGroupSessionRegistrationParams · object | UpdateGroupSessionSeatsParams · object | CancelGroupSessionForAllParams · object | DeleteGroupSessionParams · object | ListCalendarEventsParams · object | UpdateCalendarEventParams · object | CancelCalendarEventParams · object | RestoreCalendarEventParams · object | DeleteCalendarEventParams · object | ListCustomerFacingAgentsParams · object | ListAgentRulesParams · object | CreateAgentRuleParams · object | UpdateAgentRuleParams · object | DeleteAgentRuleParams · object | ListTransferRulesParams · object | CreateTransferRuleParams · object | UpdateTransferRuleParams · object | DeleteTransferRuleParams · object | ListAgentProceduresParams · object | ListAgentReferencesParams · object | CreateAgentProcedureParams · object | UpdateAgentProcedureParams · object | DeleteAgentProcedureParams · object | ListHolidaysParams · object | CreateHolidayParams · object | UpdateHolidayParams · object | DeleteHolidayParams · object | GetScheduleParams · object | SubmitBusinessInfoParams · object | UpdateBusinessInfoParams · object | UpdateCustomerFacingConfigParams · object | GetAnalyticsSummaryParams · object | GetBookingPageSettingsParams · object | UpdateBookingPageSettingsParams · object | UpdateBookingPageAppearanceParams · object | GetBookingSlugStatusParams · object | SetBookingSlugParams · object | ListClientInteractionsParams · object | CreateClientInteractionParams · object | DeleteClientInteractionParams · object | ListLocationsParams · object | CreateLocationParams · object | UpdateLocationParams · object | DeleteLocationParams · object | LeaveMessageParams · object | CreateServiceQuoteRequestParams · object | CreateProductQuoteRequestParams · object | ReportKnowledgeGapParams · object | OptInSmsReminderParams · object | OptOutSmsReminderParams · object | TriggerUserVerificationParams · object | ValidateUserVerificationCodeParams · object"},"type":{"type":"string","const":"smb","title":"Type","description":"Tool type identifier","default":"smb","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.type","typeLabel":"string"},"description":{"type":"string","minLength":0,"title":"Description","description":"Description of when the tool should be used and what it does.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.description","typeLabel":"string"},"response_timeout_secs":{"type":"integer","title":"Response Timeout Secs","description":"The maximum time in seconds to wait for the tool call to complete.","default":20,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.response_timeout_secs","typeLabel":"integer"},"interruption_mode":{"type":"string","enum":["allow","disable_during_tool","disable_during_tool_and_turn"],"title":"ToolInterruptionMode","default":"allow","description":"Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.interruption_mode","typeLabel":"enum\u003cstring>"},"pre_tool_speech":{"type":"string","enum":["auto","force","off"],"title":"PreToolSpeechMode","description":"Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.pre_tool_speech","typeLabel":"enum\u003cstring>"},"assignments":{"items":{"properties":{"dynamic_variable":{"type":"string","title":"Dynamic Variable","description":"The name of the dynamic variable to assign the extracted value to","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments.items.[INDEX].dynamic_variable","typeLabel":"string"},"value_path":{"type":"string","title":"Value Path","description":"Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id')","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments.items.[INDEX].value_path","typeLabel":"string"},"source":{"type":"string","const":"response","title":"Source","description":"The source to extract the value from. Currently only 'response' is supported.","default":"response","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments.items.[INDEX].source","typeLabel":"string"},"sanitize":{"type":"boolean","title":"Sanitize","description":"If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments.items.[INDEX].sanitize","typeLabel":"boolean"},"preserve_native_type":{"type":"boolean","title":"Preserve Native Type","description":"If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments.items.[INDEX].preserve_native_type","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","required":["dynamic_variable","value_path"],"title":"DynamicVariableAssignment","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables.","example":{"dynamic_variable":"user_name","preserve_native_type":false,"sanitize":false,"source":"response","value_path":"user.name"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments.items.[INDEX]","typeLabel":"DynamicVariableAssignment · object"},"type":"array","title":"Assignments","description":"Configuration for extracting values from tool responses and assigning them to dynamic variables","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.assignments","typeLabel":"DynamicVariableAssignment · object[]"},"tool_call_sound":{"oneOf":[{"type":"string","title":"ToolCallSoundType","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","enum":["typing","elevator1","elevator2","elevator3","elevator4"],"x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.tool_call_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played.","x-convai-client-override":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.tool_call_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.tool_call_sound","typeLabel":"enum\u003cstring> | null"},"tool_call_sound_behavior":{"type":"string","enum":["auto","always"],"title":"ToolCallSoundBehavior","description":"Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.tool_call_sound_behavior","typeLabel":"enum\u003cstring>"},"tool_error_handling_mode":{"type":"string","enum":["auto","summarized","passthrough","hide"],"title":"ToolErrorHandlingMode","description":"Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.","default":"auto","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.tool_error_handling_mode","typeLabel":"enum\u003cstring>"},"human_description":{"type":"string","minLength":0,"title":"Human Description","description":"User-facing tooltip for the procedure reference picker. Not sent to the LLM.","default":"","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.human_description","typeLabel":"string"},"enabled":{"type":"boolean","title":"Enabled","description":"Whether this tool is enabled for the agent","default":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5.enabled","typeLabel":"boolean"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX].oneOf.5","typeLabel":"SMBToolConfig · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0.items.[INDEX]","typeLabel":"WebhookToolConfig · object | ClientToolConfig · object | SystemToolConfig · object | MCPToolConfig · object | ApiIntegrationWebhookToolConfig · object | SMBToolConfig · object"},"title":"Tools","description":"A list of tools that the agent can use over the course of the conversation, use tool_ids instead","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.0","typeLabel":"(WebhookToolConfig · object | ClientToolConfig · object | SystemToolConfig · object | MCPToolConfig · object | ApiIntegrationWebhookToolConfig · object | SMBToolConfig · object)[]"},{"type":"null","title":"Tools","description":"A list of tools that the agent can use over the course of the conversation, use tool_ids instead","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0.tools","typeLabel":"(WebhookToolConfig · object | ClientToolConfig · object | SystemToolConfig · object | MCPToolConfig · object | ApiIntegrationWebhookToolConfig · object | SMBToolConfig · object)[] | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.0","typeLabel":"PromptAgentAPIModelWorkflowOverride · object"},{"type":"null","description":"The prompt for the agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0.prompt","typeLabel":"PromptAgentAPIModelWorkflowOverride · object | null"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.0","typeLabel":"AgentConfigAPIModelWorkflowOverride · object"},{"type":"null","description":"Agent specific configuration","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config.agent","typeLabel":"AgentConfigAPIModelWorkflowOverride · object | null"}},"additionalProperties":false,"type":"object","title":"ConversationalConfigAPIModelWorkflowOverride","example":{"agent":{"disable_first_message_interruptions":false,"dynamic_variables":{"dynamic_variable_placeholders":{"user_name":"John Doe"}},"first_message":"Hello, how can I help you today?","language":"en","prompt":{"knowledge_base":[],"llm":"google/gemma-4-31b","max_tokens":-1,"prompt":"You are a helpful assistant that can answer questions about the topic of the conversation.","temperature":0,"tool_ids":[]}},"conversation":{"client_events":["audio","interruption"],"max_duration_seconds":600},"tts":{"voice_id":"ME9RtCnWp5vX2LhJdF3k"},"turn":{"interruption_ignore_term_languages":[],"interruption_ignore_terms":[],"merge_with_default_ignore_terms":false,"mode":"turn","retranscribe_on_turn_timeout":false,"silence_end_call_timeout":-1,"soft_timeout_config":{"message":"Hhmmmm...yeah.","timeout_seconds":-1,"use_llm_generated_message":false},"speculative_turn":false,"spelling_patience":"auto","transcribe_on_disabled_interruptions":false,"turn_eagerness":"normal","turn_model":"turn_v3","turn_timeout":7}},"description":"Configuration overrides applied while the subagent is conducting the conversation.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.conversation_config","typeLabel":"ConversationalConfigAPIModelWorkflowOverride · object"},"additional_prompt":{"type":"string","title":"Additional Prompt","description":"Specific goal for this subagent. It will be added to the system prompt and can be used to further refine the agent's behavior in this specific context.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_prompt","typeLabel":"string"},"additional_knowledge_base":{"items":{"properties":{"type":{"type":"string","enum":["file","url","text","folder"],"title":"KnowledgeBaseDocumentType","description":"The type of the knowledge base","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_knowledge_base.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","title":"Name","description":"The name of the knowledge base","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_knowledge_base.items.[INDEX].name","typeLabel":"string"},"id":{"type":"string","title":"Id","description":"The ID of the knowledge base","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_knowledge_base.items.[INDEX].id","typeLabel":"string"},"usage_mode":{"type":"string","enum":["prompt","auto"],"title":"DocumentUsageModeEnum","default":"auto","description":"The usage mode of the knowledge base","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_knowledge_base.items.[INDEX].usage_mode","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"type":"object","required":["type","name","id"],"title":"KnowledgeBaseLocator","example":{"id":"123","name":"My Knowledge Base","type":"file","usage_mode":"auto"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_knowledge_base.items.[INDEX]","typeLabel":"KnowledgeBaseLocator · object"},"type":"array","title":"Additional Knowledge Base","description":"Additional knowledge base documents that the subagent has access to. These will be used in addition to the main agent's documents.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_knowledge_base","typeLabel":"KnowledgeBaseLocator · object[]"},"additional_tool_ids":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_tool_ids.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Additional Tool Ids","description":"IDs of additional tools that the subagent has access to. These will be used in addition to the main agent's tools.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.additional_tool_ids","typeLabel":"string[]"},"entry_behavior":{"type":"string","enum":["generate_immediately","wait_for_user","auto"],"title":"EntryBehavior","default":"auto","description":"Dictates whether this node should immediately generate a response upon entry or wait for the user input. When set to \"auto\", the behavior will be decided based on the type of the preceding node: \"wait_for_user\" after the \"say\" and \"start\" nodes and \"generate_immediately\" otherwise.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.3.entry_behavior","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.3","typeLabel":"WorkflowOverrideAgentNodeModel · object"},{"type":"object","title":"WorkflowStandaloneAgentNodeModel","description":"Transfer the conversation to a standalone agent.","properties":{"type":{"type":"string","const":"standalone_agent","title":"Type","default":"standalone_agent","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.type","typeLabel":"string"},"position":{"properties":{"x":{"type":"number","title":"X","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.position.x","typeLabel":"number"},"y":{"type":"number","title":"Y","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.position.y","typeLabel":"number"}},"type":"object","title":"Position","description":"Position of the node in the workflow.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.position","typeLabel":"Position · object"},"edge_order":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.edge_order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Edge Order","description":"The ids of outgoing edges in the order they should be evaluated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.edge_order","typeLabel":"string[]"},"agent_id":{"oneOf":[{"type":"string","title":"Agent Id","description":"The ID of the agent to transfer the conversation to. None means transfer within the current agent.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.agent_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Id","description":"The ID of the agent to transfer the conversation to. None means transfer within the current agent.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.agent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.agent_id","typeLabel":"string | null"},"node_id":{"oneOf":[{"type":"string","title":"Node Id","description":"Optional target node ID in the destination agent's workflow. When set, the transfer starts at this node instead of the default entry node.","minLength":1,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.node_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Node Id","description":"Optional target node ID in the destination agent's workflow. When set, the transfer starts at this node instead of the default entry node.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.node_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.node_id","typeLabel":"string | null"},"delay_ms":{"type":"integer","title":"Delay Ms","description":"Artificial delay in milliseconds applied before transferring the conversation.","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.delay_ms","typeLabel":"integer"},"transfer_message":{"oneOf":[{"type":"string","title":"Transfer Message","description":"Optional message sent to the user before the transfer is initiated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.transfer_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transfer Message","description":"Optional message sent to the user before the transfer is initiated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.transfer_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.transfer_message","typeLabel":"string | null"},"enable_transferred_agent_first_message":{"type":"boolean","title":"Enable Transferred Agent First Message","description":"Whether to enable the transferred agent to send its configured first message after the transfer.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.enable_transferred_agent_first_message","typeLabel":"boolean"},"preserve_client_tts_overrides":{"type":"boolean","title":"Preserve Client Tts Overrides","description":"Defines whether TTS client overrides should be carried over to the transferred agent.","default":false,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4.preserve_client_tts_overrides","typeLabel":"boolean"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.4","typeLabel":"WorkflowStandaloneAgentNodeModel · object"},{"type":"object","title":"WorkflowToolNodeModel","description":"Executes one or more tools in parallel.","properties":{"type":{"type":"string","const":"tool","title":"Type","default":"tool","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.type","typeLabel":"string"},"position":{"properties":{"x":{"type":"number","title":"X","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.position.x","typeLabel":"number"},"y":{"type":"number","title":"Y","default":0,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.position.y","typeLabel":"number"}},"type":"object","title":"Position","description":"Position of the node in the workflow.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.position","typeLabel":"Position · object"},"edge_order":{"items":{"type":"string","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.edge_order.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Edge Order","description":"The ids of outgoing edges in the order they should be evaluated.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.edge_order","typeLabel":"string[]"},"tools":{"items":{"properties":{"tool_id":{"type":"string","title":"Tool Id","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].tool_id","typeLabel":"string"},"schema_overrides":{"oneOf":[{"type":"object","title":"Schema Overrides","description":"Per-node parameter overrides applied on top of the tool's own configuration. Keys are dotted parameter paths (webhook tools prefix keys with path_params./query_params./request_body.). These take precedence over any overrides already defined on the tool itself.","additionalProperties":{"oneOf":[{"type":"object","title":"ConstantSchemaOverride","required":["constant_value"],"properties":{"constant_value":{"oneOf":[{"type":"string","title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.4.items.[INDEX]","typeLabel":"any"},"title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.4","typeLabel":"any[]"},{"type":"object","title":"Constant Value","description":"The constant value to use","additionalProperties":true,"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.5","typeLabel":"Constant Value · object"},{"type":"null","title":"Constant Value","description":"The constant value to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value.oneOf.6","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.constant_value","typeLabel":"string | integer | number | boolean | any[] | Constant Value · object | null"},"source":{"type":"string","const":"constant","title":"Source","default":"constant","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0.source","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.0","typeLabel":"ConstantSchemaOverride · object"},{"type":"object","title":"DynamicVariableSchemaOverride","required":["dynamic_variable"],"properties":{"dynamic_variable":{"type":"string","minLength":1,"title":"Dynamic Variable","description":"The name of the dynamic variable to use","isRequired":true,"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.1.dynamic_variable","typeLabel":"string"},"source":{"type":"string","const":"dynamic_variable","title":"Source","default":"dynamic_variable","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.1.source","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.1","typeLabel":"DynamicVariableSchemaOverride · object"},{"type":"object","title":"LLMSchemaOverride","properties":{"source":{"type":"string","const":"llm","title":"Source","default":"llm","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.2.source","typeLabel":"string"},"prompt":{"oneOf":[{"type":"string","title":"Prompt","description":"Prompt override for the LLM. If not provided, the original schema description is used.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.2.prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Prompt","description":"Prompt override for the LLM. If not provided, the original schema description is used.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.2.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.2.prompt","typeLabel":"string | null"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.2","typeLabel":"LLMSchemaOverride · object"},{"type":"object","title":"OmitSchemaOverride","properties":{"source":{"type":"string","const":"omit","title":"Source","default":"omit","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.3.source","typeLabel":"string"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties.oneOf.3","typeLabel":"OmitSchemaOverride · object"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0.additionalProperties","typeLabel":"ConstantSchemaOverride · object | DynamicVariableSchemaOverride · object | LLMSchemaOverride · object | OmitSchemaOverride · object"},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.0","typeLabel":"Schema Overrides · object"},{"type":"null","title":"Schema Overrides","description":"Per-node parameter overrides applied on top of the tool's own configuration. Keys are dotted parameter paths (webhook tools prefix keys with path_params./query_params./request_body.). These take precedence over any overrides already defined on the tool itself.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX].schema_overrides","typeLabel":"Schema Overrides · object | null"}},"type":"object","required":["tool_id"],"title":"WorkflowToolLocator","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools.items.[INDEX]","typeLabel":"WorkflowToolLocator · object"},"type":"array","title":"Tools","description":"List of tools to execute in parallel. The entire node is considered successful if all tools are executed successfully.","uniqueKey":"workflow.nodes.additionalProperties.oneOf.5.tools","typeLabel":"WorkflowToolLocator · object[]"}},"uniqueKey":"workflow.nodes.additionalProperties.oneOf.5","typeLabel":"WorkflowToolNodeModel · object"}],"uniqueKey":"workflow.nodes.additionalProperties","typeLabel":"WorkflowStartNodeModel · object | WorkflowEndNodeModel · object | WorkflowPhoneNumberNodeModel · object | WorkflowOverrideAgentNodeModel · object | WorkflowStandaloneAgentNodeModel · object | WorkflowToolNodeModel · object"},"type":"object","title":"Nodes","uniqueKey":"workflow.nodes","typeLabel":"Nodes · object"},"prevent_subagent_loops":{"type":"boolean","title":"Prevent Subagent Loops","description":"Whether to prevent loops in the workflow execution.","default":false,"uniqueKey":"workflow.prevent_subagent_loops","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"AgentWorkflowRequestModel","description":"Workflow for the draft","isRequired":true,"uniqueKey":"workflow","typeLabel":"AgentWorkflowRequestModel · object"},"name":{"type":"string","title":"Name","description":"Name for the draft","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"tags":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"tags.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Tags","description":"Tags to help classify and filter the agent","example":["Customer Support","Technical Help","Three"],"uniqueKey":"tags.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Tags","description":"Tags to help classify and filter the agent","example":["Customer Support","Technical Help","Three"],"uniqueKey":"tags.oneOf.1","typeLabel":"null"}],"uniqueKey":"tags","typeLabel":"string[] | null"}},"type":"object","required":["conversation_config","platform_settings","workflow","name"],"title":"Body_Create_agent_draft_v1_convai_agents__agent_id__drafts_post","uniqueKey":"","typeLabel":"Body_Create_agent_draft_v1_convai_agents__agent_id__drafts_post · object"},"examples":{"Example":{"title":"Example","value":{"conversation_config":{"asr":{"model_id":"\u003cstring>","recognition":{"mode":"fixed","language":"\u003cstring>"},"task":"transcribe","keyterms":["\u003cstring>"],"options":{"schema_id":"cartesia_ink_2_asr_options_v1","turn_start_threshold":0.7,"turn_eager_end_threshold":0.44999999999999996,"turn_end_threshold":0.275,"turn_end_timeout_ms":5920}},"turn":{"interruption_ignore_term_languages":[],"interruption_ignore_terms":[],"merge_with_default_ignore_terms":false,"mode":"turn","retranscribe_on_turn_timeout":false,"silence_end_call_timeout":-1,"soft_timeout_config":{"message":"Hhmmmm...yeah.","timeout_seconds":-1},"speculative_turn":false,"spelling_patience":"auto","transcribe_on_disabled_interruptions":false,"turn_eagerness":"normal","turn_model":"turn_v3","turn_timeout":7},"tts":{"model_id":"\u003cstring>","voice_id":"\u003cstring>","pronunciation_dictionary_locators":[{"pronunciation_dictionary_id":"\u003cstring>","version_id":"\u003cstring>"}],"enable_phoneme_tags":false,"options":{"schema_id":"cartesia_sonic_tts_options_v1","volume":1.25,"duration_seconds":1,"max_buffer_delay_ms":1,"add_timestamps":true,"add_phoneme_timestamps":true,"use_normalized_timestamps":true}},"conversation":{"client_events":["audio","interruption"],"max_duration_seconds":600},"language_presets":{},"vad":{"background_voice_detection":false},"agent":{"disable_first_message_interruptions":false,"first_message":"Hello, how can I help you today?","language":"en"}},"platform_settings":{"evaluation":{"criteria":[{"conversation_goal_prompt":"Determine whether the agent fully resolved the user's issue.","id":"criterion_binary_001","max_score":100,"name":"Issue resolved","scope":"conversation","scoring_mode":"binary","use_knowledge_base":false}]},"widget":{"custom_avatar_path":"https://example.com/avatar.png","language_selector":false},"data_collection":{},"data_collection_scopes":{},"analysis_items":{"evaluation_criteria":[{"source":"user","analysis_item_id":"\u003cstring>","version_id":"\u003cstring>","additional_version_ids":["\u003cstring>"],"scope":"conversation","weight":123}],"data_collection":[{"source":"user","analysis_item_id":"\u003cstring>","version_id":"\u003cstring>","scope":"conversation"}]},"overrides":{"custom_llm_extra_body":true,"enable_conversation_initiation_client_data_from_webhook":true,"enable_procedure_ids_from_client":true,"enable_starting_workflow_node_id_from_client":true},"workspace_overrides":{"conversation_initiation_client_data_webhook":{"request_headers":{"Content-Type":"application/json"},"url":"https://example.com/webhook"},"webhooks":{"post_call_webhook_id":"\u003cstring>","events":[],"transcript_format":"json"}},"testing":{"attached_tests":[{"test_id":"test_123","workflow_node_id":"node_abc"},{"test_id":"test_456"}]},"archived":false,"guardrails":{"version":"1","focus":{"is_enabled":false},"prompt_injection":{"is_enabled":false},"content":{"execution_mode":"streaming","config":{"sexual":{"is_enabled":false,"threshold":0.3},"violence":{"is_enabled":false,"threshold":0.3},"harassment":{"is_enabled":false,"threshold":0.3},"self_harm":{"is_enabled":false,"threshold":0.3},"profanity":{"is_enabled":false,"threshold":0.3},"religion_or_politics":{"is_enabled":false,"threshold":0.3},"medical_and_legal_information":{"is_enabled":false,"threshold":0.3}},"trigger_action":{"type":"end_call"}},"moderation":{"execution_mode":"streaming","config":{"sexual":{"is_enabled":false,"threshold":0.3},"violence":{"is_enabled":false,"threshold":0.3},"violence_graphic":{"is_enabled":false,"threshold":0.3},"harassment":{"is_enabled":false,"threshold":0.3},"harassment_threatening":{"is_enabled":false,"threshold":0.3},"hate":{"is_enabled":false,"threshold":0.3},"hate_threatening":{"is_enabled":false,"threshold":0.3},"self_harm_instructions":{"is_enabled":false,"threshold":0.3},"self_harm":{"is_enabled":false,"threshold":0.3},"self_harm_intent":{"is_enabled":false,"threshold":0.3},"sexual_minors":{"is_enabled":false,"threshold":0.3}}},"custom":{"config":{"configs":[{"name":"\u003cstring>","prompt":"\u003cstring>","is_enabled":false,"execution_mode":"streaming","model":"google/gemini-3.1-flash-lite","history_message_count":0,"history_include_tool_calls":false,"trigger_action":{"type":"end_call"},"evaluate_full_response_only":false}]}}},"summary_language":"\u003cstring>","auto_translate_transcript_to_app_language":true,"auth":{"allowlist":[{"hostname":"https://example.com"}],"enable_auth":true,"require_origin_header":true,"shareable_token":"1234567890"},"call_limits":{"agent_concurrency_limit":-1,"bursting_enabled":true,"daily_limit":100000},"queueing_config":{"enabled":false,"wait_timeout_seconds":180},"privacy":{"apply_to_existing_conversations":false,"delete_audio":false,"delete_transcript_and_pii":false,"record_voice":true,"retention_days":-1,"zero_retention_mode":false},"trust_context":"unknown","analysis_llm":"gpt-6-luna","topic_discovery":{},"sentiment_analysis":{},"alerting":{"monitor_configs":{},"auto_resolve_after_inactive_minutes":2,"notifiers":[{"webhook_id":"\u003cstring>","type":"webhook"}]}},"workflow":{"edges":{},"nodes":{},"prevent_subagent_loops":false},"name":"\u003cstring>","tags":["Customer Support","Technical Help","Three"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"98cdc206-5a3a-4ca0-bbfd-1d7cb10d91e3":{"description":"Successful Response","content":{"application/json":{"schema":{}}},"exampleType":"generated"},"491fb661-dc26-4fa0-85e7-af197eea1a38":{"description":"Validation Error","content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"HTTPValidationError","properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"oneOf.0.detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"oneOf.0.detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"oneOf.0.detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"oneOf.0.detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"oneOf.0.detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"oneOf.0.detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"oneOf.0.detail","typeLabel":"ValidationError · object[]"}},"uniqueKey":"oneOf.0","typeLabel":"HTTPValidationError · object"},{"type":"object","title":"APIErrorResponse","required":["detail"],"properties":{"detail":{"properties":{"status":{"type":"string","title":"Status","description":"Stable application error identifier, separate from the HTTP status code.","isRequired":true,"uniqueKey":"oneOf.1.detail.status","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Customer-facing explanation of the error.","isRequired":true,"uniqueKey":"oneOf.1.detail.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Request identifier for support and troubleshooting, when available.","uniqueKey":"oneOf.1.detail.request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Request identifier for support and troubleshooting, when available.","uniqueKey":"oneOf.1.detail.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.detail.request_id","typeLabel":"string | null"}},"additionalProperties":true,"type":"object","required":["status","message"],"title":"APIErrorDetail","description":"Public error fields; domains may supply additional customer-safe detail.","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"APIErrorDetail · object"}},"uniqueKey":"oneOf.1","typeLabel":"APIErrorResponse · object"}],"uniqueKey":"","typeLabel":"HTTPValidationError · object | APIErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"503b1649-6c97-4e55-9fe8-79b8a20ac6e9":{"description":"API error. Depending on the operation: 400 invalid request, 401 authentication required, 402 insufficient credits, 403 permission denied, 404 resource not found, 409 conflict, 429 rate limit, 500 internal failure, 502 upstream failure, 503 service unavailable, or 504 upstream timeout. A failed response does not establish whether a state-changing operation completed; do not retry such operations without checking their outcome.","headers":{"X-Request-Id":{"description":"Request identifier, when available.","schema":{"type":"string"}},"Retry-After":{"description":"When supplied, the delay in seconds or HTTP date before a subsequent request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"properties":{"detail":{"properties":{"status":{"type":"string","title":"Status","description":"Stable application error identifier, separate from the HTTP status code.","isRequired":true,"uniqueKey":"detail.status","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Customer-facing explanation of the error.","isRequired":true,"uniqueKey":"detail.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Request identifier for support and troubleshooting, when available.","uniqueKey":"detail.request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Request identifier for support and troubleshooting, when available.","uniqueKey":"detail.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"detail.request_id","typeLabel":"string | null"}},"additionalProperties":true,"type":"object","required":["status","message"],"title":"APIErrorDetail","description":"Public error fields; domains may supply additional customer-safe detail.","isRequired":true,"uniqueKey":"detail","typeLabel":"APIErrorDetail · object"}},"type":"object","required":["detail"],"title":"APIErrorResponse","uniqueKey":"","typeLabel":"APIErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"detail":{"status":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"30c89a6b-81c0-4977-9b6c-2100ac57ca8f":{"url":"https://api.threetone.in","description":"Production"}},"schemas":{"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55":{"oneOf":[{"type":"object","title":"ASTStringNode","description":"String literal.","required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Value of this literal.","isRequired":true},"type":{"type":"string","const":"string_literal","title":"Type","default":"string_literal"}}},{"type":"object","title":"ASTNumberNode","description":"Number literal.","required":["value"],"properties":{"value":{"oneOf":[{"type":"number","title":"Value","description":"Value of this literal.","isRequired":true},{"type":"integer","title":"Value","description":"Value of this literal.","isRequired":true}],"isRequired":true},"type":{"type":"string","const":"number_literal","title":"Type","default":"number_literal"}}},{"type":"object","title":"ASTBooleanNode","description":"Boolean literal.","required":["value"],"properties":{"value":{"type":"boolean","title":"Value","description":"Value of this literal.","isRequired":true},"type":{"type":"string","const":"boolean_literal","title":"Type","default":"boolean_literal"}}},{"type":"object","title":"ASTNullNode","description":"Null literal.","properties":{"type":{"type":"string","const":"null_literal","title":"Type","default":"null_literal"}}},{"type":"object","title":"ASTLLMNode","description":"Value extracted by an LLM according to the given schema.","required":["value_schema"],"properties":{"value_schema":{"properties":{"type":{"oneOf":[{"type":"string","title":"Type","enum":["boolean","string","integer","number"],"isRequired":true},{"type":"array","items":{"type":"string"},"title":"Type","maxItems":2,"minItems":2,"isRequired":true}],"isRequired":true},"description":{"type":"string","minLength":0,"title":"Description","isRequired":true},"enum":{"oneOf":[{"type":"array","items":{"type":"string"},"title":"Enum","description":"List of allowed string values for string type parameters"},{"type":"null","title":"Enum","description":"List of allowed string values for string type parameters"}]}},"type":"object","required":["type","description"],"title":"LLMLiteralJsonSchemaProperty","description":"JSON schema describing the value that the LLM should extract.","examples":[{"description":"User's last message contains a question about our pricing.","type":"boolean"},{"description":"User provided their email address.","type":"boolean"}],"isRequired":true},"type":{"type":"string","const":"llm","title":"Type","default":"llm"}}},{"type":"object","title":"ASTDynamicVariableNode","description":"Reference to a dynamic variable.","required":["name"],"properties":{"name":{"type":"string","title":"Name","description":"The name of the dynamic variable.","isRequired":true},"type":{"type":"string","const":"dynamic_variable","title":"Type","default":"dynamic_variable"}}},{"type":"object","title":"ASTOrOperatorNode","description":"Evaluates to true if any child is true.","required":["children"],"properties":{"children":{"items":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55"},"type":"array","minItems":2,"title":"Children","description":"Child nodes of the logical operator.","isRequired":true},"type":{"type":"string","const":"or_operator","title":"Type","default":"or_operator"}}},{"type":"object","title":"ASTAndOperatorNode","description":"Evaluates to true if all children are true.","required":["children"],"properties":{"children":{"items":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55"},"type":"array","minItems":2,"title":"Children","description":"Child nodes of the logical operator.","isRequired":true},"type":{"type":"string","const":"and_operator","title":"Type","default":"and_operator"}}},{"type":"object","title":"ASTEqualsOperatorNode","description":"Evaluates to true if the left value equals the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"eq_operator","title":"Type","default":"eq_operator"}}},{"type":"object","title":"ASTNotEqualsOperatorNode","description":"Evaluates to true if the left value does not equal the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"neq_operator","title":"Type","default":"neq_operator"}}},{"type":"object","title":"ASTGreaterThanOperatorNode","description":"Evaluates to true if the left value is greater than the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"gt_operator","title":"Type","default":"gt_operator"}}},{"type":"object","title":"ASTLessThanOperatorNode","description":"Evaluates to true if the left value is less than the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"lt_operator","title":"Type","default":"lt_operator"}}},{"type":"object","title":"ASTGreaterThanOrEqualsOperatorNode","description":"Evaluates to true if the left value is greater than or equal to the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"gte_operator","title":"Type","default":"gte_operator"}}},{"type":"object","title":"ASTLessThanOrEqualsOperatorNode","description":"Evaluates to true if the left value is less than or equal to the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"lte_operator","title":"Type","default":"lte_operator"}}},{"type":"object","title":"ASTAdditionOperatorNode","description":"Adds the left and right values.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"add_operator","title":"Type","default":"add_operator"}}},{"type":"object","title":"ASTSubtractionOperatorNode","description":"Subtracts the right value from the left.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"sub_operator","title":"Type","default":"sub_operator"}}},{"type":"object","title":"ASTMultiplicationOperatorNode","description":"Multiplies the left value times the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"mul_operator","title":"Type","default":"mul_operator"}}},{"type":"object","title":"ASTDivisionOperatorNode","description":"Divides the left value by the right.","required":["left","right"],"properties":{"left":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Left operand of the binary operator.","isRequired":true},"right":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Right operand of the binary operator.","isRequired":true},"type":{"type":"string","const":"div_operator","title":"Type","default":"div_operator"}}},{"type":"object","title":"ASTConditionalOperatorNode","description":"Selects one of two expressions based on whether the given condition evaluates to true.","required":["condition","trueExpression","falseExpression"],"properties":{"condition":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Condition deciding which expression should be selected.","isRequired":true},"trueExpression":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Expression selected if the condition is true.","isRequired":true},"falseExpression":{"$circularRef":"1ed45aa3-45ac-468b-8ebb-6f8d505b8b55","description":"Expression selected if the condition is false.","isRequired":true},"type":{"type":"string","const":"conditional_operator","title":"Type","default":"conditional_operator"}}}]}}},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"threetonelabs-c2efc9c8","siteName":"Threetone Documentation","title":"Create agent draft - Threetone Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-09T11:50:39.101Z","originalFileLocation":"api-reference/agents-platform/create-agent-draft.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a new draft for an agent\">\u003cmeta data-mint-head name=\"application-name\" content=\"Threetone Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create agent draft - Threetone Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new draft for an agent\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Threetone Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.threetone.in/images/social/3c7c092e50a3e20ae445f89c.jpg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create agent draft - Threetone Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new draft for an agent\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.threetone.in/images/social/3c7c092e50a3e20ae445f89c.jpg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/threetonelabs-c2efc9c8/oDwHL60jWhxp8LD3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Threetone Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1a1a1a\">\u003cmeta data-mint-head name=\"og:image:type\" content=\"image/jpeg\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Create agent draft - Threetone Documentation\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"Create agent draft - Threetone Documentation\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/agents-platform/create-agent-draft.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.threetone.in/#organization\",\"name\":\"Threetone Documentation\",\"url\":\"https://docs.threetone.in\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/threetonelabs-c2efc9c8/iVsG1p4ZwGEMCBdd/logo/light.svg?fit=max\u0026auto=format\u0026n=iVsG1p4ZwGEMCBdd\u0026q=85\u0026s=fa47dee0de897fb2d029e48e66fb4540\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.threetone.in#website\",\"name\":\"Threetone Documentation\",\"url\":\"https://docs.threetone.in\",\"publisher\":{\"@id\":\"https://docs.threetone.in/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft#webpage\",\"url\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft\",\"name\":\"Create agent draft\",\"description\":\"Create a new draft for an agent\",\"dateModified\":\"2026-10-09T11:50:39.101Z\",\"isPartOf\":{\"@id\":\"https://docs.threetone.in#website\"},\"breadcrumb\":{\"@id\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Agents Platform\",\"item\":\"https://docs.threetone.in/api-reference/agents-platform/list-agent-branches\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agents\",\"item\":\"https://docs.threetone.in/api-reference/agents-platform/list-agent-branches\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Publishing\",\"item\":\"https://docs.threetone.in/api-reference/agents-platform/create-or-update-agent-deployments\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create agent draft\",\"item\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft#apireference\",\"headline\":\"Create agent draft\",\"name\":\"Create agent draft\",\"description\":\"Create a new draft for an agent\",\"url\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft\",\"mainEntityOfPage\":{\"@id\":\"https://docs.threetone.in/api-reference/agents-platform/create-agent-draft#webpage\"},\"image\":\"https://docs.threetone.in/images/social/3c7c092e50a3e20ae445f89c.jpg\",\"dateModified\":\"2026-10-09T11:50:39.101Z\",\"publisher\":{\"@id\":\"https://docs.threetone.in/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.threetone.in#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Threetone Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Threetone Documentation","nav":{"global":null,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/overview/intro"}]},{"tab":"Agents Platform","pages":[{"title":"Agents Platform","href":"/agents-platform/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Errors and retries","href":"/api-reference/errors"}]},{"group":"Agents Platform","pages":[{"group":"Agents","pages":[{"group":"Branches","pages":[{"title":"List agent branches","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches","href":"/api-reference/agents-platform/list-agent-branches"},{"title":"Create agent branch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/branches","href":"/api-reference/agents-platform/create-agent-branch"},{"title":"Get agent branch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches/{branch_id}","href":"/api-reference/agents-platform/get-agent-branch"},{"title":"Update agent branch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/agents/{agent_id}/branches/{branch_id}","href":"/api-reference/agents-platform/update-agent-branch"},{"title":"Merge agent branch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge","href":"/api-reference/agents-platform/merge-agent-branch"},{"title":"Preview merged configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge-preview","href":"/api-reference/agents-platform/preview-merged-configuration"},{"title":"Preview rebased configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches/{branch_id}/rebase-preview","href":"/api-reference/agents-platform/preview-rebased-configuration"},{"title":"Rebase agent branch onto main","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/branches/{branch_id}/rebase","href":"/api-reference/agents-platform/rebase-agent-branch-onto-main"}]},{"group":"Procedures","pages":[{"title":"List procedures","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures","href":"/api-reference/agents-platform/list-procedures"},{"title":"Create procedure","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures","href":"/api-reference/agents-platform/create-procedure"},{"title":"Compile procedures","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/compile","href":"/api-reference/agents-platform/compile-procedures"},{"title":"Get procedure","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}","href":"/api-reference/agents-platform/get-procedure"},{"title":"Delete procedure","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}","href":"/api-reference/agents-platform/delete-procedure"},{"title":"Get procedure draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft","href":"/api-reference/agents-platform/get-procedure-draft"},{"title":"Update procedure draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft","href":"/api-reference/agents-platform/update-procedure-draft"},{"title":"Delete procedure draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft","href":"/api-reference/agents-platform/delete-procedure-draft"}]},{"group":"Publishing","pages":[{"title":"Create or update agent deployments","description":"Create a new deployment for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/deployments","href":"/api-reference/agents-platform/create-or-update-agent-deployments"},{"title":"Create agent draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/drafts","href":"/api-reference/agents-platform/create-agent-draft"},{"title":"Delete agent draft","description":"Delete a draft for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agents/{agent_id}/drafts","href":"/api-reference/agents-platform/delete-agent-draft"},{"title":"Get agent version metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/versions/{version_id}","href":"/api-reference/agents-platform/get-agent-version-metadata"}]},{"group":"Widget","pages":[{"title":"Get agent widget configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/widget","href":"/api-reference/agents-platform/get-agent-widget-configuration"},{"title":"Upload agent avatar","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/avatar","href":"/api-reference/agents-platform/upload-agent-avatar"}]},{"group":"Hold audio","pages":[{"title":"Post Agent Hold Audio","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/hold-audio","href":"/api-reference/agents-platform/post-agent-hold-audio"},{"title":"Delete Agent Hold Audio","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agents/{agent_id}/hold-audio","href":"/api-reference/agents-platform/delete-agent-hold-audio"}]},{"title":"Create agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/create","href":"/api-reference/agents-platform/create-agent"},{"title":"Duplicate agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/duplicate","href":"/api-reference/agents-platform/duplicate-agent"},{"title":"Get shareable agent link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/link","href":"/api-reference/agents-platform/get-shareable-agent-link"},{"title":"List agent summaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/summaries","href":"/api-reference/agents-platform/list-agent-summaries"},{"title":"List agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents","href":"/api-reference/agents-platform/list-agents"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}","href":"/api-reference/agents-platform/get-agent"},{"title":"Update agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/agents/{agent_id}","href":"/api-reference/agents-platform/update-agent"},{"title":"Delete agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agents/{agent_id}","href":"/api-reference/agents-platform/delete-agent"}]},{"group":"Conversations","pages":[{"group":"Analysis","pages":[{"title":"Run conversation analysis","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/conversations/{conversation_id}/analysis/run","href":"/api-reference/agents-workspace-analytics/run-conversation-analysis"},{"title":"Run conversation evaluation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/conversations/{conversation_id}/analysis/evaluations/run","href":"/api-reference/agents-workspace-analytics/run-conversation-evaluation"}]},{"group":"Messages","pages":[{"title":"Text search","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/messages/text-search","href":"/api-reference/agents-platform/text-search"},{"title":"Smart search","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/messages/smart-search","href":"/api-reference/agents-platform/smart-search"}]},{"group":"Topics","pages":[{"title":"Get agent conversation topics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/topics","href":"/api-reference/agents-insights/get-agent-conversation-topics"}]},{"group":"Tags","pages":[{"title":"List tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/tags","href":"/api-reference/agents-platform/list-tags"},{"title":"Create tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/tags","href":"/api-reference/agents-platform/create-tag"},{"title":"Get tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/tags/{tag_id}","href":"/api-reference/agents-platform/get-tag"},{"title":"Update tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/tags/{tag_id}","href":"/api-reference/agents-platform/update-tag"},{"title":"Delete tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/tags/{tag_id}","href":"/api-reference/agents-platform/delete-tag"},{"title":"Add tag to conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/conversations/{conversation_id}/tags","href":"/api-reference/agents-platform/add-tag-to-conversation"},{"title":"Remove tag from conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/conversations/{conversation_id}/tags/{tag_id}","href":"/api-reference/agents-platform/remove-tag-from-conversation"}]},{"title":"List conversations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations","href":"/api-reference/agents-platform/list-conversations"},{"title":"Get conversation details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/{conversation_id}","href":"/api-reference/agents-platform/get-conversation-details"},{"title":"Get conversation summary","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/{conversation_id}/summary","href":"/api-reference/agents-platform/get-conversation-summary"},{"title":"Delete conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/conversations/{conversation_id}","href":"/api-reference/agents-platform/delete-conversation"},{"title":"Get conversation audio","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/{conversation_id}/audio","href":"/api-reference/agents-platform/get-conversation-audio"},{"title":"Get signed URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversation/get-signed-url","href":"/api-reference/agents-platform/get-signed-url"},{"title":"Get conversation token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversation/token","href":"/api-reference/agents-platform/get-conversation-token"},{"title":"Send conversation feedback","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/conversations/{conversation_id}/feedback","href":"/api-reference/agents-platform/send-conversation-feedback"},{"title":"Upload conversation file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/conversations/{conversation_id}/files","href":"/api-reference/agents-platform/upload-conversation-file"},{"title":"Delete conversation file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/conversations/{conversation_id}/files/{file_id}","href":"/api-reference/agents-platform/delete-conversation-file"},{"title":"Get SIP messages for a conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/{conversation_id}/sip-messages","href":"/api-reference/agents-platform/get-sip-messages-for-a-conversation"},{"title":"Resolve conversation reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/conversations/resolve","href":"/api-reference/agents-platform/resolve-conversation-reference"}]},{"group":"Tests","pages":[{"title":"List tests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agent-testing","href":"/api-reference/tests/list-tests"},{"title":"Get test","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agent-testing/{test_id}","href":"/api-reference/tests/get-test"},{"title":"Create test","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agent-testing/create","href":"/api-reference/tests/create-test"},{"title":"Update test","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/convai/agent-testing/{test_id}","href":"/api-reference/tests/update-test"},{"title":"Delete test","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agent-testing/{test_id}","href":"/api-reference/tests/delete-test"},{"title":"Get test summaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agent-testing/summaries","href":"/api-reference/tests/get-test-summaries"},{"title":"Run tests on agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/run-tests","href":"/api-reference/tests/run-tests-on-agent"},{"group":"Test Folders","pages":[{"title":"Create folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agent-testing/folders","href":"/api-reference/test-folders/create-folder"},{"title":"Get folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agent-testing/folders/{folder_id}","href":"/api-reference/test-folders/get-folder"},{"title":"Update folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/agent-testing/folders/{folder_id}","href":"/api-reference/test-folders/update-folder"},{"title":"Delete folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/agent-testing/folders/{folder_id}","href":"/api-reference/test-folders/delete-folder"},{"title":"Bulk move tests to folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agent-testing/bulk-move","href":"/api-reference/test-folders/bulk-move-tests-to-folder"}]},{"group":"Test Invocations","pages":[{"title":"Get test invocation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/test-invocations/{test_invocation_id}","href":"/api-reference/test-invocations/get-test-invocation"},{"title":"Resubmit test invocation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/test-invocations/{test_invocation_id}/resubmit","href":"/api-reference/test-invocations/resubmit-test-invocation"},{"title":"List test invocations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/test-invocations","href":"/api-reference/test-invocations/list-test-invocations"}]}]},{"group":"Triage tickets","pages":[{"title":"List Workspace Conversation Tickets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/triage-tickets","href":"/api-reference/list-workspace-conversation-tickets"},{"title":"Create Agent Conversation Ticket","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/triage-tickets","href":"/api-reference/create-agent-conversation-ticket"},{"title":"List tickets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/triage-tickets","href":"/api-reference/list-tickets"},{"title":"Create manual ticket","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/triage-tickets","href":"/api-reference/create-manual-ticket"},{"title":"List assignable users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agents/{agent_id}/triage-tickets/assignable-users","href":"/api-reference/list-assignable-users"},{"title":"Get ticket","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/triage-tickets/{agentqa_ticket_id}","href":"/api-reference/get-ticket"},{"title":"Update ticket","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/triage-tickets/{agentqa_ticket_id}","href":"/api-reference/update-ticket"},{"title":"Delete ticket","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/triage-tickets/{agentqa_ticket_id}","href":"/api-reference/delete-ticket"},{"title":"Add comment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/triage-tickets/{agentqa_ticket_id}/comments","href":"/api-reference/add-comment"},{"title":"Add turn comment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/triage-tickets/{agentqa_ticket_id}/turn-comments","href":"/api-reference/add-turn-comment"}]},{"group":"Users","pages":[{"title":"List conversation users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/users","href":"/api-reference/agents-platform/list-conversation-users"}]},{"group":"Tools","pages":[{"title":"List tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/tools","href":"/api-reference/agents-platform/list-tools"},{"title":"Create tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/tools","href":"/api-reference/agents-platform/create-tool"},{"title":"Get tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/tools/{tool_id}","href":"/api-reference/agents-platform/get-tool"},{"title":"Update tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/tools/{tool_id}","href":"/api-reference/agents-platform/update-tool"},{"title":"Delete tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/tools/{tool_id}","href":"/api-reference/agents-platform/delete-tool"},{"title":"List tool executions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/tools/{tool_id}/executions","href":"/api-reference/agents-platform/list-tool-executions"},{"title":"List agents using tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/tools/{tool_id}/dependent-agents","href":"/api-reference/agents-platform/list-agents-using-tool"}]},{"group":"Knowledge base","pages":[{"group":"Documents","pages":[{"title":"List knowledge base documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base","href":"/api-reference/agents-platform/list-knowledge-base-documents"},{"title":"Create knowledge base document from URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/url","href":"/api-reference/agents-platform/create-knowledge-base-document-from-url"},{"title":"Create knowledge base document from file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/file","href":"/api-reference/agents-platform/create-knowledge-base-document-from-file"},{"title":"Create knowledge base document from text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/text","href":"/api-reference/agents-platform/create-knowledge-base-document-from-text"},{"title":"Delete knowledge base documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/bulk-delete","href":"/api-reference/agents-platform/delete-knowledge-base-documents"},{"title":"Get knowledge base document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}","href":"/api-reference/agents-platform/get-knowledge-base-document"},{"title":"Update document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/knowledge-base/{documentation_id}","href":"/api-reference/agents-platform/update-document"},{"title":"Delete knowledge base document or folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/knowledge-base/{documentation_id}","href":"/api-reference/agents-platform/delete-knowledge-base-document-or-folder"},{"title":"Replace knowledge base file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/knowledge-base/{documentation_id}/update-file","href":"/api-reference/agents-platform/replace-knowledge-base-file"},{"title":"Refresh knowledge base URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/{documentation_id}/refresh","href":"/api-reference/agents-platform/refresh-knowledge-base-url"},{"title":"Get knowledge base document content","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}/content","href":"/api-reference/agents-platform/get-knowledge-base-document-content"},{"title":"Get knowledge base source file URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}/source-file-url","href":"/api-reference/agents-platform/get-knowledge-base-source-file-url"},{"title":"Get knowledge base document chunk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}/chunk/{chunk_id}","href":"/api-reference/agents-platform/get-knowledge-base-document-chunk"},{"title":"List RAG chunks for document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}/chunks","href":"/api-reference/agents-platform/list-rag-chunks-for-document"}]},{"group":"Folders","pages":[{"title":"Create knowledge base folder","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/folder","href":"/api-reference/conversational-ai/create-knowledge-base-folder"},{"title":"Move knowledge base item","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/{document_id}/move","href":"/api-reference/conversational-ai/move-knowledge-base-item"},{"title":"Move knowledge base items","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/bulk-move","href":"/api-reference/conversational-ai/move-knowledge-base-items"}]},{"group":"Search","pages":[{"title":"Search knowledge base content","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/search","href":"/api-reference/agents-platform/search-knowledge-base-content"},{"title":"List knowledge base summaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/summaries","href":"/api-reference/agents-platform/list-knowledge-base-summaries"},{"title":"List agents using knowledge base document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}/dependent-agents","href":"/api-reference/agents-platform/list-agents-using-knowledge-base-document"},{"title":"List agents using knowledge base documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/dependent-agents","href":"/api-reference/agents-platform/list-agents-using-knowledge-base-documents"},{"title":"Get agent knowledge base size","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/agent/{agent_id}/knowledge-base/size","href":"/api-reference/agents-platform/get-agent-knowledge-base-size"}]},{"group":"RAG","pages":[{"title":"Get RAG index overview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/rag-index","href":"/api-reference/agents-platform/get-rag-index-overview"},{"title":"Create RAG indexes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/rag-index","href":"/api-reference/agents-platform/create-rag-indexes"},{"title":"Get document RAG indexes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/{documentation_id}/rag-index","href":"/api-reference/agents-platform/get-document-rag-indexes"},{"title":"Create document RAG index","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/{documentation_id}/rag-index","href":"/api-reference/agents-platform/create-document-rag-index"},{"title":"Delete RAG index","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/knowledge-base/{documentation_id}/rag-index/{rag_index_id}","href":"/api-reference/agents-platform/delete-rag-index"},{"title":"Query agent knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/agents/{agent_id}/knowledge-base/rag-query","href":"/api-reference/agents-platform/query-agent-knowledge-base"}]},{"group":"Crawl jobs","pages":[{"title":"List crawl jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/crawl","href":"/api-reference/conversational-ai/list-crawl-jobs"},{"title":"Create crawl job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/crawl","href":"/api-reference/conversational-ai/create-crawl-job"},{"title":"Get crawl job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/knowledge-base/crawl/{crawl_job_id}","href":"/api-reference/conversational-ai/get-crawl-job"},{"title":"Cancel crawl job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/knowledge-base/crawl/{crawl_job_id}/cancel","href":"/api-reference/conversational-ai/cancel-crawl-job"}]}]},{"group":"Phone numbers","pages":[{"title":"List phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/phone-numbers","href":"/api-reference/agents-platform/list-phone-numbers"},{"title":"List Phone Numbers Page","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/v2/phone-numbers","href":"/api-reference/agents-platform/list-phone-numbers-page"},{"title":"Import phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/phone-numbers","href":"/api-reference/agents-platform/import-phone-number"},{"title":"Get phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/phone-numbers/{phone_number_id}","href":"/api-reference/agents-platform/get-phone-number"},{"title":"Update phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/phone-numbers/{phone_number_id}","href":"/api-reference/agents-platform/update-phone-number"},{"title":"Delete phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/phone-numbers/{phone_number_id}","href":"/api-reference/agents-platform/delete-phone-number"},{"title":"Get SIP messages for a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/phone-numbers/{phone_number_id}/sip-messages","href":"/api-reference/agents-platform/get-sip-messages-for-a-phone-number"},{"title":"List phone number inventory","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/phone-numbers/inventory","href":"/api-reference/phone-numbers/list-phone-number-inventory"}]},{"group":"Workspace","pages":[{"group":"Settings","pages":[{"title":"Get Agents Platform settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/settings","href":"/api-reference/agents-platform/get-agents-platform-settings"},{"title":"Update Agents Platform settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/settings","href":"/api-reference/agents-platform/update-agents-platform-settings"}]},{"group":"Secrets","pages":[{"title":"List workspace secrets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/secrets","href":"/api-reference/agents-platform/list-workspace-secrets"},{"title":"Create workspace secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/secrets","href":"/api-reference/agents-platform/create-workspace-secret"},{"title":"Get workspace secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/secrets/{secret_id}","href":"/api-reference/agents-platform/get-workspace-secret"},{"title":"Update workspace secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/secrets/{secret_id}","href":"/api-reference/agents-platform/update-workspace-secret"},{"title":"Delete workspace secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/secrets/{secret_id}","href":"/api-reference/agents-platform/delete-workspace-secret"},{"title":"List secret dependencies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/secrets/{secret_id}/dependencies/{resource_type}","href":"/api-reference/agents-platform/list-secret-dependencies"}]},{"group":"Dashboard","pages":[{"title":"Get Agents Platform dashboard settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/settings/dashboard","href":"/api-reference/agents-platform/get-agents-platform-dashboard-settings"},{"title":"Update Agents Platform dashboard settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/settings/dashboard","href":"/api-reference/agents-platform/update-agents-platform-dashboard-settings"}]}]},{"group":"Integrations","pages":[{"group":"SIP trunk","pages":[{"title":"Start outbound call via SIP trunk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/sip-trunk/outbound-call","href":"/api-reference/agents-platform/start-outbound-call-via-sip-trunk"}]},{"group":"Twilio","pages":[{"title":"Start outbound call via Twilio","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/twilio/outbound-call","href":"/api-reference/agents-platform/start-outbound-call-via-twilio"},{"title":"Register Twilio call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/twilio/register-call","href":"/api-reference/agents-platform/register-twilio-call"}]},{"group":"Exotel","pages":[{"title":"Start outbound call via Exotel","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/exotel/outbound-call","href":"/api-reference/agents-platform/start-outbound-call-via-exotel"}]},{"group":"WhatsApp","pages":[{"title":"Start outbound call via WhatsApp","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/whatsapp/outbound-call","href":"/api-reference/agents-platform/start-outbound-call-via-whatsapp"},{"title":"Send outbound message via WhatsApp","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/whatsapp/outbound-message","href":"/api-reference/agents-platform/send-outbound-message-via-whatsapp"},{"title":"List WhatsApp accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/whatsapp-accounts","href":"/api-reference/agents-platform/list-whatsapp-accounts"},{"title":"Get WhatsApp account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/whatsapp-accounts/{phone_number_id}","href":"/api-reference/agents-platform/get-whatsapp-account"},{"title":"Update WhatsApp account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/whatsapp-accounts/{phone_number_id}","href":"/api-reference/agents-platform/update-whatsapp-account"},{"title":"Delete WhatsApp account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/whatsapp-accounts/{phone_number_id}","href":"/api-reference/agents-platform/delete-whatsapp-account"}]}]},{"group":"Batch calling","pages":[{"title":"List workspace batch calls","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/batch-calling/workspace","href":"/api-reference/agents-platform/list-workspace-batch-calls"},{"title":"Get batch call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/batch-calling/{batch_id}","href":"/api-reference/agents-platform/get-batch-call"},{"title":"Delete batch call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/batch-calling/{batch_id}","href":"/api-reference/agents-platform/delete-batch-call"},{"title":"Export batch call results","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/batch-calling/{batch_id}/export","href":"/api-reference/agents-platform/export-batch-call-results"},{"title":"Create batch call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/batch-calling/submit","href":"/api-reference/agents-platform/create-batch-call"},{"title":"Cancel batch call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/batch-calling/{batch_id}/cancel","href":"/api-reference/agents-platform/cancel-batch-call"},{"title":"Retry batch call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/batch-calling/{batch_id}/retry","href":"/api-reference/agents-platform/retry-batch-call"}]},{"group":"Models","pages":[{"title":"List available AI models","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/models","href":"/api-reference/agents-platform/list-available-ai-models"},{"title":"Get available AI model","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/models/lookup","href":"/api-reference/agents-platform/get-available-ai-model"},{"title":"List available LLMs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/llm/list","href":"/api-reference/agents-platform/list-available-llms"},{"title":"Get the platform-managed LLM backup order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/llm/cascade-config","href":"/api-reference/agents-platform/get-the-platform-managed-llm-backup-order"},{"title":"Calculate expected LLM usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/llm-usage/calculate","href":"/api-reference/agents-platform/calculate-expected-llm-usage"},{"title":"Calculate expected LLM usage for an agent","openapi":"api-reference/openapi.json POST /v1/convai/agent/{agent_id}/llm-usage/calculate","href":"/api-reference/agents-platform/calculate-expected-llm-usage-for-an-agent"}]},{"group":"MCP","pages":[{"title":"Create MCP server","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/mcp-servers","href":"/api-reference/agents-platform/create-mcp-server"},{"title":"Delete MCP server","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/mcp-servers/{mcp_server_id}","href":"/api-reference/agents-platform/delete-mcp-server"},{"title":"List MCP servers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/mcp-servers","href":"/api-reference/agents-platform/list-mcp-servers"},{"title":"Get MCP server","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/mcp-servers/{mcp_server_id}","href":"/api-reference/agents-platform/get-mcp-server"},{"title":"List MCP server tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/mcp-servers/{mcp_server_id}/tools","href":"/api-reference/agents-platform/list-mcp-server-tools"},{"title":"Update MCP server configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/mcp-servers/{mcp_server_id}","href":"/api-reference/agents-platform/update-mcp-server-configuration"},{"group":"Tool approvals","pages":[{"title":"Create MCP server tool approval","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/mcp-servers/{mcp_server_id}/tool-approvals","href":"/api-reference/agents-platform/create-mcp-server-tool-approval"},{"title":"Delete MCP server tool approval","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/mcp-servers/{mcp_server_id}/tool-approvals/{tool_name}","href":"/api-reference/agents-platform/delete-mcp-server-tool-approval"}]},{"group":"Tool configuration","pages":[{"title":"Create MCP tool configuration override","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/mcp-servers/{mcp_server_id}/tool-configs","href":"/api-reference/agents-platform/create-mcp-tool-configuration-override"},{"title":"Get MCP tool configuration override","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}","href":"/api-reference/agents-platform/get-mcp-tool-configuration-override"},{"title":"Update MCP tool configuration override","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}","href":"/api-reference/agents-platform/update-mcp-tool-configuration-override"},{"title":"Delete MCP tool configuration override","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}","href":"/api-reference/agents-platform/delete-mcp-tool-configuration-override"}]}]},{"group":"Analytics","pages":[{"title":"Get live conversation count","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/analytics/live-count","href":"/api-reference/agents-platform/get-live-conversation-count"}]},{"group":"Environment variables","pages":[{"title":"List environment variables","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/environment-variables","href":"/api-reference/agents-platform/list-environment-variables"},{"title":"Create environment variable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/environment-variables","href":"/api-reference/agents-platform/create-environment-variable"},{"title":"Get environment variable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/convai/environment-variables/{env_var_id}","href":"/api-reference/agents-platform/get-environment-variable"},{"title":"Update environment variable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/convai/environment-variables/{env_var_id}","href":"/api-reference/agents-platform/update-environment-variable"}]},{"group":"Outbound calls","pages":[{"title":"Start outbound call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/convai/outbound-call","href":"/api-reference/outbound-calls/start-outbound-call"}]}]},{"group":"Workspace","pages":[{"group":"Analytics","pages":[{"title":"Get workspace usage","deprecated":null,"version":null,"sidebarTitle":"Get workspace usage","openapi":"/api-reference/openapi.json post /v1/workspace/analytics/query/usage-by-product-over-time","href":"/api-reference/workspace/get-workspace-usage"},{"title":"List API requests","deprecated":null,"version":null,"sidebarTitle":"List api requests","openapi":"/api-reference/openapi.json post /v1/workspace/analytics/requests","href":"/api-reference/workspace/list-api-requests"}]},{"group":"User","pages":[{"title":"Get user info","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/user","href":"/api-reference/get-user-info"},{"title":"Get user subscription info","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/user/subscription","href":"/api-reference/get-user-subscription-info"}]},{"group":"Service accounts","pages":[{"title":"List workspace service accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/service-accounts","href":"/api-reference/workspace/list-workspace-service-accounts"},{"title":"Create workspace service account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/service-accounts","href":"/api-reference/workspace/create-workspace-service-account"},{"title":"List service account API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/service-accounts/{service_account_user_id}/api-keys","href":"/api-reference/workspace/list-service-account-api-keys"},{"title":"Create service account API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/service-accounts/{service_account_user_id}/api-keys","href":"/api-reference/workspace/create-service-account-api-key"},{"title":"Update service account API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}","href":"/api-reference/workspace/update-service-account-api-key"},{"title":"Delete service account API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/service-accounts/{service_account_user_id}/api-keys/{api_key_id}","href":"/api-reference/workspace/delete-service-account-api-key"}]},{"group":"API keys","pages":[{"title":"Set workspace third-party disabling policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspaces/api-keys/third-party-disabling","href":"/api-reference/workspace/set-workspace-third-party-disabling-policy"},{"title":"Disable API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/user/api-keys/disable","href":"/api-reference/disable-api-key"}]},{"group":"Workspace","pages":[{"group":"Audit logs","pages":[{"title":"Get workspace audit logs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspace/audit-logs","href":"/api-reference/workspace/get-workspace-audit-logs"}]},{"group":"Auth connections","pages":[{"title":"List workspace auth connections","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspace/auth-connections","href":"/api-reference/workspace/list-workspace-auth-connections"},{"title":"Create workspace auth connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/auth-connections","href":"/api-reference/workspace/create-workspace-auth-connection"},{"title":"Update workspace auth connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/workspace/auth-connections/{auth_connection_id}","href":"/api-reference/workspace/update-workspace-auth-connection"},{"title":"Delete workspace auth connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workspace/auth-connections/{auth_connection_id}","href":"/api-reference/workspace/delete-workspace-auth-connection"}]},{"group":"Groups","pages":[{"title":"List workspace groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspace/groups","href":"/api-reference/workspace/list-workspace-groups"},{"title":"Create workspace group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/groups","href":"/api-reference/workspace/create-workspace-group"},{"title":"Update workspace group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/workspace/groups/{group_id}","href":"/api-reference/workspace/update-workspace-group"},{"title":"Delete workspace group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workspace/groups/{group_id}","href":"/api-reference/workspace/delete-workspace-group"},{"title":"Search user groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspace/groups/search","href":"/api-reference/workspace/search-user-groups"},{"title":"Add member to user group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/groups/{group_id}/members","href":"/api-reference/workspace/add-member-to-user-group"},{"title":"Remove member from workspace group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/groups/{group_id}/members/remove","href":"/api-reference/workspace/remove-member-from-workspace-group"}]},{"group":"Invitations","pages":[{"title":"Delete workspace invitation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workspace/invites","href":"/api-reference/workspace/delete-workspace-invitation"},{"title":"Invite user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/invites/add","href":"/api-reference/workspace/invite-user"},{"title":"Invite multiple users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/invites/add-bulk","href":"/api-reference/workspace/invite-multiple-users"},{"title":"Resend workspace invitation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/invites/resend","href":"/api-reference/workspace/resend-workspace-invitation"}]},{"group":"Members","pages":[{"title":"Update member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/members","href":"/api-reference/workspace/update-member"}]},{"group":"Resources","pages":[{"title":"Get resource","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspace/resources/{resource_id}","href":"/api-reference/workspace/get-resource"},{"title":"Share workspace resource","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/resources/{resource_id}/share","href":"/api-reference/workspace/share-workspace-resource"},{"title":"Unshare workspace resource","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/resources/{resource_id}/unshare","href":"/api-reference/workspace/unshare-workspace-resource"}]}]},{"group":"Webhooks","pages":[{"title":"List workspace webhooks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspace/webhooks","href":"/api-reference/workspace/list-workspace-webhooks"},{"title":"Create workspace webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workspace/webhooks","href":"/api-reference/workspace/create-workspace-webhook"},{"title":"Update workspace webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/workspace/webhooks/{webhook_id}","href":"/api-reference/workspace/update-workspace-webhook"},{"title":"Delete workspace webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workspace/webhooks/{webhook_id}","href":"/api-reference/workspace/delete-workspace-webhook"}]}]},{"group":"Shared resources","pages":[{"group":"Voices","pages":[{"title":"List my voices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voices","href":"/api-reference/voices/list-my-voices"},{"title":"Get a saved voice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/voices/{voice_id}","href":"/api-reference/voices/get-a-saved-voice"}]}]},{"group":"Utilities","pages":[{"group":"Time zones","pages":[{"title":"Resolve a local wall time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/time-zones/resolve-local","href":"/api-reference/time-zones/resolve-a-local-wall-time"}]}]}]}]},"basePath":"","title":"Create agent draft - Threetone Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}