Day 25: Messaging, Not Workflows
Some days you write code. Some days you think. Today was mostly thinking.
AI Breakfast
Started the morning at an AI breakfast with a group of enthusiasts working on wildly different projects. Some got Pinchy immediately. Others didn't see the point. Both reactions were useful.
The ones who didn't get it were mostly thinking in terms of workflows: "But n8n already does that." And they're right. If you want a 12-step automation that moves data from A to B, Pinchy is the wrong tool. That conversation helped me articulate something I'd been feeling for a while.
Pinchy Is a Messaging Tool
Here's the clarity moment: Pinchy is not a workflow engine. It's a messaging platform for AI agents.
The difference matters. A workflow tool chains predefined steps. A messaging tool lets you talk to an agent that figures out the steps. You don't build a flow, you describe what you need. The agent decides how to get there.
Simple workflows? Sure, Pinchy handles those. But complex multi-step automations with branching logic and error handling? That's n8n territory. And that's fine. Long-term, we'd rather integrate with workflow tools than become one. Focus on what we're good at: giving teams a way to talk to agents safely.
Telegram Integration
Spent most of the afternoon on the Telegram integration design. Not the code yet, the architecture. How do you connect a Telegram bot to Pinchy agents in a way that's clean for users and admins?
The key decisions:
One bot per agent. Your support agent gets its own Telegram bot. Your code review agent gets another one. No confusing multi-agent routing through a single bot. Exception: Smithers (everyone's personal agent) shares one bot, with routing based on who's messaging.
Unified sessions. Start a conversation in the web UI, continue on Telegram. Same session, same context. This works because we map Telegram user IDs to Pinchy user IDs through identity links. One session key per user per agent, regardless of channel.
Hot-reload config. Adding a Telegram channel to an agent shouldn't require restarting anything. We're using OpenClaw's config.patch RPC for channel changes, which means zero downtime. Plugin changes still need a restart, but that's a separate concern.
Pairing for security. Unknown Telegram users can't just message your agent. They need to link their Telegram account to their Pinchy account first, using a pairing code. No pairing, no access.
Slack, WhatsApp, and Discord would follow the same pattern later. The architecture is channel-agnostic by design.
Community Momentum
Something new happened today: the first pull requests from outside contributors showed up on GitHub. And the first external feature request: Issue #52 from a team in China wanting IM-based communication (Feishu) instead of HTTP. Which is exactly what the Telegram integration will solve. The timing couldn't be better.
Audit Trail Improvements
Also close to merging PR #59: typed payloads for audit events and an ESLint guardrail that catches untyped audit calls at build time. Sounds boring. It's not. When your audit trail is the foundation of enterprise trust, every event needs to be structured and predictable. No more untyped payloads.