
Slack Bet
on Context
Engineering
How Slack AI Agents Accelerate Dev Productivity
Also available on
Transcript
[00:00:00] Simon: Before we jump into this episode, I wanted to let you know that this podcast is for developers building with AI at the core. So whether that's exploring the latest tools, the workflows, or the best practices, this podcast is for you. Now, we've had amazing guests like Olivier Pomel, the CEO of Datadog, Mati Staniszewski, the co-founder of ElevenLabs.
[00:00:27] Simon: Victor Riparbelli, the CEO and co-founder at Synthesia, and of course, Tessl’s very own, Patrick Debois and they're all sharing lessons right from the frontier of our industry. A really quick ask, 90% of people who are listening to this haven't yet subscribed. So if this content has helped you build smarter, hit that subscribe button and maybe a like, it really does help us keep bringing the folks who are actually pushing this space forward and helping build that AI-native future.
[00:00:53] Simon: Alright, back to the episode. Hello, and welcome to another episode of the AI Native Dev. [00:01:00] My name's Simon, your host for today. Joining me today is Samuel Messing, who is the VP of Engineering for Search and AI at Slack. Sam, how are you?
Sam: I'm doing great, Simon. I'm so excited to be here. Thank you for having me.
[00:01:14] Simon: Well, welcome. And today we're gonna have a cool talk, a little bit about the journey of how Slack has really kind of revolutionized the way we do business, but also now in the modern age. How the way that AI has this role in chat today through search and other things, but how actually with AI-assisted development and how agentic coding rely so much on conversations and the written word, and how we can, as teams, build applications. What role an amazing communication tool like Slack can play in that potential future as well. So there's a ton to chat about, Sam.
[00:02:00] Simon: Why don't we get started with really just talking. I think pretty much everyone's gonna know what Slack is. Why don't, instead of introducing Slack, you introduce a little bit about yourself and Slack AI?
[00:02:13] Sam: Yeah. So, I have been at Slack now for four years. I joined actually as an IC, as an individual contributor, as a backend developer.
[00:02:22] Sam: And over my time I've worked on a bunch of different features. I have a background of about 15 years in software development, and so I've always thought machine learning and AI are very interesting. And so as I've gotten the opportunity to start leading Search and AI at Slack, it's just been a dream job in terms of getting to really be at the forefront of those technologies.
[00:02:48] Sam: And within Slack AI, the thing that we're really excited about is, you know, a thing I say to the team a lot is context is everything. Especially in an enterprise setting, you need to know what's going on. You need to know what your sister teams are working on. And alignment is a really challenging thing, especially at large enterprises.
[00:03:08] Sam: So, you know, we hear a lot that information overload is an experience that lots of people are having right now, both just for the industry in general with the velocity of things and change that's happening, as well as within individual enterprises where you might have really, really smart, charismatic, intense people all working and generating their own ideas.
[00:03:25] Sam: And how do we kind of wrangle all of that?
[00:03:33] Simon: And it's interesting actually because when we think about like the problems that LLMs have with getting too much context, you don't need to go anywhere near their kinda like token ranges before. Before you start seeing degradation in terms of the quality of the responses that LLMs provide you back when you're talking about the kinda like, well, I mean, what is the scale of like an enterprise and slack look like? Are we, how much data are [00:04:00] we really, are we really having to juggle here with an ai AI bot?
[00:04:05] Sam: Well, you know, just look at some of our customers. So, you know, IBM is using Slack, right. IBM is a hundred thousand person company. Salesforce is a 75,000 person company. So, you know, the context is huge and you're right that part of one of the most important things that we do to develop our AI features is to think about how do we manage that context, right?
[00:04:27] Sam: There's a new buzzword that's going around around the idea of context engineering instead of prompt engineering, and we take that very seriously and that's why also I think search and AI are two really important things to put together and to think about in harmony with each other. And you know, we discuss things internally as, is this search or is this AI?
[00:04:47] Sam: And you know, a point I usually bring is. Doesn't matter. It's all one thing at this point. But we need to think really seriously about not just what we do with the LLM, but taking care on what we bring into the LLM, [00:05:00] to get that kind of response and accuracy.
[00:05:01] Simon: It's really interesting 'cause for me, as a user,
[00:05:05] Simon: I don't necessarily care whether it's search or AI, so long as I have that trust and confidence in the results that come back from a, from, from you. As you know, one of the folks who are kinda like building these types of capabilities in with search and AI, where would you say the boundaries are for where search has a real ceiling that it can't break through, but where AI really benefits and can deliver.
[00:05:31] Simon: Much better results and what are the problems the other way where search is actually far stronger, far better at being able to deliver results where AI just struggles.
[00:05:41] Sam: Yeah. So, the first part, so where does search kind of hit its limits and where does AI kind of shine? You're making me think about one of our customers that is a major newspaper publication.
[00:05:53] Sam: And one of the things that they've done, which I just think is so clever, is right. They have. They hook into the Associated Press’s wire service, right? So they get these pushes. It's essentially an RSS feed of every new headline with a hundred words on what's going on so that they can help orient their journalists to what's keeping a pulse on what is happening in the world.
[00:06:16] Sam: Now if you think about that as a search problem. So now I have this channel that has all of these push updates, and then I search for something like, you know, what's going on in Bulgaria? I'm just gonna see tons of text and I have to read all of those things. And it can get kind of tedious, and especially if you think about search where we're trying to focus on relevant.
[00:06:37] Sam: Rather than trying to give you the right longitudinal kind of organization, it's really useful to instead use something like our AI search answers product, which actually synthesizes all of that information, takes those raw search results, and translates that into an actual human understandable text block with citations so that [00:07:00] you can go back to the relevant messages.
[00:07:02] Sam: But you can, better get just a sense of what is actually happening. I don't have to provide that synthesis for myself. Now on the opposite side, where AI is limited and where search continues to be more important is right. It depends on job roles, but one thing that we see a lot is there are certain job roles.
[00:07:21] Sam: You need to respond to every message that's coming in, and you need to understand what is happening. And so that's where things like structuring search results based on time is a really useful use case. And so what we've heard from users is the need to save searches and go back to these same searches, a way to essentially triage where an LLM would, that synthesis is not what they're looking for.
[00:07:46] Sam: What they're looking for is every single thing, coverage or recall is more important. So that's part of the way that we're thinking about that balance.
[00:07:54] Simon: Yeah, and it's interesting you were talking a little bit there about almost like the combination of the two a little bit, and I, and [00:08:00] it's very interesting, even through a bunch of dev tools without that.
[00:08:03] Simon: That almost like need a level of creativity versus a level of accuracy, where we see certain dev tools that use AI as well as looking at an AST or something like that to provide them the accuracy of what a code flow is doing, and then layer AI on top. And it's interesting that, you know.
[00:08:24] Simon: Is there this path where actually one or the other isn't the solution, but we need this mix where search is good at certain things, AI is good at other things, let's actually combine them to get the best of both.
[00:08:36] Sam: I mean, that's what we're really focused on in general, is trying to use both pieces of technology.
[00:08:43] Sam: So an example of a feature that we just launched that I'm particularly proud of is something called AI Explain. You can now go to individual messages, and there's a message action you can press that will explain the message in detail. So I use this personally whenever I'm responding to incidents, right?
[00:08:57] Sam: I'm a VP of engineering. I get [00:09:00] mentioned in an incident channel when something's going on, and I have to quickly get up to speed. The engineers are still actively working the problem, and I don't wanna slow them down. So someone sends a message with a bunch of acronyms, maybe I don't know those acronyms.
[00:09:13] Sam: What I would do in the past is I'd have to ask someone. I'd either be slowing down the people who are really doing it, or I'd have to bring more people in. But now I can just use AI Explain to catch up with what their communication is about so I can understand what their acronyms are. I can understand the details of why it's significant without interrupting anybody, and that gives me a much better ability as an executive especially to just get a pulse on what's going on without having to interrupt anybody.
[00:09:39] Sam: Okay. So that is both a search and an AI problem where we kick off a search to get more information and more context, but then we're using the LLM to create that synthesis as well as bring in that global knowledge of just the context that the LLM already knows and use that as part of the [00:10:00] solution.
[00:10:00] Simon: Really interesting. We're gonna go on and talk a little bit about how the folks at Slack are using AI internally as well, but before we move off of Slack AI. In terms of trends, I guess from what you see as real-world usage out there.
[00:10:21] Simon: How much do you see people, like, is there a cliff where all of a sudden everyone starts really trusting and leaning into AI results? Where do you see usage of AI particularly? Maybe it's feature by feature of certain things that developers and users are enjoying, trusting straight away. What can you tell us a little bit about the behind the scenes?
[00:10:45] Sam: Yeah. I think what we've noticed is there are different features that are used by different people, as you might not be surprised by. So one of our most popular features that I'm super proud of is our message [00:11:00] translation feature.
[00:11:01] Sam: So, you can set it up to even be automatic, that if someone chats you in a different language than your UI setting for the language of the application, it will automatically translate for you. So we can accelerate that kind of communication. Obviously there are certain companies and certain individuals at those companies that really need to leverage that feature.
[00:11:17] Sam: Whereas other people, you know, myself as an example, most of the people I talk to were all native English speakers. I don't really use that feature as much, so we have to think about those different job roles. Another thing that we've seen is that different customers are at different levels of adoption.
[00:11:37] Sam: And so we have bleeding edge adopters. Like a great example is one of our customers named Plaintiff. They have built using Agentforce in the platform of Agentforce to build proactive, customizable agents, multiple different agents that take their consulting firms.
[00:11:57] Sam: So take their salespeople through the whole life cycle [00:12:00] of a sale. So to have a call prep bot, a research customer analysis bot, and then also a call summary bot that happens at the end. And those three agents work in parallel to help an individual sales rep basically bring down their prep time for calls by about 50%.
[00:12:19] Sam: And it's actually increased their upsell bookings by about 50% as well. So that's an AI native company that is really going aggressively into how do we build these use cases and think about the verticalization within our company. We also see more tentative dipping their feet into the water features where we have customers that will only try one feature at a time and are really concerned about change management and understanding.
[00:12:47] Sam: The boundaries with LLM. A thing that I wish I could tell every customer is the special parts of Slack and Slack AI and Agentforce is two real main things. One is that we [00:13:00] have the context that you couldn't get elsewhere. The communication is happening within Slack. We can understand at a much deeper level what people are thinking about and what problems they're facing.
[00:13:11] Sam: And then the second one is. Deeply integrated is a permission structure. We are HIPAA compliant. We build software for large enterprises that have extremely tight compliance needs, and that applies to all of our AI features. So a concern that you might have is with search, is an employee gonna see things that they shouldn't see.
[00:13:34] Sam: And what we've really done, and I'm really proud of this, is built a just-in-time permission layer that ensures and enforces that people cannot see or access things that they're not available to. And what we're expanding that to is thinking about providing enterprises ways to empower different job roles differently.
[00:13:58] Sam: So you know, you might [00:14:00] want to do something different with your HR department as an example than you would with your sales department. And you need to think about those maybe not so much as silos, but as protective communities that have both their internal parts and then their shared parts.
[00:14:13] Sam: And that's the kind of thing that we're really focused on at Salesforce and Slack.
[00:14:18] Simon: And that's a really, that's a really interesting approach and a tough problem, right? Because I think being able to kinda like guard that data and making sure those permissions are strictly adhered to is extremely important.
[00:14:30] Simon: Is that something that you do? Is that something that you have a guard in place then pre-sending information to an LLM or is that something that you almost have a guard based on the output of the LLM back to the user?
[00:14:41] Sam: So there, you know, it's a continuously developing experience and
[00:14:45] Sam: we're responding to what our customers need and ask for. But yes, we have permissions at different and various layers. So thinking about the search experience, we start obviously by only searching channels that you have access to, but then we do a secondary check at the end of [00:15:00] the search to double-check all of that because things can change, right?
[00:15:03] Sam: There's always lag time with SKU. So we need to have a real-time part of that, and that all happens before an LLM gets involved with anything. And it's important to note that we don't do any generative AI training, right? We are using off-the-shelf LLMs. So the way that we provide that context is always going to be through this permission to search and kind of populating the context window rather than, you know, what feels much more risky to me, which is like trying to train a model off of the content because we can't, right?
[00:15:33] Sam: We as an industry don't yet understand how to control an LLM at that level. So we're just not even exploring it.
[00:15:42] Simon: A hundred percent agree. And I think it's like if you give information to an LLM, you have to expect that LLM to use that information however it sees best. And it's very, very hard to kinda like have gates post.
[00:15:55] Simon: So I think the gates that you mentioned there pre is really the right way. The only way you can really [00:16:00] do that. Cool. And with Slack AI of course coming up very soon, is Dreamforce, which is, is it the week of the 13th of August?
[00:16:08] Sam: Yes. So it should be October 13th through the 16th, I believe.
[00:16:12] Sam: But it is certainly that week. And it's a big Salesforce-level conference where we're going to showcase lots of different new products that we are developing, and I'm particularly excited about some of the things that we're going to announce at Slack for Slack at Dreamforce. I can't go into too much detail now, but let me tell you that we're going to be launching a very personalized experience for individuals that will supercharge their ability to use Slack,
[00:16:41] Sam: in a way that I don't see anyone else doing in the market.
Simon: Oh, wow.
Sam: So I'm very excited about that.
[00:16:47] Simon: That sounds amazing. Looking forward to that. Let's jump in to how you use AI within your development processes at Slack. I understand you use Cursor pretty heavily. Tell us a bit about that.
[00:16:59] Sam: [00:17:00] You know, we,
[00:17:01] Sam: So there's two things there that I think are important. One is, obviously we are an engineering organization, so we want to use all of the bleeding tech tools that we can to build the best software for our customers possible. But also we build AI features. And what I'm excited about is I think developers more than anyone else are furthest along in the experience of understanding what it means to work
[00:17:23] Sam: collaboratively with agents. So I am, you know, very focused on seeing what everyone at the company is doing with AI for development as a way to try and understand what the future might look like for non-technical. So, you know, focusing on engineering, although I would love to talk to you also about other job roles at Slack and how they use AI.
[00:17:40] Sam: We have adopted Cursor as one of the things that we're trying, but we're also experimenting with other platforms like Cloud Code and Windsurf. And we have a lot of different things that we're playing around with internally. But one of the things that we focused a lot on is how can we integrate all of our custom software tools with, through, via MCP.
[00:17:59] Sam: So, you know, like any large organization, we have built a lot of different internal tooling around managing experiments and feature flags, around managing our data and analytics, as well as managing things like code search even, and making sure that that's effective as possible across multiple languages.
[00:18:24] Sam: So the team has spent a lot of time integrating and developing internal MCP tools that we can use through Cursor to kind of work through those, to take one example, a challenge that I had when I was in IC all the time was, you know, someone would ask me about a usage stat of something that I'm working on, and of course I should go and write the SQL and figure out how to do that.
[00:18:44] Sam: But before I can do that, I need to know what tables exist and which ones are real and, you know, the accuracy of them. And, you know, there's like users_underscore_v final two 'cause there was some migration a few years ago and there's all this stored context that, a historical context that's important to answer that question.
[00:19:02] Sam: So we've built both a chatbot that we call Jimmy, as well as an MCP integration to help developers both explore and understand what tables exist and how they can answer those questions as well as actually generate some of the SQL to do that for them. So that's been incredibly useful. You know, it should be the case that any engineer should be able to answer whatever usage question you have about their features or what they're responsible for.
[00:19:30] Sam: And this is really making that real, especially for more junior developers who just don't have the context yet, haven't learned as much about the way the stack at Slack works. It's been really useful for them.
[00:19:40] Simon: Yeah, so it's essentially giving agents that, like whatever agent process, whether it's within Cursor or Claude Code, as you mentioned, giving whatever agent
[00:19:49] Simon: who is trying to perform a task, the context or the information it needs to be able to perform that accurately without hallucinating tables or using a different version of the data or whatever, and then providing that information back to the agent will allow it to then, you know, provide a solution or provide a SQL, in this case a SQL query that will access the data and the tables correctly.
[00:20:13] Sam: Yeah. And what we're seeing is, you know, a lot of people are using the Cursor agent to understand the code base and basically get to the right knowledge to write the specific prompt. They want to get the agent to do the right thing. Right. Specificity with instruction is really important when you're interacting with agents.
[00:20:33] Sam: Luckily, I think one of the biggest challenges for developers in their career in general is technical communication, right? You can have all the technical chops in the world, but if you can't sell people on your idea or explain what you did, you're going to be limited in your career on that. And so I see a real parallel between developing your skills at communicating with agents and this other part of career development that is also super important around just being able to communicate [00:21:00] specifically.
[00:21:01] Sam: About technical topics and understanding what level of detail to go into for various, you know, audiences.
[00:21:09] Simon: Point. And I think if we was to take that broader and say, you know, you are using Cursor very, very heavily within Slack. That obviously has a big change in terms of how much code gets generated, what pressure that adds on other parts of the SDLC.
[00:21:23] Simon: What do you think, I guess, purely just from the workload, what do you see as being very beneficial from those efficiency gains that you'll get from agents, and what has it also challenged you on as a team in terms of, have there been new bottlenecks?
[00:21:41] Simon: Are there things which actually might seem very effective and proficient, but maybe in the long run took more time? Can you give us any insights on how the dev teams fed with that?
[00:21:54] Sam: Definitely, and what I'm thinking about also applies, I think, to non-technical roles, but, so, you know, by analogy.
[00:22:02] Sam: So on the technical side, some of the places we've had the most success is with things that are a little bit more rote or a little bit more robotic in terms of the task. For instance, Slack, like many mature web products, has started out in JavaScript and we've moved into TypeScript.
[00:22:21] Sam: And we've done what most people do, which is an incremental adoption of TypeScript over time. So we still have, you know, old JavaScript files that no one has needed to touch, so they haven't been migrated. That is a big place where we've started using AI and we've built some scripts that use Claude Code essentially to accelerate people's ability, and, you know.
[00:22:43] Sam: Slack has its own particular ways of doing types and organizing our code and things like that. So it's important to kind of share amongst developers that script that has this built-up prompt of specificity to get over those specifics or quirks, and now we have multiple engineers running that script at the same time.
[00:23:03] Sam: So in the last six months, we've converted more than 50% of our legacy JavaScript into TypeScript, and we should be done in a couple of months. And that's something that we originally thought, without AI, it would take, you know, two years to do just because you also have to balance it with, you know, asking people to build new features or fix bugs or things like that.
[00:23:25] Sam: And so another example is generating unit tests. There's a lot of quirks with the way the unit test frameworks work, and especially for more junior engineers, they can get stuck figuring out details rather like, non-interesting details of how to set that all up,
[00:23:41] Sam: rather than focusing on the actual testing of their feature. And so we've seen that as a really great place for adoption. Now, where it's been a little bit more challenging is, you know, I've been working with a principal engineer on a prototype of an MCP client within Slack. This is something that is very speculative.
[00:23:58] Sam: We all think that we need to experiment with this, but, you know, it's going to be a long time before we figure out exactly what that means for enterprise compliance software. Our backend is written in Hack, which is kind of built on it. TypeScript is to JavaScript as Hack is to PHP.
[00:24:17] Sam: So we use Hack, and there's no MCP client in an SDK that you can use in Hack. So he found one in Go and he asked Claude Code, please convert all of this to Hack. And he gave it access to our code base so it could kind of understand what's going on. And then he just left it alone.
[00:24:34] Sam: It churned for two hours and it came back with a fully functional Hack implementation. And he showed me the PR and I was like, this is cool. This is a 5,000-line PR. I would never let an engineer write a single PR that's that big, right? So, you know, it makes a huge burden on the reviewer to make sure that they can check all of that in.
[00:24:58] Sam: So then we had this whole conversation of how do we take this giant thing that got produced and how do we actually go about evaluating it and reading through it. So I wouldn't say that that's necessarily a problem. It's just a different way of working through the code that we're still experimenting with and, you know, figuring out how we can be successful there.
[00:25:19] Simon: And as they say, if you have a PR with five lines difference, you'll probably get 500 comments on it. Whereas if you get a 500-line PR, you probably get no comments at all. Right.
[00:25:30] Sam: And, you know, we're not trying to do that. So yeah, absolutely.
[00:25:33] Simon: Absolutely. Yeah, so, so that's really interesting.
[00:25:35] Simon: Like, it sounds like you, you know, when we can very reliably convert some of those more legacy-style applications and code into a more readable structure, a more tested structure. My goodness, that certainly does give us so many more opportunities for maintenance burdens that we just, you know, remove from ourselves.
[00:25:59] Simon: [00:26:00] So the moving, I guess, from one stack to another and modernizing certain applications is a big one. You mentioned testing, kinda like adding resilience to older applications as well. I'm super interested in the third one that you mentioned there, which is really the reviewing.
[00:26:19] Simon: Because I think as you mentioned in just a couple of months, perform a huge amount of refactoring or modernizing of applications. We need to still have that robustness to be able to say, you know what? I fully trust this. I've looked all through this. We've put all the reviews and the code reviews and the checks and the security, et cetera.
[00:26:43] Simon: That almost becomes such a big burden to actually do effectively when our code changes are coming so fast and through so many different agents, so many different people. How do we even think about, first of all, us not just becoming code review bots ourselves?
[00:27:05] Simon: Sure. But also how do we maintain that focus really and, you know, with such a large amount of change, how do we make sure our levels don't drop, our quality of code review stays high?
[00:27:20] Sam: Yeah, that's a great question. I mean, one, I would say, you know, I've always worked at large companies that have had very large code bases and, you know, thousands, if not tens of thousands of engineers working on the same code base. So in some ways I feel like that challenge has already been there in terms of just the volume of change in a code base and understanding what's happening to it.
[00:27:48] Sam: So, you know, in some ways, I think we can just continue to leverage some of the strategies that we've already developed around both resilience testing when it comes to unit tests and integration tests and things like that. And I think it becomes even more important because, right, [00:28:00] how do you know if your code worked? You can read it, but ultimately you have to run it and execute it and see what happens.
[00:28:06] Sam: There's other things there around observability, in terms of both noticing what is happening in production and, you know, that's a place that I think we're starting to explore with AI as well. So for instance, a thing that we do at Slack a lot is we have, you know, a whole way that we structure our channels so that they're kind of semantically related to different topics.
[00:28:26] Sam: And one thing we do is, if we have a feature team, I'll take Huddles as an example. We have an alerts Huddles page in that channel, and that is where all of the alerts that are related to Huddles will surface. And so you can, again, use things like search answers to figure out what's going on there and ask what’s happening, because it can get kind of noisy.
[00:28:48] Sam: And you can summarize that channel to really understand changes over time. So I think that's part of the puzzle. But then another thing that is a little bit more maybe subjective or a little bit harder to articulate is I think what individuals need to do and how they need to think about their role.
[00:29:07] Sam: And the thing that I encourage everybody on my team to think a lot about is two things. One is that critical thinking is a muscle, and you have to keep doing it and exercising it. And then two, willpower is a limited resource that you only have so much of in a day. So, you know.
[00:29:26] Sam: Talking about that 5,000-line PR, why does it not get any comments? Because you just kind of run out of steam as you're reading it and it becomes challenging. So we need to think about what we're asking of our teammates, but also what we're asking of ourselves in terms of making sure that we're getting that balance right so that we can spend the time on critical thinking, but acknowledge when we need to take a break and pace ourselves.
[00:29:52] Sam: So like a thing I say a lot is, right, slow is smooth and smooth is fast. You know, and I think that it's sometimes hard in this industry right now, at this moment to really lean into that. But I think that's the way we will develop the best software and the most resilient software for our customers.
[00:30:09] Simon: Yeah, completely agree. Let's take a look at the future and think about two things. First of all, how development will change, but I'd love to talk about it from the chat point of view, really. Because I remember the old Devon days, that seems like an age ago, when Devon first announced what they were doing, and the first way that I certainly used Devon, we used it at Tessl a little bit in some of our PR work and things like that. But the way I first used Devon was through Slack.
[00:30:43] Simon: And we, you know, grabbed a trial or a month or two of Devon, and we started playing with it as a development tool whereby we chatted to it in threads and asked it to do various things. It provided us with a few questions, we had a discussion, and then it spent time generating some code, did some tests, and then gave us that code.
[00:31:03] Simon: Sometimes it worked, sometimes it didn't. And we can do that with new code. We can do that with alterations or adjustments to code, and those types of things. And it very much made Devon that kind of, you know, a programmer who was on your team, which is really what they were going for.
[00:31:22] Simon: And I think why they very much lent into Slack and chat as the means to integrate and interact with the tool. Now, obviously, as organizations, we use Slack.
[00:31:41] Simon: So many different organizations use Slack around the world. The natural place for people to talk about how things should be built or what we are building, provide information about things that are going wrong or bugs, those types of things typically would be, perhaps, let's go into chat, let's go into Slack.
[00:32:01] Simon: Because that's where my team are. That's how I have my context, I have my data and information. We talked a little bit about this offline, but I'd love to talk through and hear your thoughts on how important chat and chat products like Slack are going to be in terms of the way that we interact with coding systems going forward.
[00:32:28] Sam: Yeah.
[00:32:30] Sam: I have so much to say about that. So, you know, the first thing I would say is I challenge you on calling Slack a chat app in the sense that the way we think about it is much more like a work operating system. And what I mean by that is the same thing as literally a normal operating system.
[00:32:45] Sam: It is a collection of primitives that all interact with each other that allow you to develop something on top of it. In the case of a normal operating system, that would be an application. In the case of Slack, that's an enterprise, that's a business. Right, we have chat and a way to organize communication, but we also have things like Huddles, which is a video conferencing tool, Lists, a place for you to put structured information, Canvas, a place for more unstructured thoughts and text.
[00:33:13] Sam: And all of these things have deep integrations with each other that allow you to build up context and track context over time. That is stuff that we can pull into and interact with natively through AI. So through Agent Force, you can build agents that actually generate canvases or create lists, or even create channels as things go on.
[00:33:33] Sam: With Slack AI, if you ask a question, you can pull in all of that information and grab that together. And this is something that I work directly on a lot—our enterprise search offering of bringing in even more context. So between enterprise search and work objects, we are currently working on ways that you can also understand the context of other applications that your enterprise is using.
[00:33:57] Sam: So for instance, I have a proposal for a particular project I'm really excited about right now. I wrote it as a Google Doc. I've shared it in Slack. Over time, it gets tracked wherever other people have shared it. So I have a way, as the work object, to see all of the conversations about
[00:34:15] Sam: That document, even ones in channels I have access to but might not be a member of, so public channels. I can see how what I am thinking about is getting disseminated throughout the whole company. That's kind of general, abstract work, how we track all that together.
[00:34:33] Sam: So bringing that more closely to development. What I'd say is I, you know, it's not even that Slack would be your future IDE. I think it's more like Slack is the future of how you build and run and execute your enterprise as a whole. So like we have this thing that you and I talked about offline of this thought exercise of what would it look like to be a solo entrepreneur that has a Slack workspace with.
[00:34:57] Sam: 10 to a hundred agents that you use to kind of accomplish your job. And you know, I have actually started to develop a Slack workspace where I'm playing around with this idea. And so the way that it works right now is I ask Cursor, can you make this change to the product that I'm working on. And then I have a Vercel integration.
[00:35:16] Sam: So a Vercell bot pops in a preview link. I can click the preview when it's ready and see it right there and test it. And then I can go back to my thread with Cursor and say, you know, oh no, you made it red. I really would like it to be black, or something like that, and we can kind of have this iterative experience.
[00:35:31] Sam: In addition to that, I've plugged in things like our perplexity, which is an AI kind of search product, where I can search and ask about. You know, this is kind of a play example because I'm not actually trying to start a new business, but like, I think of it as what my competitors would be and I ask for details like, what's going on with this company, what's going on with that company?
[00:35:52] Sam: I forward all of those conversations to one channel, and now I can use AI search to understand the market and the industry. We're still at the beginning of this and there's still some edges here, but you could imagine a future where Cursor is reading what other companies are doing and other new features that are announced and it just proactively produces new features for my.
[00:36:12] Sam: application in Versal lets me know when they're available and then I can see it and try it, and then I can use GitHub to say, I need to file these three issues. And then Cursor realizes there's new issues in GitHub and fixes them. And there's something there that we're exploring and kind of feeling our way in the dark towards about how these agents all interact with each other as well as with humans to kind of supercharge the experience.
[00:36:37] Simon: Yeah. Yeah. And it's like my five times during that conversation my mind just kinda went off in a tangent like, oh, that was cool. What about this? Oh, well that was cool. What about this? And it's like, one of the things that triggered me there was when you said a solo entrepreneur where they can have a ton of these different agents that are all effectively like owning their own corners, right?
[00:36:57] Simon: So you have the self, the kind of deployment, you have Cursor for the code generation and a number of others that are potentially the code reviews and so forth. But it feels like the platform, you know, you absolutely need that platform as the knowledge base. Right. And today, Cursor is so far ahead in terms of the fact that by the time you even go to a Cursor, all the decisions have already been made.
[00:37:22] Simon: All the docs have already been written. All the thought has already happened. And it's like now it's about how good whoever is driving Cursor is at providing the correct messages, the key decisions from all that discussion that's already happened, all that context that already lives in Slack, and like you say the Google Docs and things like that.
[00:37:44] Simon: And it feels like we're probably missing a huge amount that will actually really provide that key context as to how something should be built and what needs to be done first and things like that. When you said the one entrepreneur though, the solo entrepreneur, do you feel like we would all be a single person in a team and that team is agents, or do you feel like,
[00:38:08] Simon: We, in going forward into the future would be a small team of developers whereby we are still leading the discussion between us and then all these agents would jump in at the right points. Do you still see that team interaction and those developer teams building these ideas together, or do you feel like it's solo developers within these very agent-based thought processes that then build something that they then share with other developers?
[00:38:43] Sam: Yeah, I think of the solo entrepreneur thing as just an extreme example. Like, let's take this to a very extreme place and see what that would look like. I think there's lots of reasons why that is not probably really realistic as a direction for us to go in, and I think we're always going to have larger teams than that.
[00:39:03] Sam: There's a few different reasons for that. One is that agents are not human beings, and they can't replace human beings. They are very good at certain things. Right now, especially, they're mostly good at kind of more constrained, rote aspects of tasks. And so I see them more as an accelerant where we can build up over time ways to reduce the tedium of your work and remove as much of that kind of red tape or that kind of friction so that you can focus on more of the creative aspects, right?
[00:39:35] Sam: Like someone has to write the prompt and yes, agents can generate prompts for each other, but what I don't think they can do, and I don't think that they will do is actually imagine the future in the way that a human being can, and I don't think you can match human creativity. And so, you know, what I feel so lucky about working at Slack is I work with some of the brightest, smartest, interesting people who all have very different
[00:40:02] Sam: perspectives, and it's through that strength of diversity that we actually get to the best ideas. And so, you know, the thing that I could see changing is right now, for instance, we obviously, as I imagined most AI developer companies are, having some heated debates where we have really strong opinions and we all disagree with each other, but we're all right.
[00:40:24] Sam: And so it's really hard to break that analysis paralysis. The thing that has worked for us is to admit that we can talk till we're blue in the face, but we won't know until we actually build it and try it to know which direction feels good. Right. Slack has always been developed as a product-led development cycle where we really
[00:40:47] Sam: are dispassionate about our ideas and what we're interested in is what does it actually feel to use something that you've built. And so I can see a future where agents make this much easier. Like you and I both have an idea of what we should do with the Composer in Slack. Great, we can go off and use our agents to kind of build up some kind of scrappy version of what we're talking about so we can better understand each other and feel out which of these feel good.
[00:41:12] Sam: So I think it can also accelerate that kind of conversation and prevent that kind of analysis paralysis and help the team move forward.
[00:41:20] Simon: Yeah, really interesting. And if we look at the evolution that we've seen just in the last couple of years, yeah. Okay.
[00:41:28] Simon: Originally, the first set of AI dev tools that did very good or reasonable predictive suggestions on a single line. Then we saw the multi-line, then it drove into agents and you see them picking more and more tasks or bigger tasks that they can handle.
[00:41:48] Simon: When we look at what this future of software development is gonna look like. And I agree with you, we will absolutely still have developers, but what does this developer, what will make a good developer in future, I guess both from the activities that they're doing, what will they need to be good at from the type, from the, you know,
[00:42:10] Simon: from the point of view of being able to succeed at a specific task. And secondly, what are the core things that if we could be better at? Is it communication? Is it critical thinking? Is it complex problem solving? What are the key things that we as developers need to be better at for this future developer role?
[00:42:33] Sam: Yeah. Very interesting question, and I wish I knew the future so I could just tell you exactly what there is. But you know, I think that the skills that make the best engineers today will continue to be the skills that make the best engineers in the future, which is that they're curious people.
[00:42:51] Sam: They're empathetic. They are critical thinkers. They're self-reflective, and they're always evolving and learning, right? We've had an industry that has always had lots of disruption and lots of change, and it can be challenging to want to keep up with it and to be kind of always in a perennial kind of learning state.
[00:43:13] Sam: And I think remaining curious and interested in playing with things is a really important part of that. So the biggest advice I give people on my team is like, make sure that you're trying some of these things and you're asking yourself how there are different ways that you may use it. And an old music teacher of mine, when I was,
[00:43:34] Sam: back thinking I'd be a musician, taught me, you know, sometimes the best way to practice an instrument is to go to an art museum and look at art and the right, just the idea that like you, you can't just do one thing. You have to kind of have that plethora of exploration and understanding.
[00:43:51] Sam: And that helps you in ways that you might not be able to ever articulate or really even see the through line, but it will be there. Like, you know, I'm using ChatGPT a lot right now to help me play Oblivion, the video game. You know, I can't draw some kind of direction line to what I'm doing in my professional career, but like, there's something there.
[00:44:11] Sam: I'm using an agent, I'm playing around with it, I'm thinking about these kinds of things and so I think being curious and really being open to experimentation is probably the two most important things. None of us know where this is going.
[00:44:25] Simon: Yeah, a hundred percent. A hundred percent agree.
[00:44:27] Simon: And it's actually one thing we really hyper encourage people to get involved in AI throughout their work, tasks that they have, as well as just more generally. I think it's, if you're building AI tooling, the only way to truly be strong at that is to really immerse yourself in it. Know what you like, know what you don't like, know what other people, other inventors are doing in and around the space of AI so that you build all that knowledge, build all that understanding into the tool, and you can be more empathetic to your users who are gonna be using these AI tools.
[00:45:14] Simon: As well as, in terms of users, do you feel like the way we build today, our users are humans, right? And people will use our tools the way we can empathize with because we use these tools as well. The more and more agents get involved, do you feel like we are gonna have to almost have a separate thread or swim lane here whereby we need to build for users, but then also we need to build for agents as well?
[00:45:43] Simon: We need to make sure that agents can consume what we are building because they're gonna build on top and we need to make sure that they can be successful as part of that platform. Is that something we need to be empathetic to, agents as well as humans?
[00:45:58] Sam: Yeah. Yeah. And we're already [00:46:00] doing that.
[00:46:00] Sam: Some concrete examples of how we're thinking about that at Salesforce and Slack. We have Agent Force, which is an agent platform where you can configure agents. And now when we build features at Slack, one of the main questions we ask is how would an agent use this feature and how do we expose those tools to, I think they were formerly called actions, on the Agent Force platform.
[00:46:21] Sam: But how do we expose those actions to Agent Force? And the way that we would expose things is not necessarily the same. Another example is we are currently working on, and it's gonna be released for an early GA in October, what we call our realtime search API
[00:46:41] Sam: And this is really geared towards LLMs, so it's a search API. It's a way to expose search, but it's focused on use cases around bringing that content into LLMs to provide agentic experiences. So as an example, when you get a search result in Slack, we give you the message and you can click on it and you can read the thread if you want to, you just see the message.
[00:47:02] Sam: But for an agent through an API, we need to give it more context. Right now we focus on things like the messages around that thread or the full thread. But we're developing and experimenting and thinking about how we teach it more about the individuals and tell them who they are, who works together, what their relationships are, what their job roles are.
[00:47:25] Sam: These are all things that we're experimenting with right now. That won't be part of the initial realtime search API, but that's something that we're thinking about in terms of how to evolve it. So we're building those tools today. Another place that I'm really excited about, that we're only at the start of, is a lot of our agentic experiences, and when I say our, I mean the industry, is really focused on single player.
[00:47:46] Sam: You interact with an agent, just the two of you. We have some ways that we are starting to do more multiplayer, and that for us at least internally, is things like people write Claude MD files for parts of their code base and then write, I can leverage the work that another engineer has done and not even know they did it. But the agent experience is better. What we really are experimenting with internally, and there's some wild stuff, is what is it like to have a multiplayer in-channel experience with multiple agents and multiple people all interacting and reading and talking to each other at the same time?
[00:48:28] Sam: And how do we make that a value add rather than a noise pile and just too overwhelming. So we have a bunch of prototypes where we have agents that automatically respond to questions that are asked in a channel. We have ones where it's more of an experience where you have to ask it to bring it in, but the important part of those is.
[00:48:49] Sam: For me it's again getting at this issue of we have early adopters and then we have people who are more hesitant or don't even know that these features are available to them. And so part of [00:49:00] why I'm so excited about bringing this stuff into channel is what I say a lot: show don't tell. Right?
[00:49:05] Sam: It allows these early adopters, these fans, to show how you write a prompt and how you share it. A feature we didn't get a chance to talk too much about that we just launched is our Canvas AI feature, which is really awesome, but it's still kind of a single-player experience. So you can go into a canvas.
[00:49:22] Sam: This is what I do every Friday. I write a prompt that says, write a document summarizing everything I did this week, and group it by topic. Then on every Monday I say, read all my unread DMs and give me an action plan of who to respond to and what's the most urgent things for me to respond to.
[00:49:39] Sam: Those are incredible experiences, but you have to discover that you can do that. So we're right now experimenting with ways that we can templatize that or share that with other people. So, you know, if you were my coworker, I could be like, here's my prompt. You can run it every Friday too. Those are kind of some of the directions we're thinking about with that.
[00:49:58] Simon: That's absolutely fascinating. It's wonderful that you've shared a lot of this with us. Sam, we can talk for hours, I know. Yeah. But we have to roll up this episode. So Sam, coming up very, very soon, Dreamforce. Yes. Sounds like it's gonna be a lot of super, super interesting things happening in the Slack AI space for that.
[00:50:19] Simon: So for those who are nearby, or for those who don't mind traveling a little bit, why don't you check that out? Whereabouts is that this year?
[00:50:29] Sam: That'll be in San Francisco.
Simon: In San Francisco. Amazing. Yeah. Cool, cool.
Sam: Yeah. And it'll be in various locations over a few days, but,
[00:50:36] Sam: please tune in for the Slack keynote because I really am so excited and cannot wait to be able to talk more about what we're gonna announce. And Simon, we should meet up afterwards and I would love to hear more about your thoughts on what we announce.
[00:50:51] Simon: Absolutely. Sounds great. Perfect. Thank you very much, Sam. Been a pleasure chatting with you on today's episode. Appreciate you being here, and thanks very much for tuning in and listening, and we'll speak to you next [00:51:00] time.
Chapters
In this episode
In this episode, Slack's VP of Engineering for Search and AI, Samuel Messing, joins host Simon Maple to delve into Slack's AI strategy, emphasizing that context is everything. They explore how Slack integrates precise enterprise search with permission-aware generative AI, demonstrating that search and AI are complementary parts of a single system. Discover insights on building reliable AI features, optimizing context over prompts, and the importance of trust and permission in scaling AI across large organizations.
Slack’s VP of Engineering for Search and AI, Samuel Messing, joins host Simon Maple to unpack a central lesson from Slack’s AI journey: context is everything. In a world where developers, execs, and cross-functional teams work inside Slack, the company’s AI strategy hinges on marrying precise enterprise search with trustworthy, permission-aware generative capabilities. The conversation spans scaling AI across massive organizations, where search ends and AI shines, and how to build hybrid features that developers can apply in their own AI-native products and workflows.
Context Is Everything: Slack’s AI Strategy at Enterprise Scale
Sam’s path from individual contributor to leading Search and AI at Slack mirrors the evolution developers are living through: ML and LLMs are only as useful as the context we can safely, efficiently, and correctly pipe into them. For Slack’s largest customers—think IBM (~100k employees) and Salesforce (~75k)—the volume of messages, files, and signals explodes past what any one person (or naive LLM prompt) can manage. That’s why Slack frames its approach as context engineering rather than just prompt engineering.
At enterprise scale, “alignment” is itself an engineering problem. Teams must see across silos without breaking compliance. Slack’s thesis is that search and AI aren’t competing disciplines; they’re a single system. Search is how you retrieve and structure the right context; AI is how you synthesize and explain it. Building reliable features means treating the LLM as one step in a pipeline that includes retrieval, ranking, permission gating, and UI design for trust.
Where Search Ends and AI Begins (and Why It’s a False Dichotomy)
Sam illustrates the limits of pure search with a major news customer. Their Slack channel ingests Associated Press wire updates: dense, frequent info bursts. Searching “Bulgaria” returns a haystack of messages—relevant but hard to digest chronologically. This is where AI shines: Slack’s AI search answers synthesize the top results into a concise, human-readable summary with citations, letting users both understand “what’s going on” and drill into sources. It’s classic retrieval-augmented generation: use search to find the right shards; use an LLM to produce a trustworthy synthesis, backed by links.
Conversely, certain roles demand full recall over synthesis. Support, operations, compliance, or editorial workflows often require “every message” with strict time ordering for triage. For these users, features like saved searches and time-based ranking outperform an LLM’s summary. The lesson for developers: don’t force a generative solution where deterministic, navigable search is the job to be done. Offer both “precision” (synthesis) and “coverage” (recall) modes, and design the UI to help users explicitly choose.
Designing Hybrid Features: Retrieval + Synthesis in Practice
A strong example of Slack’s hybrid design is AI Explain, a message-level action that interprets complex posts—especially helpful in incidents. As a VP, Sam uses it to decode acronyms and implications without interrupting engineers mid-firefight. Under the hood, Explain kicks off a search to gather surrounding context (thread history, related messages, referenced docs) and then uses the LLM to synthesize an explanation. It combines enterprise-specific retrieval with the LLM’s generalized knowledge for a pragmatic, permission-aware explanation.
For developers, this pattern is a blueprint:
- Scope retrieval to the minimum viable context: thread vicinity, linked artifacts, channel history within a relevant time window.
- Rank aggressively for relevance, then let the LLM summarize; attach citations to reduce hallucination risk and enable verification.
- Make it a UI affordance (e.g., “Explain this,” “Summarize channel,” “What changed since yesterday?”) so users can invoke synthesis at the right moment rather than flooding every screen with generated text.
- Treat this as a system: retrieval, permission checks, LLM synthesis, and UX validation must work as a unit.
Adoption Patterns, Trust, and Enterprise Guardrails
Slack sees adoption vary by role and company stage. Some features are universally sticky—message translation, for instance, which auto-detects language mismatches and translates inline so globally distributed teams can move faster. Others appeal to AI-forward orgs building specialized workflows. Sam highlights Plaintiff, a customer using Salesforce’s Agentforce to deploy a constellation of agents (call prep, customer research, call summary) that run in parallel to halve sales prep time and lift upsell bookings by roughly 50%. It’s a compelling pattern for developers: break complex journeys into composable agents with clear interfaces and handoffs.
Trust is the adoption unlock. Slack leans on two differentiators: unparalleled context (since work happens in Slack) and deeply integrated permissions. Their AI features respect existing enterprise controls, with just-in-time permission enforcement so users never see content they lack rights to access. They’re HIPAA compliant and designing for job-role-based empowerment—treating groups like HR and Sales as “protective communities” with internal and shared surfaces. For developers, the message is clear: permission-aware retrieval and output are non-negotiable in enterprise AI. Bake them into your RAG stack and UX from day one.
A Practical Playbook: Context Engineering for AI-Native Dev Teams
If you’re building AI features for developers or knowledge workers, adopt a context-engineering mindset:
- Map your context sources: messages, tickets, code, docs, CRM activities. Decide which are searchable and which must remain siloed. Create a graph of relationships (message ↔ thread ↔ document ↔ incident).
- Design recall vs synthesis surfaces: provide time-ordered, saveable searches for triage workflows; offer “AI answer” or “Explain this” for interpretive tasks. Let users toggle or pin their preferred view.
- Implement permission-aware RAG: perform retrieval with ACL filters before generation and ensure just-in-time checks before display. Return citations to primary sources. Consider redaction strategies for sensitive spans.
- Optimize for scale: compact chunks, sliding time windows, semantic + lexical hybrid ranking, and de-duplication. Be intentional about how much you feed the LLM; more tokens aren’t always better.
- Instrument trust and ROI: measure false exposure attempts blocked by permissions, citation click-throughs, time-to-understanding during incidents, and business outcomes (e.g., prep time reduced, conversion lift).
- Localize and normalize: automatic message translation unlocks cross-border collaboration with near-zero friction; it’s a low-lift feature with outsized impact.
- Respect change management: roll features by role and team; document boundaries of LLM outputs; pair new AI features with “show work” links and opt-out controls to build confidence.
Slack’s framing is useful for any AI-native product: search and AI are two halves of one system. Retrieval gives you control, determinism, and safety; LLMs provide synthesis, language understanding, and speed. When you design them together—and respect permissions throughout—you enable teams to move faster without sacrificing trust.
Key Takeaways
- Treat search and AI as a single pipeline: retrieve, permission-check, synthesize, cite, display.
- Offer dual modes: synthesis (precision and speed) and recall (coverage and auditability) based on role and task.
- Build permission-aware RAG: enforce ACLs at retrieval and display; return citations for verification; stay compliant.
- Ship “moment-of-need” AI: message-level Explain, channel summaries, “what changed” views—invoked where work happens.
- Optimize context, not just prompts: hybrid ranking, time windows, chunking, and de-duplication beat brute-force token stuffing.
- Prove value with metrics: time-to-understanding, reduced prep time, and business outcomes (e.g., Plaintiff’s ~50% lift in upsell).
- Start with high-utility features: automatic translation is a fast path to global velocity with minimal friction.
- Plan adoption by role: empower “protective communities” (e.g., HR vs Sales) differently and communicate boundaries clearly.
Resources
Related episodes

Why 95%
of Agents
Fail
Can Agentic Engineering Really Deliver Enterprise-Grade Code?
23 Sept 2025
with Reuven Cohen

AI TO HELP
DEVS 10X?
Why AI Coding Agents Are Here To Stay
17 Jul 2025
with Patrick Debois

CUT TECH DEBT
WITH REWRITE
AUTOMATION
What If Fixing Code Wasn’t Your Job Anymore?
22 Jul 2025
with Jonathan Schneider