Files
langflow/data-types.html
github-merge-queue[bot] 857bb65fba deploy: 607cadfe17
2025-07-17 16:44:24 +00:00

174 lines
60 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-Concepts/data-types" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.8.1">
<title data-rh="true">Langflow data types | Langflow Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.langflow.org/data-types"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Langflow data types | Langflow Documentation"><meta data-rh="true" name="description" content="Langflow components are designed to accept and produce specific types of inputs and outputs."><meta data-rh="true" property="og:description" content="Langflow components are designed to accept and produce specific types of inputs and outputs."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/data-types"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/data-types" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/data-types" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://UZK6BDPCVY-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Langflow data types","item":"https://docs.langflow.org/data-types"}]}</script><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SLQFLQ3KPT"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-SLQFLQ3KPT",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Langflow Documentation" href="/opensearch.xml">
<script>!function(){var e="analytics",t=window[e]=window[e]||[];if(!t.initialize)if(t.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{t.invoked=!0,t.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"],t.factory=function(n){return function(){if(window[e].initialized)return window[e][n].apply(window[e],arguments);var r=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(n)>-1){var i=document.querySelector("link[rel='canonical']");r.push({__t:"bpc",c:i&&i.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}return r.unshift(n),t.push(r),t}};for(var n=0;n<t.methods.length;n++){var r=t.methods[n];t[r]=t.factory(r)}t.load=function(n,r){var i=document.createElement("script");i.type="text/javascript",i.async=!0,i.setAttribute("data-global-segment-analytics-key",e),i.src="https://cdn.segment.com/analytics.js/v1/"+n+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(i,a),t._loadOptions=r},t._writeKey="60AfGDrVxy8nAGJngo3fCYWG4LvhMAlG",t.SNIPPET_VERSION="5.2.0",t.load("60AfGDrVxy8nAGJngo3fCYWG4LvhMAlG"),t.page()}}()</script>
<script>window.__SCROLL_TRACKING_CONFIG__={selectors:[{selector:"h1, h2, h3, h4, h5, h6",eventName:"Docs.langflow.org - Heading Viewed",properties:{element_type:"heading"}},{selector:".ch-codeblock",eventName:"Docs.langflow.org - Codeblock Viewed",properties:{element_type:"code",language:"helper:codeLanguage"}}]}</script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@550;600&amp;display=swap">
<script>!function(){window.semaphore=window.semaphore||[],window.ketch=function(){window.semaphore.push(arguments)};var e=document.createElement("script");e.type="text/javascript",e.src="https://global.ketchcdn.com/web/v3/config/datastax/langflow_org_web/boot.js",e.defer=e.async=!0,document.getElementsByTagName("head")[0].appendChild(e)}()</script>
<script defer="true">!function(){const e=e=>{if(window.gtag&&e.purposes&&"analytics"in e.purposes&&"targeted_advertising"in e.purposes){const n=!0===e.purposes.analytics?"granted":"denied",t=!0===e.purposes.targeted_advertising?"granted":"denied",a={analytics_storage:n,ad_personalization:t,ad_storage:t,ad_user_data:t};window.gtag("consent","update",a)}};window.ketch&&window.ketch("on","consent",e)}()</script><link rel="stylesheet" href="/assets/css/styles.e756ed1e.css">
<script src="/assets/js/runtime~main.b5204e6b.js" defer="defer"></script>
<script src="/assets/js/main.5570ad66.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link" data-event="Docs.langflow.org - Social Clicked" data-platform="github"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link" data-event="Docs.langflow.org - Social Clicked" data-platform="x"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link" data-event="Docs.langflow.org - Social Clicked" data-platform="discord"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd sidebarWithHideableNavbar_wUlq"><a tabindex="-1" class="sidebarLogo_isFc" href="/"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></a><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">Welcome to Langflow</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/about-langflow">Get started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/basic-prompting">Templates</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/concepts-overview">Flows</a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-overview">Use the visual editor</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-flows">Build flows</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-publish">Run flows</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-flows-import">Import and export flows</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-playground">Use the Playground</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-voice-mode">Use voice mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/data-types">Langflow data types</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-file-management">Manage files</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-components">Components</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/agents">Agents</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/mcp-server">Model Context Protocol (MCP)</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/configuration-api-keys">Configuration</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/develop-overview">Develop</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/deployment-overview">Deployment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-reference-api-examples">API reference</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/integrations-apify">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community">Contribute</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/release-notes">Release notes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/troubleshoot">Support</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-ad">
<a href="https://astra.datastax.com/signup?type=langflow" target="_blank" class="menu__link">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"/></svg>
<div class="sidebar-ad-text-container">
<span class="sidebar-ad-text">Use Langflow in the cloud</span>
<span class="sidebar-ad-text sidebar-ad-text-gradient">Sign up for DataStax Langflow</span>
</div>
</a>
</li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Flows</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Langflow data types</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Langflow data types</h1></header><style>[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }</style>
<!-- -->
<p>Langflow components are designed to accept and produce specific types of inputs and outputs.
Input and output data types define the structure and flow of information between components.
Understanding these structures helps you build applications that provide valid input and correctly anticipate the output format.</p>
<p><a href="/concepts-components#component-ports">Component ports</a> represent the data types that each component can send and receive.
Some data types are self-evident from the fields they are attached to; for example, a <strong>System Message</strong> field accepts <a href="#message">message data</a>.
<a href="/concepts-components#port-colors">Port colors</a> also indicate the port&#x27;s data type.
For example <strong>Data</strong> ports, represented by <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Red data port" style="color:#dc2626;fill:#dc2626"><circle cx="12" cy="12" r="10"></circle></svg>, either accept or emit <a href="#data">structured data objects</a>.</p>
<p>When building flows, connect output ports to input ports of the same type (color) to transfer that type of data between two components.</p>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>In the visual editor, hover over a port to see connection details for that port.</p></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="data">Data<a href="#data" class="hash-link" aria-label="Direct link to Data" title="Direct link to Data"></a></h2>
<p><strong>Data</strong> ports <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Red data port" style="color:#dc2626;fill:#dc2626"><circle cx="12" cy="12" r="10"></circle></svg> accept or produce the <code>Data</code> type, which is a structured data object, like a JSON payload that you might send to an API.
This data type is used to pass key-value pairs between components, such as user profiles, settings, or other structured information.</p>
<p><code>Data</code> objects include a primary text field, indicated by a <code>text_key</code>, and additional metadata.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="schema-and-attributes">Schema and attributes<a href="#schema-and-attributes" class="hash-link" aria-label="Direct link to Schema and attributes" title="Direct link to Schema and attributes"></a></h3>
<p>The schema is defined in <a href="https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/data.py" target="_blank" rel="noopener noreferrer"><code>data.py</code></a>.</p>
<p>The following attributes are available:</p>
<ul>
<li><code>data</code>: A dictionary that stores key-value pairs.</li>
<li><code>text_key</code>: The key in <code>data</code> that is considered the primary text value.</li>
<li><code>default_value</code>: Fallback if <code>text_key</code> is missing. The default <code>text_key</code> is <code>&quot;text&quot;</code>.</li>
</ul>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="data-structure">Data structure<a href="#data-structure" class="hash-link" aria-label="Direct link to Data structure" title="Direct link to Data structure"></a></h3>
<p>A <code>Data</code> object stores key-value pairs within the <code>.data</code> attribute, where each key is a field name and its value can be any supported data type. <code>text_key</code> tells Langflow which key in the data dictionary is the primary text value for that object.</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>data_obj = Data(</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> text_key=&quot;text&quot;, # Field 1</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> data={ # Field 2 (the actual dict)</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;Hello world&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;name&quot;: &quot;Charlie&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;age&quot;: 28</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> default_value=&quot;&quot; # Field 3</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>)</span></div></div><br></code></div></div>
<p><code>Data</code> objects can be serialized to JSON, created from JSON, or created from other dictionary data.
However, the resulting <code>Data</code> object is a structured object with validation and methods, not a plain dictionary.</p>
<p>For example, when serialized into JSON, the previous example becomes the following JSON object:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;text_key&quot;: &quot;text&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;data&quot;: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;User Profile&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;name&quot;: &quot;Charlie Lastname&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;age&quot;: 28,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;email&quot;: &quot;charlie.lastname@example.com&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;default_value&quot;: &quot;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="dataframe">DataFrame<a href="#dataframe" class="hash-link" aria-label="Direct link to DataFrame" title="Direct link to DataFrame"></a></h2>
<p><strong>DataFrame</strong> ports <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Pink dataframe port" style="color:#ec4899;fill:#ec4899"><circle cx="12" cy="12" r="10"></circle></svg> accept or produce <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html" target="_blank" rel="noopener noreferrer">pandas DataFrames</a>, which are similar to the tabular CSV data.</p>
<p>Use the <code>DataFrame</code> type to work with data containing multiple rows or records.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="schema-and-attributes-1">Schema and attributes<a href="#schema-and-attributes-1" class="hash-link" aria-label="Direct link to Schema and attributes" title="Direct link to Schema and attributes"></a></h3>
<p>The schema is defined in <a href="https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/dataframe.py" target="_blank" rel="noopener noreferrer"><code>dataframe.py</code></a>.</p>
<p>The following attributes are available:</p>
<ul>
<li>
<p><strong>Full pandas compatibility</strong>: All pandas DataFrame methods and functionality are supported</p>
</li>
<li>
<p><strong>Langflow integration</strong>: Accepts lists of <a href="#data"><code>Data</code> objects</a>, dictionaries, or existing DataFrames.</p>
</li>
<li>
<p><strong>Convenience methods</strong>:</p>
<ul>
<li><code>to_data_list()</code></li>
<li><code>add_row()</code></li>
<li><code>add_rows()</code></li>
<li><code>to_lc_documents()</code></li>
<li><code>to_data()</code></li>
<li><code>to_message()</code></li>
</ul>
</li>
<li>
<p><strong>Text key support</strong>: Maintains <code>text_key</code> and <code>default_value</code> attributes for <a href="#data"><code>Data</code> object</a> compatibility.</p>
</li>
</ul>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="dataframe-structure">DataFrame structure<a href="#dataframe-structure" class="hash-link" aria-label="Direct link to DataFrame structure" title="Direct link to DataFrame structure"></a></h3>
<p>A DataFrame has a tabular data structure with rows and columns.
Keys are columns, and each object in the array is a row.</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span>[</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> &quot;name&quot;: &quot;Charlie Lastname&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> &quot;age&quot;: 28,</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> &quot;email&quot;: &quot;charlie.lastname@example.com&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> &quot;name&quot;: &quot;Alexandra Example&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> &quot;age&quot;: 34,</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> &quot;email&quot;: &quot;alexandra@example.com&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span>]</span></div></div><br></code></div></div>
<p>When represented as tabular data, the preceding DataFrame object is structured as follows:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>| name | age | email |</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>|------|-----|-------|</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>| Charlie Lastname | 28 | charlie.lastname@example.com |</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>| Alexandra Example | 34 | alexandra@example.com |</span></div></div><br></code></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="embeddings">Embeddings<a href="#embeddings" class="hash-link" aria-label="Direct link to Embeddings" title="Direct link to Embeddings"></a></h2>
<p><strong>Embeddings</strong> ports <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Emerald embeddings port" style="color:#10b981;fill:#10b981"><circle cx="12" cy="12" r="10"></circle></svg> handle vector embeddings to support functions like similarity search.</p>
<p>For example, the <strong>Embedding Model</strong> component outputs <code>embeddings</code> data that you can connect to an <strong>Embedding</strong> input port on a vector store component.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="languagemodel">LanguageModel<a href="#languagemodel" class="hash-link" aria-label="Direct link to LanguageModel" title="Direct link to LanguageModel"></a></h2>
<p><code>LanguageModel</code> output is a specific type of output that can be produced by <strong>Language Model</strong> components.
When enabled, the component&#x27;s output port changes from a <strong>Message</strong> port to a <strong>Language Model</strong> port <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Fuchsia language model port" style="color:#c026d3;fill:#c026d3"><circle cx="12" cy="12" r="10"></circle></svg>
For more information, see <a href="/components-models#use-the-languagemodel-output">Use the LanguageModel output</a>.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="memory">Memory<a href="#memory" class="hash-link" aria-label="Direct link to Memory" title="Direct link to Memory"></a></h2>
<p><strong>Memory</strong> ports <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Orange memory port" style="color:#f97316;fill:#f97316"><circle cx="12" cy="12" r="10"></circle></svg> are available for components that store or retrieve chat memory.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="message">Message<a href="#message" class="hash-link" aria-label="Direct link to Message" title="Direct link to Message"></a></h2>
<p><strong>Message</strong> ports <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Indigo message port" style="color:#4f46e5;fill:#4f46e5"><circle cx="12" cy="12" r="10"></circle></svg> accept or produce <code>Message</code> data, which extends the <a href="#data"><code>Data</code> type</a> with additional fields and methods for text input typically used in chat flows.</p>
<p>The <code>Message</code> data type provides a consistent structure for chat interactions, and it is ideal for flows like chatbots, conversational analysis, and other LLM input and output.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="schema-and-attributes-2">Schema and attributes<a href="#schema-and-attributes-2" class="hash-link" aria-label="Direct link to Schema and attributes" title="Direct link to Schema and attributes"></a></h3>
<p>The schema is defined in <a href="https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/message.py" target="_blank" rel="noopener noreferrer"><code>message.py</code></a>.</p>
<p>The following attributes are available:</p>
<ul>
<li><code>text</code>: Main message content</li>
<li><code>sender</code>: <code>&quot;User&quot;</code> or <code>&quot;AI&quot;</code></li>
<li><code>sender_name</code>: Display name for sender</li>
<li><code>session_id</code>: Chat session identifier</li>
<li><code>timestamp</code>: UTC timestamp of the message</li>
<li><code>files</code>: List of file paths or images included with the message</li>
<li><code>content_blocks</code>: Handles rich content input, such as text, media, or code</li>
<li><code>category</code>: <code>&quot;message&quot;</code>, <code>&quot;error&quot;</code>, <code>&quot;warning&quot;</code>, or <code>&quot;info&quot;</code>.</li>
</ul>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="message-structure">Message structure<a href="#message-structure" class="hash-link" aria-label="Direct link to Message structure" title="Direct link to Message structure"></a></h3>
<p><code>Message</code> content appears in Langflow logs, GUI outputs, and the <strong>Playground</strong> as the <code>text</code> string alone, but this text is actually extracted from the complete structured <code>Message</code> object.</p>
<p>For example, the output string <code>&quot;Name: Charlie Lastname, Age: 28, Email: charlie.lastname@example.com&quot;</code> is extracted from the following <code>Message</code> object:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;Name: Charlie Lastname, Age: 28, Email: charlie.lastname@example.com&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;sender&quot;: &quot;User&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;sender_name&quot;: &quot;Charlie Lastname&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;session_id&quot;: &quot;some-session-id&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;timestamp&quot;: &quot;2024-06-01T12:00:00Z&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;files&quot;: [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;content_blocks&quot;: [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;category&quot;: &quot;message&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="text-io-components-dont-treat-message-data-as-conversations">Text I/O components don&#x27;t treat Message data as conversations<a href="#text-io-components-dont-treat-message-data-as-conversations" class="hash-link" aria-label="Direct link to Text I/O components don&#x27;t treat Message data as conversations" title="Direct link to Text I/O components don&#x27;t treat Message data as conversations"></a></h3>
<p><a href="/components-io#text-input"><strong>Text Input</strong></a> and <a href="/components-io#text-output"><strong>Text Output</strong></a> components have <code>Message</code> ports, but they <em>don&#x27;t</em> support conversational chat in the same way as <strong>Chat Input</strong> components.</p>
<p>When a <strong>Text Input</strong> component receives <code>Message</code> data, the input isn&#x27;t handled in the same way that it is when passed to a <strong>Chat Input</strong> component in a chat flow.
Instead, the text is treated as a static string input, not as part of an ongoing conversation.</p>
<p>The same is true for the <strong>Text Output</strong> component, which produces simple string output, rather than a response to a conversation.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="tool">Tool<a href="#tool" class="hash-link" aria-label="Direct link to Tool" title="Direct link to Tool"></a></h2>
<p><strong>Tool</strong> ports <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Cyan tool port" style="color:#06b6d4;fill:#06b6d4"><circle cx="12" cy="12" r="10"></circle></svg> connect tools to an <strong>Agent</strong> component.</p>
<p>Tools can be other components where you enabled <strong>Tool Mode</strong> or they can be the dedicated <strong>MCP Tools</strong> component.</p>
<p>For more information, see <a href="/agents-tools">Configure tools for agents</a> and <a href="/mcp-client">Use Langflow as an MCP client</a>.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="unknown-or-multiple-types">Unknown or multiple types<a href="#unknown-or-multiple-types" class="hash-link" aria-label="Direct link to Unknown or multiple types" title="Direct link to Unknown or multiple types"></a></h2>
<p>If a port can accept or produce multiple data types, it is represented by the gray port icon <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle" aria-label="Gray unknown port" style="color:#9CA3AF;fill:#9CA3AF"><circle cx="12" cy="12" r="10"></circle></svg>.</p>
<p>Hover over the port to see the accepted or produced data types.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="view-data-types-in-flows">View data types in flows<a href="#view-data-types-in-flows" class="hash-link" aria-label="Direct link to View data types in flows" title="Direct link to View data types in flows"></a></h2>
<p>In Langflow, you can use <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-search" aria-hidden="True"><path d="M21 6H3"></path><path d="M10 12H3"></path><path d="M10 18H3"></path><circle cx="17" cy="15" r="3"></circle><path d="m21 19-1.9-1.9"></path></svg> <strong>Inspect output</strong> to view the output of individual components.
This can help you learn about the different data type and debug problems with invalid or malformed inputs and output.</p>
<p>The following example shows how to inspect the output of a <strong>Type Convert</strong> component, which can convert <code>Message</code>, <code>Data</code>, or <code>DataFrame</code> input into <code>Message</code>, <code>Data</code>, or <code>DataFrame</code> output:</p>
<ol>
<li>
<p>Create a flow, and then connect a <strong>Chat Input</strong> component to a <strong>Type Convert</strong> component.</p>
</li>
<li>
<p>In the <strong>Chat Input</strong> component, enter some text for the type converter to process.</p>
</li>
<li>
<p>On the <strong>Type Convert</strong> component, click <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play" aria-hidden="true"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg> <strong>Run component</strong>, and then click <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-search" aria-hidden="True"><path d="M21 6H3"></path><path d="M10 12H3"></path><path d="M10 18H3"></path><circle cx="17" cy="15" r="3"></circle><path d="m21 19-1.9-1.9"></path></svg> <strong>Inspect output</strong>.</p>
<p>The default output is <code>Message</code> data, which is the same as the input coming from the <strong>Chat Input</strong> component.
To see the <code>Message</code> data converted to <code>Data</code> or <code>DataFrame</code>, change the <strong>Output Type</strong> on the <strong>Type Convert</strong> component, and then rerun the component.</p>
<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Message</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Data</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">DataFrame</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>Input text</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;timestamp&quot;: &quot;2025-07-15 20:56:20 UTC&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;sender&quot;: &quot;User&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;sender_name&quot;: &quot;User&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;session_id&quot;: &quot;a0c7e888-4fd6-4242-b8c8-e761ad690aeb&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;files&quot;: [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;error&quot;: false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;edit&quot;: false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;properties&quot;: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;text_color&quot;: &quot;&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;background_color&quot;: &quot;&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;edited&quot;: false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;source&quot;: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;display_name&quot;: null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;source&quot;: null</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;icon&quot;: &quot;&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;allow_markdown&quot;: false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;positive_feedback&quot;: null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;state&quot;: &quot;complete&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;targets&quot;: []</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;category&quot;: &quot;message&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;content_blocks&quot;: [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;9da72da2-efbb-4ccd-90ad-b32429b0418e&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;flow_id&quot;: &quot;a0c7e888-4fd6-4242-b8c8-e761ad690aeb&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span> &quot;duration&quot;: null</span></div></div><div><span class="ch-code-line-number">_<!-- -->30</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| Field | Value |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>|-------|-------|</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| timestamp | 2025-07-15 20:56:11 UTC |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| sender | User |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| sender_name | User |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| session_id | a0c7e888-4fd6-4242-b8c8-e761ad690aeb |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| text | (empty) |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| files | [] |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| error | False |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| edit | False |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| properties | text_color: &#x27;&#x27;, background_color: &#x27;&#x27;, edited: False, source: {id: None, display_name: None, source: None}, icon: &#x27;&#x27;, allow_markdown: False, positive_feedback: None, state: &#x27;complete&#x27;, targets: [] |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| category | message |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| content_blocks | [] |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| id | 341686eb-7a39-4b80-a90a-d8bf267815ef |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| flow_id | a0c7e888-4fd6-4242-b8c8-e761ad690aeb |</span></div></div><div><span class="ch-code-line-number">_<!-- -->16</span><div style="display:inline-block;margin-left:16px"><span>| duration | (empty) |</span></div></div><br></code></div></div></div></div></div>
</li>
</ol>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="see-also">See also<a href="#see-also" class="hash-link" aria-label="Direct link to See also" title="Direct link to See also"></a></h2>
<ul>
<li><a href="/components-custom-components">Custom Components</a></li>
<li><a href="https://docs.pydantic.dev/latest/api/base_model/" target="_blank" rel="noopener noreferrer">Pydantic Models</a></li>
<li><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html" target="_blank" rel="noopener noreferrer">pandas.DataFrame</a></li>
</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/concepts-voice-mode"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Use voice mode</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/concepts-file-management"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Manage files</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#data" class="table-of-contents__link toc-highlight">Data</a><ul><li><a href="#schema-and-attributes" class="table-of-contents__link toc-highlight">Schema and attributes</a></li><li><a href="#data-structure" class="table-of-contents__link toc-highlight">Data structure</a></li></ul></li><li><a href="#dataframe" class="table-of-contents__link toc-highlight">DataFrame</a><ul><li><a href="#schema-and-attributes-1" class="table-of-contents__link toc-highlight">Schema and attributes</a></li><li><a href="#dataframe-structure" class="table-of-contents__link toc-highlight">DataFrame structure</a></li></ul></li><li><a href="#embeddings" class="table-of-contents__link toc-highlight">Embeddings</a></li><li><a href="#languagemodel" class="table-of-contents__link toc-highlight">LanguageModel</a></li><li><a href="#memory" class="table-of-contents__link toc-highlight">Memory</a></li><li><a href="#message" class="table-of-contents__link toc-highlight">Message</a><ul><li><a href="#schema-and-attributes-2" class="table-of-contents__link toc-highlight">Schema and attributes</a></li><li><a href="#message-structure" class="table-of-contents__link toc-highlight">Message structure</a></li><li><a href="#text-io-components-dont-treat-message-data-as-conversations" class="table-of-contents__link toc-highlight">Text I/O components don&#39;t treat Message data as conversations</a></li></ul></li><li><a href="#tool" class="table-of-contents__link toc-highlight">Tool</a></li><li><a href="#unknown-or-multiple-types" class="table-of-contents__link toc-highlight">Unknown or multiple types</a></li><li><a href="#view-data-types-in-flows" class="table-of-contents__link toc-highlight">View data types in flows</a></li><li><a href="#see-also" class="table-of-contents__link toc-highlight">See also</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><div class="footer-links">
<span>© 2025 Langflow</span>
<span id="preferenceCenterContainer"> ·&nbsp; <a href="https://langflow.org/preferences">Manage Privacy Choices</a></span>
</div></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/lf-docs-light.svg" alt="Langflow" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE" width="160" height="40"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU" width="160" height="40"></div></div></div></footer><div style="position:fixed;right:20px;bottom:20px;z-index:100;display:flex;align-items:center;gap:10px;cursor:pointer"><div style="background-color:#f6f6f6;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.1)"><img src="/img/langflow-icon-black-transparent.svg" style="width:40px" alt="Search"></div></div></div>
</body>
</html>