<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: melienherrera</title>
    <description>The latest articles on DEV Community by melienherrera (@melienherrera).</description>
    <link>https://dev.to/melienherrera</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F866791%2Fb18aff3c-ce24-4001-a4e4-6e4e4127eabd.png</url>
      <title>DEV Community: melienherrera</title>
      <link>https://dev.to/melienherrera</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/melienherrera"/>
    <language>en</language>
    <item>
      <title>Top 3 Mistakes I Made While Building AI Agents</title>
      <dc:creator>melienherrera</dc:creator>
      <pubDate>Wed, 12 Mar 2025 15:13:56 +0000</pubDate>
      <link>https://dev.to/datastax/top-3-mistakes-i-made-while-building-ai-agents-ah1</link>
      <guid>https://dev.to/datastax/top-3-mistakes-i-made-while-building-ai-agents-ah1</guid>
      <description>&lt;p&gt;Agents have become a hot topic in AI, and, like many of you, I initially wondered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Why can’t I just prompt my LLM to do this task for me?”&lt;/li&gt;
&lt;li&gt;“What’s the difference between prompting a model versus using an agent?”&lt;/li&gt;
&lt;li&gt;“Oh no, another AI concept that I have to learn?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After diving into agent development, I quickly realized why this approach has generated so much buzz. Unlike simple LLM prompts, agents can interact with external tools, maintain state across multiple steps, and execute complex workflows. Agents are like a personal assistant who can email contacts, write documentation, and schedule appointments – deciding which tool to use when, and understanding the right moment to apply it.&lt;/p&gt;

&lt;p&gt;This journey wasn’t without challenges. Like many developers in their discovery phase, I made mistakes along the way while building my personal assistant app. Each misstep taught me valuable lessons that improved my approach to building agents.&lt;/p&gt;

&lt;p&gt;In this post, I’ll share my top three mistakes, in hopes that by “building in public,” I can help you avoid these same pitfalls. Let’s dive in!&lt;/p&gt;

&lt;h2&gt;
  
  
  Mistake #1: Overestimating the agent’s capabilities
&lt;/h2&gt;

&lt;p&gt;My first mistake when I started building agents seemed to be a simple but critical one. I learned that agents have agency: an ability to decide and reason where a base LLM does not. They can select tools, maintain context, and execute multi-step plans. Because of this, I drastically underestimated the importance of clear, detailed instructions to the agent’s system prompt, and overestimated the agent’s capability to figure things out on its own.&lt;/p&gt;

&lt;p&gt;Newsflash: agents are still powered by LLMs! Agents use LLMs as their core reasoning and decision-making engine. This means that they have both the same strengths and the same limitations of their underlying language model.&lt;/p&gt;

&lt;p&gt;I initially created vague prompts like “You are a helpful assistant that can email people, create docs, and other operational tasks. Be clear and concise and maintain a professional tone throughou.t” I assumed that because the agent had access to email tools and documentation tools it would intuitively understand when and how to use them appropriately. However, this was not the case and my prompt was simply not enough.&lt;/p&gt;

&lt;p&gt;What I learned through trial and error is that while agents add powerful tool-using capabilities, they are not “magic” – entirely. They still need the same level of clear guidance and explicit instructions that you’d provide in a direct LLM prompt – perhaps even more so. The agent needs to know not just that it has access to tools, but precisely when to invoke them, how to interpret their outputs, and how to integrate them back into the expected workflow. Here’s my my improved prompt:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9kjta958fjite89fh75n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9kjta958fjite89fh75n.png" alt="An image of an improved prompt, starting with " width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I fundamentally misunderstood how to effectively prompt an agent. Once I started writing detailed system prompts like the one above, providing examples where needed, and referencing tool names where I could, my agent’s performance improved dramatically.&lt;/p&gt;

&lt;p&gt;My second critical mistake was attempting to create ONE “super agent” equipped with every possible tool needed for my personal assistant app. I understood the concept of agents and tools, so I began to connect a bunch of these tools to my agent. Remember, the actions I needed the agent to be able to do spanned across document processing, email communication, data retrieval, even basic chatbot capabilities. I thought this would essentially create a powerful, all-in-one assistant.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrbqa8xjj6qu3a5xcseb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrbqa8xjj6qu3a5xcseb.png" alt="Example of overloading the agent with multiple tools" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An example of overloading the agent with multiple tools.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I found out that my agent became overwhelmed with options and struggled to manage context across complex tasks and multi-step requests such as “Access this doc [doc link], summarize it, then draft an email”. The agent would take incorrect steps, forget steps in the process, or confuse tools like the Google Docs tool versus the URL tool versus hallucinating a response from the LLM. Additionally, response times would increase dramatically depending on how complex the task was.&lt;/p&gt;

&lt;p&gt;The solution to this came when I restructured my approach to use a multi-agent architecture with specialized components. I created an agent with focused toolsets: a document agent, an email agent, a RAG agent—and I plan to implement more! Connecting these is an orchestrator agent that essentially acts as the “decision-maker” of the app and routes tasks to the appropriate specialized agent based on the user’s request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4wjg9u0eg0q82ifhb31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4wjg9u0eg0q82ifhb31.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The orchestrator agent’s role is to understand the user’s intent, break complex requests into subtasks, and delegate them to the right agent. It was now able to handle requests such as the one above “Access this doc [doc link], summarize it, then draft an email” and break it down into something like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First, use GOOGLEDOCS_AGENT to access the doc link&lt;/li&gt;
&lt;li&gt;Second, use LLM to summarize it, and form the content for the email draft&lt;/li&gt;
&lt;li&gt;Third, use GMAIL_AGENT to create the actual email draft for the user to be able to review and easily send it off&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This mistake taught me that complex AI workflows benefit from division of labor, just as humans do. Each agent should have a clearly defined scope with the right tools for the specific job. Just make sure you assign and describe those tools and jobs correctly.&lt;/p&gt;

&lt;p&gt;This leads me to my third and probably most-critical mistake. After refining my agent prompts and implementing multi-agent architecture, I thought I was on the right track. But I quickly encountered another obstacle: my tools were not being used correctly, or in some cases, not at all. This led me to my second mistake in the agent development process, which was not properly naming or describing each tool for the agent.&lt;/p&gt;

&lt;p&gt;When implementing tools in &lt;a href="https://www.datastax.com/products/langflow?utm_medium=byline&amp;amp;utm_campaign=top-three-mistakes-building-agents&amp;amp;utm_source=devto" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt;, I initially gave them generic names like “Email Tool” or “Docs Tool” with minimal descriptions. I assumed that since I had properly connected the APIs through Composio (a third-party app integration tool) and the functionality worked when tested individually, the agent would inherently understand how to use that. Though the agent did come through sometimes, it did not happen 100% of the time.&lt;/p&gt;

&lt;p&gt;I discovered that meaningful tool names and descriptions are critical for the agent’s decision-making process. For example, if the input is “Access this marketing doc and summarize it: [docs link]”, the agent has to match the intent to the appropriate tool. My original Google Docs tool implementation looked something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name: “Docs Agent”&lt;/li&gt;
&lt;li&gt;Description: “Use this to create and access docs”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With vague names and descriptions, the agent would sometimes struggle to make the correct decision consistently, fail to use the tool, or use it incorrectly. With the above description, it would attempt to use the URL tool instead of accessing the doc through the Google Docs API, which has the proper permissions.&lt;/p&gt;

&lt;p&gt;After recognizing the issue, I implemented more descriptive naming and description:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name - “GOOGLEDOCS_AGENT”&lt;/li&gt;
&lt;li&gt;Description - “A Google Docs tool with access to the following tools: creating new Google Docs (give relevant titles, context, etc), edit existing Google Docs, retrieve existing Google Docs via the Google Docs link”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1us7n6oxbdhtpib19w0b.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1us7n6oxbdhtpib19w0b.gif" width="1024" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The improvement was immediate and significant. With clearer naming conventions and more detailed and prescriptive descriptions, the agent began consistently selecting the right tools for each task. Tool descriptions are essentially API documentation for your agent. Through this mistake, I learned that an agent, just like an LLM, can only be as effective as the information you provide about its available tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;After overcoming these three mistakes – underestimating the importance of prompting, overloading the agent with tools, and poorly implementing tools – I’ve gained valuable insights into effective agent development.&lt;/p&gt;

&lt;p&gt;The most important lesson that I learned is something I feel that I’ve always known – our tools are only as powerful as how we make them to be. Agents are powerful, and they can seem magical—but they aren’t. We still have to provide the right tools, detailed descriptions, and structured architecture in order for them to shine. Tools like &lt;a href="https://langflow.new/ui" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt; have really helped me break down the concept of agents, fail fast, and iterate on my mistakes. It’s about finding the right balance between giving your agents enough information while avoiding overwhelming them with too many options or vague instructions.&lt;/p&gt;

&lt;p&gt;For those who are embarking on their own agent-building journey, I hope you learned a thing or two from this post. The field of AI agents is still growing and evolving fast – what works well today may change tomorrow as models improve.&lt;/p&gt;

&lt;p&gt;What mistakes have you encountered while getting started with agents? Please start a discussion in our &lt;a href="https://dtsx.io/join-discord" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions (FAQ)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is an agent and how do they differ from regular LLM prompts?
&lt;/h3&gt;

&lt;p&gt;Unlike simple LLM prompts, agents can interact with external tools, maintain state across multiple steps, and execute complex workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are multi-agents?
&lt;/h3&gt;

&lt;p&gt;“Multi-agents” use specialized AI agents to focus on specific tasks or domains. Instead of using one “super agent” connected to every possible tool, a multi-agent architecture uses dedicated agents for specific functions (like document processing, email management, or data retrieval).&lt;/p&gt;

&lt;h3&gt;
  
  
  What does this personal assistant app do?
&lt;/h3&gt;

&lt;p&gt;This personal assistant uses AI agents to handle multiple tasks, multi-step tasks, and more, such as drafting emails, summarizing meeting notes, and retrieving knowledge from a database.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Langflow, and why use it?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://langflow.org/" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt; is a visual IDE for building generative and agentic AI workflows. It simplifies creating complex AI flows, enables quick iteration, and integrates seamlessly with applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  What tools are used?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Langflow – AI app development, agents&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://astra.datastax.com/?utm_medium=byline&amp;amp;utm_campaign=top-three-mistakes-building-agents&amp;amp;utm_source=devto" rel="noopener noreferrer"&gt;Astra DB&lt;/a&gt; – Vector database, data retrieval, RAG&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://composio.dev/" rel="noopener noreferrer"&gt;Composio&lt;/a&gt; – Application integration platform for AI Agents and LLMs, handles Gmail and Google Doc API integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where can I find the flow file?
&lt;/h3&gt;

&lt;p&gt;At my Github: &lt;a href="https://github.com/melienherrera/personal-assistant-langflow" rel="noopener noreferrer"&gt;https://github.com/melienherrera/personal-assistant-langflow&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>How to Build a Simple AI Agent with Langflow and Composio</title>
      <dc:creator>melienherrera</dc:creator>
      <pubDate>Mon, 10 Feb 2025 19:51:42 +0000</pubDate>
      <link>https://dev.to/datastax/how-to-build-a-simple-ai-agent-with-langflow-and-composio-13d4</link>
      <guid>https://dev.to/datastax/how-to-build-a-simple-ai-agent-with-langflow-and-composio-13d4</guid>
      <description>&lt;p&gt;Are you trying to understand AI agents? Or perhaps you’ve started building agents, but are still struggling with tools and how to connect them to app integrations. DataStax Langflow and Composio are a great combination to help you understand these concepts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.datastax.com/products/langflow?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=ggl_s_apac_idph_brand&amp;amp;utm_term=datastax+database&amp;amp;utm_content=brand&amp;amp;utm_medium=byline&amp;amp;utm_campaign=build-simple-ai-agent-with-langflow-composio&amp;amp;utm_source=devto" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt; is a visual low-code AI application builder that allows you to build agents quickly for rapid development, and &lt;a href="https://composio.dev/" rel="noopener noreferrer"&gt;Composio&lt;/a&gt; is an integration platform that gives developers access to hundreds of tools like GitHub, Salesforce, and Google.&lt;/p&gt;

&lt;p&gt;In this tutorial, you’ll learn how to create a simple agent in Langflow using Composio as a tool to connect to your Google calendar. Let’s get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up
&lt;/h2&gt;

&lt;p&gt;For this tutorial, you’ll need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://astra.datastax.com/signup?type=langflow&amp;amp;utm_medium=byline&amp;amp;utm_campaign=build-simple-ai-agent-with-langflow-composio&amp;amp;utm_source=devto" rel="noopener noreferrer"&gt;DataStax Langflow account&lt;/a&gt; to build your AI agent&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://app.composio.dev/apps" rel="noopener noreferrer"&gt;Composio account&lt;/a&gt; for connecting your tools and integrations&lt;/li&gt;
&lt;li&gt;An &lt;a href="https://platform.openai.com/docs/quickstart" rel="noopener noreferrer"&gt;OpenAI account and API key&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once those two accounts are created, proceed to the following steps to get started on building an AI agent with Composio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with Composio
&lt;/h2&gt;

&lt;p&gt;Composio is an application integration platform that gives you access to many different tools that you could use within your AI application. This means that you no longer have to manage APIs for performing actions like creating, deleting, or updating a Google Calendar event; you just need to go through Composio and the work is done for you. We’ll walk through this here.&lt;/p&gt;

&lt;p&gt;Once you’ve created your Composio account, you should be dropped into their dashboard. Copy your API key on the top right hand corner. Save this in your clipboard or preferred notes application for later.&lt;/p&gt;

&lt;p&gt;Once you have obtained your API key, head over to the “Apps” tab on the left side navigation bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fib1z0k1lbw6eiyfa0rwh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fib1z0k1lbw6eiyfa0rwh.png" alt="an image describing how to get your API key in composio" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, you’ll see all of the available tools and integrations that you can connect with through Composio (283 and counting at the time of writing this blogpost!). Use the “Googlecalendar” integration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq231ktih3wc81sg6nrb8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq231ktih3wc81sg6nrb8.png" alt="An image showing the available tools and integrations that you can connect with through Composio  - and highlighting the “Googlecalendar” integration." width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then go to “Setup Googlecalendar integration.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwot2ftrbroqvmtvkks8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwot2ftrbroqvmtvkks8p.png" alt="An image highlighting the Setup Googlecalendar integration" width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow the steps to complete the integration with your preferred method. They offer options through code with Python or JavaScript—or simply go through authentication via Google sign-on. Once this is completed, you should receive an “Integration Successful” message, which means that you have successfully connected to Google through Composio.&lt;/p&gt;

&lt;p&gt;You’ll be dropped into Step 3/3, “Execute tools,” where you can play around with each individual action in a playground with natural language, test out different parameters, and connect with JS and Python via various frameworks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0003rc58lm5141xklemj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0003rc58lm5141xklemj.png" alt="An image showing the " width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that you have your Google Calendar integration set up and your API key handy, you'll start building a simple AI agent with Langflow using Composio as a tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Langflow
&lt;/h3&gt;

&lt;p&gt;Head over to your &lt;a href="https://astra.datastax.com/langflow?utm_medium=byline&amp;amp;utm_campaign=build-simple-ai-agent-with-langflow-composio&amp;amp;utm_source=devto" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt; account and create a new flow by clicking the “Create Flow” button, which will bring up the start up menu below. You’’ll be using the “Simple Agent” flow on the “Get started” menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqfyen2qujkeq1qoaeecp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqfyen2qujkeq1qoaeecp.png" alt="The Langflow start menu" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You’ll be dropped into the visual editor where you’ll notice that there’s already a flow built out. Each of the blocks that you see are called “Components.” Each component represents a functional step in the end-to-end AI flow. The “Agent” component defaults to using the gpt-4o-mini model from OpenAI, but you can choose to use other models if you prefer. This is where you’ll need to put your OpenAI API key.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fduwpfeuu30gajladsydl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fduwpfeuu30gajladsydl.png" alt="An image showing where to enter your OpenAI API key in Langflow" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, on the left-side navigation, you can scroll down to “Bundles” and find the Composio bundle. Drag and drop this to the flow and connect it to the “Agent” component” using the “Tool” linking points.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlxf3i4z3f5lsqyp5jan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlxf3i4z3f5lsqyp5jan.png" alt="An image showing you where to find the Composio bundle in Langflow and how to drag and drop this to the flow and connect it to the “Agent” component” using the “Tool” linking points." width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refer back to the API key you got from the Composio dashboard and put it in the “Composio” component. Select the “GOOGLECALENDAR” app name, and press the “refresh” button. You’ll know that the connection with the integration has been successful when you see “GOOGLECALENDAR CONNECTED” appear under “Auth Status.”&lt;/p&gt;

&lt;p&gt;For the purpose of this demo, select from the dropdown under “Actions to use” select all of them. This will allow you to Create, Update, Delete, and Retrieve events!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fremuskoof010t9qta7dz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fremuskoof010t9qta7dz.png" alt="How to select from the dropdown under “Actions to use”" width="498" height="816"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You've now set up all the components you need for your agent with Composio. It’s time to run the flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run the flow
&lt;/h2&gt;

&lt;p&gt;To test the flow, go to the “Playground” located in the top right corner. You can use the chat interface to give example queries to your agent flow and see how the agent makes decisions between tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqvbin70tub4k3vuotbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqvbin70tub4k3vuotbu.png" alt="An image highlighting the Langflow " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, try typing in the chat input: “Add 1+1” and you’ll notice that the agent determines that it needs to use the Calculator tool to perform the query. You can inspect this by clicking the drop down menu in the agent logs where it says “AI gpt-4o-mini”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjho0799lchvtxkvj3pvb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjho0799lchvtxkvj3pvb.png" alt="An image showing how to type in the chat input: “Add one plus one” in the Langflow playground" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsglxvn23qdfu78qq638o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsglxvn23qdfu78qq638o.png" alt="an image showing the results of typing add one plus one in the playground chat input" width="800" height="915"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, try giving it a query such as “Can you check if I have availability for January 28, 2025 at 3pm? If it's free, schedule a meeting with Bob.” Observe the response here and what decisions the agent had to make using Composio. What actions do you see it calling? What was the final response? Navigate to your Google calendar and see the created event appear on your calendar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;You’ve officially set up a simple AI agent using Composio as a tool! You were able to easily connect with your Google Calendar and perform actions without having to configure the API yourself, thanks to the power of the Composio integration and Langflow’s component-based visual app-building interface. But the exploration doesn’t end here. As you saw, there are over LOTS of integrations to try within Composio—and you can easily test them all using &lt;a href="https://www.datastax.com/products/langflow?utm_medium=byline&amp;amp;utm_source=devto&amp;amp;utm_campaign=composio&amp;amp;utm_content=" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>langflow</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
