Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the Variable Picker—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.
This refers to the data received from the triggering event in an Event-based workflows. When an event occurs, it generates specific data that is passed into the workflow, enabling it to execute the necessary actions based on the event’s details.
There are two distinct ways in which you can add dynamic variables to input parameters throughout Workflows.
The Variable Picker
The Variable Picker allows users to insert dynamic variables easily into workflows without manually writing expressions. It is compatible with all input types.
Blinks Expression Language
The Dynamic Variables can also be added manually using the expression language syntax.
Using the Variable Picker to Add Dynamic Variables
Note: When using the same dynamic variable in multiple steps with different value types, the variable will always take the value type from the last step where it was set. The first value type will be overwritten by the second one.
1
Access the Variable Picker
Click the button in the parameter field
where you want to use a variable.
2
Search for a Specific Variable
In the Variable Picker, type to search for a specific variable.
3
Select the Desired Variable
Select the desired variable. It appears in the picker’s headline.
4
View the Variable Tag in the Step Field
The variable tag is displayed in the step’s input field.
5
Workflow Executes and Replaces the Tag
When executed, the workflow replaces the tag with the actual value.
To quickly inspect a step, click the icon. This opens a view showing all input parameters for that step.
2
In preview mode, you can see the actual values of all dynamic variables used in the step’s input parameters
You can view dynamic variables alongside their actual values by clicking the icon in the top-right corner of the text input to enlarge the preview. Then, select the icon to display both the dynamic variables and their corresponding values side by side.
From the panel on the left of the expanded preview, you can directly edit the dynamic variables. Any changes you make will instantly update on the right side, allowing you to see in real time how adjustments affect the final output.
In preview mode, dynamic variables in the python action cannot be displayed. You can view input values from other scripting languages (Bash, PowerShell, and Node.js), but Python- generated dynamic values are not available to preview.
Configure triggers to start workflows based on events.
Expression Language
Define and organize actions within a workflow.
Workflow Engine Functions
Add logic to control workflow execution paths.
Workflow Engine Operators
Build a new workflow from scratch in Blink.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BlinkOps Documentation","colors":{"primary":"#1f7ef2","light":"#1f7ef2","dark":"#0080ff"},"logo":{"light":"https://mintcdn.com/blinkops-2/br6cLdqXY9MZvLgO/logo/light.svg?fit=max\u0026auto=format\u0026n=br6cLdqXY9MZvLgO\u0026q=85\u0026s=55c0663d06bf9395563193d3a5259b7a","dark":"https://mintcdn.com/blinkops-2/br6cLdqXY9MZvLgO/logo/dark.svg?fit=max\u0026auto=format\u0026n=br6cLdqXY9MZvLgO\u0026q=85\u0026s=07f1e67e71da76c022a7070bf00b12a7","href":"https://docs.blinkops.com/"},"favicon":"https://mintcdn.com/blinkops-2/TqQZZZpDuOn7Wlvq/favicon.png?fit=max\u0026auto=format\u0026n=TqQZZZpDuOn7Wlvq\u0026q=85\u0026s=2f51ab37ee8d63c712d36d21be7104ed","background":{"color":{"dark":"#091120"}},"navbar":{"links":[{"href":"https://app.blinkops.com/","label":"Login"}],"primary":{"type":"button","label":"Get Started","href":"https://www.blinkops.com/schedule-time"}},"footer":{"socials":{"youtube":"https://www.youtube.com/channel/UCHPSbeyNTFR8_rTGjV7V9ow","x":"https://twitter.com/getblinkops","linkedin":"https://www.linkedin.com/company/blink-ops"}},"styling":{"codeblocks":"dark","latex":true},"integrations":{"gtm":{"tagId":"GTM-MWQHTL5"}},"contextual":{"options":["copy","download-spec","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"blinkops-2","hasAudioNarration":false,"actualSubdomain":"blinkops-2","customDomains":["docs.blinkops.com"],"gitSource":{"type":"github","owner":"blinkops","repo":"blink-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3a6c2e25e6a2096a5b41e","collectionId":"4c9c6ab2-9442-43be-82d9-f1a4d4c68774","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3a6c2e25e6a2096a5b41e"},"feedback":{"thumbs":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3a6c2e25e6a2096a5b41e","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Integrations","count":12890},{"language":"default","tag":"Actions","count":5642},{"language":"default","tag":"Triggers","count":343},{"language":"default","tag":"AWS","count":161},{"language":"default","tag":"Case Management","count":109},{"language":"default","tag":"CrowdStrike","count":106},{"language":"default","tag":"Workflows","count":97},{"language":"default","tag":"Rapid7","count":83},{"language":"default","tag":"Platform","count":72},{"language":"default","tag":"Home","count":64}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@import url(https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700;800;900\u0026family=Roboto:ital,wght@0,300;0,400;0,500;0,900;1,300;1,400;1,500;1,700\u0026display=swap);@import \"tailwindcss\";@font-face{font-family:'Nacelle';src:url(https://cdn.prod.website-files.com/62000f475eba4d3330543f5b/652d7a00b58f4090a56b69d4_Nacelle-SemiBold.otf) format('opentype');font-weight:600;font-style:normal;font-display:swap}:root{--dark-mode-aware-p-color-alt:rgba(0, 0, 0, 0.50);--dark-mode-aware-dark-background-color:#1A283B;--dark-mode-aware-dark-border-color:#666;--dark-mode-aware-dark-text-color:#eee;--dark-mode-aware-dark-wrapper-background-color:#364150;--dark-mode-aware-dark-link-color:#ffffff;--dark-mode-aware-keyboard-shortcut:\"rgba(18, 18, 18, 0.85)\";--hero-background-image-light:url(\"https://mintlify.s3.us-west-1.amazonaws.com/blinkops-2/img/HeroLightV.svg\");--hero-background-image-dark:url(\"https://mintlify.s3.us-west-1.amazonaws.com/blinkops-2/img/HeroDark.svg\");--landing-page-image-light:url(\"https://mintlify.s3.us-west-1.amazonaws.com/blinkops-2/img/Hero.svg\");--landing-page-image-dark:url(\"https://mintlify.s3.us-west-1.amazonaws.com/blinkops-2/img/HeroDark.svg\");--integration-page-image-dark:url(\"/img/IntegrationsNote.svg\")}h1,h2,h3,h4{font-family:'Roboto';letter-spacing:normal!important}.hero-text h1,.hero-text h3{font-family:\"Roboto\";font-size:48px;font-style:normal;font-weight:800;line-height:63px;letter-spacing:2.4px}.hero-text h3{text-align:center;font-size:22px;font-weight:400;line-height:25.2px;letter-spacing:.96px}.background-image,.integration-background-image{background-image:var(--landing-page-image-light);height:330px;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;position:relative;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.integration-background-image{background-image:var(--integration-page-image-dark);height:400px}.dark .background-image{background-image:var(--landing-page-image-dark)}.paragraph-block{text-align:start;text-wrap:inherit}.paragraph{display:block;margin-block-start:.5em;margin-block-end:1em;margin-inline-start:0;margin-inline-end:0;unicode-bidi:isolate;font-family:Roboto;font-size:28px;font-style:normal;font-weight:400;line-height:normal;color:var(----dark-mode-aware-p-color)}.dark .paragraph{color:#fff}.iframe{height:800px;width:100%}.iframe-wrapper{display:unset}.iframe-media{display:none}.hero{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-evenly;text-align:center;padding:2rem,2rem,2rem,2rem;background-image:var(--hero-background-image-light);height:326px;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}.dark .hero{background-image:var(--hero-background-image-dark)}.hero-content{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1rem}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:#000}.search-bar{display:flex;align-items:center;background:0 0;border:1px solid #060709;border-radius:.5rem;overflow:hidden}.keyboard-shortcut,.search-bar input{background:0 0;backdrop-filter:blur(8px)}.search-bar input{border:0;padding:.75rem 1rem;width:400px;height:43px;font-size:1rem;flex-grow:1;outline:0;border-radius:var(--Sizes-Radius-R-4-px, 8px);border:1px solid var(--Color-Transparent-White-10, #ffffff);background:var(--Color-Transparent-White-05, rgba(255, 255, 255, 0.05))}.dark ֿ.search-bar input{border:1px solid #fff}.dark #search{border:1px solid #ffff}.keyboard-shortcut{border-radius:var(--Sizes-Radius-R-4-px, 4px);border:1px solid var(--Color-Transparent-White-10, rgba(255, 255, 255, 0.10));padding:.5rem}.api-item,.grid-table,.keyboard-shortcut{display:flex;align-items:center}.grid-table{margin-top:2rem;grid-column-gap:2.5rem;grid-row-gap:2.5rem;flex-flow:column}#api-grid{grid-column-gap:5rem;grid-row-gap:1.25rem;grid-template-rows:auto;grid-template-columns:1fr 1fr 1fr 1fr;grid-auto-columns:1fr;display:grid;justify-items:center}.api-item{padding:var(--Sizes-Padding-Possitive-32-px, 32px) var(--Sizes-Padding-Possitive-16-px, 16px);border:1px solid #e0e0e0;height:100px;width:300px;border-radius:16px;border:1px solid rgba(62,149,255,.04);background:#f4f4f4}.api-item img{height:24px;width:24px;padding:9px,9px,9px 9px}.api-item span{font-size:1rem;font-weight:400;color:#fff}.vendor-link{color:#000;text-overflow:ellipsis;font-family:Roboto;font-size:20px;font-style:normal;font-weight:500;padding-left:24px;letter-spacing:1.12px}.wrapper{display:flex;justify-content:center;align-items:center;width:42px;height:42px;flex-shrink:0;border-radius:8px;background:#e3dfdf}.dark .dark-mode-aware{background:#1a283b}.dark .wrapper{background-color:#364150}.dark .vendor-link{color:#fff;text-overflow:ellipsis;font-family:Roboto;font-size:20px;font-style:normal;font-weight:500;padding-left:24px;letter-spacing:1.12px}.flow-table,.table{width:100%;overflow-x:auto}.integrations-table table,.table table{border-collapse:collapse;text-align:left}.table table{width:100%}.table td,.table th{padding:8px 12px;text-align:left;border-bottom:1px solid #ddd}table{display:table;max-width:90%;margin:20px auto}.integrations-table table{border-style:solid;max-width:fit-content;table-layout:fixed;align-items:left;border-color:#000}.integrations-table code a{pointer-events:none;text-decoration:none;color:var(--ifm-table-cell-color);cursor:default}.integrations-table th:first-child{width:fit-content}.integrations-table th:second-child{width:50%;padding-right:10px}#var-table th:first-child{width:25%}#var-table th:nth-child(2){width:50%}.flow-table td{line-height:1.5;vertical-align:middle}.flow-table table,.table-functions{border-collapse:collapse;width:100%;max-width:100%;text-align:left;table-layout:fixed}.flow-table table{border-style:solid;align-items:left}.flow-table td,.flow-table th{width:25%;height:25%;border:1px solid #cccccc7f;padding:8px;text-align:left}.table-functions{border-style:hidden}.footer-container{display:flex;flex-direction:row;justify-content:space-between;width:100%;margin-top:100px;align-items:center}.footer-icons{display:flex;gap:32px}.footer-title{font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.footer-display{display:flex;flex-direction:row}.flow-control{display:flex}@media (max-width:767px){.hero{flex-wrap:nowrap;flex-direction:column;justify-content:center;text-align:center;padding:1.5rem;height:auto;background-size:cover}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:#000}.hero,.hero-content{align-items:center}br{display:none}.paragraph{font-size:20px;margin-inline-start:30px}.search-bar input{width:fit-content}#api-grid{grid-column-gap:1rem;grid-row-gap:1rem;grid-template-rows:auto;grid-template-columns:1fr 1fr;display:grid;justify-items:flex-start}.api-item{display:flex;padding:var(--Sizes-Padding-Possitive-10-px, 10px) var(--Sizes-Padding-Possitive-16-px, 10px);height:100px;width:180px;justify-content:flex-start}.vendor-link{font-size:15px;padding-left:15px}.iframe{max-height:100%;height:unset;border-radius:32px}.iframe-wrapper{display:block;position:relative;max-height:200px;border-radius:32px}.iframe-media{align-items:center;flex-direction:column;justify-content:center;position:absolute;height:100%;width:100%;display:flex;backdrop-filter:blur(.5em);background-color:rgba(34,33,38,.8);border-radius:32px}.table-functions th:first-child{width:17%}}@media (max-width:996px){.hero{flex-direction:column;justify-content:center;text-align:center;padding:1.5rem;height:auto;background-size:cover}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:#000}.hero,.hero-content{align-items:center}br{display:none}.paragraph{font-size:20px;margin-inline-start:30px}.search-bar input{width:fit-content}#api-grid{grid-column-gap:1rem;grid-row-gap:1rem;grid-template-rows:auto;grid-template-columns:1fr 1fr;display:grid;justify-items:flex-start}.api-item{display:flex;padding:var(--Sizes-Padding-Possitive-10-px, 10px) var(--Sizes-Padding-Possitive-16-px, 10px);height:100px;width:180px;justify-content:flex-start}.vendor-link{font-size:15px;padding-left:15px}}"}],"page":{"pagePath":"docs/workflows/building-workflows/dynamic-variables/variable-picker","slug":"/docs/workflows/building-workflows/dynamic-variables/variable-picker","pageMetadata":{"title":"Dynamic Variables","description":"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the [Variable Picker](#using-the-variable-picker-to-add-dynamic-variables)—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.","keywords":["dynamic variables","variable picker","Workflows","Blink Ops","expression language"],"href":"/docs/workflows/building-workflows/dynamic-variables/variable-picker"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the \", _jsx(_components.a, {\n href: \"#using-the-variable-picker-to-add-dynamic-variables\",\n children: \"Variable Picker\"\n }), \"—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.\"]\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={a:`a`,em:`em`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Icon,Note,OptimizedImage,Step,Steps,Table,Tooltip,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tooltip)_missingMdxReference(`Tooltip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`dynamic-variables-types`,children:`Dynamic Variables Types`}),`\n`,_jsx(`div`,{className:`flow-table`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Dynamic Variable Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/docs/workflows/building-workflows/steps`,children:`Steps`})}),_jsx(_components.td,{children:`Step-related variables include status, outputs, or results from previous workflow steps.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/docs/workflows/building-workflows/actions/basic-actions/flow-control-actions#set-variables`,children:`Local variable`})}),_jsxs(_components.td,{children:[`Variables that are created within the workflow using the `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/actions/basic-actions/flow-control-actions#set-variables`,children:`Set Variable action`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/docs/workflows/building-workflows/files`,children:`Files`})}),_jsx(_components.td,{children:`Variables that represent files used in the workflow, including file paths, sizes, and identifiers.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/global-variables`,children:`Global variables`})}),_jsxs(_components.td,{children:[`Variables defined within a Workspace and accessible across the entire workspace. `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/global-variables`,children:`Global variables`}),` can be `,_jsx(_components.em,{children:`Raw value`}),` or `,_jsx(_components.em,{children:`Secret`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/docs/workflows/workflows`,children:`Metadata`})}),_jsxs(_components.td,{children:[`Metadata variables provide workflow-related information: `,_jsxs(`ol`,{children:[_jsxs(`li`,{children:[`The `,_jsx(Tooltip,{tip:\"`automation_name`\",children:`name`}),` of the current workflow`]}),_jsxs(`li`,{children:[`A `,_jsx(Tooltip,{tip:\"`automation_url`\",children:`link`}),` to the current workflow`]}),_jsxs(`li`,{children:[` The`,_jsx(Tooltip,{tip:\"`automation_id`\",children:`workflow’s ID`})]}),_jsxs(`li`,{children:[`The associated `,_jsx(Tooltip,{tip:\"`workspace_id`\",children:`workspace’s ID`})]}),_jsxs(`li`,{children:[`The `,_jsx(Tooltip,{tip:\"`pack_id`\",children:`pack’s ID`}),` that the workflow belongs to`]}),_jsxs(`li`,{children:[`The `,_jsx(Tooltip,{tip:\"`execution_id`\",children:`current execution ID`})]}),_jsxs(`li`,{children:[` A `,_jsx(Tooltip,{tip:\"`execution_url`\",children:`link`}),` to the current execution`]}),_jsxs(`li`,{children:[`The `,_jsx(Tooltip,{tip:\"`start_time`\",children:`timer`}),` at which execution began`]}),_jsxs(`li`,{children:[`The `,_jsx(Tooltip,{tip:\"`user_email`\",children:`email`}),` of the user who started the execution `]}),_jsxs(`li`,{children:[_jsx(Tooltip,{tip:\"`user_groups`\",children:`Groups`}),` the current user is a member of`]})]})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/docs/workflows/building-workflows/triggers/on-demand-triggers/input-parameters`,children:`Input Parameters`}),`- Only available in `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/triggers/on-demand-triggers/on-demand-triggers`,children:`On-demand workflows`})]}),_jsxs(_components.td,{children:[`These are values defined when triggering an `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/triggers/on-demand-triggers/on-demand-triggers`,children:`On-demand workflow`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/docs/workflows/building-workflows/triggers/event-based-triggers/webhooks`,children:`Event payload`}),`- Only available in `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/triggers/event-based-triggers/event-based-triggers`,children:`Event-based workflows`})]}),_jsxs(_components.td,{children:[`This refers to the data received from the triggering event in an `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/triggers/event-based-triggers/event-based-triggers`,children:`Event-based workflows`}),`. When an event occurs, it generates specific data that is passed into the workflow, enabling it to execute the necessary actions based on the event’s details.`]})]})]})]})}),`\n`,_jsx(Heading,{level:`2`,id:`adding-dynamic-variables-in-workflows`,children:`Adding Dynamic Variables in Workflows`}),`\n`,_jsx(_components.p,{children:`There are two distinct ways in which you can add dynamic variables to input parameters throughout Workflows.`}),`\n`,_jsxs(CardGroup,{col:2,children:[_jsx(Card,{title:`The Variable Picker`,href:`/docs/workflows/building-workflows/dynamic-variables/variable-picker#using-the-variable-picker-to-add-dynamic-variables`,icon:`plus`,children:_jsx(_components.p,{children:`The Variable Picker allows users to insert dynamic variables easily into workflows without manually writing expressions. It is compatible with all input types.`})}),_jsx(Card,{title:`Blinks Expression Language`,href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables`,icon:`brackets-curly`,children:_jsxs(_components.p,{children:[`The Dynamic Variables can also be added manually using the `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables`,children:`expression language `}),` syntax.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`using-the-variable-picker-to-add-dynamic-variables`,children:`Using the Variable Picker to Add Dynamic Variables`}),`\n`,_jsxs(Note,{children:[_jsx(_components.strong,{children:`Note`}),`: When using the same dynamic variable in multiple steps with different value types, the variable will always take the value type from the last step where it was set. The first value type will be overwritten by the second one. `]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Access the Variable Picker`,children:_jsxs(_components.p,{children:[`Click the `,_jsx(Icon,{icon:`plus`,color:`#000000`}),` button in the parameter field\nwhere you want to use a variable.`]})}),_jsx(Step,{title:`Search for a Specific Variable`,children:_jsx(_components.p,{children:`In the Variable Picker, type to search for a specific variable.`})}),_jsx(Step,{title:`Select the Desired Variable`,children:_jsx(_components.p,{children:`Select the desired variable. It appears in the picker’s headline.`})}),_jsx(Step,{title:`View the Variable Tag in the Step Field`,children:_jsx(_components.p,{children:`The variable tag is displayed in the step’s input field.`})}),_jsxs(Step,{title:`Workflow Executes and Replaces the Tag`,children:[_jsx(_components.p,{children:`When executed, the workflow replaces the tag with the actual value.`}),_jsx(Frame,{children:_jsx(`video`,{controls:true,autoPlay:true,muted:true,zoom:true,loop:true,allowFullScreen:true,className:`mint-w-full mint-aspect-video`,src:`https://www.dropbox.com/scl/fi/nyr6iuih7f7eev94kdeez/UpdatingDynamicVar.mp4?rlkey=ig2uljy479uyy1b4a1k52f9pd\u0026st=zshrtcfx\u0026dl\u0026raw=1`,playsInline:`true`})})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`preview-the-values-of-dynamic-variables-in-steps`,children:`Preview the Values of Dynamic Variables in Steps`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{children:[_jsxs(_components.p,{children:[`To quickly inspect a step, click the `,_jsx(Icon,{icon:`eye`}),` icon. This opens a view showing all input parameters for that step.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=9f7455760088ea71e5cd0988960ac2b0`,\"data-og-width\":`1728`,width:`1728`,\"data-og-height\":`1078`,height:`1078`,\"data-path\":`img/Automations/PreviewModeIcon.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?w=280\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=db1a5e3ddabb4d5b8afdd341c8c5f9ec 280w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?w=560\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=b70d44ff328407a7bb8e73b83fff51e3 560w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?w=840\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=f203cd0f724915880b7e5e6af2821252 840w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=bb2fe792c0f15995386af9d4cd71e600 1100w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=682c9ff23a393a3648abcb65042146b6 1650w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewModeIcon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=e16784aabe016400cd825efcb29e39a8 2500w`})})]}),_jsxs(Step,{children:[_jsx(_components.p,{children:`In preview mode, you can see the actual values of all dynamic variables used in the step’s input parameters`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=44508f966cf6c2bb755f02d9f805f638`,\"data-og-width\":`1728`,width:`1728`,\"data-og-height\":`1078`,height:`1078`,\"data-path\":`img/Automations/PreviewMode.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?w=280\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=e79488fe69523abf4052bad1e5e43128 280w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?w=560\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=ab5a44b2c9ee8bf9c0fbbfb48912eeea 560w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?w=840\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=56cf3f5d4694c3f38de1995d8a2e105b 840w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?w=1100\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=58533018d0f43b5e9f3530507a84a09f 1100w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?w=1650\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=2a4f495742ece768665e629caddda9fa 1650w, https://mintcdn.com/blinkops-2/LmvHav-_uM6LAZXY/img/Automations/PreviewMode.png?w=2500\u0026fit=max\u0026auto=format\u0026n=LmvHav-_uM6LAZXY\u0026q=85\u0026s=20c9dd6635569a726986f224aa917822 2500w`})}),_jsxs(_components.p,{children:[`You can view dynamic variables alongside their actual values by clicking the `,_jsx(Icon,{icon:`expand`}),` icon in the top-right corner of the text input to enlarge the preview. Then, select the `,_jsx(Icon,{icon:`eye`}),` icon to display both the dynamic variables and their corresponding values side by side.\nFrom the panel on the left of the expanded preview, you can directly edit the dynamic variables. Any changes you make will instantly update on the right side, allowing you to see in real time how adjustments affect the final output.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=7d603cfc32d957345c899b9fd1b4d22d`,\"data-og-width\":`3456`,width:`3456`,\"data-og-height\":`2154`,height:`2154`,\"data-path\":`img/Automations/PreviewModeEnlarged.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?w=280\u0026fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=20be432bb353f24758b34833c456a454 280w, https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?w=560\u0026fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=bc234aa6260d0b4975650cadf75ae785 560w, https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?w=840\u0026fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=cc60696d1b2be7a12f02a3df52a5242f 840w, https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?w=1100\u0026fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=e99e083de101d3c4aae457469a2992a4 1100w, https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?w=1650\u0026fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=ea8fce9a687d2f386449143e5250a0c6 1650w, https://mintcdn.com/blinkops-2/s7QlpiBlLa84CUZO/img/Automations/PreviewModeEnlarged.png?w=2500\u0026fit=max\u0026auto=format\u0026n=s7QlpiBlLa84CUZO\u0026q=85\u0026s=cc26172952e1a02923e19fd216327445 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`in-preview-mode-dynamic-variables-in-the-python-action-cannot-be-displayed-you-can-view-input-values-from-other-scripting-languages-bash-powershell-and-node-js--but-python-generated-dynamic-values-are-not-available-to-preview`,children:_jsxs(Warning,{children:[`In preview mode, dynamic variables in the `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables#python-actions`,children:`python action`}),` cannot be displayed. You can view input values from other scripting languages (`,_jsx(_components.a,{href:`/docs/workflows/building-workflows/actions/basic-actions/code-actions#run-bash-script`,children:`Bash`}),`, `,_jsx(_components.a,{href:`/docs/integrations/powershell`,children:`PowerShell`}),`, and `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/actions/basic-actions/code-actions#run-node-js-script`,children:`Node.js`}),`), but Python- generated dynamic values are not available to preview.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`referencing-a-key-in-a-json-object`,children:`Referencing a Key in a JSON Object`}),`\n`,_jsx(_components.p,{children:`If a workflow step outputs a JSON object, you can reference a specific key:`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{children:`Click the desired key in the JSON output.`}),_jsx(Step,{children:`The value copies to your clipboard.`}),_jsx(Step,{children:_jsx(_components.p,{children:`Paste the value into another step where needed.`})})]}),`\n`,_jsx(Frame,{children:_jsx(`video`,{controls:true,autoPlay:true,muted:true,zoom:true,loop:true,allowFullScreen:true,className:`mint-w-full mint-aspect-video`,src:`https://www.dropbox.com/scl/fi/z3ubsqu9siu7dxqrw4a57/JSONDotWalking.mp4?rlkey=kfgeahtmkh4pgczj8ihwaj3y6\u0026st=i5igsuiu\u0026raw=1`,playsInline:`true`})}),`\n`,_jsx(Heading,{level:`3`,id:`using-expression-language-with-dynamic-variables`,children:`Using Expression Language with Dynamic Variables`}),`\n`,_jsxs(_components.p,{children:[`The Dynamic Variables can also be added manually using `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables`,children:`expression language`}),` syntax.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`To see the supported syntax to manually add a Dynamic Variable to a workflow input, click `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables`,children:`here`})]}),`\n`,_jsxs(_components.li,{children:[`Functions can be added to Dynamic Variables or Static Variables. To see the supported syntax of adding `,_jsx(_components.em,{children:`Functions`}),` to Dynamic Variable, click `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-functions`,children:`here`})]}),`\n`,_jsxs(_components.li,{children:[`Operators can be added to Dynamic Variables or Static Variables. To see the supported syntax of adding `,_jsx(_components.em,{children:`Operators`}),` to Dynamic Variables, click `,_jsx(_components.a,{href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-operators`,children:`here`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`recommendations-and-limitations`,children:`Recommendations and Limitations`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Avoid reusing the same dynamic variable in multiple steps with different value types; the last assigned type takes precedence.`}),`\n`,_jsx(_components.li,{children:`Ensure the workflow is correctly structured to prevent missing values in dynamic variables.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-articles`,children:`Related Articles`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Global Variables`,icon:`globe`,href:`/docs/workflows/building-workflows/dynamic-variables/global-variables`,children:_jsx(_components.p,{children:`Configure triggers to start workflows based on events.`})}),_jsx(Card,{title:`Expression Language`,icon:`brackets-curly`,href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables`,children:_jsx(_components.p,{children:`Define and organize actions within a workflow.`})}),_jsx(Card,{title:`Workflow Engine Functions`,icon:`brackets-curly`,href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-functions`,children:_jsx(_components.p,{children:`Add logic to control workflow execution paths.`})}),_jsx(Card,{title:`Workflow Engine Operators`,icon:`plus`,href:`/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-operators`,children:_jsx(_components.p,{children:`Build a new workflow from scratch in Blink.`})})]})]})}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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Dynamic Variables","description":"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the [Variable Picker](#using-the-variable-picker-to-add-dynamic-variables)—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.","keywords":["dynamic variables","variable picker","Workflows","Blink Ops","expression language"],"href":"/docs/workflows/building-workflows/dynamic-variables/variable-picker"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Dynamic Variables Types","slug":"dynamic-variables-types","depth":2,"children":[]},{"title":"Adding Dynamic Variables in Workflows","slug":"adding-dynamic-variables-in-workflows","depth":2,"children":[{"title":"Using the Variable Picker to Add Dynamic Variables","slug":"using-the-variable-picker-to-add-dynamic-variables","depth":3,"children":[]}]},{"title":"Preview the Values of Dynamic Variables in Steps","slug":"preview-the-values-of-dynamic-variables-in-steps","depth":2,"children":[]},{"title":"In preview mode, dynamic variables in the python action cannot be displayed. You can view input values from other scripting languages (Bash, PowerShell, and Node.js), but Python- generated dynamic values are not available to preview.","slug":"in-preview-mode-dynamic-variables-in-the-python-action-cannot-be-displayed-you-can-view-input-values-from-other-scripting-languages-bash-powershell-and-node-js--but-python-generated-dynamic-values-are-not-available-to-preview","depth":2,"children":[]},{"title":"Referencing a Key in a JSON Object","slug":"referencing-a-key-in-a-json-object","depth":2,"children":[{"title":"Using Expression Language with Dynamic Variables","slug":"using-expression-language-with-dynamic-variables","depth":3,"children":[]}]},{"title":"Recommendations and Limitations","slug":"recommendations-and-limitations","depth":2,"children":[]},{"title":"Related Articles","slug":"related-articles","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}","subdomain":"blinkops-2","siteName":"BlinkOps Documentation","title":"Dynamic Variables - BlinkOps Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-11T11:08:53.747Z","originalFileLocation":"docs/workflows/building-workflows/dynamic-variables/variable-picker.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=\"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the Variable Picker—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BlinkOps 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/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_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/blinkops-2/7G_DZOlCBlov2A1k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Dynamic Variables - BlinkOps Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the Variable Picker—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BlinkOps Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://blinkops-2.mintlify.app/_mintlify/api/og/v2?division=Variables+Types\u0026amp;title=Dynamic+Variables\u0026amp;description=Dynamic+variables+are+variables+that+are+generated+during+workflow+execution.+These+variables+enable+workflows+to+adapt+to+real-time+data%2C+allowing+workflows+to\u0026amp;theme=5f867c4b3d6ce5e7185a453d\u0026amp;signature=fb8c6e8aae7eeec1ba71497f9608d3cf8778137bbcd9da46bb4747ae8f9878d3\">\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=\"Dynamic Variables - BlinkOps Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the Variable Picker—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://blinkops-2.mintlify.app/_mintlify/api/og/v2?division=Variables+Types\u0026amp;title=Dynamic+Variables\u0026amp;description=Dynamic+variables+are+variables+that+are+generated+during+workflow+execution.+These+variables+enable+workflows+to+adapt+to+real-time+data%2C+allowing+workflows+to\u0026amp;theme=5f867c4b3d6ce5e7185a453d\u0026amp;signature=fb8c6e8aae7eeec1ba71497f9608d3cf8778137bbcd9da46bb4747ae8f9878d3\">\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/blinkops-2/7G_DZOlCBlov2A1k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BlinkOps Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1f7ef2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/workflows/building-workflows/dynamic-variables/variable-picker.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.blinkops.com/#organization\",\"name\":\"BlinkOps Documentation\",\"url\":\"https://docs.blinkops.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/blinkops-2/br6cLdqXY9MZvLgO/logo/light.svg?fit=max\u0026auto=format\u0026n=br6cLdqXY9MZvLgO\u0026q=85\u0026s=55c0663d06bf9395563193d3a5259b7a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.blinkops.com#website\",\"name\":\"BlinkOps Documentation\",\"url\":\"https://docs.blinkops.com\",\"publisher\":{\"@id\":\"https://docs.blinkops.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker#webpage\",\"url\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker\",\"name\":\"Dynamic Variables\",\"description\":\"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the Variable Picker—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.\",\"dateModified\":\"2026-10-11T11:08:53.747Z\",\"isPartOf\":{\"@id\":\"https://docs.blinkops.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"BlinkOps Documentation\",\"item\":\"https://docs.blinkops.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamic Variables\",\"item\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker#article\",\"headline\":\"Dynamic Variables\",\"name\":\"Dynamic Variables\",\"description\":\"Dynamic variables are variables that are generated during workflow execution. These variables enable workflows to adapt to real-time data, allowing workflows to function dynamically rather than relying on inputs that contain static values. They can represent various types of data, including metadata, user input, step outputs, or event payloads. To simplify the process of selecting and using dynamic variables, Blink provides the Variable Picker—a tool that allows users to insert dynamic variables without needing to understand complex expression syntax.\",\"url\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker\",\"mainEntityOfPage\":{\"@id\":\"https://docs.blinkops.com/docs/workflows/building-workflows/dynamic-variables/variable-picker#webpage\"},\"dateModified\":\"2026-10-11T11:08:53.747Z\",\"keywords\":\"dynamic variables, variable picker, Workflows, Blink Ops, expression language\",\"publisher\":{\"@id\":\"https://docs.blinkops.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.blinkops.com#website\"}}]}\u003c/script>","siteName":"BlinkOps Documentation","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home"}]},{"tab":"Getting Started","pages":[{"title":"Getting Started","href":"/docs/getting-started/introduction"}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/docs/agent-builder/agent-builder"}]},{"tab":"Workflows","groups":[{"group":"Workflow Basics","pages":[{"title":"About Workflows","href":"/docs/workflows/workflows"},{"title":"Creating a New Workflow","href":"/docs/workflows/creating-a-workflow"},{"title":"The Workflow Editor","href":"/docs/workflows/building-workflows/workflow-editor"},{"title":"Testing a Workflow","sidebarTitle":"Testing Workflows","href":"/docs/workflows/testing-workflows/testing-workflows"},{"title":"Running Workflows","href":"/docs/workflows/running-workflows/running-workflows"},{"title":"Workflows Runtime Limitations","href":"/docs/workflows/system-limits"}]},{"group":"Triggers","pages":[{"title":"About Workflow Triggers","href":"/docs/workflows/building-workflows/triggers/triggers"},{"title":"Configuring Triggers","href":"/docs/workflows/building-workflows/triggers/configuring-triggers"},{"group":"On-Demand Triggers","pages":[{"title":"Using On-Demand Triggers","href":"/docs/workflows/building-workflows/triggers/on-demand-triggers/on-demand-triggers"},{"title":"Input Parameters","href":"/docs/workflows/building-workflows/triggers/on-demand-triggers/input-parameters"}]},{"group":"Event-Based Triggers","pages":[{"title":"Using Event-Based Triggers","href":"/docs/workflows/building-workflows/triggers/event-based-triggers/event-based-triggers"},{"title":"Using Webhooks","href":"/docs/workflows/building-workflows/triggers/event-based-triggers/webhooks"}]},{"group":"Scheduled Triggers","pages":[{"title":"Using Scheduled Triggers","href":"/docs/workflows/building-workflows/triggers/scheduled-triggers"}]}]},{"group":"Actions","pages":[{"title":"About Steps","href":"/docs/workflows/building-workflows/steps"},{"title":"About Actions","href":"/docs/workflows/building-workflows/actions/actions"},{"group":"Basic Actions","pages":[{"title":"API Actions","href":"/docs/workflows/building-workflows/actions/basic-actions/api-actions"},{"title":"Flow Control Actions","href":"/docs/workflows/building-workflows/actions/basic-actions/flow-control-actions"},{"title":"Subflow Actions","href":"/docs/workflows/building-workflows/actions/basic-actions/subflow-actions"},{"group":"HTTP Actions","pages":[{"title":"Authentication","href":"/docs/workflows/building-workflows/actions/basic-actions/authentication"},{"title":"HTTP Actions","href":"/docs/workflows/building-workflows/actions/basic-actions/http-actions/http-actions"},{"title":"Generate Callback URL Action","sidebarTitle":"Generate Callback URL Action","href":"/docs/workflows/building-workflows/actions/basic-actions/http-actions/generate-callback-url"},{"title":"Copy-Paste curl Commands","href":"/docs/workflows/building-workflows/actions/basic-actions/http-actions/copy-paste-curl"}]},{"group":"Code Actions","pages":[{"title":"Code Actions","href":"/docs/workflows/building-workflows/actions/basic-actions/code-actions"}]}]},{"group":"Interactive Actions","pages":[{"title":"Interactive Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/interactive-actions"},{"title":"Slack Interactivity","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/slack-interactivity"},{"title":"Microsoft Teams Interactivity","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/mst-interactivity"},{"title":"Google Chat Interactivity","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/google-chat-interactivity"},{"title":"Email Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/email-actions"},{"group":"Ask a Question","pages":[{"title":"Ask a Question","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/ask-a-question/ask-a-question"},{"title":"Ask a Question via Slack","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/ask-a-question/ask-a-question-slack"},{"title":"Ask a Question via Email","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/ask-a-question/ask-a-question-email"},{"title":"Ask a Question via Google Chat","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/ask-a-question/ask-a-question-google"},{"title":"Ask a Question via Microsoft Teams","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/ask-a-question/ask-a-question-teams"},{"title":"Ask a Question via Zoom","href":"/docs/workflows/building-workflows/actions/advanced-actions/interactive-actions/ask-a-question/ask-a-question-via-zoom"}]}]},{"group":"Utility Actions","pages":[{"title":"Array Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/array-utilities"},{"title":"Cryptographic Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/cryptographic-utilities"},{"title":"Data Conversions Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/data_conversions-utilities"},{"title":"Extraction Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/data_extraction-utilities"},{"title":"Date-Time Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/date_time-utilities"},{"title":"File Actions","href":"/docs/workflows/building-workflows/actions/utility-actions/file_system-utilities"},{"title":"JSON Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/json-utilities"},{"title":"Miscellaneous Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/miscellaneous-utilities"},{"title":"Network Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/network-utilities"},{"title":"SMB Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/smb-utilities"},{"title":"String Utilities","href":"/docs/workflows/building-workflows/actions/utility-actions/string-utilities"}]},{"group":"Advanced Actions","pages":[{"group":"Database Actions","pages":[{"title":"CLI Actions","href":"/docs/workflows/building-workflows/actions/utility-actions/cli-actions"},{"title":"Run Database Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/database-actions/db-actions"},{"title":"LDAP Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/database-actions/ldap-actions"},{"title":"Steampipe Report Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/database-actions/steampipe-report-actions"},{"title":"Run Container Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/database-actions/run-container-actions"},{"title":"Run SSH Action","href":"/docs/workflows/building-workflows/actions/advanced-actions/database-actions/run-ssh-action"}]},{"group":"Custom Actions","pages":[{"title":"Custom Actions","href":"/docs/workflows/building-workflows/actions/custom-actions"}]},{"group":"Query Actions","pages":[{"title":"Run Cloud Query Actions","href":"/docs/workflows/building-workflows/actions/advanced-actions/query-actions"}]}]}]},{"group":"Builder Copilot","pages":[{"title":"About Builder Copilot","href":"/docs/builder-copilot/builder-copilot"},{"title":"Step Output Transformation","href":"/docs/builder-copilot/transform-data-output"},{"title":"Builder Copilot Limitations","href":"/docs/builder-copilot/limitations"}]},{"group":"Connections","pages":[{"title":"About Connections","href":"/docs/workflows/building-workflows/connections/connections"},{"title":"Creating a New Connection","href":"/docs/workflows/building-workflows/connections/creating-connection"},{"title":"Sharing a Connection","href":"/docs/workflows/building-workflows/connections/sharing-connection"},{"title":"Dynamic Connections","href":"/docs/workflows/building-workflows/connections/dynamic-connection"},{"title":"Connecting to an On-Premises App","description":"Connect Blink workflows to on-premises systems and private networks using self-hosted runners.","href":"/docs/workflows/building-workflows/connections/connecting-on-premises"}]},{"group":"Variables","pages":[{"group":"Variables Types","pages":[{"title":"Dynamic Variables","href":"/docs/workflows/building-workflows/dynamic-variables/variable-picker"},{"title":"Global Variables","description":"Define global variables once and reuse them across multiple workflows in your Blink workspace.","href":"/docs/workflows/building-workflows/dynamic-variables/global-variables"}]},{"group":"Expression Language","pages":[{"title":"Dynamic Variable Syntax","href":"/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-variables"},{"title":"Functions","href":"/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-functions"},{"title":"Operators and Literals","href":"/docs/workflows/building-workflows/dynamic-variables/expression-language/workflow-engine-operators"}]}]},{"group":"Files","pages":[{"title":"Using Files in Workflows","href":"/docs/workflows/building-workflows/files"}]},{"group":"Templates","pages":[{"title":"About Templates","href":"/docs/workflows/templates/templates"},{"title":"Using Workflow Templates for Users Without a Blink Account","href":"/docs/workflows/templates/using-template-new-user"},{"title":"Using Workflow Templates as an Existing Blink User","href":"/docs/workflows/templates/using-template"}]},{"group":"Publishing Workflows","pages":[{"title":"About Approving and Publishing Workflows","href":"/docs/workflows/managing-workflows/publish-approval/publish-approval"},{"title":"Controlling the Availability of a Published Workflow","href":"/docs/workflows/managing-workflows/draft-published"},{"title":"Publish Approval as the Builder","href":"/docs/workflows/managing-workflows/publish-approval/publish-approval-builder"},{"title":"Publish Approval as the Workspace Owner","href":"/docs/workflows/managing-workflows/publish-approval/publish-approval-owner"}]},{"group":"Error Handling and Debugging","pages":[{"title":"About Error Handling","href":"/docs/workflows/building-workflows/error-handling/error-handling"},{"title":"Workflow YAML","href":"/docs/workflows/building-workflows/workflow-yaml"},{"title":"Action Error References","href":"/docs/workflows/building-workflows/error-handling/error"},{"title":"Run Workflow on Workflow Failure","href":"/docs/workflows/building-workflows/error-handling/run-error"},{"title":"Workflow Run Logs","href":"/docs/workflows/debugging-workflows/workflow-run-logs"}]},{"group":"Workflow Management","pages":[{"title":"The Workflow Overview Page","href":"/docs/workflows/managing-workflows/workflow-overview-page"},{"title":"Move or Copy Workflows Between Workspaces","href":"/docs/workflows/workflow-packs/pack-options/move-or-copy-workflows"},{"title":"Monitoring Workflows Health","href":"/docs/workflows/monitoring-workflows-health"},{"title":"Workflow Version History","href":"/docs/workflows/managing-workflows/workflow-version-history"}]},{"group":"Packs","pages":[{"title":"About Workflow Packs","href":"/docs/workflows/workflow-packs/workflow-packs"},{"title":"Pack Options","href":"/docs/workflows/workflow-packs/pack-options/pack-options"},{"title":"Pack Management","href":"/docs/workflows/workflow-packs/pack-management"},{"title":"Sharing Packs","href":"/docs/workflows/workflow-packs/pack-options/sharing-packs"},{"title":"Move or Copy Packs Between Workspaces","href":"/docs/workflows/workflow-packs/pack-options/copy-moving-packs"},{"title":"Deploy Pack to Workspace(s)","href":"/docs/workflows/workflow-packs/pack-options/deploy-pack"}]}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/docs/blink-platform/blink-platform"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/docs/integrations/integrations"}]},{"tab":"Case Management","pages":[{"title":"Case Management","href":"/docs/case-management/case-management"}]}]},"basePath":"","title":"Dynamic Variables - BlinkOps Documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Bpq2Z6jK.js","DynamicMarkdown-D5M2At0B.js","zoom-image-lightbox-DL4wrF0w.js","lightbox-handle-r17bVUz3.js"]}