Our Self-Building Slackbot

stevekrouse1 pts0 comments

Our Self-Building Slackbot | Val Town Blog

Code and prose written on val.townOur Self-Building Slackbot<br>Charlie MolthropAug 12, 2026

On Friday, we made a self-building Slackbot. By the end of the day, it had us<br>rethinking how we collaborate.

Earlier that afternoon, my teammate Potluck had a<br>good idea, so I jokingly tagged Townie, the coding agent that lives on Val Town.<br>Only, Townie wasn't actually on Slack! We were tantalizingly close though!

How close? Thanks to our<br>ai-slackbot template, about<br>five-minutes-close. In a few clicks, the template had me set up with a Claude<br>Slackbot, powered by the Vercel AI SDK.

But it still couldn't ship Potluck's feature idea. It needed the ability to<br>read, write, run, and query our internal tools (which live on Val Town).

Thanks to the Val Town MCP, that<br>took 9 lines of code:

const mcpClient = await createMCPClient({<br>transport: {<br>type: "http",<br>url: "https://api.val.town/v3/mcp",<br>headers: {<br>Authorization: `Bearer ${token}`,<br>},<br>},<br>});

And thus, a star was born:

Here's the fun part: because "townie-slackbot" lives alongside the rest of our<br>internal tools in our Val Town org, it can edit its own source code!

So the first order of business was a bit of self-brain surgery.

From there, things moved pretty quickly. Potluck tagged Townie on a UI bug. I<br>had it merge a duplicate lead. And of course, there were plenty more instances<br>of Townie editing itself. Steve set up an hourly digest to catch the changes as<br>they rolled in. Everyone was working in front of each other, never leaving<br>Slack.

Multiplayer Vibecoding

None of these changes were particularly groundbreaking. We ship stuff like this<br>all day from Claude Code or Codex (or<br>our phones!)<br>with the Val Town Plugin. But<br>for the first time, we were showing our work. It felt like the<br>future of collaboration. And it<br>was fun!

We're all beginning to recognize that point when a Slack thread among humans<br>starts resembling a plan.md. In the old times (a week ago), that meant<br>electing a designated meat proxy to boot up<br>Claude and paste all the context. Now with our new Slackbot, the prototype is<br>just a Townie tag away.

So we're all vibecoding from Slack now??

Maybe not on prod. But vibecoding is pretty great for quick internal tools where<br>maintenance and stability aren't mission critical. Like whipping up a shareable<br>artifact for your team to<br>review. Or spinning up a<br>lead qualifier to post to Slack on new<br>signups.

Many of your ideas and planning start in your messaging channels. If lightning<br>strikes in Slack, you might as well bottle it there.

Vibecoding from Slack also solves one of the bigger issues with internal tools:<br>they need a tight feedback loop to stay fresh. If the tool is used in Slack and<br>is edited directly from Slack, that's about as tight as it gets!<br>The end-user can do a lot more of the "programming".<br>Sure, it's important that your more technical teammates are also in that loop.<br>But guess what, they're in Slack too.

Just one more tool, bro

Got tool fatigue? A Slackbot on steroids might help. Tool-switching is context<br>switching, and it fragments your workflows. Why not double-down on the one tool<br>that ain't goin anywhere? Am I claiming that a Fable Ultracode Slackbot might<br>just be one of the four horsemen of the SaaSpocalypse? I'm not not saying<br>that...

Why Val Town?

Confession: I didn't invent the concept of a powerful AI that can do a lot of<br>things... There are many folks trying pitching you a superbot/claw/Claude<br>Tag/pi/Hermes.

So why should your company's superbot build itself and the rest of your tools on<br>Val Town?

Instant deploys; We do the hosting

Vals (our name for apps) redeploy in 100 milliseconds on any edit. You don't<br>have to worry about hosting it or keeping it alive. We keep your bot instantly<br>deployed at a live url. You focus on the business logic.

The bot lives where it builds

No more chasing around different tools. The bot itself is a val. Each tool it<br>builds is a val.

Features for your whole team

We've got version control,<br>scoped databases, and<br>coding harness plugins for your<br>engineers. We've got Townie AI in the sidebar<br>of your vals for when your less technical team members want to learn or make<br>changes.

This is a val.

We're proud that some of the most cracked engineers we know love Val Town. We're<br>also proud that some of our most enthusiastic users consider themselves<br>non-technical.

Secure collaboration by default with Val Town Access

Auth is one of the most annoying parts of internal tools. We've taken care of<br>that for you. Like Google Docs, each val has customizable permissions. Easily<br>manage who can see and build what:

Val Town Access is currently in beta.<br>Let me know if you want early... access.

And the last reason your superbot should live on Val Town? We already made it<br>for you:

Your very own self-building Slackbot.

Just remix this val into<br>your Val Town org (create one if you're new), and follow the steps. Here's<br>Potluck getting set up with a self-building...

town slackbot slack self townie tools

Related Articles