Datamapper provides storage within Switchboard for remembering cross-system references to different entities.
Documentation
Video Guide
The Datamapper can be thought of as a key-value store for cross-system references. This can be useful for long running workflows that need to handle both creating and updating across external systems.
Imagine you are managing an ecommerce integration into an ERP system. You have a workflow that creates a new product in
the ERP system, and then updates the product with additional information from the ecommerce system when those updates
happen at a later date.If Switchboard isn’t aware of what products are the same product across both systems - how can it know which product to
update? This is where the datamapper comes in.
The Datamapper has two modes - Check and Put. The Check mode is used to check if a reference exists in the
Datamapper storage. The Put mode is used to store a new reference in the Datamapper.If in Check mode - the Datamapper has two outputs - one for if the reference exists, and one for when it doesn’t:
Multiple outputs if reference exists
If in Put mode - the Datamapper has one output - this is to allow the flow to carry on after creating the reference.
The Key is typically the source system’s ID for the entity to be saved.App Version should be defined as something unique to your organisation - for example: ecommerce-app.v1. This allows
this reference to also be used across other boards in your integration - if this app is used elsewhere.Kind should be the type of entity being saved - for example: product. This allows you to save references for
multiple types of entities in the same Datamapper app version.Value From - this is the actual value from your board data that you wish to save a reference for. This could be a
field from a previous action, or a value from a previous step in your workflow. Typically this will be an ID.
The Value is only available to set in Put mode - seeing as we are creating a new reference in the Datamapper.The configuration for Value is the same as Key - this is the partner stored against the key and will typically be
the ID of your entity in your target system.For example, App Version might be erp-app.v1, Kind might be Item, and Value From might be the ID of the Item
in your ERP system.
This allows you to use the saved values in further selectors also.
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Versori User Documentation","colors":{"primary":"#6EB0D8","light":"#6EB0D8","dark":"#6EB0D8"},"logo":{"light":"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo-wordmark.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=be10819ca139d000a6edaef35334c0af","dark":"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=1568a99dadb6fa8dfc83009eba877497"},"favicon":"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=1765cb3e4363526dd85cf7c576a8f68f","api":{"openapi":["openapi/connect-api-v1.yaml","openapi/embedded-api-v1.yaml","openapi/organisations-api-v1.yaml","openapi/switchboard-api-v1alpha1.yaml","openapi/platform-api.yaml"],"playground":{"display":"interactive","proxy":false},"mdx":{"auth":{"method":"bearer","name":"Authorization"},"server":["https://platform.versori.com/api"]}},"background":{"decoration":"gradient","color":{"light":"#ffffff","dark":"#151919"}},"search":{"prompt":"Search the docs..."},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"versori","hasAudioNarration":false,"actualSubdomain":"versori","customDomains":["docs.versori.com"],"gitSource":{"type":"github","owner":"versori","repo":"user-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad09d9413e5d952c6a7407c","collectionId":"314b2d25-0631-41c2-aeae-fdf8104d942c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad09d9413e5d952c6a7407c"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad09d9413e5d952c6a7407c","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":525},{"language":"default","tag":"Platform API","count":115},{"language":"default","tag":"Switchboard API","count":82},{"language":"default","tag":"Endpoints","count":62},{"language":"default","tag":"Connect API","count":41},{"language":"default","tag":"Organisations API","count":38},{"language":"default","tag":"Documentation","count":32},{"language":"default","tag":"projects","count":32},{"language":"default","tag":"User Guide","count":31},{"language":"default","tag":"CLI","count":27}]},"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":true},"customCss":[{"filePath":"style.css","content":"#content-area.max-w-xl{max-width:64rem}.whitespace-pre-line{white-space:unset}"}],"page":{"pagePath":"legacy/switchboard/features/actions/datamapper","slug":"/legacy/switchboard/features/actions/datamapper","pageMetadata":{"title":"Datamapper","description":"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.","href":"/legacy/switchboard/features/actions/datamapper"},"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: \"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.\"\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedFrame,OptimizedImage,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(Tabs,{children:[_jsxs(Tab,{title:`Documentation`,id:`documentation`,\"data-child-heading-ids\":`[\"use-cases\",\"how-it-works\",\"configuration\",\"key\",\"value\",\"using-datamapper-with-selectors\"]`,children:[_jsx(_components.p,{children:`The Datamapper can be thought of as a key-value store for cross-system references. This can be useful for long running workflows that need to handle both creating and updating across external systems.`}),_jsx(Heading,{level:`3`,id:`use-cases`,children:`Use Cases`}),_jsx(_components.p,{children:`Imagine you are managing an ecommerce integration into an ERP system. You have a workflow that creates a new product in\nthe ERP system, and then updates the product with additional information from the ecommerce system when those updates\nhappen at a later date.`}),_jsx(_components.p,{children:`If Switchboard isn’t aware of what products are the same product across both systems - how can it know which product to\nupdate? This is where the datamapper comes in.`}),_jsx(Heading,{level:`3`,id:`how-it-works`,children:`How it Works`}),_jsxs(_components.p,{children:[`The Datamapper has two modes - `,_jsx(_components.code,{children:`Check`}),` and `,_jsx(_components.code,{children:`Put`}),`. The `,_jsx(_components.code,{children:`Check`}),` mode is used to check if a reference exists in the\nDatamapper storage. The `,_jsx(_components.code,{children:`Put`}),` mode is used to store a new reference in the Datamapper.`]}),_jsxs(_components.p,{children:[`If in `,_jsx(_components.code,{children:`Check`}),` mode - the Datamapper has two outputs - one for if the reference exists, and one for when it doesn’t:`]}),_jsx(Frame,{caption:`Multiple outputs if reference exists`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/actions/datamapper/datamapper-twooutputs.png`})}),_jsxs(_components.p,{children:[`If in `,_jsx(_components.code,{children:`Put`}),` mode - the Datamapper has one output - this is to allow the flow to carry on after creating the reference.`]}),_jsx(Heading,{level:`3`,id:`configuration`,children:`Configuration`}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Value Type`}),` is the expected type of value to be saved.`]}),_jsxs(_components.p,{children:[`A single saved reference in the Datamapper consists of a `,_jsx(_components.code,{children:`Key`}),` and a `,_jsx(_components.code,{children:`Value`}),`.`]}),_jsx(Heading,{level:`4`,id:`key`,children:`Key`}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`Key`}),` is typically the source system’s ID for the entity to be saved.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`App Version`}),` should be defined as something unique to your organisation - for example: `,_jsx(_components.code,{children:`ecommerce-app.v1`}),`. This allows\nthis reference to also be used across other boards in your integration - if this app is used elsewhere.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Kind`}),` should be the type of entity being saved - for example: `,_jsx(_components.code,{children:`product`}),`. This allows you to save references for\nmultiple types of entities in the same Datamapper app version.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Value From`}),` - this is the actual value from your board data that you wish to save a reference for. This could be a\nfield from a previous action, or a value from a previous step in your workflow. Typically this will be an ID.`]}),` `,_jsx(Frame,{caption:`Key configuration form`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/actions/datamapper/datamapper-key.png`})}),_jsx(Heading,{level:`4`,id:`value`,children:`Value`}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`Value`}),` is only available to set in `,_jsx(_components.code,{children:`Put`}),` mode - seeing as we are creating a new reference in the Datamapper.`]}),_jsxs(_components.p,{children:[`The configuration for `,_jsx(_components.code,{children:`Value`}),` is the same as `,_jsx(_components.code,{children:`Key`}),` - this is the partner stored against the key and will typically be\nthe ID of your entity in your target system.`]}),_jsxs(_components.p,{children:[`For example, `,_jsx(_components.code,{children:`App Version`}),` might be `,_jsx(_components.code,{children:`erp-app.v1`}),`, `,_jsx(_components.code,{children:`Kind`}),` might be `,_jsx(_components.code,{children:`Item`}),`, and `,_jsx(_components.code,{children:`Value From`}),` might be the ID of the `,_jsx(_components.code,{children:`Item`}),`\nin your ERP system.`]}),` `,_jsx(Frame,{caption:`Value configuration form`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/actions/datamapper/datamapper-put-mode.png`})}),_jsx(Heading,{level:`3`,id:`using-datamapper-with-selectors`,children:`Using Datamapper with Selectors`}),_jsx(_components.p,{children:`The output of the data mapper will be on object in the form of:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"appVersion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"kind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`(Selected`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` Value)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"appVersion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"kind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`(Value`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` Type)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(_components.p,{children:`This allows you to use the saved values in further selectors also.`})]}),_jsx(Tab,{title:`Video Guide`,id:`video-guide`,children:_jsx(OptimizedFrame,{width:`100%`,height:`407`,src:`https://www.youtube.com/embed/RNv1Rk8nGuM?si=l3YSu9sAakOvr_ym`,title:`YouTube video player`,frameborder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowfullscreen:true})})]})}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":"Datamapper","description":"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.","href":"/legacy/switchboard/features/actions/datamapper"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Use Cases","slug":"use-cases","depth":3,"children":[],"tabId":"documentation"},{"title":"How it Works","slug":"how-it-works","depth":3,"children":[],"tabId":"documentation"},{"title":"Configuration","slug":"configuration","depth":3,"children":[],"tabId":"documentation"},{"title":"Key","slug":"key","depth":4,"children":[],"tabId":"documentation"},{"title":"Value","slug":"value","depth":4,"children":[],"tabId":"documentation"},{"title":"Using Datamapper with Selectors","slug":"using-datamapper-with-selectors","depth":3,"children":[],"tabId":"documentation"}],"codeExamples":{}},"jsLinks":[],"subdomain":"versori","siteName":"Versori User Documentation","title":"Datamapper - Versori User Documentation","navMaps":{"firstHrefInVersion":{"Latest":{"href":"/latest/home","matchLevel":4},"Legacy":{"href":"/legacy/switchboard/features/actions/datamapper","matchLevel":0},"v2":{"href":"/v2/introduction","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-01-23T11:43:56.294Z","originalFileLocation":"legacy/switchboard/features/actions/datamapper.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=\"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Versori User 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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Datamapper - Versori User Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Versori User Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://versori.mintlify.app/_mintlify/api/og/v2?division=Actions\u0026amp;title=Datamapper\u0026amp;description=Datamapper+provides+storage+within+Switchboard+for+remembering+cross-system+references+to+different+entities.\u0026amp;theme=1ac70f2532992ffb34bd6aef\u0026amp;signature=1db588aad8d6588bc8c3c3aeb34b94220ba0bcff8119f1917db976b723276757\">\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=\"Datamapper - Versori User Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://versori.mintlify.app/_mintlify/api/og/v2?division=Actions\u0026amp;title=Datamapper\u0026amp;description=Datamapper+provides+storage+within+Switchboard+for+remembering+cross-system+references+to+different+entities.\u0026amp;theme=1ac70f2532992ffb34bd6aef\u0026amp;signature=1db588aad8d6588bc8c3c3aeb34b94220ba0bcff8119f1917db976b723276757\">\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/versori/JHvcKEOb4limbJz2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Versori User Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6EB0D8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/legacy/switchboard/features/actions/datamapper.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.versori.com/#organization\",\"name\":\"Versori User Documentation\",\"url\":\"https://docs.versori.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo-wordmark.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=be10819ca139d000a6edaef35334c0af\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.versori.com#website\",\"name\":\"Versori User Documentation\",\"url\":\"https://docs.versori.com\",\"publisher\":{\"@id\":\"https://docs.versori.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper#webpage\",\"url\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper\",\"name\":\"Datamapper\",\"description\":\"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.\",\"dateModified\":\"2026-01-23T11:43:56.294Z\",\"isPartOf\":{\"@id\":\"https://docs.versori.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.versori.com/legacy/switchboard/features/apps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Actions\",\"item\":\"https://docs.versori.com/legacy/switchboard/features/actions/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Datamapper\",\"item\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper#article\",\"headline\":\"Datamapper\",\"name\":\"Datamapper\",\"description\":\"Datamapper provides storage within Switchboard for remembering cross-system references to different entities.\",\"url\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper\",\"mainEntityOfPage\":{\"@id\":\"https://docs.versori.com/legacy/switchboard/features/actions/datamapper#webpage\"},\"dateModified\":\"2026-01-23T11:43:56.294Z\",\"publisher\":{\"@id\":\"https://docs.versori.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.versori.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Versori User Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Versori User Documentation","nav":{"global":null,"versions":[{"version":"Latest","pages":[{"title":"Latest","href":"/latest/home"}]},{"version":"Legacy","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/legacy/welcome"}]},{"tab":"Integrate","pages":[{"title":"Integrate","href":"/legacy/integrate/intro"}]},{"tab":"Embedded","pages":[{"title":"Embedded","href":"/legacy/embedded/intro"}]},{"tab":"Switchboard (old)","anchors":[{"anchor":"Documentation","groups":[{"group":"Home","pages":[{"title":"Introduction","href":"/legacy/switchboard/introduction"}]},{"group":"Concepts","pages":[{"title":"Introduction","href":"/legacy/switchboard/introduction"},{"title":"Core Concepts","href":"/legacy/switchboard/core-concepts"}]},{"group":"Features","pages":[{"title":"Apps","href":"/legacy/switchboard/features/apps"},{"title":"Boards","href":"/legacy/switchboard/features/boards"},{"title":"Board Editor","href":"/legacy/switchboard/features/board-editor"},{"title":"Hubs SDK","href":"/legacy/switchboard/features/hubs-sdk"},{"group":"Actions","pages":[{"title":"Overview","href":"/legacy/switchboard/features/actions/overview"},{"title":"Transformer","href":"/legacy/switchboard/features/actions/transformer"},{"title":"Databuilder","href":"/legacy/switchboard/features/actions/databuilder"},{"title":"Filter","description":"The filter action allows you to filter the resulting data based on a series of conditions.","href":"/legacy/switchboard/features/actions/filter"},{"title":"Datamapper","href":"/legacy/switchboard/features/actions/datamapper"},{"title":"Batch","description":"The Batch action allows you to aggregate requests into a single output format.","href":"/legacy/switchboard/features/actions/batch"},{"title":"Delay","href":"/legacy/switchboard/features/actions/delay"},{"title":"Splitter","href":"/legacy/switchboard/features/actions/splitter"},{"title":"Trigger","href":"/legacy/switchboard/features/actions/trigger"}]}]},{"group":"How-to Guides","pages":[{"group":"Apps","pages":[{"group":"Onboarding Apps","pages":[{"title":"Onboard a REST API","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api"},{"title":"Onboard a GraphQL API","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/graphql-api"},{"title":"Onboard an SQL App","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/sql-app"}]}]},{"title":"How to create a Board, an use the Board Editor","href":"/legacy/switchboard/how-to-guides/create-a-board"},{"title":"How to Connect to your Apps","href":"/legacy/switchboard/how-to-guides/connect-to-an-app"},{"title":"How to add a Webhook Listener into your Integration","href":"/legacy/switchboard/how-to-guides/adding-a-webhook"},{"title":"How to use Selectors to template data within your Integrations","href":"/legacy/switchboard/how-to-guides/using-selectors"},{"title":"How to use the Versori Hubs SDK","href":"/legacy/switchboard/how-to-guides/using-the-hubs-sdk"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/legacy/api-reference/authentication"}]}]},{"version":"v2","pages":[{"title":"v2","href":"/v2/introduction"}]}]},"basePath":"","title":"Datamapper - Versori User 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"]}