An agent is the entity you create in Novu when you want to expose agent logic through one or more communication providers.Each agent has a name, an identifier, and a set of event handlers that define how your application responds to conversation events. An agent can be connected to one or more providers, such as Slack, Microsoft Teams, WhatsApp, email, or in-app Web Chat.
A provider connection connects an agent to a messaging platform. Providers are the surfaces where users interact with your agent. A provider connection gives Novu the credentials and configuration needed to receive events from that provider and deliver responses back to it.Each provider has its own setup flow and platform capabilities. Some providers support reactions, typing indicators, attachments, rich cards, or message editing. Others may support only a subset of those behaviors. Novu normalizes provider events before passing them to your agent handler, so your code works with a consistent interface instead of provider-specific webhook payloads.Your handlers stay provider-agnostic. Novu translates replies into whatever Slack, WhatsApp, or email expects on the way out.
While adding a new provider to an agent, Novu will guide you through the setup process for the provider. For what each channel can do (typing, buttons, approvals, edits), see Channels overview.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Novu","description":"The open-source notification infrastructure for agents and products. Send, receive, and track notifications across channels.","colors":{"primary":"#0e121b","light":"#FFFFFF","dark":"#FFFFFF"},"logo":{"light":"https://mintcdn.com/novu-c5de82d9/2Q_L4HxwUfLmJjB8/logo/light.svg?fit=max\u0026auto=format\u0026n=2Q_L4HxwUfLmJjB8\u0026q=85\u0026s=23e7050191303b6a0ac4a671dfed8df4","dark":"https://mintcdn.com/novu-c5de82d9/2Q_L4HxwUfLmJjB8/logo/dark.svg?fit=max\u0026auto=format\u0026n=2Q_L4HxwUfLmJjB8\u0026q=85\u0026s=bd7c54f6b7a7b5002ea7b525af3e169c","href":"https://docs.novu.co"},"favicon":"https://mintcdn.com/novu-c5de82d9/ZUl3xXp-4AASlrcI/favicon.svg?fit=max\u0026auto=format\u0026n=ZUl3xXp-4AASlrcI\u0026q=85\u0026s=b53c3afb6a8eaf11aff9db2c5d3f05a1","api":{"openapi":"https://spec.speakeasy.com/novu/novu/json-development-with-code-samples","examples":{"prefill":true}},"background":{},"navbar":{"links":[{"href":"https://novu.co/contact-us","label":"Contact Us"}],"primary":{"type":"button","label":"Get Started","href":"https://dashboard.novu.co/auth/sign-up"}},"footer":{"socials":{"x":"https://x.com/novuhq","github":"https://github.com/novuhq/novu","linkedin":"https://www.linkedin.com/company/novuco"},"links":[{"header":"Comparison","items":[{"label":"Novu vs Courier","href":"https://novu.co/comparison/courier"},{"label":"Novu vs Knock","href":"https://novu.co/comparison/knock"},{"label":"Novu vs MagicBell","href":"https://novu.co/comparison/magicbell"},{"label":"Novu vs SuprSend","href":"https://novu.co/comparison/suprsend"},{"label":"Novu vs In-house","href":"https://novu.co/comparison/building-in-house"}]},{"header":"Resources","items":[{"label":"Contact Support","href":"mailto:[email protected]"},{"label":"Changelog","href":"https://go.novu.co/changelog?utm_source=docs_footer"},{"label":"Roadmap","href":"https://roadmap.novu.co/roadmap"},{"label":"Contact Sales","href":"https://novu.co/contact-us"},{"label":"Read llms.txt","href":"/llms.txt"}]}]},"seo":{"metatags":{"og:type":"website","twitter:card":"summary_large_image"},"indexing":"all"},"icons":{"library":"lucide"},"integrations":{"gtm":{"tagId":"GTM-KXMC4XP2"},"plausible":{"domain":"docs.novu.co"}},"contextual":{"options":["copy","view","cursor","claude","chatgpt","mcp","add-mcp"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/novu-c5de82d9/vncv7ET97M5-dM6d/images/og/og-image-docs-v2.jpg?fit=max\u0026auto=format\u0026n=vncv7ET97M5-dM6d\u0026q=85\u0026s=26b59f5c597b5b1bea44cbc57cad5e3a","fonts":{"family":"Inter"}},"interaction":{"drilldown":true},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"novu-c5de82d9","hasAudioNarration":false,"actualSubdomain":"novu-c5de82d9","customDomains":["docs.novu.co"],"gitSource":{"type":"github","owner":"novuhq","repo":"novu","deployBranch":"next","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"e9d9fec2-7574-4e84-8502-aa74ce024230","liveDeploymentHistoryId":"6ad76b24710dce97c7a191a0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad76b24710dce97c7a191a0"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"}},"buildId":"6ad784b2fabd5b964e3504c4","clientVersion":"0.0.3894","searchFilterCounts":[{"language":"default","tag":"Notify","count":216},{"language":"default","tag":"API Reference","count":160},{"language":"default","tag":"Resources","count":106},{"language":"default","tag":"Integrate Channels Providers","count":93},{"language":"default","tag":"Guides","count":86},{"language":"default","tag":"Data","count":63},{"language":"default","tag":"Getting Started","count":62},{"language":"default","tag":"Framework","count":51},{"language":"default","tag":"Agent Connect","count":41},{"language":"default","tag":"Sms","count":38}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"[email protected]","showHelpButton":true}},"hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width:1024px){#sidebar-content{width:16rem;min-width:16rem;max-width:16rem}}body:has(#home-content) nav[aria-label=Main] a[aria-current=location]{background:0 0!important;color:rgb(75 85 99)}html.dark body:has(#home-content) nav[aria-label=Main] a[aria-current=location]{color:rgb(156 163 175)}body:has(#home-content) nav[aria-label=Main] a[aria-current=location]:hover{background:rgb(3 7 18/.03)!important;color:rgb(17 24 39)}html.dark body:has(#home-content) nav[aria-label=Main] a[aria-current=location]:hover{background:rgb(255 255 255/.03)!important;color:rgb(229 231 235)}#home-content .hero-cards{margin-top:1.5rem}#home-content .card [data-component-part=card-image]{width:107.5%;max-width:none;margin:-3.75% -3.75% 0}"}],"page":{"pagePath":"agents/get-started/agents-and-providers","slug":"/agents/get-started/agents-and-providers","pageMetadata":{"title":"Agents and providers","description":"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.","href":"/agents/get-started/agents-and-providers"},"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: \"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Card,Columns,Heading}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`agents`,children:`Agents`}),`\n`,_jsx(_components.p,{children:`An agent is the entity you create in Novu when you want to expose agent logic through one or more communication providers.`}),`\n`,_jsx(_components.p,{children:`Each agent has a name, an identifier, and a set of event handlers that define how your application responds to conversation events. An agent can be connected to one or more providers, such as Slack, Microsoft Teams, WhatsApp, email, or in-app Web Chat.`}),`\n`,_jsx(Heading,{level:`2`,id:`provider-connections`,children:`Provider connections`}),`\n`,_jsx(_components.p,{children:`A provider connection connects an agent to a messaging platform. Providers are the surfaces where users interact with your agent. A provider connection gives Novu the credentials and configuration needed to receive events from that provider and deliver responses back to it.`}),`\n`,_jsx(_components.p,{children:`Each provider has its own setup flow and platform capabilities. Some providers support reactions, typing indicators, attachments, rich cards, or message editing. Others may support only a subset of those behaviors. Novu normalizes provider events before passing them to your agent handler, so your code works with a consistent interface instead of provider-specific webhook payloads.`}),`\n`,_jsx(_components.p,{children:`Your handlers stay provider-agnostic. Novu translates replies into whatever Slack, WhatsApp, or email expects on the way out.`}),`\n`,_jsx(Heading,{level:`2`,id:`supported-providers`,children:`Supported providers`}),`\n`,_jsx(_components.p,{children:`Novu supports the following providers:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/agents/channels/slack`,children:`Slack`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/agents/channels/microsoft-teams`,children:`Microsoft Teams`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/agents/channels/whatsapp`,children:`WhatsApp`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/agents/channels/telegram`,children:`Telegram`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/agents/channels/email`,children:`Email`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/agents/channels/web-chat`,children:`Web Chat`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`While adding a new provider to an agent, Novu will guide you through the setup process for the provider. For what each channel can do (typing, buttons, approvals, edits), see `,_jsx(_components.a,{href:`/agents/channels/overview`,children:`Channels overview`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`manage-agents-with-the-api`,children:`Manage agents with the API`}),`\n`,_jsxs(_components.p,{children:[`You can create agents, link providers, and configure runtime settings from your backend using the `,_jsx(_components.a,{href:`/api-reference/agents/agent-schema`,children:`Agents API reference`}),`. Common starting points:`]}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Create an agent`,href:`/api-reference/agents/create-an-agent`,description:`Create a self-hosted or managed agent in the current environment`}),_jsx(Card,{title:`Create an agent integration`,href:`/api-reference/agents/create-an-agent-integration`,description:`Link a channel integration to an agent`}),_jsx(Card,{title:`List all agents`,href:`/api-reference/agents/list-all-agents`,description:`List agents in the current environment`}),_jsx(Card,{title:`Create an integration`,href:`/api-reference/integrations/create-an-integration`,description:`Create the Slack, Teams, or runtime integration an agent links to`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Agents and providers","description":"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.","href":"/agents/get-started/agents-and-providers"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Agents","slug":"agents","depth":2,"children":[]},{"title":"Provider connections","slug":"provider-connections","depth":2,"children":[]},{"title":"Supported providers","slug":"supported-providers","depth":2,"children":[]},{"title":"Manage agents with the API","slug":"manage-agents-with-the-api","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"novu-c5de82d9","siteName":"Novu","title":"Agents and providers - Novu","contextualStarterQuestions":[{"_id":"6a914722b6e7950550355149","deploymentId":"6a3b890b89d2acbacf3fa68a","questionText":"How do I connect agents to Slack?","status":"active","generatedBy":"contextual","path":"agents/get-started/agents-and-providers","createdAt":"2026-08-28T08:30:26.586Z","updatedAt":"2026-08-28T08:30:26.586Z","__v":0},{"_id":"6a914722b6e795055035514a","deploymentId":"6a3b890b89d2acbacf3fa68a","questionText":"What are event handlers?","status":"active","generatedBy":"contextual","path":"agents/get-started/agents-and-providers","createdAt":"2026-08-28T08:30:26.586Z","updatedAt":"2026-08-28T08:30:26.586Z","__v":0},{"_id":"6a914722b6e7950550355148","deploymentId":"6a3b890b89d2acbacf3fa68a","questionText":"What providers does Novu support?","status":"active","generatedBy":"contextual","path":"agents/get-started/agents-and-providers","createdAt":"2026-08-28T08:30:26.586Z","updatedAt":"2026-08-28T08:30:26.586Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-28T08:30:11.320Z","originalFileLocation":"agents/get-started/agents-and-providers.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Novu\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Agents and providers - Novu\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Novu\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.novu.co/agents/get-started/agents-and-providers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Agents and providers - Novu\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Novu\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0e121b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.novu.co/agents/get-started/agents-and-providers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agents/get-started/agents-and-providers.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.novu.co/#organization\",\"name\":\"Novu\",\"url\":\"https://docs.novu.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/novu-c5de82d9/2Q_L4HxwUfLmJjB8/logo/light.svg?fit=max\u0026auto=format\u0026n=2Q_L4HxwUfLmJjB8\u0026q=85\u0026s=23e7050191303b6a0ac4a671dfed8df4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.novu.co#website\",\"name\":\"Novu\",\"url\":\"https://docs.novu.co\",\"publisher\":{\"@id\":\"https://docs.novu.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.novu.co/agents/get-started/agents-and-providers#webpage\",\"url\":\"https://docs.novu.co/agents/get-started/agents-and-providers\",\"name\":\"Agents and providers\",\"description\":\"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.\",\"dateModified\":\"2026-08-28T08:30:11.320Z\",\"isPartOf\":{\"@id\":\"https://docs.novu.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.novu.co/agents/get-started/agents-and-providers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.novu.co/agents/get-started/agents-and-providers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started\",\"item\":\"https://docs.novu.co/agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agents and providers\",\"item\":\"https://docs.novu.co/agents/get-started/agents-and-providers\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.novu.co/agents/get-started/agents-and-providers#article\",\"headline\":\"Agents and providers\",\"name\":\"Agents and providers\",\"description\":\"How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.\",\"url\":\"https://docs.novu.co/agents/get-started/agents-and-providers\",\"mainEntityOfPage\":{\"@id\":\"https://docs.novu.co/agents/get-started/agents-and-providers#webpage\"},\"dateModified\":\"2026-08-28T08:30:11.320Z\",\"publisher\":{\"@id\":\"https://docs.novu.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.novu.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Novu\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Novu","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Notify","pages":[{"title":"Notify","href":"/platform"}]},{"tab":"Agent Connect","groups":[{"group":"Getting Started","boost":3,"pages":[{"title":"Novu Connect - Agent Communication Infrastructure (ACI)","sidebarTitle":"Overview","href":"/agents"},{"title":"What is ACI?","href":"/agents/get-started/what-is-aci"},{"title":"Mental model","description":"Trace how inbound messages flow from Slack, Teams, WhatsApp, email, or in-app Web Chat through Novu's agent communication infrastructure to your agent code and back.","href":"/agents/get-started/mental-model"},{"title":"Agents and providers","href":"/agents/get-started/agents-and-providers"},{"title":"Workflow-assigned agents","description":"Assign an agent to a workflow so chat and email steps send through the agent's connected channels, and subscriber replies continue as an agent conversation with the original notification payload.","sidebarTitle":"Workflow-assigned agents","href":"/agents/workflow-agents"},{"group":"Quickstart","pages":[{"title":"Connect AI SDK to Slack","sidebarTitle":"Connect AI SDK","href":"/agents/get-started/ai-sdk"},{"title":"Connect LangChain to Slack","sidebarTitle":"Connect LangChain","href":"/agents/get-started/langchain"},{"title":"Connect Mastra to Slack","sidebarTitle":"Connect Mastra","href":"/agents/get-started/mastra"},{"title":"Connect Claude managed agent","sidebarTitle":"Claude Managed","href":"/agents/get-started/claude-managed"},{"title":"Connect AWS Claude managed agent","sidebarTitle":"AWS Claude Managed","href":"/agents/get-started/aws-claude"}]}]},{"group":"Channels","icon":"messages-square","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/agents/channels/overview"},{"title":"Slack","sidebarTitle":"Slack","href":"/agents/channels/slack"},{"title":"Microsoft Teams","sidebarTitle":"Microsoft Teams","href":"/agents/channels/microsoft-teams"},{"title":"WhatsApp","sidebarTitle":"WhatsApp","href":"/agents/channels/whatsapp"},{"title":"Telegram","sidebarTitle":"Telegram","href":"/agents/channels/telegram"},{"title":"Email","sidebarTitle":"Email","href":"/agents/channels/email"},{"group":"Web Chat","root":{"title":"Web Chat","sidebarTitle":"Web Chat","href":"/agents/channels/web-chat"},"tag":"Beta","pages":[{"title":"Messages","sidebarTitle":"Messages","href":"/agents/channels/web-chat/messages"},{"title":"Tools","sidebarTitle":"Tools","href":"/agents/channels/web-chat/tools"},{"title":"Generative UI","sidebarTitle":"Generative UI","href":"/agents/channels/web-chat/generative-ui"},{"title":"Conversations","sidebarTitle":"Conversations","href":"/agents/channels/web-chat/conversations"},{"group":"Recipes","pages":[{"title":"Use assistant-ui","sidebarTitle":"assistant-ui","href":"/agents/channels/web-chat/recipes/assistant-ui"}]},{"title":"Security","sidebarTitle":"Security","href":"/agents/channels/web-chat/security"}]}]},{"group":"Custom Code Agent","icon":"code","pages":[{"title":"Concepts","href":"/agents/custom-code-agent/concepts"},{"title":"Connecting your app","href":"/agents/custom-code-agent/connecting-your-app"},{"group":"Frameworks","pages":[{"title":"AI SDK reference","sidebarTitle":"AI SDK","href":"/agents/custom-code-agent/frameworks/ai-sdk"},{"title":"LangChain reference","sidebarTitle":"LangChain","href":"/agents/custom-code-agent/frameworks/langchain"},{"title":"Other frameworks reference","sidebarTitle":"Other","href":"/agents/custom-code-agent/frameworks/other"}]},{"group":"Building blocks","pages":[{"title":"Handlers and context","href":"/agents/custom-code-agent/building-blocks/handle-events"},{"title":"Reply","href":"/agents/custom-code-agent/building-blocks/reply"},{"title":"Emit custom events","sidebarTitle":"Emit","href":"/agents/custom-code-agent/building-blocks/emit"},{"title":"Typing indicator","href":"/agents/custom-code-agent/building-blocks/typing-indicator"},{"title":"Edit sent messages","href":"/agents/custom-code-agent/building-blocks/edit-sent-messages"},{"title":"Signals","href":"/agents/custom-code-agent/building-blocks/signals"},{"title":"Tool approval","href":"/agents/custom-code-agent/building-blocks/tool-approval"}]},{"title":"Connect Components","href":"/agents/custom-code-agent/connect-components"},{"title":"Going to production","href":"/agents/custom-code-agent/going-to-production"}]},{"group":"Managed Agent","icon":"bot","pages":[{"title":"Managed Agent Overview - Novu Connect","sidebarTitle":"Overview","href":"/agents/managed-agent/overview"},{"title":"Concepts","href":"/agents/managed-agent/concepts"},{"title":"Configure MCP servers","href":"/agents/managed-agent/configure-mcp-servers"},{"title":"Add skills","href":"/agents/managed-agent/add-skills"}]},{"group":"Observability","icon":"eye","pages":[{"title":"Agent Conversations","href":"/agents/conversations"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference"}]},{"tab":"Resources","menu":[{"item":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"item":"Framework","pages":[{"title":"Framework","href":"/framework"}]},{"item":"Community","pages":[{"title":"Community","href":"/community"}]}],"pages":[{"title":"Resources","href":"/guides"}]}]},"title":"Agents and providers - Novu","buildId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","deploymentId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","dynamics":[],"chunks":[]}