These docs cover the Data Engine only. The legacy Graph Engine, which is still the engine running customer transformations in production today, is not documented here and is slated for removal.
The Data Engine is Twine’s transformation engine. It lets you describe how a value should be derived from other values using a directed acyclic graph (DAG) of typed nodes connected through input and output ports. Most customer-defined transformations on Twine - whether mapping a field from a source system into Twine, computing a derived value, or producing the final value sent to a target system - are built as Data Engine graphs.The Data Engine is the successor to Twine’s legacy graph engine. It was designed from the ground up around two ideas the legacy engine handles poorly: nodes with multiple, named ports, and dated properties as a first-class kind of value flowing through the graph.For orchestration - running multi-step processes with side effects across source and target systems - see the Flow Engine. The Flow Engine uses Data Engine graphs internally for its transformation steps, so the two fit together naturally.
Before diving into the node reference, read the two concept pages:
Ports explains the model that all nodes share - in particular, why a node like add has both default_in and named inputs x/y, how the engine resolves which value a node actually operates on at runtime, and how the type system works. Most “the node didn’t do what I expected” surprises trace back to the input resolution rule.
Graph execution explains how a graph runs from its root to its end nodes, what happens when execution branches at a switch, and how end nodes behave differently inside an each loop subgraph.
The rest of this section is a reference for every node currently available in the Data Engine, grouped by category. Each node has its own page describing what it does, the ports it exposes, and any configuration it accepts. The category groups appear in the sidebar to the left.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Twine Integrations","colors":{"primary":"#7600ff","light":"#ad66ff","dark":"#7600ff"},"logo":{"light":"https://mintcdn.com/entwineab/W0WCY-b2dvTokvLn/logo/light.svg?fit=max\u0026auto=format\u0026n=W0WCY-b2dvTokvLn\u0026q=85\u0026s=7e70d0ec35e8816f98a512eafa2ad35b","dark":"https://mintcdn.com/entwineab/W0WCY-b2dvTokvLn/logo/dark.svg?fit=max\u0026auto=format\u0026n=W0WCY-b2dvTokvLn\u0026q=85\u0026s=bcf15f923005d67de257a74c061db962"},"favicon":"https://mintcdn.com/entwineab/OPi-j2jbIEGoK6fy/favicon.svg?fit=max\u0026auto=format\u0026n=OPi-j2jbIEGoK6fy\u0026q=85\u0026s=190facce372d84ae3de157af3da0688e","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"},{"href":"https://app-stage.twine.se","label":"Stage"}],"primary":{"type":"button","label":"App","href":"https://app.twine.se"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"twine.se","icon":"globe","href":"https://www.twine.se"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"entwineab","hasAudioNarration":false,"actualSubdomain":"entwineab","customDomains":["docs.twine.se"],"gitSource":{"type":"github","owner":"twine-se","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6acf668b4788a74327b72032","collectionId":"027bd1b7-2940-449a-bfcf-f8ccfca1f9a2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6acf668b4788a74327b72032"},"entitlements":{},"buildId":"6acf668b4788a74327b72032","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":149},{"language":"default","tag":"Data Engine","count":86},{"language":"default","tag":"Integrations","count":72},{"language":"default","tag":"Flow Engine","count":41},{"language":"default","tag":"Platform","count":33},{"language":"default","tag":"Assigns","count":28},{"language":"default","tag":"Flow Control","count":19},{"language":"default","tag":"Transformation","count":19},{"language":"default","tag":"Changelog","count":18},{"language":"default","tag":"HRIS","count":14}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"data-engine","slug":"/data-engine","pageMetadata":{"title":"Data Engine","description":"Twine's DAG-based data transformation engine","href":"/data-engine/index"},"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: \"Twine’s DAG-based data transformation engine\"\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`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[`These docs cover the `,_jsx(_components.strong,{children:`Data Engine`}),` only. The legacy `,_jsx(_components.strong,{children:`Graph Engine`}),`, which is still the engine running customer transformations in production today, is not documented here and is slated for removal.`]})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Data Engine`}),` is Twine’s transformation engine. It lets you describe how a value should be derived from other values using a directed acyclic graph (DAG) of typed nodes connected through input and output ports. Most customer-defined transformations on Twine - whether mapping a field from a source system into Twine, computing a derived value, or producing the final value sent to a target system - are built as Data Engine graphs.`]}),`\n`,_jsx(_components.p,{children:`The Data Engine is the successor to Twine’s legacy graph engine. It was designed from the ground up around two ideas the legacy engine handles poorly: nodes with multiple, named ports, and dated properties as a first-class kind of value flowing through the graph.`}),`\n`,_jsxs(_components.p,{children:[`For orchestration - running multi-step processes with side effects across source and target systems - see the `,_jsx(_components.a,{href:`/flow-engine`,children:`Flow Engine`}),`. The Flow Engine uses Data Engine graphs internally for its transformation steps, so the two fit together naturally.`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-to-start`,children:`Where to start`}),`\n`,_jsx(_components.p,{children:`Before diving into the node reference, read the two concept pages:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data-engine/concepts/ports`,children:`Ports`}),` explains the model that all nodes share - in particular, why a node like `,_jsx(_components.a,{href:`/data-engine/arithmetic/add`,children:_jsx(_components.code,{children:`add`})}),` has both `,_jsx(_components.code,{children:`default_in`}),` and named inputs `,_jsx(_components.code,{children:`x`}),`/`,_jsx(_components.code,{children:`y`}),`, how the engine resolves which value a node actually operates on at runtime, and how the type system works. Most “the node didn’t do what I expected” surprises trace back to the input resolution rule.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data-engine/concepts/execution`,children:`Graph execution`}),` explains how a graph runs from its root to its end nodes, what happens when execution branches at a `,_jsx(_components.code,{children:`switch`}),`, and how end nodes behave differently inside an `,_jsx(_components.code,{children:`each`}),` loop subgraph.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`node-reference`,children:`Node reference`}),`\n`,_jsx(_components.p,{children:`The rest of this section is a reference for every node currently available in the Data Engine, grouped by category. Each node has its own page describing what it does, the ports it exposes, and any configuration it accepts. The category groups appear in the sidebar to the left.`})]})}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":"Data Engine","description":"Twine's DAG-based data transformation engine","href":"/data-engine/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Where to start","slug":"where-to-start","depth":2,"children":[]},{"title":"Node reference","slug":"node-reference","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"entwineab","siteName":"Twine Integrations","title":"Data Engine - Twine Integrations","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-01T11:46:22.364Z","originalFileLocation":"data-engine/index.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=\"Twine\u0026#x27;s DAG-based data transformation engine\">\u003cmeta data-mint-head name=\"application-name\" content=\"Twine Integrations\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_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/entwineab/8LV-a3cLiAT4An4I/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Data Engine - Twine Integrations\">\u003cmeta data-mint-head property=\"og:description\" content=\"Twine\u0026#x27;s DAG-based data transformation engine\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Twine Integrations\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.twine.se/data-engine\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://entwineab.mintlify.app/_mintlify/api/og/v2?division=Data+Engine\u0026amp;title=Data+Engine\u0026amp;description=Twine%27s+DAG-based+data+transformation+engine\u0026amp;theme=30a0ce2375f0bc6afd332c94\u0026amp;signature=4027994ab586c5cba816fd334043d19b5991d0f531b92e4eb32a3c74a34532b1\">\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=\"Data Engine - Twine Integrations\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Twine\u0026#x27;s DAG-based data transformation engine\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://entwineab.mintlify.app/_mintlify/api/og/v2?division=Data+Engine\u0026amp;title=Data+Engine\u0026amp;description=Twine%27s+DAG-based+data+transformation+engine\u0026amp;theme=30a0ce2375f0bc6afd332c94\u0026amp;signature=4027994ab586c5cba816fd334043d19b5991d0f531b92e4eb32a3c74a34532b1\">\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/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Twine Integrations\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7600ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.twine.se/data-engine\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/data-engine.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.twine.se/#organization\",\"name\":\"Twine Integrations\",\"url\":\"https://docs.twine.se\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/entwineab/W0WCY-b2dvTokvLn/logo/light.svg?fit=max\u0026auto=format\u0026n=W0WCY-b2dvTokvLn\u0026q=85\u0026s=7e70d0ec35e8816f98a512eafa2ad35b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.twine.se#website\",\"name\":\"Twine Integrations\",\"url\":\"https://docs.twine.se\",\"publisher\":{\"@id\":\"https://docs.twine.se/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.twine.se/data-engine#webpage\",\"url\":\"https://docs.twine.se/data-engine\",\"name\":\"Data Engine\",\"description\":\"Twine's DAG-based data transformation engine\",\"dateModified\":\"2026-05-01T11:46:22.364Z\",\"isPartOf\":{\"@id\":\"https://docs.twine.se#website\"},\"breadcrumb\":{\"@id\":\"https://docs.twine.se/data-engine#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.twine.se/data-engine#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data Engine\",\"item\":\"https://docs.twine.se/data-engine/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Engine\",\"item\":\"https://docs.twine.se/data-engine\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.twine.se/data-engine#article\",\"headline\":\"Data Engine\",\"name\":\"Data Engine\",\"description\":\"Twine's DAG-based data transformation engine\",\"url\":\"https://docs.twine.se/data-engine\",\"mainEntityOfPage\":{\"@id\":\"https://docs.twine.se/data-engine#webpage\"},\"dateModified\":\"2026-05-01T11:46:22.364Z\",\"publisher\":{\"@id\":\"https://docs.twine.se/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.twine.se#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Twine Integrations\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Twine Integrations","nav":{"global":{"anchors":[{"anchor":"twine.se","icon":"globe","href":"https://www.twine.se"}]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/overview"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/platform"}]},{"tab":"Backoffice","pages":[{"title":"Backoffice","href":"/backoffice"}]},{"tab":"Flow Engine","pages":[{"title":"Flow Engine","href":"/flow-engine"}]},{"tab":"Data Engine","groups":[{"group":"Data Engine","pages":[{"title":"Data Engine","href":"/data-engine"}]},{"group":"Concepts","pages":[{"title":"Ports","description":"How values enter and leave Data Engine nodes","href":"/data-engine/concepts/ports"},{"title":"Graph execution","href":"/data-engine/concepts/execution"}]},{"group":"Flow Control","pages":[{"title":"Abort","href":"/data-engine/flow-control/abort"},{"title":"Branch","href":"/data-engine/flow-control/branch"},{"title":"Each","href":"/data-engine/flow-control/each"},{"title":"End","href":"/data-engine/flow-control/end"},{"title":"Flow Reference","href":"/data-engine/flow-control/flow_reference"},{"title":"Ident","href":"/data-engine/flow-control/ident"},{"title":"Raw Each","href":"/data-engine/flow-control/raw_each"},{"title":"Root","href":"/data-engine/flow-control/root"},{"title":"Skip","href":"/data-engine/flow-control/skip"},{"title":"Switch","href":"/data-engine/flow-control/switch"}]},{"group":"Arithmetic","pages":[{"title":"Add","href":"/data-engine/arithmetic/add"},{"title":"Divide","href":"/data-engine/arithmetic/divide"},{"title":"Multiply","href":"/data-engine/arithmetic/multiply"},{"title":"Subtract","href":"/data-engine/arithmetic/subtract"}]},{"group":"Timeline","pages":[{"title":"Aggregate","href":"/data-engine/timeline/aggregate"},{"title":"At Moment","href":"/data-engine/timeline/at_moment"},{"title":"Coalesce","href":"/data-engine/timeline/coalesce"},{"title":"Fold","href":"/data-engine/timeline/fold"},{"title":"Limit To Employment","href":"/data-engine/timeline/limit_to_employment"},{"title":"Merge IDs","href":"/data-engine/timeline/merge_ids"},{"title":"Slice From","href":"/data-engine/timeline/slice_from"},{"title":"Timeline Concat","href":"/data-engine/timeline/timeline_concat"},{"title":"Timeline Sort","href":"/data-engine/timeline/timeline_sort"},{"title":"Timeline Uniq","href":"/data-engine/timeline/timeline_uniq"},{"title":"Union Valid From","href":"/data-engine/timeline/union_valid_from"}]},{"group":"Diagnostics","pages":[{"title":"Anomaly","href":"/data-engine/diagnostics/anomaly"}]},{"group":"Guard","pages":[{"title":"Any","href":"/data-engine/guard/any"},{"title":"Assert","href":"/data-engine/guard/assert"},{"title":"Refute","href":"/data-engine/guard/refute"}]},{"group":"Assigns","pages":[{"title":"Assign Put","href":"/data-engine/assigns/assign_put"},{"title":"Assign Read","href":"/data-engine/assigns/assign_read"},{"title":"Attribute","href":"/data-engine/assigns/attribute"},{"title":"Constant","href":"/data-engine/assigns/const"},{"title":"Default","href":"/data-engine/assigns/default"},{"title":"Extract","href":"/data-engine/assigns/extract"},{"title":"Get Variable","href":"/data-engine/assigns/get_variable"},{"title":"Meta","href":"/data-engine/assigns/meta"},{"title":"Organization Property Read","href":"/data-engine/assigns/organization_property_read"},{"title":"Raw Attribute","href":"/data-engine/assigns/raw_attribute"},{"title":"Raw Read","href":"/data-engine/assigns/raw_read"},{"title":"Set Variable","href":"/data-engine/assigns/set_variable"},{"title":"Wrap Raw","href":"/data-engine/assigns/wrap_raw"}]},{"group":"List","pages":[{"title":"At Index","href":"/data-engine/list/at_index"},{"title":"Filter","href":"/data-engine/list/filter"},{"title":"List Append","href":"/data-engine/list/list_append"},{"title":"List Length","href":"/data-engine/list/list_length"},{"title":"List Max","href":"/data-engine/list/list_max"},{"title":"List Min","href":"/data-engine/list/list_min"},{"title":"Sort","href":"/data-engine/list/sort"},{"title":"Uniq","href":"/data-engine/list/uniq"}]},{"group":"Transformation","pages":[{"title":"Compose String","href":"/data-engine/transformation/compose_string"},{"title":"Converter","href":"/data-engine/transformation/converter"},{"title":"Expression","href":"/data-engine/transformation/expression"},{"title":"Mapping","href":"/data-engine/transformation/mapping"},{"title":"Metadata Mapping","href":"/data-engine/transformation/metadata_mapping"},{"title":"Regex Capture","href":"/data-engine/transformation/regex_capture"},{"title":"Regex Replace","href":"/data-engine/transformation/regex_replace"},{"title":"To Boolean","href":"/data-engine/transformation/to_boolean"},{"title":"To Date","href":"/data-engine/transformation/to_date"},{"title":"To DateTime","href":"/data-engine/transformation/to_date_time"},{"title":"To Float","href":"/data-engine/transformation/to_float"},{"title":"To Integer","href":"/data-engine/transformation/to_integer"},{"title":"To String","href":"/data-engine/transformation/to_string"},{"title":"Unpack","href":"/data-engine/transformation/unpack"},{"title":"Update","href":"/data-engine/transformation/update"}]},{"group":"Date","pages":[{"title":"Date End Of","href":"/data-engine/date/date_end_of"},{"title":"Date Parts","href":"/data-engine/date/date_parts"},{"title":"Date Range","href":"/data-engine/date/date_range"},{"title":"Split Date Range","href":"/data-engine/date/date_range_split"},{"title":"Date Set","href":"/data-engine/date/date_set"},{"title":"Date Shift","href":"/data-engine/date/date_shift"},{"title":"Date Start Of","href":"/data-engine/date/date_start_of"},{"title":"DateTime Now","href":"/data-engine/date/date_time_now"},{"title":"Date Today","href":"/data-engine/date/date_today"}]},{"group":"Test","pages":[{"title":"Equals","href":"/data-engine/test/equals"},{"title":"Greater Than","href":"/data-engine/test/gt"},{"title":"Greater Than or Equal","href":"/data-engine/test/gte"},{"title":"In List","href":"/data-engine/test/list_in"},{"title":"Less Than","href":"/data-engine/test/lt"},{"title":"Less Than or Equal","href":"/data-engine/test/lte"},{"title":"Match","href":"/data-engine/test/match"},{"title":"Validate","href":"/data-engine/test/validator"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"title":"Data Engine - Twine Integrations","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}