CINXE.COM
Overview - Composio
<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/apple-touch-icon.png?v=3"/><link rel="icon" type="image/png" sizes="32x32" href="https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/favicon-32x32.png?v=3"/><link rel="icon" type="image/png" sizes="16x16" href="https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/favicon-16x16.png?v=3"/><link rel="shortcut icon" type="image/x-icon" href="https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/favicon.ico?v=3"/><meta name="msapplication-config" content="https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/browserconfig.xml?v=3"/><meta name="apple-mobile-web-app-title" content="Composio"/><meta name="application-name" content="Composio"/><meta name="msapplication-TileColor" content="#343434"/><meta name="theme-color" content="#ffffff"/><link rel="sitemap" type="application/xml" href="/sitemap.xml"/><meta name="charset" content="utf-8"/><meta name="og:type" content="website"/><meta name="og:site_name" content="Composio Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="og:title" content="Overview - Composio"/><meta name="twitter:title" content="Overview - Composio"/><meta name="og:description" content="Composio enables your agents to connect with Various Tools and work with them"/><meta name="description" content="Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs & AI agents using Function Calling."/><meta name="og:image" content="https://framerusercontent.com/images/YwaNXXQETYRs9LymxFCnTjp83Q.svg"/><meta name="twitter:site" content="https://twitter.com/KaranVaidya6"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta name="twitter:image" property="twitter:image" content="https://mintlify.com/docs/api/og?division=Documentation&mode=dark&title=Overview&description=Empower+your+AI+agents+with+Composio+-+a+platform+for+managing+and+integrating+tools+with+LLMs+%26+AI+agents+using+Function+Calling.&logoLight=https%3A%2F%2Fmintlify.s3.us-west-1.amazonaws.com%2Fcomposio-27%2Flogo%2Flight.svg&logoDark=https%3A%2F%2Fmintlify.s3.us-west-1.amazonaws.com%2Fcomposio-27%2Flogo%2Fdark.svg&primaryColor=%23343434&lightColor=%23fff&darkColor=%23343434"/><meta property="twitter:image:width" content="1200"/><meta property="twitter:image:height" content="630"/><title>Overview - Composio</title><meta name="og:url" content="/introduction/intro/overview"/><link rel="canonical" href="/introduction/intro/overview"/><meta name="next-head-count" content="30"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" integrity="sha384-Xi8rHCmBmhbuyyhbI88391ZKP2dmfnOl4rT9ZfRI7mLTdk1wblIUnrIq35nqwEvC" crossorigin="anonymous"/><link rel="preload" href="/_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><script id="mode-toggle" data-nscript="beforeInteractive"> try { if (localStorage.isDarkMode === 'true') { document.documentElement.classList.add('dark'); } else if (localStorage.isDarkMode === 'false') { document.documentElement.classList.remove('dark'); } else if ((false && !('isDarkMode' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) || true) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } } catch (_) {}</script><link rel="preload" href="/_next/static/css/e6234ff73caf2f21.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e6234ff73caf2f21.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-dedccb098e30a6ab.js" defer=""></script><script src="/_next/static/chunks/framework-9ae01a5f4ade81f5.js" defer=""></script><script src="/_next/static/chunks/main-cf327937a0d9f14c.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2f6b2a9a88e03fc1.js" defer=""></script><script src="/_next/static/chunks/2edb282b-a83f7ffd007bccf0.js" defer=""></script><script src="/_next/static/chunks/e893f787-f6a1094a35763a0d.js" defer=""></script><script src="/_next/static/chunks/086d643d-6f7196a364073d16.js" defer=""></script><script src="/_next/static/chunks/9097-53b32b020063004a.js" defer=""></script><script src="/_next/static/chunks/7669-b7b6e74eb838f0fc.js" defer=""></script><script src="/_next/static/chunks/363-ac352be4e97288b4.js" defer=""></script><script src="/_next/static/chunks/8070-f37ee530f4b062d0.js" defer=""></script><script src="/_next/static/chunks/pages/_sites/%5Bsubdomain%5D/%5B%5B...slug%5D%5D-8503ee328b638a86.js" defer=""></script><script src="/_next/static/d0mbdyCKtjyIf96y8FGGS/_buildManifest.js" defer=""></script><script src="/_next/static/d0mbdyCKtjyIf96y8FGGS/_ssgManifest.js" defer=""></script><style id="__jsx-4145347147">:root{--font-inter:'__Inter_e5ab12', '__Inter_Fallback_e5ab12';--font-jetbrains-mono:'__JetBrains_Mono_3c557b', '__JetBrains_Mono_Fallback_3c557b'}</style></head><div id="__next"><main class="jsx-4145347147"><style>:root { --primary: 52 52 52; --primary-light: 255 255 255; --primary-dark: 52 52 52; --background-light: 250 250 250; --background-dark: 24 24 24; --gray-50: 244 244 244; --gray-100: 239 239 239; --gray-200: 224 224 224; --gray-300: 207 207 207; --gray-400: 160 160 160; --gray-500: 113 113 113; --gray-600: 81 81 81; --gray-700: 64 64 64; --gray-800: 38 38 38; --gray-900: 24 24 24; --gray-950: 11 11 11; }</style><style>:is(.dark .dark\:text-primary-light) { --tw-text-opacity: 1; color: rgb(255 255 255); }</style><span class="fixed inset-0 bg-background-light dark:bg-background-dark -z-10"></span><span class="block absolute dark:hidden inset-0 overflow-hidden"></span><span class="hidden absolute dark:block inset-0 overflow-hidden"></span><div class="relative antialiased text-gray-500 dark:text-gray-400"><div id="navbar" class="z-20 fixed lg:sticky top-0 w-full"><div id="navbar-transition" class="absolute w-full h-full backdrop-blur flex-none transition-colors duration-500 supports-backdrop-blur:bg-background-light/60 dark:bg-transparent"></div><div class="max-w-8xl mx-auto relative lg:pl-[19rem]"><div class="relative"><div class="absolute w-full h-full border-b border-gray-500/5 dark:border-gray-300/[0.06]"></div><div class="absolute bg-gradient-to-t from-primary/5 to-transparent dark:from-primary-light/[0.03] inset-y-0 w-full"></div><div class="relative"><div class="flex items-center lg:px-12 h-16 min-w-0 border-b border-gray-500/5 dark:border-gray-300/[0.06] mx-4 lg:mx-0"><div class="h-full relative flex-1 flex items-center gap-x-4 min-w-0"><div class="flex-1 flex items-center gap-x-4 lg:hidden"><a href="/"><span class="sr-only">Composio<!-- --> home page</span><img class="w-auto h-7 relative object-contain block dark:hidden" src="https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/light.svg" alt="light logo"/><img class="w-auto h-7 relative object-contain hidden dark:block" src="https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/dark.svg" alt="dark logo"/></a><div class="flex items-center gap-x-2"></div></div><button type="button" class="hidden lg:flex relative flex-1 pointer-events-auto rounded-xl w-full items-center text-sm leading-6 py-1.5 pl-3.5 pr-3 text-gray-400 dark:text-white/50 bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/20 hover:ring-gray-600/25 dark:ring-gray-600/30 dark:hover:ring-gray-500/30 focus:outline-primary justify-between truncate gap-2 min-w-[43px] mx-px" id="search-bar-entry"><div class="flex items-center gap-3 min-w-[42px]"><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-search min-w-4 flex-none text-gray-700 hover:text-gray-800 dark:text-gray-300 hover:dark:text-gray-200"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><div class="truncate min-w-0">Make my agents useful ...</div></div></button><div class="flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4"><nav class="text-sm"><ul class="flex space-x-6 items-center"><li><a href="https://dub.composio.dev/discord" class="whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank">Discord</a></li><li class="block lg:hidden"><a class="whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="https://app.composio.dev/developers">Get your API Key</a></li><li class="whitespace-nowrap hidden lg:flex" id="topbar-cta-button"><a target="_blank" class="group px-4 py-1.5 relative inline-flex items-center text-sm font-medium" href="https://app.composio.dev/developers"><span class="absolute inset-0 bg-primary-dark rounded-full group-hover:opacity-[0.9]"></span><div class="mr-0.5 space-x-2.5 flex items-center"><span class="z-10 text-white">Get your API Key</span><svg width="3" height="24" viewBox="0 -9 3 24" class="h-5 rotate-0 overflow-visible text-white/90"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></a></li></ul></nav><div class="flex items-center"><button class="group p-2 flex items-center justify-center" aria-label="Toggle dark mode"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 block text-gray-400 dark:hidden group-hover:text-gray-600"><g clip-path="url(#clip0_2880_7340)"><path d="M8 1.11133V2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 3.12891L12.2427 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.8889 8H14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 12.8711L12.2427 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 14.8889V14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 12.8711L3.75735 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.11133 8H2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 3.12891L3.75735 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8.00043 11.7782C10.0868 11.7782 11.7782 10.0868 11.7782 8.00043C11.7782 5.91402 10.0868 4.22266 8.00043 4.22266C5.91402 4.22266 4.22266 5.91402 4.22266 8.00043C4.22266 10.0868 5.91402 11.7782 8.00043 11.7782Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_2880_7340"><rect width="16" height="16" fill="white"></rect></clipPath></defs></svg><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-moon h-4 w-4 hidden dark:block text-gray-500 dark:group-hover:text-gray-300"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button></div></div><div class="flex lg:hidden items-center gap-2"><button type="button" class="text-gray-500 w-8 h-8 flex items-center justify-center hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300" id="search-bar-entry-mobile"><span class="sr-only">Search...</span><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/magnifying-glass.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/magnifying-glass.svg);mask-repeat:no-repeat;mask-position:center"></svg></button><button aria-label="More actions" class="h-7 w-5 flex items-center justify-end"><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/ellipsis-vertical.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/ellipsis-vertical.svg);mask-repeat:no-repeat;mask-position:center"></svg></button></div></div></div><div class="flex items-center h-14 py-4 px-5 lg:hidden"><button type="button" class="text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300"><span class="sr-only">Navigation</span><svg class="h-4" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"></path></svg></button><div class="ml-4 flex text-sm leading-6 whitespace-nowrap min-w-0 space-x-3"><div class="flex items-center space-x-3"><span>Introduction</span><svg width="3" height="24" viewBox="0 -9 3 24" class="h-5 rotate-0 overflow-visible fill-gray-400"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div><div class="font-semibold text-gray-900 truncate dark:text-gray-200">Overview</div></div></div></div><div class="hidden lg:flex px-12 h-12"><div class="h-full flex text-sm space-x-6"><a class="group relative h-full flex items-center text-gray-800 dark:text-gray-200 font-semibold" href="/introduction/intro/overview">Get Started<div class="absolute bottom-0 h-[1.5px] w-full bg-primary dark:bg-primary-light"></div></a><a class="group relative h-full flex items-center font-medium text-gray-600 dark:text-gray-400 group-hover:text-gray-800 dark:group-hover:text-gray-300" href="/examples/combined/rag-agent-python">Examples<div class="absolute bottom-0 h-[1.5px] w-full group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="group relative h-full flex items-center font-medium text-gray-600 dark:text-gray-400 group-hover:text-gray-800 dark:group-hover:text-gray-300" href="/api-reference/actions/list-action-tags">API<div class="absolute bottom-0 h-[1.5px] w-full group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a href="https://app.composio.dev/apps" target="_blank" rel="noreferrer" class="group relative h-full flex items-center font-medium text-gray-600 dark:text-gray-400 group-hover:text-gray-800 dark:group-hover:text-gray-300">All Tools<div class="absolute bottom-0 h-[1.5px] w-full group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a href="https://entelligence.ai/ComposioHQ&composio" target="_blank" rel="noreferrer" class="group relative h-full flex items-center font-medium text-gray-600 dark:text-gray-400 group-hover:text-gray-800 dark:group-hover:text-gray-300">Chat with Code<div class="absolute bottom-0 h-[1.5px] w-full group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a></div></div></div></div></div><div class="max-w-8xl px-4 mx-auto lg:px-8"><div class="z-30 hidden lg:block fixed bottom-0 right-auto w-[18rem] -ml-4 border-r top-0 border-gray-500/10 dark:border-gray-50/10" id="sidebar" style="top:0rem"><div class="absolute inset-0 z-10 stable-scrollbar-gutter overflow-auto pr-8 pb-10" id="sidebar-content"><div class="relative lg:text-sm lg:leading-6"><div class="pl-4 mt-5 mb-10 flex-1 flex items-center gap-x-4"><a href="/"><span class="sr-only">Composio<!-- --> home page</span><img class="w-auto h-7 relative object-contain block dark:hidden" src="https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/light.svg" alt="light logo"/><img class="w-auto h-7 relative object-contain hidden dark:block" src="https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/dark.svg" alt="dark logo"/></a><div class="flex items-center gap-x-2"></div></div><div id="navigation-items"><div class=""><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Introduction</h5><ul><li id="/introduction/intro/overview" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-primary dark:border-primary-light bg-primary/10 text-primary font-semibold dark:text-primary-light dark:bg-primary-light/10" style="padding-left:1rem" href="/introduction/intro/overview"><div class="flex-1 flex items-center space-x-2.5"><div>Overview</div></div></a></li><li id="/introduction/intro/basic" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/introduction/intro/basic"><div class="flex-1 flex items-center space-x-2.5"><div>Basic Concepts</div></div></a></li><li id="/introduction/intro/quickstart-tools" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/introduction/intro/quickstart-tools"><div class="flex-1 flex items-center space-x-2.5"><div>Quick Start - Tools</div></div></a></li><li id="/introduction/intro/quickstart-triggers" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/introduction/intro/quickstart-triggers"><div class="flex-1 flex items-center space-x-2.5"><div>Quick Start - Triggers</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Tools</h5><ul><li id="/patterns/tools/what-are-tools" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/tools/what-are-tools"><div class="flex-1 flex items-center space-x-2.5"><div>What are Tools?</div></div></a></li><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div class="">Use Tools</div><svg width="8" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 -mr-0.5"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div class="">Build Tools</div><svg width="8" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 -mr-0.5"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li><li id="/patterns/tools/custom-integration" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/tools/custom-integration"><div class="flex-1 flex items-center space-x-2.5"><div>Add Your Own App</div></div></a></li><li id="/patterns/tools/serve-tools" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/tools/serve-tools"><div class="flex-1 flex items-center space-x-2.5"><div>Serving Tools Over Endpoint</div></div></a></li><li id="/patterns/tools/versioning" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/tools/versioning"><div class="flex-1 flex items-center space-x-2.5"><div>Action Versioning</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Authentication</h5><ul><li id="/patterns/Auth/connected_account" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/Auth/connected_account"><div class="flex-1 flex items-center space-x-2.5"><div>Connections</div></div></a></li><li id="/patterns/Auth/using-connections" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/Auth/using-connections"><div class="flex-1 flex items-center space-x-2.5"><div>Using Connections</div></div></a></li><li id="/patterns/Auth/Integrations" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/Auth/Integrations"><div class="flex-1 flex items-center space-x-2.5"><div>Configuring Connection</div></div></a></li><li id="/patterns/Auth/examples/gmail_example" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/Auth/examples/gmail_example"><div class="flex-1 flex items-center space-x-2.5"><div>Example Flow - Gmail</div></div></a></li><li id="/patterns/Auth/examples/shopify_example" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/Auth/examples/shopify_example"><div class="flex-1 flex items-center space-x-2.5"><div>Example Flow - Shopify</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Triggers & Webhooks</h5><ul><li id="/patterns/triggers/triggers" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/triggers/triggers"><div class="flex-1 flex items-center space-x-2.5"><div>Triggers</div></div></a></li><li id="/patterns/triggers/webhooks" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/patterns/triggers/webhooks"><div class="flex-1 flex items-center space-x-2.5"><div>Webhooks</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Supported Frameworks</h5><ul><li id="/framework/autogen" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/autogen"><div class="flex-1 flex items-center space-x-2.5"><div>Autogen</div></div></a></li><li id="/framework/crewai" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/crewai"><div class="flex-1 flex items-center space-x-2.5"><div>CrewAI</div></div></a></li><li id="/framework/gemini" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/gemini"><div class="flex-1 flex items-center space-x-2.5"><div>Gemini</div></div></a></li><li id="/framework/langchain" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/langchain"><div class="flex-1 flex items-center space-x-2.5"><div>LangChain</div></div></a></li><li id="/framework/langflow" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/langflow"><div class="flex-1 flex items-center space-x-2.5"><div>LangFlow</div></div></a></li><li id="/framework/langgraph" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/langgraph"><div class="flex-1 flex items-center space-x-2.5"><div>LangGraph</div></div></a></li><li id="/framework/letta" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/letta"><div class="flex-1 flex items-center space-x-2.5"><div>Letta</div></div></a></li><li id="/framework/litellm" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/litellm"><div class="flex-1 flex items-center space-x-2.5"><div>LiteLLM</div></div></a></li><li id="/framework/llamaindex" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/llamaindex"><div class="flex-1 flex items-center space-x-2.5"><div>LlamaIndex</div></div></a></li><li id="/framework/openai" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/framework/openai"><div class="flex-1 flex items-center space-x-2.5"><div>OpenAI</div></div></a></li><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div class="">Other Frameworks</div><svg width="8" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 -mr-0.5"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Kits</h5><ul><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div class="">SWE kit</div><svg width="8" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 -mr-0.5"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div class="">AI SDR Kit</div><svg width="8" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 -mr-0.5"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div class="">Crypto Kit</div><svg width="8" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 -mr-0.5"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Others</h5><ul><li id="/introduction/foundations/components/workspace" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/introduction/foundations/components/workspace"><div class="flex-1 flex items-center space-x-2.5"><div>Workspace Environments</div></div></a></li><li id="/integrations/google" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/integrations/google"><div class="flex-1 flex items-center space-x-2.5"><div>Get Google OAuth Creds</div></div></a></li><li id="/faq/api_key/api_key" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/faq/api_key/api_key"><div class="flex-1 flex items-center space-x-2.5"><div>API key</div></div></a></li><li id="/faq/api_key/cli" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/faq/api_key/cli"><div class="flex-1 flex items-center space-x-2.5"><div>How to use CLI?</div></div></a></li><li id="/faq/integrations_and_connections/list_of_tools" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/faq/integrations_and_connections/list_of_tools"><div class="flex-1 flex items-center space-x-2.5"><div>Listing Tools & Actions</div></div></a></li><li id="/faq/supported_llms/supported_llm" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/faq/supported_llms/supported_llm"><div class="flex-1 flex items-center space-x-2.5"><div>Supported LLMs</div></div></a></li><li id="/monitoring-docs" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/monitoring-docs"><div class="flex-1 flex items-center space-x-2.5"><div>Monitoring docs</div></div></a></li><li id="/changelog" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light gap-x-3 lg:ml-4 border-l border-gray-950/5 dark:border-white/10 hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/changelog"><div class="flex-1 flex items-center space-x-2.5"><div>Changelog</div></div></a></li></ul></div></div></div></div></div><div class="" id="content-container"><div class="flex flex-row gap-12 box-border w-full pt-40 lg:pt-10"><div class="relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[23.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" id="content-area"><header id="header" class="relative"><div class="mt-0.5 space-y-2.5"><div class="eyebrow h-5 text-primary dark:text-primary-light text-sm font-semibold">Introduction</div><div class="flex items-center"><h1 class="inline-block text-2xl sm:text-3xl font-bold text-gray-900 tracking-tight dark:text-gray-200">Overview</h1></div></div><div class="mt-2 text-lg prose prose-gray dark:prose-invert"><p>Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs & AI agents using Function Calling.</p></div></header><div class="flex flex-col gap-8"></div><div class="relative mt-8 prose prose-gray dark:prose-invert"><h2 class="flex whitespace-pre-wrap group font-semibold" id="what-is-composio"><div class="absolute"><a href="#what-is-composio" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">What is Composio?</span></h2> <p>Composio helps you connect AI agents to external tools like Gmail, GitHub, Salesforce, etc. It’s like a bridge between your AI and the tools it needs to get work done.</p> <p>Here’s what you can do:</p> <ul> <li><strong>Seamless Connections:</strong> Connect AI Agents to tools like Gmail, GitHub, Salesforce & local tools such as File tool, Shell tool, etc.</li> <li><strong>Authentication Mechanisms:</strong> Support industry-standard auth protocols (OAuth, API Keys, JWT) with built-in security best practices, automatic token refresh handling, and secure user account connections - all without handling sensitive credentials</li> <li><strong>Language Agnostic:</strong> Integrate with any programming language through our API-first approach</li> <li><strong>Managed Execution Environments:</strong> Run tools in managed execution environments - Docker, E2B, Fly.io, Lambda, etc.</li> <li><strong>Full Visibility:</strong> Inspect every function called by the LLM, track timestamps for each Execution, and more.</li> </ul> <!-- --> <h2 class="flex whitespace-pre-wrap group font-semibold" id="quick-access"><div class="absolute"><a href="#quick-access" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Quick Access</span></h2> <p>Get started with these resources:</p> <div class="not-prose grid gap-x-4 sm:grid-cols-2"><a class="card block not-prose font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:!border-primary dark:hover:!border-primary-light" target="_blank" rel="noreferrer" href="https://www.youtube.com/watch?v=ujxKzS0b5qg"><div class="px-6 py-5"><div><h2 class="font-semibold text-base text-gray-800 dark:text-white">Watch Demo</h2><div class="mt-1 font-normal text-sm leading-6 text-gray-600 dark:text-gray-400"><p>See Composio in action</p></div></div></div></a><a class="card block not-prose font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:!border-primary dark:hover:!border-primary-light" href="/introduction/intro/quickstart-tools"><div class="px-6 py-5"><div><h2 class="font-semibold text-base text-gray-800 dark:text-white">Quickstart</h2><div class="mt-1 font-normal text-sm leading-6 text-gray-600 dark:text-gray-400"><p>Build your first Composio powered AI agent</p></div></div></div></a><a class="card block not-prose font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:!border-primary dark:hover:!border-primary-light" href="../../patterns/tools/what-are-tools"><div class="px-6 py-5"><div><h2 class="font-semibold text-base text-gray-800 dark:text-white">Tools</h2><div class="mt-1 font-normal text-sm leading-6 text-gray-600 dark:text-gray-400"><p>Checkout our toolset of 250+ LLM ready tools to build powerful AI applications</p></div></div></div></a><a class="card block not-prose font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:!border-primary dark:hover:!border-primary-light" href="../../patterns/Auth/connected_account"><div class="px-6 py-5"><div><h2 class="font-semibold text-base text-gray-800 dark:text-white">Connections</h2><div class="mt-1 font-normal text-sm leading-6 text-gray-600 dark:text-gray-400"><p>Learn how to create and manage connections for your users</p></div></div></div></a><a class="card block not-prose font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:!border-primary dark:hover:!border-primary-light" href="../../swekit/introduction"><div class="px-6 py-5"><div><h2 class="font-semibold text-base text-gray-800 dark:text-white">Kits</h2><div class="mt-1 font-normal text-sm leading-6 text-gray-600 dark:text-gray-400"><p>Composio SWE Kit (<a href="https://www.swebench.com" target="_blank" rel="noreferrer">#4 on SWE bench</a>) - Your ultimate coding companion</p></div></div></div></a><a class="card block not-prose font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:!border-primary dark:hover:!border-primary-light" href="/patterns/triggers/triggers"><div class="px-6 py-5"><div><h2 class="font-semibold text-base text-gray-800 dark:text-white">Triggers</h2><div class="mt-1 font-normal text-sm leading-6 text-gray-600 dark:text-gray-400"><p>Subscribe to triggers to execute actions automatically</p></div></div></div></a></div></div><div class="leading-6 mt-14"><div class="pb-16 w-full"><div class="flex flex-col gap-y-4 xl:flex-col xl:gap-6 min-[1400px]:flex-row md:flex-row md:justify-end"><div class="flex flex-row gap-5 items-center grow justify-between md:justify-start xl:justify-between min-[1400px]:justify-start"><p class="text-sm text-gray-600 dark:text-gray-400">Was this page helpful?</p><div class="flex flex-row gap-3 items-center"><button class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="fill-current"><path d="M10.1187 1.08741C8.925 0.746789 7.67813 1.43741 7.3375 2.63116L7.15938 3.25616C7.04375 3.66241 6.83438 4.03741 6.55 4.34991L4.94688 6.11241C4.66875 6.41866 4.69062 6.89366 4.99687 7.17179C5.30312 7.44991 5.77813 7.42804 6.05625 7.12179L7.65938 5.35929C8.1 4.87491 8.42188 4.29679 8.6 3.66866L8.77812 3.04366C8.89062 2.64679 9.30625 2.41554 9.70625 2.52804C10.1063 2.64054 10.3344 3.05616 10.2219 3.45616L10.0437 4.08116C9.86562 4.70304 9.58437 5.29054 9.2125 5.81554C9.05 6.04366 9.03125 6.34366 9.15938 6.59366C9.2875 6.84366 9.54375 6.99991 9.825 6.99991H14C14.275 6.99991 14.5 7.22491 14.5 7.49991C14.5 7.71241 14.3656 7.89679 14.175 7.96866C13.9438 8.05616 13.7688 8.24992 13.7094 8.49054C13.65 8.73117 13.7125 8.98429 13.875 9.16866C13.9531 9.25616 14 9.37179 14 9.49991C14 9.74366 13.825 9.94679 13.5938 9.99054C13.3375 10.0405 13.1219 10.2187 13.0312 10.4624C12.9406 10.7062 12.9813 10.9843 13.1438 11.1905C13.2094 11.2749 13.25 11.3812 13.25 11.4999C13.25 11.7093 13.1187 11.8937 12.9312 11.9655C12.5719 12.1062 12.3781 12.4937 12.4812 12.8655C12.4937 12.9062 12.5 12.953 12.5 12.9999C12.5 13.2749 12.275 13.4999 12 13.4999H8.95312C8.55937 13.4999 8.17188 13.3843 7.84375 13.1655L5.91563 11.8812C5.57188 11.6499 5.10625 11.7437 4.875 12.0905C4.64375 12.4374 4.7375 12.8999 5.08437 13.1312L7.0125 14.4155C7.5875 14.7999 8.2625 15.003 8.95312 15.003H12C13.0844 15.003 13.9656 14.1405 14 13.0655C14.4563 12.6999 14.75 12.1374 14.75 11.503C14.75 11.3624 14.7344 11.228 14.7094 11.0968C15.1906 10.7312 15.5 10.153 15.5 9.50304C15.5 9.29991 15.4688 9.10304 15.4125 8.91866C15.775 8.55304 16 8.05304 16 7.49991C16 6.39679 15.1063 5.49991 14 5.49991H11.1156C11.2625 5.17491 11.3875 4.83741 11.4844 4.49366L11.6625 3.86866C12.0031 2.67491 11.3125 1.42804 10.1187 1.08741ZM1 5.99991C0.446875 5.99991 0 6.44679 0 6.99991V13.9999C0 14.553 0.446875 14.9999 1 14.9999H3C3.55313 14.9999 4 14.553 4 13.9999V6.99991C4 6.44679 3.55313 5.99991 3 5.99991H1Z"></path></svg><small class="text-sm font-normal leading-4 ">Yes</small></button><button class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="fill-current"><path d="M10.1187 14.9124C8.925 15.253 7.67813 14.5624 7.3375 13.3687L7.15938 12.7437C7.04375 12.3374 6.83438 11.9624 6.55 11.6499L4.94688 9.8874C4.66875 9.58115 4.69062 9.10615 4.99687 8.82803C5.30312 8.5499 5.77813 8.57178 6.05625 8.87803L7.65938 10.6405C8.1 11.1249 8.42188 11.703 8.6 12.3312L8.77812 12.9562C8.89062 13.353 9.30625 13.5843 9.70625 13.4718C10.1063 13.3593 10.3344 12.9437 10.2219 12.5437L10.0437 11.9187C9.86562 11.2968 9.58437 10.7093 9.2125 10.1843C9.05 9.95615 9.03125 9.65615 9.15938 9.40615C9.2875 9.15615 9.54375 8.9999 9.825 8.9999H14C14.275 8.9999 14.5 8.7749 14.5 8.4999C14.5 8.2874 14.3656 8.10303 14.175 8.03115C13.9438 7.94365 13.7688 7.7499 13.7094 7.50928C13.65 7.26865 13.7125 7.01553 13.875 6.83115C13.9531 6.74365 14 6.62803 14 6.4999C14 6.25615 13.825 6.05303 13.5938 6.00928C13.3375 5.95928 13.1219 5.78115 13.0312 5.53428C12.9406 5.2874 12.9813 5.0124 13.1438 4.80615C13.2094 4.72178 13.25 4.61553 13.25 4.49678C13.25 4.2874 13.1187 4.10303 12.9312 4.03115C12.5719 3.89053 12.3781 3.50303 12.4812 3.13115C12.4937 3.09053 12.5 3.04365 12.5 2.99678C12.5 2.72178 12.275 2.49678 12 2.49678H8.95312C8.55937 2.49678 8.17188 2.6124 7.84375 2.83115L5.91563 4.11553C5.57188 4.34678 5.10625 4.25303 4.875 3.90615C4.64375 3.55928 4.7375 3.09678 5.08437 2.86553L7.0125 1.58115C7.5875 1.19678 8.2625 0.993652 8.95312 0.993652H12C13.0844 0.993652 13.9656 1.85615 14 2.93115C14.4563 3.29678 14.75 3.85928 14.75 4.49365C14.75 4.63428 14.7344 4.76865 14.7094 4.8999C15.1906 5.26553 15.5 5.84365 15.5 6.49365C15.5 6.69678 15.4688 6.89365 15.4125 7.07803C15.775 7.44678 16 7.94678 16 8.4999C16 9.60303 15.1063 10.4999 14 10.4999H11.1156C11.2625 10.8249 11.3875 11.1624 11.4844 11.5062L11.6625 12.1312C12.0031 13.3249 11.3125 14.5718 10.1187 14.9124ZM1 11.9999C0.446875 11.9999 0 11.553 0 10.9999V3.9999C0 3.44678 0.446875 2.9999 1 2.9999H3C3.55313 2.9999 4 3.44678 4 3.9999V10.9999C4 11.553 3.55313 11.9999 3 11.9999H1Z"></path></svg><small class="text-sm font-normal leading-4 ">No</small></button></div></div><div class="flex flex-row gap-3 justify-end"><a class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500" target="_blank" rel="noopener noreferrer" href="https://github.com/composiohq/composio/edit/master/docs/introduction/intro/overview.mdx"><svg class="h-3.5 w-3.5 block fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M58.57 323.5L362.7 19.32C387.7-5.678 428.3-5.678 453.3 19.32L492.7 58.75C495.8 61.87 498.5 65.24 500.9 68.79C517.3 93.63 514.6 127.4 492.7 149.3L188.5 453.4C187.2 454.7 185.9 455.1 184.5 457.2C174.9 465.7 163.5 471.1 151.1 475.6L30.77 511C22.35 513.5 13.24 511.2 7.03 504.1C.8198 498.8-1.502 489.7 .976 481.2L36.37 360.9C40.53 346.8 48.16 333.9 58.57 323.5L58.57 323.5zM82.42 374.4L59.44 452.6L137.6 429.6C143.1 427.7 149.8 424.2 154.6 419.5L383 191L320.1 128.1L92.51 357.4C91.92 358 91.35 358.6 90.8 359.3C86.94 363.6 84.07 368.8 82.42 374.4L82.42 374.4z"></path></svg><svg class="h-3.5 w-3.5 hidden group-hover:block fill-gray-500 dark:fill-gray-400 group-hover:fill-gray-700 dark:group-hover:fill-gray-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z"></path></svg><small class="text-sm leading-4">Suggest edits</small></a><a class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500" target="_blank" rel="noopener noreferrer" href="https://github.com/composiohq/composio/issues/new?title=Issue on docs&body=Path: /introduction/intro/overview"><svg class="h-3.5 w-3.5 block fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M506.3 417l-213.3-364C284.8 39 270.4 32 256 32C241.6 32 227.2 39 218.1 53l-213.2 364C-10.59 444.9 9.851 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM52.58 432L255.1 84.8L459.4 432H52.58zM256 337.1c-17.36 0-31.44 14.08-31.44 31.44c0 17.36 14.11 31.44 31.48 31.44s31.4-14.08 31.4-31.44C287.4 351.2 273.4 337.1 256 337.1zM232 184v96C232 293.3 242.8 304 256 304s24-10.75 24-24v-96C280 170.8 269.3 160 256 160S232 170.8 232 184z"></path></svg><svg class="h-3.5 w-3.5 hidden group-hover:block fill-gray-500 dark:fill-gray-400 group-hover:fill-gray-700 dark:group-hover:fill-gray-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"></path></svg><small class="text-sm leading-4">Raise issue</small></a></div></div></div><div class="mb-12 px-0.5 flex items-center text-sm font-semibold text-gray-700 dark:text-gray-200"><a class="flex items-center ml-auto space-x-3 group" href="/introduction/intro/basic"><span class="group-hover:text-gray-900 dark:group-hover:text-white">Basic Concepts</span><svg viewBox="0 0 3 6" class="rotate-180 h-1.5 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div><footer id="footer" class="flex gap-12 justify-between pt-10 border-t border-gray-100 sm:flex dark:border-gray-800/50 pb-28"><div class="flex gap-6 flex-wrap"><a href="https://www.linkedin.com/company/composio-dev/" target="_blank"><span class="sr-only">linkedin</span><svg class="w-5 h-5 bg-gray-400 dark:bg-gray-500 hover:bg-gray-500 dark:hover:bg-gray-400" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/linkedin.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/linkedin.svg);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://twitter.com/composiohq" target="_blank"><span class="sr-only">x</span><svg class="w-5 h-5 bg-gray-400 dark:bg-gray-500 hover:bg-gray-500 dark:hover:bg-gray-400" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/x-twitter.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/x-twitter.svg);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://github.com/composiohq" target="_blank"><span class="sr-only">github</span><svg class="w-5 h-5 bg-gray-400 dark:bg-gray-500 hover:bg-gray-500 dark:hover:bg-gray-400" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/github.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/github.svg);mask-repeat:no-repeat;mask-position:center"></svg></a></div><div class="flex items-center justify-between"><div class="sm:flex"><a href="https://mintlify.com/preview-request?utm_campaign=poweredBy&utm_medium=docs&utm_source=docs.composio.dev" target="_blank" rel="noreferrer" class="text-sm text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 text-nowrap">Powered by Mintlify</a></div></div></footer></div></div><div class="hidden xl:flex self-start sticky h-[calc(100vh-11rem)] top-[9.5rem]" id="content-side-layout"><div class="z-10 hidden xl:flex pl-10 box-border w-[19rem]" id="table-of-contents"><div id="table-of-contents-content" class="text-gray-600 text-sm leading-6 w-[16.5rem] overflow-y-auto space-y-2"><div class="text-gray-700 dark:text-gray-300 font-medium flex items-center space-x-2"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg" class="h-3 w-3"><path d="M2.44434 12.6665H13.5554" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.44434 3.3335H13.5554" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.44434 8H7.33323" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>On this page</span></div><ul><li><a href="#what-is-composio" class="py-1 block hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">What is Composio?</a></li><li><a href="#quick-access" class="py-1 block hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Quick Access</a></li></ul></div></div></div></div></div></div></div></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"mdxSource":{"compiledSource":"/*Component hr does not exist.*/\n\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n }, {Card, CardGroup, Heading} = _components;\n if (!Card) _missingMdxReference(\"Card\", true);\n if (!CardGroup) _missingMdxReference(\"CardGroup\", true);\n if (!Heading) _missingMdxReference(\"Heading\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(Heading, {\n level: \"2\",\n id: \"what-is-composio\",\n children: \"What is Composio?\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Composio helps you connect AI agents to external tools like Gmail, GitHub, Salesforce, etc. It’s like a bridge between your AI and the tools it needs to get work done.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Here’s what you can do:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Seamless Connections:\"\n }), \" Connect AI Agents to tools like Gmail, GitHub, Salesforce \u0026 local tools such as File tool, Shell tool, etc.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Authentication Mechanisms:\"\n }), \" Support industry-standard auth protocols (OAuth, API Keys, JWT) with built-in security best practices, automatic token refresh handling, and secure user account connections - all without handling sensitive credentials\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Language Agnostic:\"\n }), \" Integrate with any programming language through our API-first approach\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Managed Execution Environments:\"\n }), \" Run tools in managed execution environments - Docker, E2B, Fly.io, Lambda, etc.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Full Visibility:\"\n }), \" Inspect every function called by the LLM, track timestamps for each Execution, and more.\"]\n }), \"\\n\"]\n }), \"\\n\", \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"quick-access\",\n children: \"Quick Access\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Get started with these resources:\"\n }), \"\\n\", _jsxs(CardGroup, {\n cols: 2,\n children: [_jsx(Card, {\n title: \"Watch Demo\",\n href: \"https://www.youtube.com/watch?v=ujxKzS0b5qg\",\n children: _jsx(_components.p, {\n children: \"See Composio in action\"\n })\n }), _jsx(Card, {\n title: \"Quickstart\",\n href: \"/introduction/intro/quickstart-tools\",\n children: _jsx(_components.p, {\n children: \"Build your first Composio powered AI agent\"\n })\n }), _jsx(Card, {\n title: \"Tools\",\n href: \"../../patterns/tools/what-are-tools\",\n children: _jsx(_components.p, {\n children: \"Checkout our toolset of 250+ LLM ready tools to build powerful AI applications\"\n })\n }), _jsx(Card, {\n title: \"Connections\",\n href: \"../../patterns/Auth/connected_account\",\n children: _jsx(_components.p, {\n children: \"Learn how to create and manage connections for your users\"\n })\n }), _jsx(Card, {\n title: \"Kits\",\n href: \"../../swekit/introduction\",\n children: _jsxs(_components.p, {\n children: [\"Composio SWE Kit (\", _jsx(_components.a, {\n href: \"https://www.swebench.com\",\n children: \"#4 on SWE bench\"\n }), \") - Your ultimate coding companion\"]\n })\n }), _jsx(Card, {\n title: \"Triggers\",\n href: \"/patterns/triggers/triggers\",\n children: _jsx(_components.p, {\n children: \"Subscribe to triggers to execute actions automatically\"\n })\n })]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{"config":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Composio","colors":{"primary":"#343434","light":"#fff","dark":"#343434"},"favicon":"/favicon1.png","navigation":{"tabs":[{"tab":"Get Started","groups":[{"group":"Introduction","pages":["introduction/intro/overview","introduction/intro/basic","introduction/intro/quickstart-tools","introduction/intro/quickstart-triggers"]},{"group":"Tools","pages":["patterns/tools/what-are-tools",{"group":"Use Tools","pages":["patterns/tools/use-tools/action-guide-with-agents","patterns/tools/use-tools/use-specific-actions","patterns/tools/use-tools/get-action-inputs","patterns/tools/use-tools/processing-actions","patterns/tools/use-tools/configure-tools","patterns/tools/use-tools/action-guide-without-agents","patterns/tools/use-tools/use-tools-with-your-auth"]},{"group":"Build Tools","pages":["patterns/tools/build-tools/custom-action-without-auth","patterns/tools/build-tools/custom-action-with-auth"]},"patterns/tools/custom-integration","patterns/tools/serve-tools","patterns/tools/versioning"]},{"group":"Authentication","pages":["patterns/Auth/connected_account","patterns/Auth/using-connections","patterns/Auth/Integrations","patterns/Auth/examples/gmail_example","patterns/Auth/examples/shopify_example"]},{"group":"Triggers \u0026 Webhooks","pages":["patterns/triggers/triggers","patterns/triggers/webhooks"]},{"group":"Supported Frameworks","pages":["framework/autogen","framework/crewai","framework/gemini","framework/langchain","framework/langflow","framework/langgraph","framework/letta","framework/litellm","framework/llamaindex","framework/openai",{"group":"Other Frameworks","pages":["framework/smolagents","framework/camelai","javascript/cloudflare","framework/griptape","framework/groq","framework/julep","framework/lyzr","framework/agno","framework/praisonai","javascript/vercel","framework/google","framework/ibm"]}]},{"group":"Kits","pages":[{"group":"SWE kit","pages":["swekit-tools/introduction","swekit/introduction","swekit-js/introduction","swekit/benchmarks","swekit-examples/introduction"]},{"group":"AI SDR Kit","pages":["sdrkit/tools","sdrkit/ai-lead-generator","sdrkit/ai-outreach-agent","sdrkit/ai-market-research-agent","sdrkit/ai-scheduling-agent"]},{"group":"Crypto Kit","pages":["cryptokit/tools","cryptokit/community_reward_agent","cryptokit/github_contributor_reward_agent","cryptokit/coinbase_agent","cryptokit/trading_agent"]}]},{"group":"Others","pages":["introduction/foundations/components/workspace","integrations/google","faq/api_key/api_key","faq/api_key/cli","faq/integrations_and_connections/list_of_tools","faq/supported_llms/supported_llm","monitoring-docs","changelog"]}]},{"tab":"Examples","groups":[{"group":"Examples","pages":[{"group":"Python Examples","pages":["examples/combined/rag-agent-python","examples/combined/code-execution-agent-python","examples/combined/calendar-agent-python","examples/combined/newsletter-summarizer-python","examples/combined/research-agent-python","examples/combined/sql-agent-python"]},{"group":"JavaScript Examples","pages":["examples/combined/rag-agent-javascript","examples/combined/code-execution-agent-javascript","examples/combined/calendar-agent-javascript","examples/combined/newsletter-summarizer-javascript","examples/combined/research-agent-javascript","examples/combined/sql-agent-javascript"]}]}]},{"tab":"API","groups":[{"group":"Endpoints","icon":"robot","pages":[{"group":"Actions","pages":["api-reference/actions/list-action-tags","api-reference/actions/list-actions","api-reference/actions/get-action-inputs","api-reference/actions/get-single-action","api-reference/actions/execute-an-action"]},{"group":"Api Keys","pages":["api-reference/api-keys/list-api-keys","api-reference/api-keys/generate-api-key","api-reference/api-keys/delete-api-key"]},{"group":"Apps","pages":["api-reference/apps/list-app-categories","api-reference/apps/list-apps","api-reference/apps/get-single-app"]},{"group":"Client","pages":["api-reference/client/get-user-info"]},{"group":"Connections","pages":["api-reference/connections/list-connections","api-reference/connections/get-auth-credentials","api-reference/connections/get-single-connection","api-reference/connections/update-connection-data","api-reference/connections/delete-connection","api-reference/connections/disable-connection","api-reference/connections/enable-connection","api-reference/connections/initiate-connection"]},{"group":"Integrations","pages":["api-reference/integrations/list-all-connectors","api-reference/integrations/get-connector-info","api-reference/integrations/create-connector","api-reference/integrations/delete-connector","api-reference/integrations/modify-connector"]},{"group":"Logs","pages":["api-reference/logs/get-logs","api-reference/logs/post-logs"]},{"group":"Projects","pages":["api-reference/projects/list-all-projects","api-reference/projects/get-project","api-reference/projects/regenerate-project-api-key","api-reference/projects/create-new-project","api-reference/projects/delete-project","api-reference/projects/rename-project"]},{"group":"Team","pages":["api-reference/team/list-members","api-reference/team/invite-member"]},{"group":"Triggers","pages":["api-reference/triggers/list-triggers","api-reference/triggers/get-active-triggers","api-reference/triggers/get-logs","api-reference/triggers/get-trigger-info","api-reference/triggers/get-webhook-url","api-reference/triggers/update-new-webhook","api-reference/triggers/delete-trigger","api-reference/triggers/disable-trigger","api-reference/triggers/enable-trigger","api-reference/triggers/set-callback-url","api-reference/triggers/switch-trigger-instance-status"]}]}]},{"tab":"All Tools","href":"https://app.composio.dev/apps"},{"tab":"Chat with Code","href":"https://entelligence.ai/ComposioHQ\u0026composio"}]},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/dark.svg"},"api":{"openapi":["composio.yaml"],"playground":{"display":"interactive"}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#fafafa","dark":"#181818"}},"navbar":{"links":[{"label":"Discord","href":"https://dub.composio.dev/discord"}],"primary":{"type":"button","label":"Get your API Key","href":"https://app.composio.dev/developers"}},"search":{"prompt":"Make my agents useful ..."},"seo":{"metatags":{"og:image":"https://framerusercontent.com/images/YwaNXXQETYRs9LymxFCnTjp83Q.svg","og:description":"Composio enables your agents to connect with Various Tools and work with them","og:site_name":"Composio Docs","twitter:site":"https://twitter.com/KaranVaidya6"},"indexing":"navigable"},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/composio-dev/","x":"https://twitter.com/composiohq","github":"https://github.com/composiohq"}},"integrations":{"ga4":{"measurementId":"G-3DBLETRPXH"},"posthog":{"apiKey":"phc_Gz8DBv1ZMbOwt3hE8sJZwKGsDl5FtMSkvBNSR0HC07c"},"plausible":{"domain":"composio.dev"},"intercom":{"appId":"dvp1uc7s"}},"redirects":[{"destination":"https://app.composio.dev/apps","source":"/apps/gitlab","_id":"67ac7db8806b179eeefbc9c3"},{"destination":"https://app.composio.dev/apps","source":"/apps/bitbucket","_id":"67ac7db8806b179eeefbc9c4"},{"destination":"/patterns/howtos/get_api_key","source":"/introduction/foundations/howtos/get_api_key","_id":"67ac7db8806b179eeefbc9c5"},{"destination":"/patterns/cli/trigger","source":"/sdk/cli/trigger","_id":"67ac7db8806b179eeefbc9c6"},{"destination":"/examples/:slug1*","source":"/guides/:slug1*","_id":"67ac7db8806b179eeefbc9c7"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/langchain_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9c8"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/crewai/:slug2*","_id":"67ac7db8806b179eeefbc9c9"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/autogen_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9ca"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/:slug2*","_id":"67ac7db8806b179eeefbc9cb"},{"destination":"https://app.composio.dev/apps","source":"/apps","_id":"67ac7db8806b179eeefbc9cc"},{"destination":"/introduction/foundations/components/custom_actions","source":"/python/local_tools","_id":"67ac7db8806b179eeefbc9cd"},{"destination":"/introduction/foundations/components/custom_actions","source":"/introduction/foundations/components/local_tools","_id":"67ac7db8806b179eeefbc9ce"},{"destination":"https://github.com/ComposioHQ/composio/releases","source":"/changelog","_id":"67ac7db8806b179eeefbc9cf"}]},"pageMetadata":{"title":"Overview","description":"Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs \u0026 AI agents using Function Calling.","sidebarTitle":"Overview","href":"/introduction/intro/overview"}}},"mdxExtracts":{"tableOfContents":[{"title":"What is Composio?","slug":"what-is-composio","depth":2,"children":[]},{"title":"Quick Access","slug":"quick-access","depth":2,"children":[]}],"codeExamples":{}},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs \u0026 AI agents using Function Calling.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageData":{"navWithMetadata":[{"group":"Introduction","pages":[{"title":"Overview","description":"Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs \u0026 AI agents using Function Calling.","sidebarTitle":"Overview","href":"/introduction/intro/overview"},{"title":"Basic Concepts","description":"Core Platform Modules","sidebarTitle":"Basic Concepts","href":"/introduction/intro/basic"},{"title":"🚀 Quick Start - Tools","description":"Learn how to use Tools in less than 5 minutes","sidebarTitle":"Quick Start - Tools","href":"/introduction/intro/quickstart-tools"},{"title":"🚀 Quick Start - Triggers","description":"Learn how to use Triggers in less than 5 minutes","sidebarTitle":"Quick Start - Triggers","href":"/introduction/intro/quickstart-triggers"}]},{"group":"Tools","pages":[{"title":"🛠️ What are Tools \u0026 Actions?","description":"Learn about tools in Composio","sidebarTitle":"What are Tools?","href":"/patterns/tools/what-are-tools"},{"group":"Use Tools","pages":[{"title":"🛠️ How can I use Tools with LLMs?","description":"Guide to using Tools with LLMs","sidebarTitle":"Use Tools with LLMs","href":"/patterns/tools/use-tools/action-guide-with-agents"},{"title":"How can I get and use specific actions from a Tool?","description":"Each Tool (like GitHub, Slack, etc.) comes with many Actions. You can explore all available Tools \u0026 Actions [here](https://app.composio.dev/apps). Each Action has an associated action ID which you can use to call the action.","sidebarTitle":"Use Specific Actions","href":"/patterns/tools/use-tools/use-specific-actions"},{"title":"🛠️ How can I get the schema for an Action?","description":"Guide to get the schema for an Action","sidebarTitle":"Get Action Schema","href":"/patterns/tools/use-tools/get-action-inputs"},{"title":"🛠️ How to modify Actions?","description":"Learn how to modify Tools \u0026 Actions to refine schemas, inputs, and outputs for optimal results.","sidebarTitle":"Modify Actions","href":"/patterns/tools/use-tools/processing-actions"},{"title":"🛠️ Configure Tools","description":"Learn how to configure tools","sidebarTitle":"Configure Tools","href":"/patterns/tools/use-tools/configure-tools"},{"title":"🛠️ How can I use Tools directly?","description":"Guide to use Tools directly as function calls","sidebarTitle":"Use Tools Directly","href":"/patterns/tools/use-tools/action-guide-without-agents"},{"title":"🛠️ How Can I Use Tools and Actions With Existing Authentication?","description":"Guide to using existing authentication with tools and actions","sidebarTitle":"Use Tools With Your Auth","href":"/patterns/tools/use-tools/use-tools-with-your-auth"}]},{"group":"Build Tools","pages":[{"title":"Build Tools Without Auth","description":"Create standalone custom tools and actions for any functionality you need (e.g., data processing, calculations, or integrations with other services)","sidebarTitle":"Build Tools Without Auth","href":"/patterns/tools/build-tools/custom-action-without-auth"},{"title":"Build Tools with Auth","description":"Create custom actions that leverage existing tool authentication to extend functionality.","sidebarTitle":"Build Tools with Auth","href":"/patterns/tools/build-tools/custom-action-with-auth"}]},{"title":"🔧 How to add your own App?","description":"Learn how to add your own App to Composio","sidebarTitle":"Add Your Own App","href":"/patterns/tools/custom-integration"},{"title":"🛠️ Serving Tools Over Endpoint","description":"Learn how to create a REST API endpoint that processes natural language requests into tool actions using Composio, OpenAI and FastAPI","sidebarTitle":"Serving Tools Over Endpoint","href":"/patterns/tools/serve-tools"},{"title":"Action Versioning","description":"Learn how to use versioned actions in Composio","sidebarTitle":"Action Versioning","href":"/patterns/tools/versioning"}]},{"group":"Authentication","pages":[{"title":"Create \u0026 Manage Connections for Users","description":"Learn how to securely manage and authenticate multiple user connections","sidebarTitle":"Connections","href":"/patterns/Auth/connected_account"},{"title":"How to use Connections?","description":"Learn how to use connections","sidebarTitle":"Using Connections","href":"/patterns/Auth/using-connections"},{"title":"How To Configure Connections?","description":"Learn how to configure connections for your users","sidebarTitle":"Configuring Connection","href":"/patterns/Auth/Integrations"},{"title":"Connecting your User's Gmail Account","description":"Here's how to connect your user to Gmail","sidebarTitle":"Example Flow - Gmail","href":"/patterns/Auth/examples/gmail_example"},{"title":"Connecting a Shopify Account using API Key","description":"Guide to getting your user's Shopify account connected using API Key","sidebarTitle":"Example Flow - Shopify","href":"/patterns/Auth/examples/shopify_example"}]},{"group":"Triggers \u0026 Webhooks","pages":[{"title":"Getting Started with Triggers","description":"Triggers monitor specific events in apps like GitHub or Gmail and notify your agents via webhooks. When triggered, they send relevant data that your agents can act upon","sidebarTitle":"Triggers","href":"/patterns/triggers/triggers"},{"title":"Getting Started with Webhooks","description":"Learn how to configure and receive real-time notifications about activities in your Composio account through webhooks","sidebarTitle":"Webhooks","href":"/patterns/triggers/webhooks"}]},{"group":"Supported Frameworks","pages":[{"title":"Using Composio With Autogen","description":"Integrate Composio with Autogen agents to let them seamlessly interact with external Apps","sidebarTitle":"Autogen","href":"/framework/autogen"},{"title":"Using Composio With CrewAI","description":"Integrate Composio with CrewAI agents to let them seamlessly interact with external apps","sidebarTitle":"CrewAI","href":"/framework/crewai"},{"title":"Using Composio With Gemini","description":"Integrate Composio with Gemini to let them seamlessly interact with external Apps","sidebarTitle":"Gemini","href":"/framework/gemini"},{"title":"🦜🔗 Using Composio With LangChain","description":"Integrate Composio with LangChain agents to let them seamlessly interact with external apps","sidebarTitle":"LangChain","href":"/framework/langchain"},{"title":"Using Composio With LangFlow","description":"Use Composio with LangFlow to create LLM agents that can interact with external apps","sidebarTitle":"LangFlow","href":"/framework/langflow"},{"title":"🦜🕸️ Using Composio With LangGraph","description":"Integrate Composio with LangGraph agents to let them seamlessly interact with external apps","sidebarTitle":"LangGraph","href":"/framework/langgraph"},{"title":"Using Composio With Letta","description":"Integrate Composio with Letta agents to let them seamlessly interact with external apps","sidebarTitle":"Letta","href":"/framework/letta"},{"title":"Using Composio With LiteLLM","description":"Integrate Composio with LiteLLM and seamlessly interact with external apps","sidebarTitle":"LiteLLM","href":"/framework/litellm"},{"title":"🦙 Using Composio With LlamaIndex","description":"Integrate Composio with LLamaIndex agents to let them seamlessly interact with external apps","sidebarTitle":"LlamaIndex","href":"/framework/llamaindex"},{"title":"֎ Using Composio With OpenAI","description":"Integrate Composio with OpenAI Assistants to let them seamlessly interact with external apps","sidebarTitle":"OpenAI","href":"/framework/openai"},{"group":"Other Frameworks","pages":[{"title":"Using Composio With Smol Agents","description":"Integrate Composio with Smol agents to let them seamlessly interact with external apps","sidebarTitle":"Smol Agents","href":"/framework/smolagents"},{"title":"🐫 Using Composio With CAMEL-AI","description":"Integrate Composio with CAMEL agents to let them seamlessly interact with external apps","sidebarTitle":"CAMEL","href":"/framework/camelai"},{"title":"Using Composio With Cloudflare Worker AI","description":"Integrate Composio with Cloudflare Worker AI to let them seamlessly interact with external apps","sidebarTitle":"Cloudflare Worker AI","href":"/javascript/cloudflare"},{"title":"🧻 Using Composio With Griptape","description":"Integrate Composio with Griptape agents to let them seamlessly interact with external apps","sidebarTitle":"Griptape","href":"/framework/griptape"},{"title":"Using Composio With Groq","description":"Integrate Composio with Groq to seamlessly interact with external apps","sidebarTitle":"Groq","href":"/framework/groq"},{"title":"Using Composio With Julep","description":"Integrate Composio with Julep agents to enhance their interaction with external apps","sidebarTitle":"Julep","href":"/framework/julep"},{"title":"Using Composio With Lyzr","description":"Integrate Composio with Lyzr agents to let them seamlessly interact with external apps","sidebarTitle":"Lyzr","href":"/framework/lyzr"},{"title":"Using Composio With Agno","description":"Integrate Composio with Agno agents to let them seamlessly interact with external apps","sidebarTitle":"Agno","href":"/framework/agno"},{"title":"📖 Using Composio With PraisonAI","description":"Integrate Composio with PraisonAI agents to let them seamlessly interact with external apps","sidebarTitle":"PraisonAI SDK","href":"/framework/praisonai"},{"title":"Using Composio With Vercel AI SDK","description":"Integrate Composio with Vercel AI SDK to let them seamlessly interact with external apps","sidebarTitle":"Vercel AI","href":"/javascript/vercel"},{"title":"Using Composio With Google AI","description":"Enable Google AI models to seamlessly interact with external apps via Composio for enhanced functionality","sidebarTitle":"Google AI","href":"/framework/google"},{"title":"Using Composio With IBM","description":"Integrate Composio with IBM's Granite Models to let them seamlessly interact with external apps","sidebarTitle":"IBM","href":"/framework/ibm"}]}]},{"group":"Kits","pages":[{"group":"SWE kit","pages":[{"title":"Tools For SWE Kit","description":"List of tools you can use for your SWE Kit Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable file system operations, command execution, and other core development tasks","sidebarTitle":"Tools","href":"/swekit-tools/introduction"},{"title":"SWE Development Kit","description":"Build Software Engineering agents locally with frameworks and tools of your choice","sidebarTitle":"Introduction (Python)","href":"/swekit/introduction"},{"title":"SWE Development Kit","description":"Build and benchmark Software Engineering agents with Composio's tooling ecosystem using JavaScript","sidebarTitle":"Introduction (JS)","href":"/swekit-js/introduction"},{"title":"Benchmarks","description":"Learn how to run and evaluate your SWE agents using benchmarks","sidebarTitle":"SWE Kit Benchmarks","href":"/swekit/benchmarks"},{"title":"SWE Kit: PR Review Agent","description":"Build a PR Review agent with SWE Kit","sidebarTitle":"PR Review Agent","href":"/swekit-examples/introduction"}]},{"group":"AI SDR Kit","pages":[{"title":"Tools For AI SDR Kit","description":"List of tools you can use for your AI SDR Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable file system operations, command execution, and other core development tasks","sidebarTitle":"Tools","href":"/sdrkit/tools"},{"title":"AI Lead Generator Agent","description":"This project demonstrates how to use Composio to create a lead generation agent.","sidebarTitle":"AI Lead Generator","href":"/sdrkit/ai-lead-generator"},{"title":"AI Outreach Agent","description":"This project demonstrates how to use Composio to create an outreach agent.","sidebarTitle":"AI Outreach Agent","href":"/sdrkit/ai-outreach-agent"},{"title":"AI Market Research Agent","description":"This project demonstrates how to use Composio to create a market research agent.","sidebarTitle":"AI Market Researcher","href":"/sdrkit/ai-market-research-agent"},{"title":"AI Scheduling Agent","description":"This project demonstrates how to use Composio to create a scheduling agent.","sidebarTitle":"AI Scheduler","href":"/sdrkit/ai-scheduling-agent"}]},{"group":"Crypto Kit","pages":[{"title":"Tools For AI Crypto Kit","description":"List of tools you can use for your AI Crypto Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable Wallet Creation, Transaction Execution, and other crypto related tasks","sidebarTitle":"Tools","href":"/cryptokit/tools"},{"title":"Community Reward Agent","description":"This project demonstrates how to use Composio to create a Community Reward Agent.","sidebarTitle":"Community Reward Agent","href":"/cryptokit/community_reward_agent"},{"title":"Github Contributor Reward Agent","description":"This project demonstrates how to use Composio to create a Github Contributor Reward Agent.","sidebarTitle":"Github Reward Agent","href":"/cryptokit/github_contributor_reward_agent"},{"title":"Coinbase Wallet Manager Agent","description":"This project demonstrates how to use Composio to create a Coinbase Wallet Manager Agent.","sidebarTitle":"Coinbase Wallet Manager Agent","href":"/cryptokit/coinbase_agent"},{"title":"Crypto Trading Agent","description":"This project demonstrates how to use Composio to create an automated crypto trading agent that monitors and executes trades on Base Mainnet.","sidebarTitle":"Trading Agent","href":"/cryptokit/trading_agent"}]}]},{"group":"Others","pages":[{"title":"Workspace Environments","description":"Configure and utilize different workspace environments for running your agents securely and with custom configurations.","sidebarTitle":"Workspace Environments","href":"/introduction/foundations/components/workspace"},{"title":"Google: OAuth2 single service","description":"In this guide you'll learn how to create and setup a new Google Project and get the OAuth credentials","sidebarTitle":"Get Google OAuth Creds","href":"/integrations/google"},{"title":"API key","description":"Learn how to obtain and use your Composio API key","sidebarTitle":"API key","href":"/faq/api_key/api_key"},{"title":"💻 Using Composio CLI","description":"Learn how to install and use the Composio CLI for managing your agent interactions.","sidebarTitle":"How to use CLI?","href":"/faq/api_key/cli"},{"title":"Listing all tools, actions, and more","description":"This section will walk you through discovering and managing the tools, integrations, actions, and more.","sidebarTitle":"Listing Tools \u0026 Actions","href":"/faq/integrations_and_connections/list_of_tools"},{"title":"🛠️ What LLMs can I use?","description":"Understand more about Actions","sidebarTitle":"Supported LLMs","href":"/faq/supported_llms/supported_llm"}]},{"group":"Examples","pages":[{"group":"Python Examples","pages":[{"title":"RAG Tool Agent","description":"This project involves setting up and running a system of agents to add content to a RAG (Retrieval-Augmented Generation) tool, perform queries, and return relevant information. We use Composio to setup this Local Tool and OpenAI GPT-4o to power the agents. Follow this guide to set up and run the project.","sidebarTitle":"RAG Tool Agent","href":"/examples/combined/rag-agent-python"},{"title":"Code Execution Agent","description":"The project generates and executes code based on user-defined problems. It utilizes the Composio and connects your AI Agent to E2B's Code Interpreter to facilitate code execution, allowing users to input a problem statement and receive executable code as output. The agent is designed to operate in a sandbox environment, ensuring safe execution and accurate results. Key functionalities include code generation, execution, and result interpretation, making it an invaluable resource for developers and data scientists alike.","sidebarTitle":"Code Execution Agent","href":"/examples/combined/code-execution-agent-python"},{"title":"Calendar Agent","description":"This project is an example which uses Composio to seamlessly convert your to-do lists into Google Calendar events. It automatically schedules tasks with specified labels and times, ensuring your calendar is always up-to-date and organized.","sidebarTitle":"Calendar Agent","href":"/examples/combined/calendar-agent-python"},{"title":"Newsletter Summarizer","description":"This project serves as an example of how to use Composio to seamlessly fetch and summarize newsletter emails. It automatically retrieves recent newsletters, summarizes their content, and sends a well-formatted email to the specified recipient.","sidebarTitle":"Newsletter Summarizer","href":"/examples/combined/newsletter-summarizer-python"},{"title":"Research Agent","description":"This guide provides detailed steps to create a Demo Assistant using Composio and OpenAI. You will build a system capable of interacting with GitHub to create issues and fetch user information.","sidebarTitle":"Research Agent","href":"/examples/combined/research-agent-python"},{"title":"SQL Agent","description":"This guide provides detailed steps to create an agent that leverages Composio to perform SQL queries and file operations to perform sql queries and File operations and plot insightful graphs on the data in the db","sidebarTitle":"SQL Agent","href":"/examples/combined/sql-agent-python"}]},{"group":"JavaScript Examples","pages":[{"title":"RAG Tool Agent","description":"This project involves setting up and running a system of agents to add content to a RAG (Retrieval-Augmented Generation) tool, perform queries, and return relevant information. We use Composio to setup this Local Tool and OpenAI GPT-4o to power the agents. Follow this guide to set up and run the project.","sidebarTitle":"RAG Tool Agent","href":"/examples/combined/rag-agent-javascript"},{"title":"Code Execution Agent","description":"The project generates and executes code based on user-defined problems. It utilizes the Composio and connects your AI Agent to E2B's Code Interpreter to facilitate code execution, allowing users to input a problem statement and receive executable code as output. The agent is designed to operate in a sandbox environment, ensuring safe execution and accurate results. Key functionalities include code generation, execution, and result interpretation, making it an invaluable resource for developers and data scientists alike.","sidebarTitle":"Code Execution Agent","href":"/examples/combined/code-execution-agent-javascript"},{"title":"Calendar Agent","description":"This project is an example which uses Composio to seamlessly convert your to-do lists into Google Calendar events. It automatically schedules tasks with specified labels and times, ensuring your calendar is always up-to-date and organized.","sidebarTitle":"Calendar Agent","href":"/examples/combined/calendar-agent-javascript"},{"title":"Newsletter Summarizer","description":"This project serves as an example of how to use Composio to seamlessly fetch and summarize newsletter emails. It automatically retrieves recent newsletters, summarizes their content, and sends a well-formatted email to the specified recipient.","sidebarTitle":"Newsletter Summarizer","href":"/examples/combined/newsletter-summarizer-javascript"},{"title":"Research Agent","description":"This guide provides detailed steps to create a Demo Assistant using Composio and OpenAI. You will build a system capable of interacting with GitHub to create issues and fetch user information.","sidebarTitle":"Research Agent","href":"/examples/combined/research-agent-javascript"},{"title":"SQL Agent","description":"This guide provides detailed steps to create an agent that leverages Composio to perform SQL queries and file operations.","sidebarTitle":"SQL Agent","href":"/examples/combined/sql-agent-javascript"}]}]},{"group":"Endpoints","icon":"robot","pages":[{"group":"Actions","pages":[{"title":"List action tags","description":"List all the action tags available in composio","openapi":"get /api/v2/actions/list/tags","href":"/api-reference/actions/list-action-tags"},{"title":"List actions","description":"Retrieve a list of all actions based on query parameters.","openapi":"get /api/v2/actions/list/all","href":"/api-reference/actions/list-actions"},{"title":"Get action inputs","description":"Get the inputs for an action with NLA","openapi":"post /api/v2/actions/{actionId}/execute/get.inputs","href":"/api-reference/actions/get-action-inputs"},{"title":"Get single action","description":"Get action details, including the input and response schema. This is very useful for setting upfunction/tool calling with composio actions.","openapi":"get /api/v2/actions/{actionId}","href":"/api-reference/actions/get-single-action"},{"title":"Execute an action","description":"Execute an action. Support both connected account and no auth auth.","openapi":"post /api/v2/actions/{actionId}/execute","href":"/api-reference/actions/execute-an-action"}]},{"group":"Api Keys","pages":[{"title":"List api keys","description":null,"openapi":"get /api/v1/api_keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Generate api key","description":null,"openapi":"post /api/v1/api_keys","href":"/api-reference/api-keys/generate-api-key"},{"title":"Delete api key","description":null,"openapi":"delete /api/v1/api_keys/{id}","href":"/api-reference/api-keys/delete-api-key"}]},{"group":"Apps","pages":[{"title":"List app categories","description":"List of available app categories, can be used to filter apps.","openapi":"get /api/v1/apps/list/categories","href":"/api-reference/apps/list-app-categories"},{"title":"List apps","description":"List all apps based on the given filters, if any. This will return all available apps if no filters are provided.","openapi":"get /api/v1/apps","href":"/api-reference/apps/list-apps"},{"title":"Get single app","description":"Get app details","openapi":"get /api/v1/apps/{appName}","href":"/api-reference/apps/get-single-app"}]},{"group":"Client","pages":[{"title":"Get user info","description":"Get client info","openapi":"get /api/v1/client/auth/client_info","href":"/api-reference/client/get-user-info"}]},{"group":"Connections","pages":[{"title":"List connections","description":"Get all connections in the current project.","openapi":"get /api/v1/connectedAccounts","href":"/api-reference/connections/list-connections"},{"title":"Get Auth credentials","description":"Get authentication crdentials for the connected account, i.e all the headers, query parameters, etc. that are required to make requests to the third-party service directly.","openapi":"get /api/v1/connectedAccounts/{connectedAccountId}/info","href":"/api-reference/connections/get-auth-credentials"},{"title":"Get single connection","description":null,"openapi":"get /api/v1/connectedAccounts/{connectedAccountId}","href":"/api-reference/connections/get-single-connection"},{"title":"Update connection data","description":"Update connection data","openapi":"patch /api/v1/connectedAccounts/{connectedAccountId}/data","href":"/api-reference/connections/update-connection-data"},{"title":"Delete connection","description":"Delete a connection","openapi":"delete /api/v1/connectedAccounts/{connectedAccountId}","href":"/api-reference/connections/delete-connection"},{"title":"Disable connection","description":"Disable a connection","openapi":"post /api/v1/connectedAccounts/{connectedAccountId}/disable","href":"/api-reference/connections/disable-connection"},{"title":"Enable connection","description":"Enable a connection","openapi":"post /api/v1/connectedAccounts/{connectedAccountId}/enable","href":"/api-reference/connections/enable-connection"},{"title":"Initiate connection","description":null,"openapi":"post /api/v1/connectedAccounts","href":"/api-reference/connections/initiate-connection"}]},{"group":"Integrations","pages":[{"title":"List all connectors","description":"List all connectors","openapi":"get /api/v1/integrations","href":"/api-reference/integrations/list-all-connectors"},{"title":"Get connector info","description":"Get connector info","openapi":"get /api/v1/integrations/{integrationId}","href":"/api-reference/integrations/get-connector-info"},{"title":"Create connector","description":"Create a new connector","openapi":"post /api/v1/integrations","href":"/api-reference/integrations/create-connector"},{"title":"Delete connector","description":"Delete a connector","openapi":"delete /api/v1/integrations/{integrationId}","href":"/api-reference/integrations/delete-connector"},{"title":"Modify connector","description":"Modify a connector","openapi":"patch /api/v1/integrations/{integrationId}","href":"/api-reference/integrations/modify-connector"}]},{"group":"Logs","pages":[{"title":"Get logs","description":"List logs","openapi":"get /api/v1/logs/","href":"/api-reference/logs/get-logs"},{"title":"Post logs","description":"Add new logs","openapi":"post /api/v1/logs/","href":"/api-reference/logs/post-logs"}]},{"group":"Projects","pages":[{"title":"List all projects","description":null,"openapi":"get /api/v1/org/projects","href":"/api-reference/projects/list-all-projects"},{"title":"Get project","description":null,"openapi":"get /api/v1/org/projects/{projectId}","href":"/api-reference/projects/get-project"},{"title":"Regenerate project api key","description":"Regenerate project API key. Ideally use when no API key is available as project can have multiple API keys","openapi":"post /api/v1/org/projects/{projectId}/api-key/regenerate","href":"/api-reference/projects/regenerate-project-api-key"},{"title":"Create new project","description":"Create a new project to the client's organization","openapi":"post /api/v1/org/projects/create","href":"/api-reference/projects/create-new-project"},{"title":"Delete project","description":null,"openapi":"delete /api/v1/org/projects/{projectId}","href":"/api-reference/projects/delete-project"},{"title":"Rename project","description":null,"openapi":"post /api/v1/org/projects/{projectId}/rename","href":"/api-reference/projects/rename-project"}]},{"group":"Team","pages":[{"title":"List members","description":null,"openapi":"get /api/v1/team/members","href":"/api-reference/team/list-members"},{"title":"Invite member","description":null,"openapi":"post /api/v1/team/invite","href":"/api-reference/team/invite-member"}]},{"group":"Triggers","pages":[{"title":"List triggers","description":"List triggers","openapi":"get /api/v1/triggers","href":"/api-reference/triggers/list-triggers"},{"title":"Get active triggers","description":"Lists active triggers based on query parameters.","openapi":"get /api/v1/triggers/active_triggers","href":"/api-reference/triggers/get-active-triggers"},{"title":"Get logs","description":"Fetches logs based on connection and integration details.","openapi":"get /api/v1/triggers/logs","href":"/api-reference/triggers/get-logs"},{"title":"Get trigger info","description":"Get Trigger Info","openapi":"get /api/v2/triggers/{triggerName}","href":"/api-reference/triggers/get-trigger-info"},{"title":"Get webhook url","description":"Retrieves the universal callback URL set for the client.","openapi":"get /api/v1/triggers/callback_url","href":"/api-reference/triggers/get-webhook-url"},{"title":"Update new webhook","description":"Update isNewWebhook","openapi":"post /api/v1/triggers/update_webhook_format","href":"/api-reference/triggers/update-new-webhook"},{"title":"Delete trigger","description":"Deletes a specified trigger instance.","openapi":"delete /api/v1/triggers/instance/{triggerInstanceId}","href":"/api-reference/triggers/delete-trigger"},{"title":"Disable trigger","description":"Disables a specified trigger instance.","openapi":"post /api/v1/triggers/disable/{triggerInstanceId}","href":"/api-reference/triggers/disable-trigger"},{"title":"Enable trigger","description":"Enables a trigger for a connected account and specific trigger name.","openapi":"post /api/v1/triggers/enable/{connectedAccountId}/{triggerName}","href":"/api-reference/triggers/enable-trigger"},{"title":"Set callback url","description":"Sets a universal callback URL for the client.","openapi":"post /api/v1/triggers/set_callback_url","href":"/api-reference/triggers/set-callback-url"},{"title":"Switch trigger instance status","description":"Switches the status of a trigger instance.","openapi":"patch /api/v1/triggers/instance/{triggerId}/status","href":"/api-reference/triggers/switch-trigger-instance-status"}]}]}],"docsNavWithMetadata":{"tabs":[{"tab":"Get Started","groups":[{"group":"Introduction","pages":[{"title":"Overview","description":"Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs \u0026 AI agents using Function Calling.","sidebarTitle":"Overview","href":"/introduction/intro/overview"},{"title":"Basic Concepts","description":"Core Platform Modules","sidebarTitle":"Basic Concepts","href":"/introduction/intro/basic"},{"title":"🚀 Quick Start - Tools","description":"Learn how to use Tools in less than 5 minutes","sidebarTitle":"Quick Start - Tools","href":"/introduction/intro/quickstart-tools"},{"title":"🚀 Quick Start - Triggers","description":"Learn how to use Triggers in less than 5 minutes","sidebarTitle":"Quick Start - Triggers","href":"/introduction/intro/quickstart-triggers"}]},{"group":"Tools","pages":[{"title":"🛠️ What are Tools \u0026 Actions?","description":"Learn about tools in Composio","sidebarTitle":"What are Tools?","href":"/patterns/tools/what-are-tools"},{"group":"Use Tools","pages":[{"title":"🛠️ How can I use Tools with LLMs?","description":"Guide to using Tools with LLMs","sidebarTitle":"Use Tools with LLMs","href":"/patterns/tools/use-tools/action-guide-with-agents"},{"title":"How can I get and use specific actions from a Tool?","description":"Each Tool (like GitHub, Slack, etc.) comes with many Actions. You can explore all available Tools \u0026 Actions [here](https://app.composio.dev/apps). Each Action has an associated action ID which you can use to call the action.","sidebarTitle":"Use Specific Actions","href":"/patterns/tools/use-tools/use-specific-actions"},{"title":"🛠️ How can I get the schema for an Action?","description":"Guide to get the schema for an Action","sidebarTitle":"Get Action Schema","href":"/patterns/tools/use-tools/get-action-inputs"},{"title":"🛠️ How to modify Actions?","description":"Learn how to modify Tools \u0026 Actions to refine schemas, inputs, and outputs for optimal results.","sidebarTitle":"Modify Actions","href":"/patterns/tools/use-tools/processing-actions"},{"title":"🛠️ Configure Tools","description":"Learn how to configure tools","sidebarTitle":"Configure Tools","href":"/patterns/tools/use-tools/configure-tools"},{"title":"🛠️ How can I use Tools directly?","description":"Guide to use Tools directly as function calls","sidebarTitle":"Use Tools Directly","href":"/patterns/tools/use-tools/action-guide-without-agents"},{"title":"🛠️ How Can I Use Tools and Actions With Existing Authentication?","description":"Guide to using existing authentication with tools and actions","sidebarTitle":"Use Tools With Your Auth","href":"/patterns/tools/use-tools/use-tools-with-your-auth"}]},{"group":"Build Tools","pages":[{"title":"Build Tools Without Auth","description":"Create standalone custom tools and actions for any functionality you need (e.g., data processing, calculations, or integrations with other services)","sidebarTitle":"Build Tools Without Auth","href":"/patterns/tools/build-tools/custom-action-without-auth"},{"title":"Build Tools with Auth","description":"Create custom actions that leverage existing tool authentication to extend functionality.","sidebarTitle":"Build Tools with Auth","href":"/patterns/tools/build-tools/custom-action-with-auth"}]},{"title":"🔧 How to add your own App?","description":"Learn how to add your own App to Composio","sidebarTitle":"Add Your Own App","href":"/patterns/tools/custom-integration"},{"title":"🛠️ Serving Tools Over Endpoint","description":"Learn how to create a REST API endpoint that processes natural language requests into tool actions using Composio, OpenAI and FastAPI","sidebarTitle":"Serving Tools Over Endpoint","href":"/patterns/tools/serve-tools"},{"title":"Action Versioning","description":"Learn how to use versioned actions in Composio","sidebarTitle":"Action Versioning","href":"/patterns/tools/versioning"}]},{"group":"Authentication","pages":[{"title":"Create \u0026 Manage Connections for Users","description":"Learn how to securely manage and authenticate multiple user connections","sidebarTitle":"Connections","href":"/patterns/Auth/connected_account"},{"title":"How to use Connections?","description":"Learn how to use connections","sidebarTitle":"Using Connections","href":"/patterns/Auth/using-connections"},{"title":"How To Configure Connections?","description":"Learn how to configure connections for your users","sidebarTitle":"Configuring Connection","href":"/patterns/Auth/Integrations"},{"title":"Connecting your User's Gmail Account","description":"Here's how to connect your user to Gmail","sidebarTitle":"Example Flow - Gmail","href":"/patterns/Auth/examples/gmail_example"},{"title":"Connecting a Shopify Account using API Key","description":"Guide to getting your user's Shopify account connected using API Key","sidebarTitle":"Example Flow - Shopify","href":"/patterns/Auth/examples/shopify_example"}]},{"group":"Triggers \u0026 Webhooks","pages":[{"title":"Getting Started with Triggers","description":"Triggers monitor specific events in apps like GitHub or Gmail and notify your agents via webhooks. When triggered, they send relevant data that your agents can act upon","sidebarTitle":"Triggers","href":"/patterns/triggers/triggers"},{"title":"Getting Started with Webhooks","description":"Learn how to configure and receive real-time notifications about activities in your Composio account through webhooks","sidebarTitle":"Webhooks","href":"/patterns/triggers/webhooks"}]},{"group":"Supported Frameworks","pages":[{"title":"Using Composio With Autogen","description":"Integrate Composio with Autogen agents to let them seamlessly interact with external Apps","sidebarTitle":"Autogen","href":"/framework/autogen"},{"title":"Using Composio With CrewAI","description":"Integrate Composio with CrewAI agents to let them seamlessly interact with external apps","sidebarTitle":"CrewAI","href":"/framework/crewai"},{"title":"Using Composio With Gemini","description":"Integrate Composio with Gemini to let them seamlessly interact with external Apps","sidebarTitle":"Gemini","href":"/framework/gemini"},{"title":"🦜🔗 Using Composio With LangChain","description":"Integrate Composio with LangChain agents to let them seamlessly interact with external apps","sidebarTitle":"LangChain","href":"/framework/langchain"},{"title":"Using Composio With LangFlow","description":"Use Composio with LangFlow to create LLM agents that can interact with external apps","sidebarTitle":"LangFlow","href":"/framework/langflow"},{"title":"🦜🕸️ Using Composio With LangGraph","description":"Integrate Composio with LangGraph agents to let them seamlessly interact with external apps","sidebarTitle":"LangGraph","href":"/framework/langgraph"},{"title":"Using Composio With Letta","description":"Integrate Composio with Letta agents to let them seamlessly interact with external apps","sidebarTitle":"Letta","href":"/framework/letta"},{"title":"Using Composio With LiteLLM","description":"Integrate Composio with LiteLLM and seamlessly interact with external apps","sidebarTitle":"LiteLLM","href":"/framework/litellm"},{"title":"🦙 Using Composio With LlamaIndex","description":"Integrate Composio with LLamaIndex agents to let them seamlessly interact with external apps","sidebarTitle":"LlamaIndex","href":"/framework/llamaindex"},{"title":"֎ Using Composio With OpenAI","description":"Integrate Composio with OpenAI Assistants to let them seamlessly interact with external apps","sidebarTitle":"OpenAI","href":"/framework/openai"},{"group":"Other Frameworks","pages":[{"title":"Using Composio With Smol Agents","description":"Integrate Composio with Smol agents to let them seamlessly interact with external apps","sidebarTitle":"Smol Agents","href":"/framework/smolagents"},{"title":"🐫 Using Composio With CAMEL-AI","description":"Integrate Composio with CAMEL agents to let them seamlessly interact with external apps","sidebarTitle":"CAMEL","href":"/framework/camelai"},{"title":"Using Composio With Cloudflare Worker AI","description":"Integrate Composio with Cloudflare Worker AI to let them seamlessly interact with external apps","sidebarTitle":"Cloudflare Worker AI","href":"/javascript/cloudflare"},{"title":"🧻 Using Composio With Griptape","description":"Integrate Composio with Griptape agents to let them seamlessly interact with external apps","sidebarTitle":"Griptape","href":"/framework/griptape"},{"title":"Using Composio With Groq","description":"Integrate Composio with Groq to seamlessly interact with external apps","sidebarTitle":"Groq","href":"/framework/groq"},{"title":"Using Composio With Julep","description":"Integrate Composio with Julep agents to enhance their interaction with external apps","sidebarTitle":"Julep","href":"/framework/julep"},{"title":"Using Composio With Lyzr","description":"Integrate Composio with Lyzr agents to let them seamlessly interact with external apps","sidebarTitle":"Lyzr","href":"/framework/lyzr"},{"title":"Using Composio With Agno","description":"Integrate Composio with Agno agents to let them seamlessly interact with external apps","sidebarTitle":"Agno","href":"/framework/agno"},{"title":"📖 Using Composio With PraisonAI","description":"Integrate Composio with PraisonAI agents to let them seamlessly interact with external apps","sidebarTitle":"PraisonAI SDK","href":"/framework/praisonai"},{"title":"Using Composio With Vercel AI SDK","description":"Integrate Composio with Vercel AI SDK to let them seamlessly interact with external apps","sidebarTitle":"Vercel AI","href":"/javascript/vercel"},{"title":"Using Composio With Google AI","description":"Enable Google AI models to seamlessly interact with external apps via Composio for enhanced functionality","sidebarTitle":"Google AI","href":"/framework/google"},{"title":"Using Composio With IBM","description":"Integrate Composio with IBM's Granite Models to let them seamlessly interact with external apps","sidebarTitle":"IBM","href":"/framework/ibm"}]}]},{"group":"Kits","pages":[{"group":"SWE kit","pages":[{"title":"Tools For SWE Kit","description":"List of tools you can use for your SWE Kit Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable file system operations, command execution, and other core development tasks","sidebarTitle":"Tools","href":"/swekit-tools/introduction"},{"title":"SWE Development Kit","description":"Build Software Engineering agents locally with frameworks and tools of your choice","sidebarTitle":"Introduction (Python)","href":"/swekit/introduction"},{"title":"SWE Development Kit","description":"Build and benchmark Software Engineering agents with Composio's tooling ecosystem using JavaScript","sidebarTitle":"Introduction (JS)","href":"/swekit-js/introduction"},{"title":"Benchmarks","description":"Learn how to run and evaluate your SWE agents using benchmarks","sidebarTitle":"SWE Kit Benchmarks","href":"/swekit/benchmarks"},{"title":"SWE Kit: PR Review Agent","description":"Build a PR Review agent with SWE Kit","sidebarTitle":"PR Review Agent","href":"/swekit-examples/introduction"}]},{"group":"AI SDR Kit","pages":[{"title":"Tools For AI SDR Kit","description":"List of tools you can use for your AI SDR Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable file system operations, command execution, and other core development tasks","sidebarTitle":"Tools","href":"/sdrkit/tools"},{"title":"AI Lead Generator Agent","description":"This project demonstrates how to use Composio to create a lead generation agent.","sidebarTitle":"AI Lead Generator","href":"/sdrkit/ai-lead-generator"},{"title":"AI Outreach Agent","description":"This project demonstrates how to use Composio to create an outreach agent.","sidebarTitle":"AI Outreach Agent","href":"/sdrkit/ai-outreach-agent"},{"title":"AI Market Research Agent","description":"This project demonstrates how to use Composio to create a market research agent.","sidebarTitle":"AI Market Researcher","href":"/sdrkit/ai-market-research-agent"},{"title":"AI Scheduling Agent","description":"This project demonstrates how to use Composio to create a scheduling agent.","sidebarTitle":"AI Scheduler","href":"/sdrkit/ai-scheduling-agent"}]},{"group":"Crypto Kit","pages":[{"title":"Tools For AI Crypto Kit","description":"List of tools you can use for your AI Crypto Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable Wallet Creation, Transaction Execution, and other crypto related tasks","sidebarTitle":"Tools","href":"/cryptokit/tools"},{"title":"Community Reward Agent","description":"This project demonstrates how to use Composio to create a Community Reward Agent.","sidebarTitle":"Community Reward Agent","href":"/cryptokit/community_reward_agent"},{"title":"Github Contributor Reward Agent","description":"This project demonstrates how to use Composio to create a Github Contributor Reward Agent.","sidebarTitle":"Github Reward Agent","href":"/cryptokit/github_contributor_reward_agent"},{"title":"Coinbase Wallet Manager Agent","description":"This project demonstrates how to use Composio to create a Coinbase Wallet Manager Agent.","sidebarTitle":"Coinbase Wallet Manager Agent","href":"/cryptokit/coinbase_agent"},{"title":"Crypto Trading Agent","description":"This project demonstrates how to use Composio to create an automated crypto trading agent that monitors and executes trades on Base Mainnet.","sidebarTitle":"Trading Agent","href":"/cryptokit/trading_agent"}]}]},{"group":"Others","pages":[{"title":"Workspace Environments","description":"Configure and utilize different workspace environments for running your agents securely and with custom configurations.","sidebarTitle":"Workspace Environments","href":"/introduction/foundations/components/workspace"},{"title":"Google: OAuth2 single service","description":"In this guide you'll learn how to create and setup a new Google Project and get the OAuth credentials","sidebarTitle":"Get Google OAuth Creds","href":"/integrations/google"},{"title":"API key","description":"Learn how to obtain and use your Composio API key","sidebarTitle":"API key","href":"/faq/api_key/api_key"},{"title":"💻 Using Composio CLI","description":"Learn how to install and use the Composio CLI for managing your agent interactions.","sidebarTitle":"How to use CLI?","href":"/faq/api_key/cli"},{"title":"Listing all tools, actions, and more","description":"This section will walk you through discovering and managing the tools, integrations, actions, and more.","sidebarTitle":"Listing Tools \u0026 Actions","href":"/faq/integrations_and_connections/list_of_tools"},{"title":"🛠️ What LLMs can I use?","description":"Understand more about Actions","sidebarTitle":"Supported LLMs","href":"/faq/supported_llms/supported_llm"},{"title":"Monitoring docs","href":"/monitoring-docs"},{"title":"Changelog","href":"/changelog"}]}]},{"tab":"Examples","groups":[{"group":"Examples","pages":[{"group":"Python Examples","pages":[{"title":"RAG Tool Agent","description":"This project involves setting up and running a system of agents to add content to a RAG (Retrieval-Augmented Generation) tool, perform queries, and return relevant information. We use Composio to setup this Local Tool and OpenAI GPT-4o to power the agents. Follow this guide to set up and run the project.","sidebarTitle":"RAG Tool Agent","href":"/examples/combined/rag-agent-python"},{"title":"Code Execution Agent","description":"The project generates and executes code based on user-defined problems. It utilizes the Composio and connects your AI Agent to E2B's Code Interpreter to facilitate code execution, allowing users to input a problem statement and receive executable code as output. The agent is designed to operate in a sandbox environment, ensuring safe execution and accurate results. Key functionalities include code generation, execution, and result interpretation, making it an invaluable resource for developers and data scientists alike.","sidebarTitle":"Code Execution Agent","href":"/examples/combined/code-execution-agent-python"},{"title":"Calendar Agent","description":"This project is an example which uses Composio to seamlessly convert your to-do lists into Google Calendar events. It automatically schedules tasks with specified labels and times, ensuring your calendar is always up-to-date and organized.","sidebarTitle":"Calendar Agent","href":"/examples/combined/calendar-agent-python"},{"title":"Newsletter Summarizer","description":"This project serves as an example of how to use Composio to seamlessly fetch and summarize newsletter emails. It automatically retrieves recent newsletters, summarizes their content, and sends a well-formatted email to the specified recipient.","sidebarTitle":"Newsletter Summarizer","href":"/examples/combined/newsletter-summarizer-python"},{"title":"Research Agent","description":"This guide provides detailed steps to create a Demo Assistant using Composio and OpenAI. You will build a system capable of interacting with GitHub to create issues and fetch user information.","sidebarTitle":"Research Agent","href":"/examples/combined/research-agent-python"},{"title":"SQL Agent","description":"This guide provides detailed steps to create an agent that leverages Composio to perform SQL queries and file operations to perform sql queries and File operations and plot insightful graphs on the data in the db","sidebarTitle":"SQL Agent","href":"/examples/combined/sql-agent-python"}]},{"group":"JavaScript Examples","pages":[{"title":"RAG Tool Agent","description":"This project involves setting up and running a system of agents to add content to a RAG (Retrieval-Augmented Generation) tool, perform queries, and return relevant information. We use Composio to setup this Local Tool and OpenAI GPT-4o to power the agents. Follow this guide to set up and run the project.","sidebarTitle":"RAG Tool Agent","href":"/examples/combined/rag-agent-javascript"},{"title":"Code Execution Agent","description":"The project generates and executes code based on user-defined problems. It utilizes the Composio and connects your AI Agent to E2B's Code Interpreter to facilitate code execution, allowing users to input a problem statement and receive executable code as output. The agent is designed to operate in a sandbox environment, ensuring safe execution and accurate results. Key functionalities include code generation, execution, and result interpretation, making it an invaluable resource for developers and data scientists alike.","sidebarTitle":"Code Execution Agent","href":"/examples/combined/code-execution-agent-javascript"},{"title":"Calendar Agent","description":"This project is an example which uses Composio to seamlessly convert your to-do lists into Google Calendar events. It automatically schedules tasks with specified labels and times, ensuring your calendar is always up-to-date and organized.","sidebarTitle":"Calendar Agent","href":"/examples/combined/calendar-agent-javascript"},{"title":"Newsletter Summarizer","description":"This project serves as an example of how to use Composio to seamlessly fetch and summarize newsletter emails. It automatically retrieves recent newsletters, summarizes their content, and sends a well-formatted email to the specified recipient.","sidebarTitle":"Newsletter Summarizer","href":"/examples/combined/newsletter-summarizer-javascript"},{"title":"Research Agent","description":"This guide provides detailed steps to create a Demo Assistant using Composio and OpenAI. You will build a system capable of interacting with GitHub to create issues and fetch user information.","sidebarTitle":"Research Agent","href":"/examples/combined/research-agent-javascript"},{"title":"SQL Agent","description":"This guide provides detailed steps to create an agent that leverages Composio to perform SQL queries and file operations.","sidebarTitle":"SQL Agent","href":"/examples/combined/sql-agent-javascript"}]}]}]},{"tab":"API","groups":[{"group":"Endpoints","icon":"robot","pages":[{"group":"Actions","pages":[{"title":"List action tags","description":"List all the action tags available in composio","openapi":"get /api/v2/actions/list/tags","href":"/api-reference/actions/list-action-tags"},{"title":"List actions","description":"Retrieve a list of all actions based on query parameters.","openapi":"get /api/v2/actions/list/all","href":"/api-reference/actions/list-actions"},{"title":"Get action inputs","description":"Get the inputs for an action with NLA","openapi":"post /api/v2/actions/{actionId}/execute/get.inputs","href":"/api-reference/actions/get-action-inputs"},{"title":"Get single action","description":"Get action details, including the input and response schema. This is very useful for setting upfunction/tool calling with composio actions.","openapi":"get /api/v2/actions/{actionId}","href":"/api-reference/actions/get-single-action"},{"title":"Execute an action","description":"Execute an action. Support both connected account and no auth auth.","openapi":"post /api/v2/actions/{actionId}/execute","href":"/api-reference/actions/execute-an-action"}]},{"group":"Api Keys","pages":[{"title":"List api keys","description":null,"openapi":"get /api/v1/api_keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Generate api key","description":null,"openapi":"post /api/v1/api_keys","href":"/api-reference/api-keys/generate-api-key"},{"title":"Delete api key","description":null,"openapi":"delete /api/v1/api_keys/{id}","href":"/api-reference/api-keys/delete-api-key"}]},{"group":"Apps","pages":[{"title":"List app categories","description":"List of available app categories, can be used to filter apps.","openapi":"get /api/v1/apps/list/categories","href":"/api-reference/apps/list-app-categories"},{"title":"List apps","description":"List all apps based on the given filters, if any. This will return all available apps if no filters are provided.","openapi":"get /api/v1/apps","href":"/api-reference/apps/list-apps"},{"title":"Get single app","description":"Get app details","openapi":"get /api/v1/apps/{appName}","href":"/api-reference/apps/get-single-app"}]},{"group":"Client","pages":[{"title":"Get user info","description":"Get client info","openapi":"get /api/v1/client/auth/client_info","href":"/api-reference/client/get-user-info"}]},{"group":"Connections","pages":[{"title":"List connections","description":"Get all connections in the current project.","openapi":"get /api/v1/connectedAccounts","href":"/api-reference/connections/list-connections"},{"title":"Get Auth credentials","description":"Get authentication crdentials for the connected account, i.e all the headers, query parameters, etc. that are required to make requests to the third-party service directly.","openapi":"get /api/v1/connectedAccounts/{connectedAccountId}/info","href":"/api-reference/connections/get-auth-credentials"},{"title":"Get single connection","description":null,"openapi":"get /api/v1/connectedAccounts/{connectedAccountId}","href":"/api-reference/connections/get-single-connection"},{"title":"Update connection data","description":"Update connection data","openapi":"patch /api/v1/connectedAccounts/{connectedAccountId}/data","href":"/api-reference/connections/update-connection-data"},{"title":"Delete connection","description":"Delete a connection","openapi":"delete /api/v1/connectedAccounts/{connectedAccountId}","href":"/api-reference/connections/delete-connection"},{"title":"Disable connection","description":"Disable a connection","openapi":"post /api/v1/connectedAccounts/{connectedAccountId}/disable","href":"/api-reference/connections/disable-connection"},{"title":"Enable connection","description":"Enable a connection","openapi":"post /api/v1/connectedAccounts/{connectedAccountId}/enable","href":"/api-reference/connections/enable-connection"},{"title":"Initiate connection","description":null,"openapi":"post /api/v1/connectedAccounts","href":"/api-reference/connections/initiate-connection"}]},{"group":"Integrations","pages":[{"title":"List all connectors","description":"List all connectors","openapi":"get /api/v1/integrations","href":"/api-reference/integrations/list-all-connectors"},{"title":"Get connector info","description":"Get connector info","openapi":"get /api/v1/integrations/{integrationId}","href":"/api-reference/integrations/get-connector-info"},{"title":"Create connector","description":"Create a new connector","openapi":"post /api/v1/integrations","href":"/api-reference/integrations/create-connector"},{"title":"Delete connector","description":"Delete a connector","openapi":"delete /api/v1/integrations/{integrationId}","href":"/api-reference/integrations/delete-connector"},{"title":"Modify connector","description":"Modify a connector","openapi":"patch /api/v1/integrations/{integrationId}","href":"/api-reference/integrations/modify-connector"}]},{"group":"Logs","pages":[{"title":"Get logs","description":"List logs","openapi":"get /api/v1/logs/","href":"/api-reference/logs/get-logs"},{"title":"Post logs","description":"Add new logs","openapi":"post /api/v1/logs/","href":"/api-reference/logs/post-logs"}]},{"group":"Projects","pages":[{"title":"List all projects","description":null,"openapi":"get /api/v1/org/projects","href":"/api-reference/projects/list-all-projects"},{"title":"Get project","description":null,"openapi":"get /api/v1/org/projects/{projectId}","href":"/api-reference/projects/get-project"},{"title":"Regenerate project api key","description":"Regenerate project API key. Ideally use when no API key is available as project can have multiple API keys","openapi":"post /api/v1/org/projects/{projectId}/api-key/regenerate","href":"/api-reference/projects/regenerate-project-api-key"},{"title":"Create new project","description":"Create a new project to the client's organization","openapi":"post /api/v1/org/projects/create","href":"/api-reference/projects/create-new-project"},{"title":"Delete project","description":null,"openapi":"delete /api/v1/org/projects/{projectId}","href":"/api-reference/projects/delete-project"},{"title":"Rename project","description":null,"openapi":"post /api/v1/org/projects/{projectId}/rename","href":"/api-reference/projects/rename-project"}]},{"group":"Team","pages":[{"title":"List members","description":null,"openapi":"get /api/v1/team/members","href":"/api-reference/team/list-members"},{"title":"Invite member","description":null,"openapi":"post /api/v1/team/invite","href":"/api-reference/team/invite-member"}]},{"group":"Triggers","pages":[{"title":"List triggers","description":"List triggers","openapi":"get /api/v1/triggers","href":"/api-reference/triggers/list-triggers"},{"title":"Get active triggers","description":"Lists active triggers based on query parameters.","openapi":"get /api/v1/triggers/active_triggers","href":"/api-reference/triggers/get-active-triggers"},{"title":"Get logs","description":"Fetches logs based on connection and integration details.","openapi":"get /api/v1/triggers/logs","href":"/api-reference/triggers/get-logs"},{"title":"Get trigger info","description":"Get Trigger Info","openapi":"get /api/v2/triggers/{triggerName}","href":"/api-reference/triggers/get-trigger-info"},{"title":"Get webhook url","description":"Retrieves the universal callback URL set for the client.","openapi":"get /api/v1/triggers/callback_url","href":"/api-reference/triggers/get-webhook-url"},{"title":"Update new webhook","description":"Update isNewWebhook","openapi":"post /api/v1/triggers/update_webhook_format","href":"/api-reference/triggers/update-new-webhook"},{"title":"Delete trigger","description":"Deletes a specified trigger instance.","openapi":"delete /api/v1/triggers/instance/{triggerInstanceId}","href":"/api-reference/triggers/delete-trigger"},{"title":"Disable trigger","description":"Disables a specified trigger instance.","openapi":"post /api/v1/triggers/disable/{triggerInstanceId}","href":"/api-reference/triggers/disable-trigger"},{"title":"Enable trigger","description":"Enables a trigger for a connected account and specific trigger name.","openapi":"post /api/v1/triggers/enable/{connectedAccountId}/{triggerName}","href":"/api-reference/triggers/enable-trigger"},{"title":"Set callback url","description":"Sets a universal callback URL for the client.","openapi":"post /api/v1/triggers/set_callback_url","href":"/api-reference/triggers/set-callback-url"},{"title":"Switch trigger instance status","description":"Switches the status of a trigger instance.","openapi":"patch /api/v1/triggers/instance/{triggerId}/status","href":"/api-reference/triggers/switch-trigger-instance-status"}]}]}]},{"tab":"All Tools","href":"https://app.composio.dev/apps"},{"tab":"Chat with Code","href":"https://entelligence.ai/ComposioHQ\u0026composio"}]},"pageMetadata":{"title":"Overview","description":"Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs \u0026 AI agents using Function Calling.","sidebarTitle":"Overview","href":"/introduction/intro/overview"},"mintConfig":{"layout":"sidenav","sidebar":{"items":"card"},"search":{"location":"top","prompt":"Make my agents useful ..."},"topbar":{"style":"gradient"},"rounded":"default","codeBlock":{"mode":"dark"},"topbarCtaButton":{"name":"Get your API Key","url":"https://app.composio.dev/developers","style":"roundedRectangle","arrow":false},"$schema":"https://mintlify.com/schema.json","name":"Composio","logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/dark.svg"},"theme":"venus","favicon":"/favicon1.png","openapi":["composio.yaml"],"api":{"playground":{"mode":"show"}},"modeToggle":{"default":"dark","isHidden":false},"metadata":{"og:image":"https://framerusercontent.com/images/YwaNXXQETYRs9LymxFCnTjp83Q.svg","og:description":"Composio enables your agents to connect with Various Tools and work with them","og:site_name":"Composio Docs","twitter:site":"https://twitter.com/KaranVaidya6"},"colors":{"primary":"#343434","light":"#fff","dark":"#343434","background":{"light":"#fafafa","dark":"#181818"},"ultraLight":"#9a4dff","ultraDark":"#9a4dff"},"topbarLinks":[{"url":"https://dub.composio.dev/discord","name":"Discord","_id":"67ac7db8806b179eeefbc9d4"}],"navigation":[{"group":"Introduction","pages":["introduction/intro/overview","introduction/intro/basic","introduction/intro/quickstart-tools","introduction/intro/quickstart-triggers"]},{"group":"Tools","pages":["patterns/tools/what-are-tools",{"group":"Use Tools","pages":["patterns/tools/use-tools/action-guide-with-agents","patterns/tools/use-tools/use-specific-actions","patterns/tools/use-tools/get-action-inputs","patterns/tools/use-tools/processing-actions","patterns/tools/use-tools/configure-tools","patterns/tools/use-tools/action-guide-without-agents","patterns/tools/use-tools/use-tools-with-your-auth"]},{"group":"Build Tools","pages":["patterns/tools/build-tools/custom-action-without-auth","patterns/tools/build-tools/custom-action-with-auth"]},"patterns/tools/custom-integration","patterns/tools/serve-tools","patterns/tools/versioning"]},{"group":"Authentication","pages":["patterns/Auth/connected_account","patterns/Auth/using-connections","patterns/Auth/Integrations","patterns/Auth/examples/gmail_example","patterns/Auth/examples/shopify_example"]},{"group":"Triggers \u0026 Webhooks","pages":["patterns/triggers/triggers","patterns/triggers/webhooks"]},{"group":"Supported Frameworks","pages":["framework/autogen","framework/crewai","framework/gemini","framework/langchain","framework/langflow","framework/langgraph","framework/letta","framework/litellm","framework/llamaindex","framework/openai",{"group":"Other Frameworks","pages":["framework/smolagents","framework/camelai","javascript/cloudflare","framework/griptape","framework/groq","framework/julep","framework/lyzr","framework/agno","framework/praisonai","javascript/vercel","framework/google","framework/ibm"]}]},{"group":"Kits","pages":[{"group":"SWE kit","pages":["swekit-tools/introduction","swekit/introduction","swekit-js/introduction","swekit/benchmarks","swekit-examples/introduction"]},{"group":"AI SDR Kit","pages":["sdrkit/tools","sdrkit/ai-lead-generator","sdrkit/ai-outreach-agent","sdrkit/ai-market-research-agent","sdrkit/ai-scheduling-agent"]},{"group":"Crypto Kit","pages":["cryptokit/tools","cryptokit/community_reward_agent","cryptokit/github_contributor_reward_agent","cryptokit/coinbase_agent","cryptokit/trading_agent"]}]},{"group":"Others","pages":["introduction/foundations/components/workspace","integrations/google","faq/api_key/api_key","faq/api_key/cli","faq/integrations_and_connections/list_of_tools","faq/supported_llms/supported_llm","monitoring-docs","changelog"]},{"group":"Examples","pages":[{"group":"Python Examples","pages":["examples/combined/rag-agent-python","examples/combined/code-execution-agent-python","examples/combined/calendar-agent-python","examples/combined/newsletter-summarizer-python","examples/combined/research-agent-python","examples/combined/sql-agent-python"]},{"group":"JavaScript Examples","pages":["examples/combined/rag-agent-javascript","examples/combined/code-execution-agent-javascript","examples/combined/calendar-agent-javascript","examples/combined/newsletter-summarizer-javascript","examples/combined/research-agent-javascript","examples/combined/sql-agent-javascript"]}]},{"group":"Endpoints","icon":"robot","pages":[{"group":"Actions","pages":["api-reference/actions/list-action-tags","api-reference/actions/list-actions","api-reference/actions/get-action-inputs","api-reference/actions/get-single-action","api-reference/actions/execute-an-action"]},{"group":"Api Keys","pages":["api-reference/api-keys/list-api-keys","api-reference/api-keys/generate-api-key","api-reference/api-keys/delete-api-key"]},{"group":"Apps","pages":["api-reference/apps/list-app-categories","api-reference/apps/list-apps","api-reference/apps/get-single-app"]},{"group":"Client","pages":["api-reference/client/get-user-info"]},{"group":"Connections","pages":["api-reference/connections/list-connections","api-reference/connections/get-auth-credentials","api-reference/connections/get-single-connection","api-reference/connections/update-connection-data","api-reference/connections/delete-connection","api-reference/connections/disable-connection","api-reference/connections/enable-connection","api-reference/connections/initiate-connection"]},{"group":"Integrations","pages":["api-reference/integrations/list-all-connectors","api-reference/integrations/get-connector-info","api-reference/integrations/create-connector","api-reference/integrations/delete-connector","api-reference/integrations/modify-connector"]},{"group":"Logs","pages":["api-reference/logs/get-logs","api-reference/logs/post-logs"]},{"group":"Projects","pages":["api-reference/projects/list-all-projects","api-reference/projects/get-project","api-reference/projects/regenerate-project-api-key","api-reference/projects/create-new-project","api-reference/projects/delete-project","api-reference/projects/rename-project"]},{"group":"Team","pages":["api-reference/team/list-members","api-reference/team/invite-member"]},{"group":"Triggers","pages":["api-reference/triggers/list-triggers","api-reference/triggers/get-active-triggers","api-reference/triggers/get-logs","api-reference/triggers/get-trigger-info","api-reference/triggers/get-webhook-url","api-reference/triggers/update-new-webhook","api-reference/triggers/delete-trigger","api-reference/triggers/disable-trigger","api-reference/triggers/enable-trigger","api-reference/triggers/set-callback-url","api-reference/triggers/switch-trigger-instance-status"]}]}],"primaryTab":{"name":"Get Started"},"topAnchor":{"name":"Documentation","icon":"book-open"},"tabs":[{"name":"Examples","url":"examples","_id":"67ac7db8806b179eeefbc9d0"},{"name":"API","url":"api-reference","_id":"67ac7db8806b179eeefbc9d1"},{"name":"All Tools","url":"https://app.composio.dev/apps","_id":"67ac7db8806b179eeefbc9d2"},{"name":"Chat with Code","url":"https://entelligence.ai/ComposioHQ\u0026composio","_id":"67ac7db8806b179eeefbc9d3"}],"feedback":{"thumbsRating":true,"suggestEdit":true,"raiseIssue":true},"analytics":{"ga4":{"measurementId":"G-3DBLETRPXH"},"posthog":{"apiKey":"phc_Gz8DBv1ZMbOwt3hE8sJZwKGsDl5FtMSkvBNSR0HC07c"},"plausible":{"domain":"composio.dev"}},"integrations":{"intercom":"dvp1uc7s"},"redirects":[{"destination":"https://app.composio.dev/apps","source":"/apps/gitlab","_id":"67ac7db8806b179eeefbc9c3"},{"destination":"https://app.composio.dev/apps","source":"/apps/bitbucket","_id":"67ac7db8806b179eeefbc9c4"},{"destination":"/patterns/howtos/get_api_key","source":"/introduction/foundations/howtos/get_api_key","_id":"67ac7db8806b179eeefbc9c5"},{"destination":"/patterns/cli/trigger","source":"/sdk/cli/trigger","_id":"67ac7db8806b179eeefbc9c6"},{"destination":"/examples/:slug1*","source":"/guides/:slug1*","_id":"67ac7db8806b179eeefbc9c7"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/langchain_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9c8"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/crewai/:slug2*","_id":"67ac7db8806b179eeefbc9c9"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/autogen_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9ca"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/:slug2*","_id":"67ac7db8806b179eeefbc9cb"},{"destination":"https://app.composio.dev/apps","source":"/apps","_id":"67ac7db8806b179eeefbc9cc"},{"destination":"/introduction/foundations/components/custom_actions","source":"/python/local_tools","_id":"67ac7db8806b179eeefbc9cd"},{"destination":"/introduction/foundations/components/custom_actions","source":"/introduction/foundations/components/local_tools","_id":"67ac7db8806b179eeefbc9ce"},{"destination":"https://github.com/ComposioHQ/composio/releases","source":"/changelog","_id":"67ac7db8806b179eeefbc9cf"}],"seo":{"indexHiddenPages":false},"footerSocials":{"linkedin":"https://www.linkedin.com/company/composio-dev/","x":"https://twitter.com/composiohq","github":"https://github.com/composiohq"}},"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Composio","colors":{"primary":"#343434","light":"#fff","dark":"#343434"},"favicon":"/favicon1.png","navigation":{"tabs":[{"tab":"Get Started","groups":[{"group":"Introduction","pages":["introduction/intro/overview","introduction/intro/basic","introduction/intro/quickstart-tools","introduction/intro/quickstart-triggers"]},{"group":"Tools","pages":["patterns/tools/what-are-tools",{"group":"Use Tools","pages":["patterns/tools/use-tools/action-guide-with-agents","patterns/tools/use-tools/use-specific-actions","patterns/tools/use-tools/get-action-inputs","patterns/tools/use-tools/processing-actions","patterns/tools/use-tools/configure-tools","patterns/tools/use-tools/action-guide-without-agents","patterns/tools/use-tools/use-tools-with-your-auth"]},{"group":"Build Tools","pages":["patterns/tools/build-tools/custom-action-without-auth","patterns/tools/build-tools/custom-action-with-auth"]},"patterns/tools/custom-integration","patterns/tools/serve-tools","patterns/tools/versioning"]},{"group":"Authentication","pages":["patterns/Auth/connected_account","patterns/Auth/using-connections","patterns/Auth/Integrations","patterns/Auth/examples/gmail_example","patterns/Auth/examples/shopify_example"]},{"group":"Triggers \u0026 Webhooks","pages":["patterns/triggers/triggers","patterns/triggers/webhooks"]},{"group":"Supported Frameworks","pages":["framework/autogen","framework/crewai","framework/gemini","framework/langchain","framework/langflow","framework/langgraph","framework/letta","framework/litellm","framework/llamaindex","framework/openai",{"group":"Other Frameworks","pages":["framework/smolagents","framework/camelai","javascript/cloudflare","framework/griptape","framework/groq","framework/julep","framework/lyzr","framework/agno","framework/praisonai","javascript/vercel","framework/google","framework/ibm"]}]},{"group":"Kits","pages":[{"group":"SWE kit","pages":["swekit-tools/introduction","swekit/introduction","swekit-js/introduction","swekit/benchmarks","swekit-examples/introduction"]},{"group":"AI SDR Kit","pages":["sdrkit/tools","sdrkit/ai-lead-generator","sdrkit/ai-outreach-agent","sdrkit/ai-market-research-agent","sdrkit/ai-scheduling-agent"]},{"group":"Crypto Kit","pages":["cryptokit/tools","cryptokit/community_reward_agent","cryptokit/github_contributor_reward_agent","cryptokit/coinbase_agent","cryptokit/trading_agent"]}]},{"group":"Others","pages":["introduction/foundations/components/workspace","integrations/google","faq/api_key/api_key","faq/api_key/cli","faq/integrations_and_connections/list_of_tools","faq/supported_llms/supported_llm","monitoring-docs","changelog"]}]},{"tab":"Examples","groups":[{"group":"Examples","pages":[{"group":"Python Examples","pages":["examples/combined/rag-agent-python","examples/combined/code-execution-agent-python","examples/combined/calendar-agent-python","examples/combined/newsletter-summarizer-python","examples/combined/research-agent-python","examples/combined/sql-agent-python"]},{"group":"JavaScript Examples","pages":["examples/combined/rag-agent-javascript","examples/combined/code-execution-agent-javascript","examples/combined/calendar-agent-javascript","examples/combined/newsletter-summarizer-javascript","examples/combined/research-agent-javascript","examples/combined/sql-agent-javascript"]}]}]},{"tab":"API","groups":[{"group":"Endpoints","icon":"robot","pages":[{"group":"Actions","pages":["api-reference/actions/list-action-tags","api-reference/actions/list-actions","api-reference/actions/get-action-inputs","api-reference/actions/get-single-action","api-reference/actions/execute-an-action"]},{"group":"Api Keys","pages":["api-reference/api-keys/list-api-keys","api-reference/api-keys/generate-api-key","api-reference/api-keys/delete-api-key"]},{"group":"Apps","pages":["api-reference/apps/list-app-categories","api-reference/apps/list-apps","api-reference/apps/get-single-app"]},{"group":"Client","pages":["api-reference/client/get-user-info"]},{"group":"Connections","pages":["api-reference/connections/list-connections","api-reference/connections/get-auth-credentials","api-reference/connections/get-single-connection","api-reference/connections/update-connection-data","api-reference/connections/delete-connection","api-reference/connections/disable-connection","api-reference/connections/enable-connection","api-reference/connections/initiate-connection"]},{"group":"Integrations","pages":["api-reference/integrations/list-all-connectors","api-reference/integrations/get-connector-info","api-reference/integrations/create-connector","api-reference/integrations/delete-connector","api-reference/integrations/modify-connector"]},{"group":"Logs","pages":["api-reference/logs/get-logs","api-reference/logs/post-logs"]},{"group":"Projects","pages":["api-reference/projects/list-all-projects","api-reference/projects/get-project","api-reference/projects/regenerate-project-api-key","api-reference/projects/create-new-project","api-reference/projects/delete-project","api-reference/projects/rename-project"]},{"group":"Team","pages":["api-reference/team/list-members","api-reference/team/invite-member"]},{"group":"Triggers","pages":["api-reference/triggers/list-triggers","api-reference/triggers/get-active-triggers","api-reference/triggers/get-logs","api-reference/triggers/get-trigger-info","api-reference/triggers/get-webhook-url","api-reference/triggers/update-new-webhook","api-reference/triggers/delete-trigger","api-reference/triggers/disable-trigger","api-reference/triggers/enable-trigger","api-reference/triggers/set-callback-url","api-reference/triggers/switch-trigger-instance-status"]}]}]},{"tab":"All Tools","href":"https://app.composio.dev/apps"},{"tab":"Chat with Code","href":"https://entelligence.ai/ComposioHQ\u0026composio"}]},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/dark.svg"},"api":{"openapi":["composio.yaml"],"playground":{"display":"interactive"}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#fafafa","dark":"#181818"}},"navbar":{"links":[{"label":"Discord","href":"https://dub.composio.dev/discord"}],"primary":{"type":"button","label":"Get your API Key","href":"https://app.composio.dev/developers"}},"search":{"prompt":"Make my agents useful ..."},"seo":{"metatags":{"og:image":"https://framerusercontent.com/images/YwaNXXQETYRs9LymxFCnTjp83Q.svg","og:description":"Composio enables your agents to connect with Various Tools and work with them","og:site_name":"Composio Docs","twitter:site":"https://twitter.com/KaranVaidya6"},"indexing":"navigable"},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/composio-dev/","x":"https://twitter.com/composiohq","github":"https://github.com/composiohq"}},"integrations":{"ga4":{"measurementId":"G-3DBLETRPXH"},"posthog":{"apiKey":"phc_Gz8DBv1ZMbOwt3hE8sJZwKGsDl5FtMSkvBNSR0HC07c"},"plausible":{"domain":"composio.dev"},"intercom":{"appId":"dvp1uc7s"}},"redirects":[{"destination":"https://app.composio.dev/apps","source":"/apps/gitlab","_id":"67ac7db8806b179eeefbc9c3"},{"destination":"https://app.composio.dev/apps","source":"/apps/bitbucket","_id":"67ac7db8806b179eeefbc9c4"},{"destination":"/patterns/howtos/get_api_key","source":"/introduction/foundations/howtos/get_api_key","_id":"67ac7db8806b179eeefbc9c5"},{"destination":"/patterns/cli/trigger","source":"/sdk/cli/trigger","_id":"67ac7db8806b179eeefbc9c6"},{"destination":"/examples/:slug1*","source":"/guides/:slug1*","_id":"67ac7db8806b179eeefbc9c7"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/langchain_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9c8"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/crewai/:slug2*","_id":"67ac7db8806b179eeefbc9c9"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/autogen_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9ca"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/:slug2*","_id":"67ac7db8806b179eeefbc9cb"},{"destination":"https://app.composio.dev/apps","source":"/apps","_id":"67ac7db8806b179eeefbc9cc"},{"destination":"/introduction/foundations/components/custom_actions","source":"/python/local_tools","_id":"67ac7db8806b179eeefbc9cd"},{"destination":"/introduction/foundations/components/custom_actions","source":"/introduction/foundations/components/local_tools","_id":"67ac7db8806b179eeefbc9ce"},{"destination":"https://github.com/ComposioHQ/composio/releases","source":"/changelog","_id":"67ac7db8806b179eeefbc9cf"}]},"apiReferenceData":{}},"feedback":{"thumbs":true,"edits":true,"issues":true},"favicons":{"icons":[{"rel":"apple-touch-icon","sizes":"180x180","href":"https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/apple-touch-icon.png?v=3","type":"image/png"},{"rel":"icon","sizes":"32x32","href":"https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/favicon-32x32.png?v=3","type":"image/png"},{"rel":"icon","sizes":"16x16","href":"https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/favicon-16x16.png?v=3","type":"image/png"},{"rel":"shortcut icon","href":"https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/favicon.ico?v=3","type":"image/x-icon"}],"browserconfig":"https://mintlify.s3-us-west-1.amazonaws.com/composio-27/_generated/favicon/browserconfig.xml?v=3"},"subdomain":"docs.composio.dev","actualSubdomain":"composio-27","internalAnalyticsWriteKey":"phc_TXdpocbGVeZVm5VJmAsHTMrCofBQu3e0kN8HGMNGTVW","inkeep":{"integrationApiKey":"5ce2fdf9b7f7d3bb72c9360c24c73cf106762f3cd3849424"},"trieve":{"datasetId":"78dccc3c-e52c-44d7-9452-d9e2fe56e172","chatEnabled":true},"shouldIndex":true,"org":{"plan":"startup","createdAt":"2024-02-29T09:28:37.615Z"},"cssFiles":[{"_id":"65f98dc210b91e43d43ad0f2","filePath":"style.css","subdomain":"composio-27","__v":0,"content":":is(.dark .dark\\:text-primary-light) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255);\n}"}],"jsFiles":[{"_id":"65fdc77310b91e43d45d8aae","filePath":"script.js","subdomain":"composio-27","__v":0,"content":"const handleAddImage = () =\u003e {\n if (!window.location.href.includes(\"framework/crewai\")) {\n requestAnimationFrame(() =\u003e {\n handleAddImage();\n });\n return;\n }\n const h1 = document.querySelector(\"h1\");\n const isMobile = window.innerWidth \u003c 768;\n //if h1 doesn't contain image, add it\n if (!h1.querySelector(\"img\")) {\n const img = document.createElement(\"img\");\n img.src = \"https://github.com/joaomdmoura/crewAI/raw/main/docs/crewai_logo.png\";\n\n\n img.style.height = isMobile ? \"32px\" : \"32px\";\n\n\n h1.insertBefore(img, h1.firstChild);\n }\n\n h1.style.display = \"flex\";\n h1.style.justifyContent = \"center\";\n h1.style.alignItems = \"center\";\n h1.style.gap = \"12px\";\n\n requestAnimationFrame(() =\u003e {\n handleAddImage();\n });\n\n}\nrequestAnimationFrame(handleAddImage);\n\n\n(() =\u003e {\n\n console.log(\"init analytics\")\n\n // LOAD POSTHOG W PROXY\n const POSTHOG_INGEST = 'https://app.composio.dev/ingest'\n !function (t, e) { var o, n, p, r; e.__SV || (window.posthog = e, e._i = [], e.init = function (i, s, a) { function g(t, e) { var o = e.split(\".\"); 2 == o.length \u0026\u0026 (t = t[o[0]], e = o[1]), t[e] = function () { t.push([e].concat(Array.prototype.slice.call(arguments, 0))) } } (p = t.createElement(\"script\")).type = \"text/javascript\", p.async = !0, p.src = s.api_host.replace(\".i.posthog.com\", \"-assets.i.posthog.com\") + \"/static/array.js\", (r = t.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(p, r); var u = e; for (void 0 !== a ? u = e[a] = [] : a = \"posthog\", u.people = u.people || [], u.toString = function (t) { var e = \"posthog\"; return \"posthog\" !== a \u0026\u0026 (e += \".\" + a), t || (e += \" (stub)\"), e }, u.people.toString = function () { return u.toString(1) + \".people (stub)\" }, o = \"capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId\".split(\" \"), n = 0; n \u003c o.length; n++)g(u, o[n]); e._i.push([i, s, a]) }, e.__SV = 1) }(document, window.posthog || []);\n posthog.init('phc_Gz8DBv1ZMbOwt3hE8sJZwKGsDl5FtMSkvBNSR0HC07c', { api_host: POSTHOG_INGEST, capture_pageview: false, })\n\n\n // LOAD SEGMENT W PROXY\n const ANALYTICS_BASE = `https://app.composio.dev/api/script/`\n !function () {\n var i = \"analytics\", analytics = window[i] = window[i] || []; if (!analytics.initialize) if (analytics.invoked) window.console \u0026\u0026 console.error \u0026\u0026 console.error(\"Segment snippet included twice.\"); else {\n analytics.invoked = !0; analytics.methods = [\"trackSubmit\", \"trackClick\", \"trackLink\", \"trackForm\", \"pageview\", \"identify\", \"reset\", \"group\", \"track\", \"ready\", \"alias\", \"debug\", \"page\", \"screen\", \"once\", \"off\", \"on\", \"addSourceMiddleware\", \"addIntegrationMiddleware\", \"setAnonymousId\", \"addDestinationMiddleware\", \"register\"]; analytics.factory = function (e) { return function () { if (window[i].initialized) return window[i][e].apply(window[i], arguments); var n = Array.prototype.slice.call(arguments); if ([\"track\", \"screen\", \"alias\", \"group\", \"page\", \"identify\"].indexOf(e) \u003e -1) { var c = document.querySelector(\"link[rel='canonical']\"); n.push({ __t: \"bpc\", c: c \u0026\u0026 c.getAttribute(\"href\") || void 0, p: location.pathname, u: location.href, s: location.search, t: document.title, r: document.referrer }) } n.unshift(e); analytics.push(n); return analytics } }; for (var n = 0; n \u003c analytics.methods.length; n++) { var key = analytics.methods[n]; analytics[key] = analytics.factory(key) } analytics.load = function (key, n) { var t = document.createElement(\"script\"); t.type = \"text/javascript\"; t.async = !0; t.setAttribute(\"data-global-segment-analytics-key\", i); t.src = ANALYTICS_BASE + \"seg_\" + key + \".js\"; var r = document.getElementsByTagName(\"script\")[0]; r.parentNode.insertBefore(t, r); analytics._loadOptions = n }; analytics._writeKey = \"hbf4bfqyIUXHcjwrLRApMM3LMa87uDeh\";; analytics.SNIPPET_VERSION = \"5.2.0\";\n analytics.load(\"hbf4bfqyIUXHcjwrLRApMM3LMa87uDeh\", {\n integrations: {\n \"Segment.io\": {\n apiHost: \"composio_s_1.composio.dev/v1\",\n protocol: \"https\",\n },\n },\n });\n\n const IS_DEV = !window?.location?.hostname?.includes(\"composio.dev\");\n analytics.page(null, null, { IS_DEV });\n navigation.addEventListener('navigate', () =\u003e {\n analytics.page(null, null, { IS_DEV });\n });\n\n }\n }();\n\n // Your existing code...\n\n // Create a new script element\n const script = document.createElement('script');\n script.src = 'https://opps-widget.getwarmly.com/warmly.js?clientId=a782c02d7f81f1cecd1729551d050774';\n script.id = 'warmly-script-loader';\n script.defer = true;\n\n // Append the script element to the body\n document.body.appendChild(script);\n\n console.log(\"init analytics loaded\")\n})()\n\n\n\n"},{"_id":"67658ab80d5efc8f9208f6d0","filePath":"scripts/render_mint_json_template.js","subdomain":"composio-27","__v":0,"content":"const fs = require('fs');\nconst ejs = require('ejs');\nconst path = require('path');\n\n// Path to the mint.json.ejs template\nconst templatePath = path.join(__dirname, '../mint.json.ejs');\n\n// Path to the output mint.json file\nconst outputPath = path.join(__dirname, '../mint.json');\n\n// Function to read the api-reference directory and construct apiReferencePages\nfunction getApiReferencePages() {\n const apiReferenceDir = path.join(__dirname, '../api-reference');\n const groups = fs.readdirSync(apiReferenceDir, { withFileTypes: true })\n .filter(dirent =\u003e dirent.isDirectory())\n .map(dirent =\u003e {\n const group = dirent.name;\n const capitalizedGroup = group.split('-').map(word =\u003e word.charAt(0).toUpperCase() + word.slice(1)).join(' ');\n const pages = fs.readdirSync(path.join(apiReferenceDir, group))\n .filter(file =\u003e file.endsWith('.mdx'))\n .map(file =\u003e `api-reference/${group}/${file.replace('.mdx', '')}`);\n\n // Custom ordering of pages\n const order = ['list', 'get', 'add', 'generate', 'create', 'update', 'delete'];\n pages.sort((a, b) =\u003e {\n const aType = order.findIndex(type =\u003e a.toLowerCase().includes(type));\n const bType = order.findIndex(type =\u003e b.toLowerCase().includes(type));\n return (aType === -1 ? order.length : aType) - (bType === -1 ? order.length : bType);\n });\n\n return { group: capitalizedGroup, pages };\n });\n return groups;\n}\n\n// Value for apiReferencePages\nconst apiReferencePages = getApiReferencePages();\n\n// Read the template file\nfs.readFile(templatePath, 'utf8', (err, data) =\u003e {\n if (err) {\n console.error('Error reading the template file:', err);\n return;\n }\n\n // Render the template with the provided data\n const rendered = ejs.render(data, { apiReferencePages });\n\n // Write the rendered content to the output file\n fs.writeFile(outputPath, rendered, 'utf8', (err) =\u003e {\n if (err) {\n console.error('Error writing the output file:', err);\n return;\n }\n\n console.log('mint.json has been generated successfully.');\n });\n});\n"}],"mdxSourceWithNoJs":{"compiledSource":"/*Component hr does not exist.*/\n\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n }, {Card, CardGroup, Heading} = _components;\n if (!Card) _missingMdxReference(\"Card\", true);\n if (!CardGroup) _missingMdxReference(\"CardGroup\", true);\n if (!Heading) _missingMdxReference(\"Heading\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(Heading, {\n level: \"2\",\n id: \"what-is-composio\",\n children: \"What is Composio?\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Composio helps you connect AI agents to external tools like Gmail, GitHub, Salesforce, etc. It’s like a bridge between your AI and the tools it needs to get work done.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Here’s what you can do:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Seamless Connections:\"\n }), \" Connect AI Agents to tools like Gmail, GitHub, Salesforce \u0026 local tools such as File tool, Shell tool, etc.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Authentication Mechanisms:\"\n }), \" Support industry-standard auth protocols (OAuth, API Keys, JWT) with built-in security best practices, automatic token refresh handling, and secure user account connections - all without handling sensitive credentials\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Language Agnostic:\"\n }), \" Integrate with any programming language through our API-first approach\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Managed Execution Environments:\"\n }), \" Run tools in managed execution environments - Docker, E2B, Fly.io, Lambda, etc.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Full Visibility:\"\n }), \" Inspect every function called by the LLM, track timestamps for each Execution, and more.\"]\n }), \"\\n\"]\n }), \"\\n\", \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"quick-access\",\n children: \"Quick Access\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Get started with these resources:\"\n }), \"\\n\", _jsxs(CardGroup, {\n cols: 2,\n children: [_jsx(Card, {\n title: \"Watch Demo\",\n href: \"https://www.youtube.com/watch?v=ujxKzS0b5qg\",\n children: _jsx(_components.p, {\n children: \"See Composio in action\"\n })\n }), _jsx(Card, {\n title: \"Quickstart\",\n href: \"/introduction/intro/quickstart-tools\",\n children: _jsx(_components.p, {\n children: \"Build your first Composio powered AI agent\"\n })\n }), _jsx(Card, {\n title: \"Tools\",\n href: \"../../patterns/tools/what-are-tools\",\n children: _jsx(_components.p, {\n children: \"Checkout our toolset of 250+ LLM ready tools to build powerful AI applications\"\n })\n }), _jsx(Card, {\n title: \"Connections\",\n href: \"../../patterns/Auth/connected_account\",\n children: _jsx(_components.p, {\n children: \"Learn how to create and manage connections for your users\"\n })\n }), _jsx(Card, {\n title: \"Kits\",\n href: \"../../swekit/introduction\",\n children: _jsxs(_components.p, {\n children: [\"Composio SWE Kit (\", _jsx(_components.a, {\n href: \"https://www.swebench.com\",\n children: \"#4 on SWE bench\"\n }), \") - Your ultimate coding companion\"]\n })\n }), _jsx(Card, {\n title: \"Triggers\",\n href: \"/patterns/triggers/triggers\",\n children: _jsx(_components.p, {\n children: \"Subscribe to triggers to execute actions automatically\"\n })\n })]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{"config":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Composio","colors":{"primary":"#343434","light":"#fff","dark":"#343434"},"favicon":"/favicon1.png","navigation":{"tabs":[{"tab":"Get Started","groups":[{"group":"Introduction","pages":["introduction/intro/overview","introduction/intro/basic","introduction/intro/quickstart-tools","introduction/intro/quickstart-triggers"]},{"group":"Tools","pages":["patterns/tools/what-are-tools",{"group":"Use Tools","pages":["patterns/tools/use-tools/action-guide-with-agents","patterns/tools/use-tools/use-specific-actions","patterns/tools/use-tools/get-action-inputs","patterns/tools/use-tools/processing-actions","patterns/tools/use-tools/configure-tools","patterns/tools/use-tools/action-guide-without-agents","patterns/tools/use-tools/use-tools-with-your-auth"]},{"group":"Build Tools","pages":["patterns/tools/build-tools/custom-action-without-auth","patterns/tools/build-tools/custom-action-with-auth"]},"patterns/tools/custom-integration","patterns/tools/serve-tools","patterns/tools/versioning"]},{"group":"Authentication","pages":["patterns/Auth/connected_account","patterns/Auth/using-connections","patterns/Auth/Integrations","patterns/Auth/examples/gmail_example","patterns/Auth/examples/shopify_example"]},{"group":"Triggers \u0026 Webhooks","pages":["patterns/triggers/triggers","patterns/triggers/webhooks"]},{"group":"Supported Frameworks","pages":["framework/autogen","framework/crewai","framework/gemini","framework/langchain","framework/langflow","framework/langgraph","framework/letta","framework/litellm","framework/llamaindex","framework/openai",{"group":"Other Frameworks","pages":["framework/smolagents","framework/camelai","javascript/cloudflare","framework/griptape","framework/groq","framework/julep","framework/lyzr","framework/agno","framework/praisonai","javascript/vercel","framework/google","framework/ibm"]}]},{"group":"Kits","pages":[{"group":"SWE kit","pages":["swekit-tools/introduction","swekit/introduction","swekit-js/introduction","swekit/benchmarks","swekit-examples/introduction"]},{"group":"AI SDR Kit","pages":["sdrkit/tools","sdrkit/ai-lead-generator","sdrkit/ai-outreach-agent","sdrkit/ai-market-research-agent","sdrkit/ai-scheduling-agent"]},{"group":"Crypto Kit","pages":["cryptokit/tools","cryptokit/community_reward_agent","cryptokit/github_contributor_reward_agent","cryptokit/coinbase_agent","cryptokit/trading_agent"]}]},{"group":"Others","pages":["introduction/foundations/components/workspace","integrations/google","faq/api_key/api_key","faq/api_key/cli","faq/integrations_and_connections/list_of_tools","faq/supported_llms/supported_llm","monitoring-docs","changelog"]}]},{"tab":"Examples","groups":[{"group":"Examples","pages":[{"group":"Python Examples","pages":["examples/combined/rag-agent-python","examples/combined/code-execution-agent-python","examples/combined/calendar-agent-python","examples/combined/newsletter-summarizer-python","examples/combined/research-agent-python","examples/combined/sql-agent-python"]},{"group":"JavaScript Examples","pages":["examples/combined/rag-agent-javascript","examples/combined/code-execution-agent-javascript","examples/combined/calendar-agent-javascript","examples/combined/newsletter-summarizer-javascript","examples/combined/research-agent-javascript","examples/combined/sql-agent-javascript"]}]}]},{"tab":"API","groups":[{"group":"Endpoints","icon":"robot","pages":[{"group":"Actions","pages":["api-reference/actions/list-action-tags","api-reference/actions/list-actions","api-reference/actions/get-action-inputs","api-reference/actions/get-single-action","api-reference/actions/execute-an-action"]},{"group":"Api Keys","pages":["api-reference/api-keys/list-api-keys","api-reference/api-keys/generate-api-key","api-reference/api-keys/delete-api-key"]},{"group":"Apps","pages":["api-reference/apps/list-app-categories","api-reference/apps/list-apps","api-reference/apps/get-single-app"]},{"group":"Client","pages":["api-reference/client/get-user-info"]},{"group":"Connections","pages":["api-reference/connections/list-connections","api-reference/connections/get-auth-credentials","api-reference/connections/get-single-connection","api-reference/connections/update-connection-data","api-reference/connections/delete-connection","api-reference/connections/disable-connection","api-reference/connections/enable-connection","api-reference/connections/initiate-connection"]},{"group":"Integrations","pages":["api-reference/integrations/list-all-connectors","api-reference/integrations/get-connector-info","api-reference/integrations/create-connector","api-reference/integrations/delete-connector","api-reference/integrations/modify-connector"]},{"group":"Logs","pages":["api-reference/logs/get-logs","api-reference/logs/post-logs"]},{"group":"Projects","pages":["api-reference/projects/list-all-projects","api-reference/projects/get-project","api-reference/projects/regenerate-project-api-key","api-reference/projects/create-new-project","api-reference/projects/delete-project","api-reference/projects/rename-project"]},{"group":"Team","pages":["api-reference/team/list-members","api-reference/team/invite-member"]},{"group":"Triggers","pages":["api-reference/triggers/list-triggers","api-reference/triggers/get-active-triggers","api-reference/triggers/get-logs","api-reference/triggers/get-trigger-info","api-reference/triggers/get-webhook-url","api-reference/triggers/update-new-webhook","api-reference/triggers/delete-trigger","api-reference/triggers/disable-trigger","api-reference/triggers/enable-trigger","api-reference/triggers/set-callback-url","api-reference/triggers/switch-trigger-instance-status"]}]}]},{"tab":"All Tools","href":"https://app.composio.dev/apps"},{"tab":"Chat with Code","href":"https://entelligence.ai/ComposioHQ\u0026composio"}]},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/composio-27/logo/dark.svg"},"api":{"openapi":["composio.yaml"],"playground":{"display":"interactive"}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#fafafa","dark":"#181818"}},"navbar":{"links":[{"label":"Discord","href":"https://dub.composio.dev/discord"}],"primary":{"type":"button","label":"Get your API Key","href":"https://app.composio.dev/developers"}},"search":{"prompt":"Make my agents useful ..."},"seo":{"metatags":{"og:image":"https://framerusercontent.com/images/YwaNXXQETYRs9LymxFCnTjp83Q.svg","og:description":"Composio enables your agents to connect with Various Tools and work with them","og:site_name":"Composio Docs","twitter:site":"https://twitter.com/KaranVaidya6"},"indexing":"navigable"},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/composio-dev/","x":"https://twitter.com/composiohq","github":"https://github.com/composiohq"}},"integrations":{"ga4":{"measurementId":"G-3DBLETRPXH"},"posthog":{"apiKey":"phc_Gz8DBv1ZMbOwt3hE8sJZwKGsDl5FtMSkvBNSR0HC07c"},"plausible":{"domain":"composio.dev"},"intercom":{"appId":"dvp1uc7s"}},"redirects":[{"destination":"https://app.composio.dev/apps","source":"/apps/gitlab","_id":"67ac7db8806b179eeefbc9c3"},{"destination":"https://app.composio.dev/apps","source":"/apps/bitbucket","_id":"67ac7db8806b179eeefbc9c4"},{"destination":"/patterns/howtos/get_api_key","source":"/introduction/foundations/howtos/get_api_key","_id":"67ac7db8806b179eeefbc9c5"},{"destination":"/patterns/cli/trigger","source":"/sdk/cli/trigger","_id":"67ac7db8806b179eeefbc9c6"},{"destination":"/examples/:slug1*","source":"/guides/:slug1*","_id":"67ac7db8806b179eeefbc9c7"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/langchain_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9c8"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/crewai/:slug2*","_id":"67ac7db8806b179eeefbc9c9"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/usecases/autogen_blogs/:slug2*","_id":"67ac7db8806b179eeefbc9ca"},{"destination":"https://app.composio.dev/apps/:slug2*","source":"/apps/:slug2*","_id":"67ac7db8806b179eeefbc9cb"},{"destination":"https://app.composio.dev/apps","source":"/apps","_id":"67ac7db8806b179eeefbc9cc"},{"destination":"/introduction/foundations/components/custom_actions","source":"/python/local_tools","_id":"67ac7db8806b179eeefbc9cd"},{"destination":"/introduction/foundations/components/custom_actions","source":"/introduction/foundations/components/local_tools","_id":"67ac7db8806b179eeefbc9ce"},{"destination":"https://github.com/ComposioHQ/composio/releases","source":"/changelog","_id":"67ac7db8806b179eeefbc9cf"}]},"pageMetadata":{"title":"Overview","description":"Empower your AI agents with Composio - a platform for managing and integrating tools with LLMs \u0026 AI agents using Function Calling.","sidebarTitle":"Overview","href":"/introduction/intro/overview"}}},"entitlements":{"AI_CHAT":{"status":"ENABLED"}},"gitSource":{"type":"github","owner":"composiohq","repo":"composio","deployBranch":"master","contentDirectory":"docs","isPrivate":false},"banner":null},"__N_SSG":true},"page":"/_sites/[subdomain]/[[...slug]]","query":{"subdomain":"docs.composio.dev","slug":["introduction","intro","overview"]},"buildId":"d0mbdyCKtjyIf96y8FGGS","isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[]}</script></html></body></html>