Files
langflow/concepts-objects.html
github-merge-queue[bot] b376a20fe8 deploy: e64e328257
2025-07-14 16:14:19 +00:00

131 lines
48 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/concepts-objects" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.8.1">
<title data-rh="true">Langflow objects | 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/concepts-objects"><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 objects | Langflow Documentation"><meta data-rh="true" name="description" content="In Langflow, objects are Pydantic models that serve as structured, functional representations of data."><meta data-rh="true" property="og:description" content="In Langflow, objects are Pydantic models that serve as structured, functional representations of data."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/concepts-objects"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/concepts-objects" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/concepts-objects" 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 objects","item":"https://docs.langflow.org/concepts-objects"}]}</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>
<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.530387df.css">
<script src="/assets/js/runtime~main.e5d156f5.js" defer="defer"></script>
<script src="/assets/js/main.66871e62.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="/concepts-objects">Langflow objects</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 objects</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 objects</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>In Langflow, objects are <a href="https://docs.pydantic.dev/latest/api/base_model/" target="_blank" rel="noopener noreferrer">Pydantic</a> models that serve as structured, functional representations of data.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="data-object">Data object<a href="#data-object" class="hash-link" aria-label="Direct link to Data object" title="Direct link to Data object"></a></h2>
<p>The <code>Data</code> object is a <a href="https://docs.pydantic.dev/latest/api/base_model/" target="_blank" rel="noopener noreferrer">Pydantic</a> model that serves as a container for storing and manipulating data. It carries <code>data</code>—a dictionary that can be accessed as attributes—and uses <code>text_key</code> to specify which key in the dictionary should be considered the primary text content.</p>
<ul>
<li><strong>Main Attributes:</strong>
<ul>
<li><code>text_key</code>: Specifies the key to retrieve the primary text data.</li>
<li><code>data</code>: A dictionary to store additional data.</li>
<li><code>default_value</code>: default value when the <code>text_key</code> is not present in the <code>data</code> dictionary.</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="create-a-data-object">Create a Data Object<a href="#create-a-data-object" class="hash-link" aria-label="Direct link to Create a Data Object" title="Direct link to Create a Data Object"></a></h3>
<p>Create a <code>Data</code> object by directly assigning key-value pairs to it. For example:</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>from langflow.schema import Data</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># Creating a Data object with specified key-value pairs</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>data = Data(text=&quot;my_string&quot;, bar=3, foo=&quot;another_string&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># Outputs:</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>print(data.text) # Outputs: &quot;my_string&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>print(data.bar) # Outputs: 3</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>print(data.foo) # Outputs: &quot;another_string&quot;</span></div></div><br></code></div></div>
<p>The <code>text_key</code> specifies which key in the <code>data</code> dictionary should be considered the primary text content. The <code>default_value</code> provides a fallback if the <code>text_key</code> is not present.</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># Creating a Data object with a specific text_key and default_value</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>data = Data(data={&quot;title&quot;: &quot;Hello, World!&quot;}, text_key=&quot;content&quot;, default_value=&quot;No content available&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># Accessing the primary text using text_key and default_value</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>print(data.get_text()) # Outputs: &quot;No content available&quot; because &quot;content&quot; key is not in the data dictionary</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># Accessing data keys by calling the attribute directly</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>print(data.title) # Outputs: &quot;Hello, World!&quot; because &quot;title&quot; key is in the data dictionary</span></div></div><br></code></div></div>
<p>The <code>Data</code> object is also convenient for visualization of outputs, since the output preview has visual elements to inspect data as a table and its cells as pop ups for basic types. The idea is to create a unified way to work and visualize complex information in Langflow.</p>
<p>To receive <code>Data</code> objects in a component input, use the <code>DataInput</code> input type.</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>inputs = [</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> DataInput(name=&quot;data&quot;, display_name=&quot;Data&quot;, info=&quot;Helpful info about the incoming data object.&quot;, is_list=True),</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="message-object">Message object<a href="#message-object" class="hash-link" aria-label="Direct link to Message object" title="Direct link to Message object"></a></h2>
<p>The <code>Message</code> object extends the functionality of <code>Data</code> and includes additional attributes and methods for chat interactions.</p>
<ul>
<li>
<p><strong>Core message data:</strong></p>
<ul>
<li><code>text</code>: The main text content of the message</li>
<li><code>sender</code>: Identifier for the sender (&quot;User&quot; or &quot;AI&quot;)</li>
<li><code>sender_name</code>: Name of the sender</li>
<li><code>session_id</code>: Identifier for the chat session (<code>string</code> or <code>UUID</code>)</li>
<li><code>timestamp</code>: Timestamp when the message was created (UTC)</li>
<li><code>flow_id</code>: Identifier for the flow (<code>string</code> or <code>UUID</code>)</li>
<li><code>id</code>: Unique identifier for the message</li>
</ul>
</li>
<li>
<p><strong>Content and files:</strong></p>
<ul>
<li><code>files</code>: List of files or images associated with the message</li>
<li><code>content_blocks</code>: List of structured content block objects</li>
<li><code>properties</code>: Additional properties including visual styling and source information</li>
</ul>
</li>
<li>
<p><strong>Message state:</strong></p>
<ul>
<li><code>error</code>: Boolean indicating if there was an error</li>
<li><code>edit</code>: Boolean indicating if the message was edited</li>
<li><code>category</code>: Message category (&quot;message&quot;, &quot;error&quot;, &quot;warning&quot;, &quot;info&quot;)</li>
</ul>
</li>
</ul>
<p>The <code>Message</code> object can be used to send, store, and manipulate chat messages within Langflow.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="create-a-message-object">Create a Message object<a href="#create-a-message-object" class="hash-link" aria-label="Direct link to Create a Message object" title="Direct link to Create a Message object"></a></h3>
<p>You can create a <code>Message</code> object by directly assigning key-value pairs to it. For example:</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>from langflow.schema.message import Message</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>message = Message(text=&quot;Hello, AI!&quot;, sender=&quot;User&quot;, sender_name=&quot;John Doe&quot;)</span></div></div><br></code></div></div>
<p>To receive <code>Message</code> objects in a component input, you can use the <code>MessageInput</code> input type or <code>MessageTextInput</code> when the goal is to extract just the <code>text</code> field of the <code>Message</code> object.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="contentblock-object">ContentBlock object<a href="#contentblock-object" class="hash-link" aria-label="Direct link to ContentBlock object" title="Direct link to ContentBlock object"></a></h2>
<p>The <code>ContentBlock</code> object is a list of multiple <code>ContentTypes</code>. It allows you to include multiple types of content within a single <code>Message</code>, including images, videos, and text.</p>
<p>Content types are Pydantic base classes constructed from the types in <a href="https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/content_types.py" target="_blank" rel="noopener noreferrer">content_types.py</a>.</p>
<p>Each content type has specific fields related to its data type. For example:</p>
<ul>
<li><code>TextContent</code> has a <code>text</code> field for storing strings of text</li>
<li><code>MediaContent</code> has a <code>urls</code> field for storing media file URLs</li>
<li><code>CodeContent</code> has <code>code</code> and <code>language</code> fields for code snippets</li>
<li><code>JSONContent</code> has a <code>data</code> field for storing arbitrary JSON data</li>
<li><code>ToolContent</code> has a <code>tool_input</code> field for storing input parameters for the tool</li>
</ul>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="create-a-contentblock-object">Create a ContentBlock object<a href="#create-a-contentblock-object" class="hash-link" aria-label="Direct link to Create a ContentBlock object" title="Direct link to Create a ContentBlock object"></a></h3>
<p>Create a <code>ContentBlock</code> object with a list of different content types.</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>content_block = ContentBlock(</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> title=&quot;Mixed Content Example&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> contents=[</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> TextContent(text=&quot;This is a text content&quot;),</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> MediaContent(urls=[&quot;http://example.com/image.jpg&quot;]),</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> JSONContent(data={&quot;key&quot;: &quot;value&quot;}),</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> CodeContent(code=&quot;print(&#x27;Hello&#x27;)&quot;, language=&quot;python&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> media_url=[&quot;http://example.com/additional_image.jpg&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="add-contentblocks-objects-to-a-message">Add ContentBlocks objects to a message<a href="#add-contentblocks-objects-to-a-message" class="hash-link" aria-label="Direct link to Add ContentBlocks objects to a message" title="Direct link to Add ContentBlocks objects to a message"></a></h3>
<p>In this example, a text and a media <code>ContentBlock</code> are added to a message.</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">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>from langflow.schema.message import Message</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>from langflow.schema.content_block import ContentBlock</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>from langflow.schema.content_types import TextContent, MediaContent</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>message = Message(</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> text=&quot;Main message text&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> sender=&quot;User&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> sender_name=&quot;John Doe&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> content_blocks=[</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ContentBlock(</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> title=&quot;Text Block&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> contents=[</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> TextContent(type=&quot;text&quot;, text=&quot;This is some text content&quot;)</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ),</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ContentBlock(</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> title=&quot;Media Block&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> contents=[</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> MediaContent(type=&quot;media&quot;, urls=[&quot;http://example.com/image.jpg&quot;])</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> )</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>)</span></div></div><br></code></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="dataframe-object">DataFrame object<a href="#dataframe-object" class="hash-link" aria-label="Direct link to DataFrame object" title="Direct link to DataFrame object"></a></h2>
<p>The <code>DataFrame</code> class is a custom extension of the Pandas <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html" target="_blank" rel="noopener noreferrer">DataFrame</a> class, specifically designed to work seamlessly with Langflow&#x27;s <code>Data</code> objects. The class includes methods for converting between <code>DataFrame</code> and lists of <code>Data</code> objects.</p>
<p>A <code>DataFrame</code> object accepts various input formats, including lists of <code>Data</code> objects, dictionaries, and existing <code>DataFrames</code>.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="create-a-dataframe-object">Create a DataFrame object<a href="#create-a-dataframe-object" class="hash-link" aria-label="Direct link to Create a DataFrame object" title="Direct link to Create a DataFrame object"></a></h3>
<p>You can create a DataFrame object using different data formats:</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">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>from langflow.schema import Data</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>from langflow.schema.data import DataFrame</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># From a list of Data objects</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>data_list = [Data(data={&quot;name&quot;: &quot;John&quot;}), Data(data={&quot;name&quot;: &quot;Jane&quot;})]</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>df = DataFrame(data_list)</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># From a list of dictionaries</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>dict_list = [{&quot;name&quot;: &quot;John&quot;}, {&quot;name&quot;: &quot;Jane&quot;}]</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>df = DataFrame(dict_list)</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># From a dictionary of lists</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>data_dict = {&quot;name&quot;: [&quot;John&quot;, &quot;Jane&quot;], &quot;age&quot;: [30, 25]}</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>df = DataFrame(data_dict)</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>Key Methods</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>to_data_list(): Converts the DataFrame back to a list of Data objects.</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>add_row(data): Adds a single row (either a Data object or a dictionary) to the DataFrame.</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>add_rows(data): Adds multiple rows (list of Data objects or dictionaries) to the DataFrame.</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>Usage Example</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>python</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># Create a DataFrame</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>df = DataFrame([Data(data={&quot;name&quot;: &quot;John&quot;}), Data(data={&quot;name&quot;: &quot;Jane&quot;})])</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># Add a new row</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>df = df.add_row({&quot;name&quot;: &quot;Alice&quot;})</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># Convert back to a list of Data objects</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>data_list = df.to_data_list()</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span># Use pandas functionality</span></div></div><div><span class="ch-code-line-number">_<!-- -->31</span><div style="display:inline-block;margin-left:16px"><span>filtered_df = df[df[&quot;name&quot;].str.startswith(&quot;J&quot;)]</span></div></div><br></code></div></div>
<p>To use DataFrame objects in a component input,use the DataFrameInput input type.</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>DataFrameInput(</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> name=&quot;dataframe_input&quot;, display_name=&quot;DataFrame Input&quot;, info=&quot;Input for DataFrame objects.&quot;, tool_mode=True</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="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="/session-id">Session ID</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-object" class="table-of-contents__link toc-highlight">Data object</a><ul><li><a href="#create-a-data-object" class="table-of-contents__link toc-highlight">Create a Data Object</a></li></ul></li><li><a href="#message-object" class="table-of-contents__link toc-highlight">Message object</a><ul><li><a href="#create-a-message-object" class="table-of-contents__link toc-highlight">Create a Message object</a></li></ul></li><li><a href="#contentblock-object" class="table-of-contents__link toc-highlight">ContentBlock object</a><ul><li><a href="#create-a-contentblock-object" class="table-of-contents__link toc-highlight">Create a ContentBlock object</a></li><li><a href="#add-contentblocks-objects-to-a-message" class="table-of-contents__link toc-highlight">Add ContentBlocks objects to a message</a></li></ul></li><li><a href="#dataframe-object" class="table-of-contents__link toc-highlight">DataFrame object</a><ul><li><a href="#create-a-dataframe-object" class="table-of-contents__link toc-highlight">Create a DataFrame object</a></li></ul></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>