Routes data down one of two paths based on a condition. The If node takes an input value, a comparand, and an operator. If the condition is true, data flows through the true output. Otherwise, the false output.Available operators: Eq, Gt, Gte, IsEmpty, IsNumeric, Lt, Lte, Neq, Regex.Wire the data you want to gate into the target handle. Wire the value you want to test into the input handle. The comparand can come from another node or a Value node.
Routes data down one of several named paths based on matching. The Switch node has two inputs: the value to match against and the data to forward. Define a list of possible match values – when the match input hits one, the data flows through that output. Unmatched inputs flow through the default output.Useful for routing different intents, categories, or statuses to specialised processing paths.
When a control flow node doesn’t activate an output (the If condition is false, or a Switch case doesn’t match), the entire downstream branch is marked as skipped. Skipped nodes don’t execute and produce no output.This plays nicely with multi-input wiring. When several edges feed into the same input handle, skipped sources are simply ignored. Say you have a Switch that routes a support ticket to either a “billing” branch or a “technical” branch, and both branches eventually wire into the same summary prompt – only the active branch’s output arrives. No nulls, no empty values, no special handling needed.
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"PromptJuggler","description":"PromptJuggler – AI Prompt, Workflow \u0026 Agent Platform","colors":{"primary":"#ff5500","light":"#ff5500","dark":"#8033cc"},"logo":{"light":"https://mintcdn.com/promptjuggler/4dRIri76Lp5nCQVC/logo/promptjuggler_light.svg?fit=max\u0026auto=format\u0026n=4dRIri76Lp5nCQVC\u0026q=85\u0026s=d5d02983378ce48bde8601f4f8cd65a2","dark":"https://mintcdn.com/promptjuggler/4dRIri76Lp5nCQVC/logo/promptjuggler_dark.svg?fit=max\u0026auto=format\u0026n=4dRIri76Lp5nCQVC\u0026q=85\u0026s=3cf6384bd4f9988e3592e2efb58a94d0","href":"https://promptjuggler.com"},"favicon":"https://mintcdn.com/promptjuggler/P5HZRwsUrSR6Wrzv/favicon.svg?fit=max\u0026auto=format\u0026n=P5HZRwsUrSR6Wrzv\u0026q=85\u0026s=56df151d100385b4478595880c38e181","api":{"openapi":"openapi.json","params":{"expanded":"closed"},"playground":{"display":"interactive","proxy":true}},"appearance":{"default":"system"},"navbar":{"primary":{"type":"button","label":"Go to App","href":"https://promptjuggler.com"}},"search":{"prompt":"Search docs…"},"icons":{"library":"lucide"},"contextual":{"options":["copy","claude","chatgpt","perplexity","cursor","vscode","aistudio"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"promptjuggler","hasAudioNarration":false,"actualSubdomain":"promptjuggler","customDomains":["docs.promptjuggler.com"],"gitSource":{"type":"github","owner":"motleyhand","repo":"promptjuggler","deployBranch":"master","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af45a036161ed6d32072e95","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API Reference","count":15},{"language":"default","tag":"Core Concepts","count":10},{"language":"default","tag":"Workflow Nodes","count":10},{"language":"default","tag":"Tools","count":8},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Knowledge Bases","count":6},{"language":"default","tag":"Backend SDKs","count":5},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"Prompt Runs","count":3},{"language":"default","tag":"Workflow Runs","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"hello@promptjuggler.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"workflow-nodes/control-flow","slug":"/workflow-nodes/control-flow","pageMetadata":{"title":"Control Flow Nodes","description":"If and Switch – conditional branching.","icon":"git-branch","href":"/workflow-nodes/control-flow"},"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: \"If and Switch – conditional branching.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`if`,children:`If`}),`\n`,_jsxs(_components.p,{children:[`Routes data down one of two paths based on a condition. The If node takes an input value, a comparand, and an operator. If the condition is true, data flows through the `,_jsx(_components.strong,{children:`true`}),` output. Otherwise, the `,_jsx(_components.strong,{children:`false`}),` output.`]}),`\n`,_jsx(_components.p,{children:`Available operators: Eq, Gt, Gte, IsEmpty, IsNumeric, Lt, Lte, Neq, Regex.`}),`\n`,_jsx(_components.p,{children:`Wire the data you want to gate into the target handle. Wire the value you want to test into the input handle. The comparand can come from another node or a Value node.`}),`\n`,_jsx(Heading,{level:`2`,id:`switch`,children:`Switch`}),`\n`,_jsxs(_components.p,{children:[`Routes data down one of several named paths based on matching. The Switch node has two inputs: the `,_jsx(_components.strong,{children:`value to match`}),` against and the `,_jsx(_components.strong,{children:`data to forward`}),`. Define a list of possible match values – when the match input hits one, the data flows through that output. Unmatched inputs flow through the default output.`]}),`\n`,_jsx(_components.p,{children:`Useful for routing different intents, categories, or statuses to specialised processing paths.`}),`\n`,_jsx(Heading,{level:`2`,id:`skipped-branches`,children:`Skipped branches`}),`\n`,_jsxs(_components.p,{children:[`When a control flow node doesn’t activate an output (the If condition is false, or a Switch case doesn’t match), the entire downstream branch is marked as `,_jsx(_components.strong,{children:`skipped`}),`. Skipped nodes don’t execute and produce no output.`]}),`\n`,_jsx(_components.p,{children:`This plays nicely with multi-input wiring. When several edges feed into the same input handle, skipped sources are simply ignored. Say you have a Switch that routes a support ticket to either a “billing” branch or a “technical” branch, and both branches eventually wire into the same summary prompt – only the active branch’s output arrives. No nulls, no empty values, no special handling needed.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Control Flow Nodes","description":"If and Switch – conditional branching.","icon":"git-branch","href":"/workflow-nodes/control-flow"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"If","slug":"if","depth":2,"children":[]},{"title":"Switch","slug":"switch","depth":2,"children":[]},{"title":"Skipped branches","slug":"skipped-branches","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/promptjuggler/cd62668c24c5b1f7/umami.js"],"subdomain":"promptjuggler","siteName":"PromptJuggler","title":"Control Flow Nodes - PromptJuggler","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-01T00:59:02.529Z","originalFileLocation":"workflow-nodes/control-flow.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=\"If and Switch – conditional branching.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PromptJuggler\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_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/promptjuggler/xximN_89kXP6W21J/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Control Flow Nodes - PromptJuggler\">\u003cmeta data-mint-head property=\"og:description\" content=\"If and Switch – conditional branching.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PromptJuggler\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.promptjuggler.com/workflow-nodes/control-flow\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://promptjuggler.mintlify.site/_mintlify/api/og/v2?division=Workflow+Nodes\u0026amp;title=Control+Flow+Nodes\u0026amp;description=If+and+Switch+%E2%80%93+conditional+branching.\u0026amp;theme=1b766d4779f836636abfc877\u0026amp;signature=32f28623605beaf046a4123d99d1b0791d630ec92c0c086cf4207d7d5d20b2f1\">\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=\"Control Flow Nodes - PromptJuggler\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"If and Switch – conditional branching.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://promptjuggler.mintlify.site/_mintlify/api/og/v2?division=Workflow+Nodes\u0026amp;title=Control+Flow+Nodes\u0026amp;description=If+and+Switch+%E2%80%93+conditional+branching.\u0026amp;theme=1b766d4779f836636abfc877\u0026amp;signature=32f28623605beaf046a4123d99d1b0791d630ec92c0c086cf4207d7d5d20b2f1\">\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/promptjuggler/xximN_89kXP6W21J/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PromptJuggler\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff5500\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.promptjuggler.com/workflow-nodes/control-flow\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/workflow-nodes/control-flow.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.promptjuggler.com/#organization\",\"name\":\"PromptJuggler\",\"url\":\"https://docs.promptjuggler.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/promptjuggler/4dRIri76Lp5nCQVC/logo/promptjuggler_light.svg?fit=max\u0026auto=format\u0026n=4dRIri76Lp5nCQVC\u0026q=85\u0026s=d5d02983378ce48bde8601f4f8cd65a2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.promptjuggler.com#website\",\"name\":\"PromptJuggler\",\"url\":\"https://docs.promptjuggler.com\",\"publisher\":{\"@id\":\"https://docs.promptjuggler.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow#webpage\",\"url\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow\",\"name\":\"Control Flow Nodes\",\"description\":\"If and Switch – conditional branching.\",\"dateModified\":\"2026-04-01T00:59:02.529Z\",\"isPartOf\":{\"@id\":\"https://docs.promptjuggler.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workflow Nodes\",\"item\":\"https://docs.promptjuggler.com/workflow-nodes/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Control Flow Nodes\",\"item\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow#article\",\"headline\":\"Control Flow Nodes\",\"name\":\"Control Flow Nodes\",\"description\":\"If and Switch – conditional branching.\",\"url\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow\",\"mainEntityOfPage\":{\"@id\":\"https://docs.promptjuggler.com/workflow-nodes/control-flow#webpage\"},\"dateModified\":\"2026-04-01T00:59:02.529Z\",\"publisher\":{\"@id\":\"https://docs.promptjuggler.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.promptjuggler.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PromptJuggler\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"PromptJuggler\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/workflow-nodes/control-flow.md","siteName":"PromptJuggler","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"What is PromptJuggler?","icon":"rocket","href":"/getting-started/introduction"},{"title":"Quickstart","icon":"zap","href":"/getting-started/quickstart"},{"title":"Build with your AI assistant","icon":"sparkles","href":"/getting-started/ai-assistants"},{"title":"Settings","icon":"settings","href":"/getting-started/settings"}]},{"group":"Roadmap","pages":[{"title":"Roadmap","icon":"map","href":"/roadmap"}]},{"group":"Core Concepts","pages":[{"title":"Naming \u0026 Versioning","icon":"git-branch","href":"/concepts/naming-and-versioning"},{"title":"Prompts","icon":"message-square","href":"/concepts/prompts"},{"title":"Workflows","icon":"workflow","href":"/concepts/workflows"},{"title":"Tools","icon":"wrench","href":"/concepts/tools"},{"title":"Knowledge Bases","icon":"database","href":"/concepts/knowledge-bases"},{"title":"Memory \u0026 Threads","icon":"messages-square","href":"/concepts/memory-and-threads"},{"title":"Streaming","icon":"radio","href":"/concepts/streaming"},{"title":"Transcript","icon":"list","href":"/concepts/transcript"},{"title":"Reliability","icon":"shield-check","href":"/concepts/reliability"},{"title":"Evaluations","icon":"flask-conical","href":"/concepts/evaluations"}]},{"group":"Workflow Nodes","pages":[{"title":"Workflow Nodes","icon":"blocks","href":"/workflow-nodes/overview"},{"title":"Data Nodes","icon":"database","href":"/workflow-nodes/data-nodes"},{"title":"Execution Nodes","icon":"play","href":"/workflow-nodes/execution-nodes"},{"title":"Knowledge Search Node","icon":"search","href":"/workflow-nodes/knowledge-search"},{"title":"Script Node","icon":"code","href":"/workflow-nodes/script"},{"title":"Transform Nodes","icon":"shuffle","href":"/workflow-nodes/transform-nodes"},{"title":"Fanout Node","description":"Process array items in parallel.","icon":"split","href":"/workflow-nodes/fanout"},{"title":"Control Flow Nodes","icon":"git-branch","href":"/workflow-nodes/control-flow"},{"title":"Loop Node","description":"Repeat operations with controlled feedback.","icon":"repeat","href":"/workflow-nodes/loop"},{"title":"Assertion Node","icon":"circle-check","href":"/workflow-nodes/assertion"}]},{"group":"Tools","pages":[{"title":"Tools","icon":"wrench","href":"/tools/overview"},{"title":"Prompt \u0026 Workflow Tools","icon":"layers","href":"/tools/prompt-and-workflow"},{"title":"Knowledge Search Tool","icon":"search","href":"/tools/knowledge-search"},{"title":"HTTP Call Tool","icon":"globe","href":"/tools/http-call"},{"title":"Script Tool","icon":"code","href":"/tools/script"},{"title":"Web Search Tool","icon":"search","href":"/tools/web-search"},{"title":"MCP Tool","icon":"plug","href":"/tools/mcp"},{"title":"Emit Tool","icon":"share","href":"/tools/emit"}]},{"group":"Guides","pages":[{"title":"Running Prompts","icon":"play","href":"/guides/running-prompts"},{"title":"Building a Chatbot","icon":"bot-message-square","href":"/guides/building-a-chatbot"},{"title":"Building Workflows","icon":"workflow","href":"/guides/building-workflows"},{"title":"Setting Up Evaluations","icon":"flask-conical","href":"/guides/setting-up-evaluations"},{"title":"Using Knowledge Bases","icon":"database","href":"/guides/using-knowledge-bases"},{"title":"Integration Guide","icon":"plug","href":"/guides/integration"}]},{"group":"Backend SDKs","pages":[{"title":"Python SDK","icon":"python","href":"/sdks/python/overview"},{"title":"TypeScript SDK","icon":"js","href":"/sdks/typescript/overview"},{"title":"Java SDK","icon":"java","href":"/sdks/java/overview"},{"title":"PHP SDK","icon":"php","href":"/sdks/php/overview"},{"title":"Go SDK","icon":"golang","href":"/sdks/go/overview"}]},{"group":"Browser SDK","pages":[{"title":"Browser SDK","icon":"globe","href":"/sdks/browser/overview"}]},{"group":"API Reference","pages":[{"title":"Overview","icon":"code","href":"/api/overview"},{"group":"Prompts","pages":[{"title":"Get a prompt revision by the prompt’s slug and version","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/prompts/{slug}/{version}","href":"/api-reference/prompts/get-a-prompt-revision-by-the-prompt’s-slug-and-version"}]},{"group":"Prompt Runs","pages":[{"title":"Create and trigger a prompt run","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/prompts/{slug}/{version}/runs","href":"/api-reference/prompt-runs/create-and-trigger-a-prompt-run"},{"title":"Get a prompt run by ID","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/promptruns/{id}","href":"/api-reference/prompt-runs/get-a-prompt-run-by-id"},{"title":"Prompt run finished","version":null,"deprecated":null,"openapi":"/openapi.json webhook promptrun.finished","href":"/api-reference/prompt-runs/prompt-run-finished"}]},{"group":"Knowledge Bases","pages":[{"title":"Get a knowledge base by slug","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/knowledge-bases/{slug}","href":"/api-reference/knowledge-bases/get-a-knowledge-base-by-slug"},{"title":"Upload documents to a knowledge base","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/knowledge-bases/{slug}/documents","href":"/api-reference/knowledge-bases/upload-documents-to-a-knowledge-base"},{"title":"Get a knowledge document by ID","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/knowledge-documents/{id}","href":"/api-reference/knowledge-bases/get-a-knowledge-document-by-id"},{"title":"Delete a knowledge document","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/knowledge-documents/{id}","href":"/api-reference/knowledge-bases/delete-a-knowledge-document"},{"title":"Knowledge document finished","version":null,"deprecated":null,"openapi":"/openapi.json webhook knowledgedocument.finished","href":"/api-reference/knowledge-bases/knowledge-document-finished"},{"title":"Knowledge base finished","version":null,"deprecated":null,"openapi":"/openapi.json webhook knowledgebase.finished","href":"/api-reference/knowledge-bases/knowledge-base-finished"}]},{"group":"Streaming","pages":[{"title":"Create a streaming credential for a thread","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/threads/{thread}/stream-token","href":"/api-reference/streaming/create-a-streaming-credential-for-a-thread"}]},{"group":"Workflow Runs","pages":[{"title":"Create and trigger a workflow run","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workflows/{slug}/{version}/runs","href":"/api-reference/workflow-runs/create-and-trigger-a-workflow-run"},{"title":"Get a workflow run by ID","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workflowruns/{id}","href":"/api-reference/workflow-runs/get-a-workflow-run-by-id"},{"title":"Workflow run finished","version":null,"deprecated":null,"openapi":"/openapi.json webhook workflowrun.finished","href":"/api-reference/workflow-runs/workflow-run-finished"}]}]}]},"basePath":"","title":"Control Flow Nodes - PromptJuggler","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}