Community Session: Chat SDK AMA

VVercel
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Hello, everyone.
00:00:19Welcome to another Vercel community session.
00:00:22This week I am joined by Malta and Matt, and I just want to remind everyone, if you are
00:00:27participating in the chat, please follow the code of conduct, but we are welcoming any and
00:00:31all questions about Chat SDK.
00:00:34Welcome guys.
00:00:35Awesome.
00:00:36Thank you for having us.
00:00:37Hi, everybody.
00:00:38I'm Matt.
00:00:39I'm joined today by Malta, and we are going to talk all things Chat SDK.
00:00:45If you're not familiar with it, it is an open TypeScript library we've built so that you
00:00:50can bring your agent to your users no matter what platform they are on.
00:00:55And to get started, I want to hear the origin story.
00:00:58So where did this all come from?
00:01:00Yeah.
00:01:01So, hey again, my name is Malta.
00:01:03I'm both the CTO for Sel, but also the author of Chat SDK.
00:01:07So I'm in that role here today.
00:01:11Don't ask any strategy questions.
00:01:14The origin story of Chat SDK came together over essentially all of 2025.
00:01:23We were investing more and more into, especially Slack bots.
00:01:26And there was always this question, can we ship this to other platforms besides Slack?
00:01:32And the ultimate answer was always no, because it would be quite a bit of work and only some
00:01:39incremental value.
00:01:40And then we wouldn't dock for it ourselves, which would be so much more difficult.
00:01:44And so we never really did it.
00:01:46And as I was looking at these apps, I was always thinking, can we make a nice way of
00:01:53building this in one shot?
00:01:57But then I looked at all these APIs and was very, very afraid, really, of building on top
00:02:04of them because they seem so daunting and multifaceted.
00:02:10Now fast forward to the very, very end of last year, Opus 4.5 came out and I was like, this
00:02:16is my time.
00:02:17And it was the holidays.
00:02:18It was the holidays.
00:02:19Yeah.
00:02:20And I'm saying, hey, Malte, what does this look like?
00:02:23How are we going to do this?
00:02:25And you came back with not an answer, but an actual library to answer my question.
00:02:31Yeah.
00:02:32Yeah.
00:02:33So I was hacking around.
00:02:37And the thing is about this type of thing is that it actually is still very painful to build
00:02:43because there's real APIs and they're not really in the training data.
00:02:46And so you still have to do a lot of figuring things out.
00:02:50At least some of the majority of the work was taken over.
00:02:55And so, yeah, I still decided to give it a go and over the holidays build the initial
00:03:01version of Chat SDK.
00:03:02It took us another month or so to get it ready for shipping.
00:03:07But that's the origin story.
00:03:08So I think it was obvious that this was needed, but it was also too daunting to build.
00:03:12And then AI helped us push it over the edge.
00:03:15Yes.
00:03:16Everyone at Vercel is a builder.
00:03:17So Amy, do you want to kick us off with our first question?
00:03:20Yeah.
00:03:21You know, anytime we have a new open source project, I think one of the most common questions
00:03:26that I see is how open is it?
00:03:29Like is this locked down to just Vercel?
00:03:32Do we need to use Vercel's AI infrastructure or can I use this anywhere?
00:03:37Definitely.
00:03:38I think especially with the Chat SDK, it is just a TypeScript library and it's not even
00:03:44tied to a front end or back end framework.
00:03:48You can use this in any JavaScript application.
00:03:53You can host anywhere that you can host JavaScript.
00:03:55You can use the Chat SDK and it's not tied to any other primitives of the cloud other
00:04:03than just a serverless function to handle a webhook event.
00:04:07What do you think, Malta?
00:04:08Yeah, exactly.
00:04:09We're not even the service function, right?
00:04:10Like it's literally like it's really just a library.
00:04:13It's like React, like, you know, where you can just, you know, you can use it wherever
00:04:19it's not tied in any way whatsoever to the structure.
00:04:23You can think of it as just it's not Chat SDK is not the agent.
00:04:27It's just the layer to take a webhook event and give the context to an agent that you've
00:04:33built with any framework that you've chosen.
00:04:38And then I think a really great example of this is recently, you know, we built the first
00:04:42version of the Teams adapter and now Microsoft Teams team has taken ownership of that as well.
00:04:52Yeah, that's right.
00:04:53I was actually super, super blessed by this because it's, I mean, yeah, I was fighting
00:05:00getting teams to work and they not only did they take over maintenance, they rewrote the
00:05:05adapter because they currently shipped a new API and they essentially just ported the existing
00:05:13implementation to the new API, which I think is a win for them.
00:05:15So they get distribution on the new API, hopefully fewer users than the old stuff.
00:05:20And I mean, we very much appreciate it because there is quite a bit of effort getting this
00:05:25to be great on every platform that we support.
00:05:27And a huge win for developers because they didn't have to go learn the new Microsoft Teams
00:05:32API, but their application or agent now benefits from the new adapter.
00:05:37No code changes needed on there.
00:05:38Yeah.
00:05:39And this is actually completely back for compatible things.
00:05:41So like you have to do nothing at all except upgrade Chat SDK and you get to take advantage
00:05:47of the new API.
00:05:48And, you know, I mean, they might have had a few edge cases or whatever, like, you know,
00:05:51since they're the actual Teams team there, they know best how to use their API.
00:05:56But as the user of Chat SDK, you don't necessarily need to know this.
00:06:00By the way, it's actually something I think one of the value of Chat SDK is obviously it's
00:06:05meant to be used in this like multi-platform fashion.
00:06:08But I would actually not be surprised if most users actually don't use it that way.
00:06:11Just use it for one platform at the same time.
00:06:16But, you know, all these APIs are so like they're often they're kind of they're either badly
00:06:23documented or they were not designed to be used in an idiomatic fashion and like a TypeScript
00:06:28ecosystem.
00:06:29So people are just like having an easier time using Chat SDK, even if it's only for one of
00:06:35the adapters.
00:06:36Yeah.
00:06:37And that's what we did with v0.
00:06:38We built v0 for Slack with the Chat SDK.
00:06:41And I think the best part is if we choose to go to another platform, it's a very easy engineering
00:06:47effort to go to that new platform.
00:06:51The next question I hear a lot about, and then we'll go to the live chat, JSX.
00:06:56So I built a lot of Slack agents prior to Chat SDK and I had to use BlockKit and I was used
00:07:04to React and I love JSX.
00:07:06And that was probably one of the biggest benefits and something I was so excited about with Chat
00:07:11SDK was bringing JSX.
00:07:13So what was that like?
00:07:15Yeah, I think the evolution of Chat SDK was that.
00:07:22I obviously wanted to have support for interactive elements, and so I was first thinking about
00:07:28how to properly abstract this inside of the Chat SDK.
00:07:36And the two things that were kind of going on in my mind was that, first of all, there
00:07:42should be great markdown support because obviously Chat SDK can be used for non-AI applications,
00:07:48but it's really meant to be used in this fashion where you hook it to an agent.
00:07:53So for that, markdown was really important.
00:07:55And the other thing was that I wanted a regular TypeScript job was to have a really good time.
00:08:01And so the idea was essentially to say, okay, we do have this internal representation of
00:08:08the UI that can be rendered to the different chatbots.
00:08:16And then map that intermediate representation to underlying APIs, like BlockIt.
00:08:22And then have, on the other hand, essentially quote unquote front ends, which are the representation
00:08:30that you as an engineer use.
00:08:32And reusable.
00:08:33That could be markdown, for example.
00:08:35You parse the markdown to an AST, then you render it to BlockIt, or you have the JSX,
00:08:42which is more or less directly mapped to the intermediate representation.
00:08:47And maybe for folks who don't know as well how JSX works, so JSX is essentially syntactic
00:08:55sugar for a function call.
00:08:58And this function call is a function call create element, which takes as the first argument
00:09:03the name of the element and then the props back.
00:09:07And this is a H1, H2 paragraph.
00:09:10Exactly.
00:09:11This is H4, right?
00:09:12But in reality, you can do anything you want, right?
00:09:17Because it's just a function call.
00:09:18And so you can overwrite that create element function to be whatever you like, including
00:09:28creating the elements from the intermediate representation of chat SDK.
00:09:33The only thing that actually makes this somewhat complicated to build is that this is supposed
00:09:37to work inside of existing React applications.
00:09:41And because JSX is not a namespace thing, you don't import it in any way, right?
00:09:47You have to make sure that you don't break, like say Next.js or Remix, right?
00:09:55But then also it's supposed to be used in applications that might have no idea what React is and what
00:09:59JSX is.
00:10:00And so it supports both these cases.
00:10:02It both plays well with existing JSX applications and it introduces JSX as syntax where that's
00:10:08not so far supported.
00:10:11If I could challenge the community, I would love to see Shad CN for chat platforms with
00:10:18JSX.
00:10:20That is something I know someone out there is probably already building and I can't wait
00:10:24to see that.
00:10:27And first community question, which platform specific edge cases do we as developers need
00:10:34to be aware of when implementing the SDK?
00:10:37And I think this is a great question with JSX as well is because Slack block kit has a lot
00:10:44of rich interactive UI and other platforms don't have the exact same native rendering.
00:10:52And I know that when we built this, we supported really good fallbacks.
00:10:57So if you use the chat SDK in a way that another platform may not support this, we have created
00:11:04awesome defaults and fallbacks for you as a developer.
00:11:08Yeah, exactly.
00:11:10So I think there's multiple elements, right?
00:11:13One of them is the rendering layer.
00:11:16I think actually the starkest difference though is that originally chat SDK was very much designed
00:11:23for platforms that have threats.
00:11:28Now obviously even within them, not everyone actually uses those threats, right?
00:11:33And so you do have to kind of consider that a little bit, but it was very much designed
00:11:37to be used in that fashion.
00:11:39But then people really wanted WhatsApp and Telegram and will add probably iMessage and
00:11:43everything else in the future.
00:11:46And so for that world, you have to understand that there are different paradigms of using
00:11:55a chat app and this cannot be properly abstracted at the chat SDK layer because again, you have
00:12:01to support both, right?
00:12:05So if you work on WhatsApp, you have to understand that these kind of messages are more or less
00:12:11context free.
00:12:14That is one thing.
00:12:15And so a chat SDK overall isn't meant to be like completely favoring overall differences.
00:12:21And then on the UI, it's definitely the case where I was trying to have a feedback so that
00:12:26you can write the same code and that kind of does make sense everywhere.
00:12:31And I think in practice, it works really well, right?
00:12:37Like in practice, the things you actually want to have supported is supported really well
00:12:43and so I think to some degree, you will have to do manual testing and see if everything
00:12:50kind of works out the way you want to, but we haven't really seen a case where people
00:12:57are really struggling with the cross platform site.
00:12:59And also a great case for open source because the community is going to help us show what
00:13:04in practice really means.
00:13:06Exactly.
00:13:07So I think you will find issues here and there, please report them and we'll fix them.
00:13:15Yes.
00:13:16Our next question.
00:13:18It seems that chat SDK by being lightweight and stack agnostic in its paradigms is separating
00:13:24the chat from the rest of the agent's harness.
00:13:28Do you see a future where with advances in other modalities, something like video chat
00:13:34SDK will be possible?
00:13:36Pretty interesting question.
00:13:38I'll start by saying you're correct and this is something that I've had to repeat a couple
00:13:45of times is chat SDK is not AI SDK and AI SDK is not chat SDK.
00:13:51They are AI SDK helps you build agents.
00:13:55Chat SDK helps you bring that agent to multiple platforms.
00:13:59So it is a lightweight and stack agnostic type of paradigm.
00:14:05What do you think of video chat SDK?
00:14:09I think it's really interesting.
00:14:13I think before we get video chat SDK, we'll get audio chat SDK.
00:14:19And usually my take is that you only add abstractions like chat SDK that make building a classification
00:14:31that's really nice after you've done it a few times.
00:14:36We've never built a video chat.
00:14:38Actually, I need to think back.
00:14:44It's not time yet.
00:14:45And especially as you have to be very close to the metal.
00:14:50I actually see most of the challenges for something like this on the communication with the AI
00:14:55models and not so much the communication to the front end, the user who's communicating
00:15:02in real time.
00:15:03Awesome.
00:15:04Okay.
00:15:05Our next question, can I train it with Opus 4.6 with stock answers and then have it produce
00:15:11answers for free with no cost?
00:15:13So I think this question highlights, you know, what is chat SDK and what it's not.
00:15:20And you would never train chat SDK.
00:15:24You're not having to write prompts for the chat SDK to create its responses from.
00:15:30That is what AI SDK or other agent frameworks are for.
00:15:36And so the agent framework is where you write tools, you write prompts, you create workflows
00:15:44and chat SDK is only the layer between the platform and your agent.
00:15:51So hopefully that helps answer that.
00:15:54Our next one from YouTube, can chat SDK be used to track and manage functionalities between
00:16:00Slack and JIRA?
00:16:02Yeah, this is a really good question.
00:16:04We do like since JIRA is in here, we do have a linear adapter.
00:16:09We don't have a JIRA adapter right now.
00:16:11Wouldn't be opposed to adding it.
00:16:13High community.
00:16:14But what I do want to add is because there were some questions around linear as well and
00:16:20GitHub for that matter, which is kind of in a similar vein, the chat SDK is for chatting.
00:16:28And so linear and JIRA are, if you really think about it, kind of chat applications that render
00:16:33them in a different format.
00:16:37And so that's what this is for.
00:16:40What you absolutely can do is you can use chat SDK to listen to people talking on Slack and
00:16:49then map that into JIRA API calls to do whatever you want on JIRA.
00:16:58But chat SDK does not care about you doing things on JIRA, right?
00:17:04Because those are, I mean, obviously sometimes you would post a message, but you might also
00:17:07like, I don't know, add a label or change the status of a tab.
00:17:11Assign it to the right person.
00:17:12Right.
00:17:13And so all of these things are not a thing you can do in chat SDK because it's really
00:17:16just for the communication, you just use the native API of the platform if you want to make
00:17:20like complicated things on it.
00:17:23Yes.
00:17:24Awesome.
00:17:25Okay.
00:17:26So does it, our next question is, does it support Facebook messenger?
00:17:32What's this?
00:17:33I think there's a PR maybe, or since we've, since we've launched, we've had a lot of interest,
00:17:39a lot of amazing pull requests, and maybe this is a good time to talk about what is the difference
00:17:46between a community adapter and the adapters that we've chosen to build and support.
00:17:53Yeah.
00:17:54That's a good question.
00:17:56And we have a third category, which is a vendor official.
00:17:59Yes.
00:18:00So the, in general, the way we think about the things that kind of ship with chat SDK,
00:18:07it should be kind of the billion user products, like Slack, Discord, what's that?
00:18:15Maybe we'll put it at a hundred million users, but like, you know, like very large, like broadly
00:18:20applicable type of, type of platforms.
00:18:23And so Facebook messenger would fully fall into that.
00:18:26I also don't really expect them to give us a vendor official, you know, but if Facebook
00:18:31would like to do this, it'd be nice, right?
00:18:32Like we would welcome it.
00:18:36So Facebook will fall into this.
00:18:39Then what we also, what we see a lot are, for example, are companies that do some kind
00:18:45of messaging service or like context management.
00:18:49I've seen a couple.
00:18:50That would be another one.
00:18:51Yeah.
00:18:52We can talk about that separately, but like let's say you, you have your own iMessage service.
00:18:56Right.
00:18:57Sendblue.
00:18:58Sendblue.
00:18:59They would make a vendor official one, right?
00:19:01Where we kind of say, okay, this actually is by Sendblue for Sendblue, which is, comes
00:19:07with a bit of a commitment to actually maintain this over time.
00:19:10Right.
00:19:11And then the third category is everyone here can just make an adapter.
00:19:15You know, spend a couple bucks on whatever, right?
00:19:19Like it's absolutely difficult and you can connect to whatever you want, right?
00:19:23And maybe that will be some like random small applications that, you know, wouldn't make
00:19:29the a hundred million user cutoff for the main, for the main chat escape.
00:19:35Or maybe also like maybe there's a feature that for some reason we're not adding to chat
00:19:41SDK teams adapter.
00:19:44You can, you know, no one's really stopping you from forking it and making your own, right?
00:19:48Like cause the adapters are fully loosely coupled and so you can just make your own version.
00:19:52And I think this is a good time to talk about, okay, I want to get started.
00:19:56How do, maybe I'm new to open source.
00:19:58I've never opened a pull request to an open source library, but I want to build an adapter.
00:20:04How do I get started?
00:20:06Yeah.
00:20:07I think for adapters, it's really worth thinking about the categories, right?
00:20:11So if you, if it's this like a hundred million user product that you want to support, then
00:20:16the right thing is to open a pull request to the chat SDK.
00:20:20If it's for, for something more niche, then you would, you know, literally just go to GitHub,
00:20:27see in your repository, tell your agent to look at the chat SDK repository, how you built
00:20:33an adapter and, and essentially do make one, right?
00:20:37And all these adapters are basically, they inherit from a base class and then they implement,
00:20:43let's say a post message function, which like ultimately would always be like some API call
00:20:49to that, to the platform that you want to support using whatever native SDK or maybe even just
00:20:55straight up fetches to their API.
00:20:58That makes sense.
00:20:59Awesome.
00:21:00We have a few more minutes here.
00:21:04So the next one I want to cover is things could get complex with project using multiple
00:21:09providers and apps.
00:21:11Sometimes humans need to be involved in a decision.
00:21:15How does human in the loop look with chat SDK?
00:21:19So I did a AMA on Reddit and I answered this with the AI SDK.
00:21:25Let's say that we're building with the AI SDK.
00:21:28It has a parameter called needs approval.
00:21:32And if you create a tool that needs human approval, you will listen to that stream.
00:21:38It will come back with a type that says, you know, needs approval.
00:21:42And that's when the chat SDK becomes helpful because you can write the UI needed to get
00:21:49the approval using JSX and that JSX component will render on whichever platform.
00:21:57So if you, you build the UI to get the approval once and you can use that with any platform,
00:22:04I think this is probably a question I get a lot because whenever you're building an agent,
00:22:11it's how do I, how do I give it enough power, but still allow the human to decide when things
00:22:17happen.
00:22:18Right.
00:22:19So there's a, I can give you an answer that's like very practical and very general and then
00:22:27maybe it's one that's a little bit more aspirational, but so that the, the general way, how do you
00:22:32implement human loop on chat SDK is that you delegate to your, to your agent that it wants
00:22:43to be, that it wants this, this, this, this tool called, well, to, to, to, to whatever
00:22:50answer the question.
00:22:51Right.
00:22:52And again, at some point the agent gets into the state where it says, okay, I need your
00:22:55approval.
00:22:56The agent will respond on essentially post a message to the Slack that selects, right.
00:23:02Or whatever you're working on.
00:23:03Hey, this user you know, the agent would like to perform this action.
00:23:08Do you approve?
00:23:09And you can use, for example, two JSX buttons for yes and no.
00:23:14And I think we have a pull request for callback URL.
00:23:17Yes.
00:23:18I don't know if that one merged yet.
00:23:19It hasn't, it hasn't merged yet, but so that's the, the more inspirational answer.
00:23:22Yes.
00:23:23So for now, you know, you just get the callback.
00:23:27And you, you on the server side, say, okay, no, no, it's approved.
00:23:31And you, you resume the agent operation at that moment.
00:23:34So that's the, that's the, that's, that's the generally like the general pattern is that
00:23:38you can draw these UIs to the, to the chat chat side, there are people can interact, they
00:23:45can kind of get for approval and then you proceed work.
00:23:48What we're currently working on, so it hasn't shipped yet, is that we are integrating this
00:23:54in general with the ability for every time you click a button that it calls a web hook.
00:23:58Right.
00:23:59And obviously that could be used in a very, very general fashion, whatever you have some
00:24:03kind of web hook system, but more specifically another thing for folks to kind of take a look
00:24:08at is the notion of web hooks in the workflow deficit.
00:24:14Yes.
00:24:15So I don't want to like do another whole five minutes spiel on workflow deficit, but workflow
00:24:20deficit is for sales system for writing durable compute, for writing, for allowing you to write
00:24:27agents that take work for hours.
00:24:30And one of the extremely elegant things in workflow deficit is that you can literally
00:24:35write something, you make a web hook and you send that web hook somewhere else and then
00:24:39you await the web hook, which seems like a crazy thing to do because it might take, let's
00:24:44say, five weeks until a user clicks it, right?
00:24:47But you can actually do that in workflow.
00:24:51And so you would then take this web hook and that's what you put into the JSX and chat SDK.
00:24:57And so whenever the user decides to actually click it, that magic await, it resolves and
00:25:03then it precedes the agent.
00:25:05I think the first time I saw that magic was, you know, it's very typical, the first interaction
00:25:10you have with an agent, it says, okay, you need to sign in.
00:25:13And when I first tried this out, I had to pull and wait and see, has there been a successful
00:25:18sign in?
00:25:19Very ugly, a lot of bugs, but with a web hook, I just waited for a successful sign in and
00:25:25it could wait 30 seconds, a day, weeks.
00:25:28And it was magical.
00:25:29It just worked.
00:25:30And that was probably one of the best like web hook callback type of situations I've run
00:25:34into.
00:25:36Okay.
00:25:37That's about time.
00:25:38Is there anything you want to say before we wrap?
00:25:44I don't have anything in particular, but like, I mean, basically like this is just an open
00:25:49source library.
00:25:51We made it because we needed it ourselves.
00:25:55From the reaction we've seen that there's a lot of demand.
00:25:58We definitely appreciate contributions, especially again for under like, we have to like fill
00:26:05out our like large scale adapter kind of repertoire.
00:26:11Like we I'm not sure we can do iMessage, but we also would love to do our C messaging, WeChat,
00:26:21you know, whatever your country preferred.
00:26:25Anywhere there's a thread.
00:26:26Well, no, we don't need threads anymore.
00:26:29Anywhere there's a conversation.
00:26:30Anywhere there's a conversation.
00:26:32Well thank you guys.
00:26:34I appreciate your time and I'm really excited to see what you build with the chat SDK.
00:26:39Thank you all.
00:26:41Thank you guys for being here.
00:26:44There's lots of interest in the chat.
00:26:46So please everyone who's trying it out, give us your feedback.
00:26:50We want to know more and let us know what adapters you want to add, what you want to add to it.
00:26:57Open those pull requests.
00:26:58We want to see it.
00:26:59Thank you all.

Key Takeaway

Chat SDK enables developers to deploy AI agents across various messaging platforms using a unified TypeScript library that leverages JSX for platform-agnostic UI rendering.

Highlights

  • Chat SDK is an open-source TypeScript library that abstracts platform-specific messaging APIs, allowing agents to function across multiple platforms without framework coupling.

  • The library uses JSX as syntactic sugar to map UI components to an intermediate representation, enabling consistent rendering across different chat platforms.

  • Microsoft Teams' internal team took ownership of the Chat SDK Teams adapter, refactoring it for their new API while maintaining backward compatibility for all users.

  • Integrating human-in-the-loop workflows is achieved by having an agent pause and await a webhook triggered by a user interaction, such as a button click, within the chat interface.

  • Chat SDK is purpose-built for messaging communication and is distinct from the AI SDK, which handles agent-building, tool creation, and prompt orchestration.

Timeline

Chat SDK Origins and Purpose

  • Development began in late 2025 as a solution for scaling Slack bot infrastructure to other platforms.
  • The project moved from an idea to a functional library during the holidays after the release of Opus 4.5.
  • The library acts as a layer to translate webhook events into context for agents built with any framework.

The library was created to solve the engineering difficulty of supporting multiple chat platforms simultaneously. Before the SDK, developers faced fragmented and complex APIs, often leading them to avoid multi-platform support. AI tools helped bridge the initial implementation gap during the development phase.

Framework Independence and Platform Adapters

  • Chat SDK is not tied to any front-end or back-end framework and can be hosted anywhere JavaScript runs.
  • The Microsoft Teams team officially adopted and rewrote the Chat SDK Teams adapter for their new API.
  • Adapters allow developers to support new platforms without needing to learn underlying native APIs or change application code.

The library remains strictly stack-agnostic, functioning merely as a connector between webhook events and an agent. The Microsoft Teams collaboration demonstrates the value of this approach; by adopting the adapter, the platform team ensured their users benefited from new API capabilities without requiring developers to rewrite their agents.

JSX Implementation and UI Abstraction

  • JSX is used as syntactic sugar to generate elements from an internal UI representation that renders to various chat platform formats.
  • The system maps high-level UI components to specific platform primitives like Slack's BlockKit.
  • The library provides robust defaults and fallbacks for UI elements to ensure consistent behavior across different platform capabilities.

Integrating JSX allows developers to build chat interfaces using familiar React-like patterns while remaining compatible with applications that do not use React. By overwriting the create-element function, the SDK maps developer-written JSX directly to the intermediate representation required by target platforms.

Human-in-the-Loop Workflows

  • Human-in-the-loop interaction is achieved by having agents await webhooks triggered by UI elements like buttons.
  • Integrating with Vercel's workflow system allows agents to pause for long durations, such as days or weeks, until a user provides approval.
  • Chat SDK is explicitly designed for messaging and is not intended to handle complex internal logic for external services like JIRA.

When an agent requires authorization, it sends a message with interactive buttons. Upon a user clicking a button, a webhook is triggered, which fulfills the agent's wait state. This pattern avoids the technical debt associated with polling methods to check for user decisions.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video