Smoke Signal Blog

XRPC Webhooks: Protocol-Adjacent Event Streams

Published by @smokesignal.events on 2025-07-19 21:00 UTC.

ATProtocol provides an incredibly strong foundation for decentralized identity and data portability. With its identity system, authenticated XRPC invocation proofs through service tokens, and strongly typed service-to-service interfaces via lexicons, it's natural to wonder: what else can we build on this foundation?

While AT Protocol excels at handling persistent, on-protocol data, there's an interesting gap when it comes to ephemeral event data that sits adjacent to the protocol. This is where I believe we can evolve the concept of webhooks to leverage XRPC's strengths while maintaining the flexibility needed for real-time integrations.

The Challenge: Beyond Public Records

Consider a practical example from Smoke Signal, an event platform built on AT Protocol. When users RSVP to an event, that RSVP record is published on-protocol—anyone consuming repository commits can access this information. But there's additional off-protocol data relevant to the RSVP: the email address that the user wants to share with the event organizer.

This email address is deliberately off-protocol data. It's private and contextual to specific events. Yet it's valuable information that enables richer interactions between event organizers and attendees.

XRPC Webhooks: A Protocol-Adjacent Solution

What if we could create a webhook system that leverages AT Protocol's existing strengths? Imagine a procedure like events.smokesignal.automation.SubmitActivity that accepts:

This approach maintains the strongly typed nature of XRPC while enabling ephemeral data flows that complement on-protocol records.

User-Controlled Automation

The real power emerges when we put users in control of their automation preferences. In this model, a user wanting to enable email notifications for RSVPs could:

  1. Use an external application like https://emailer.smokesignal.events/
  2. Within their Smoke Signal account settings, authorize the service by adding its DID (did:web:emailer.smokesignal.events#SmokeSignalAutomation) to their event subscribers list
  3. Smoke Signal would then automatically invoke the appropriate XRPC procedures when relevant events occur

This creates a webhook-like experience but with several key advantages:

The Best of Both Worlds

This approach gives us webhooks, but different. It's a hybrid that combines:

Rather than being purely on-protocol or off-protocol, XRPC webhooks occupy a protocol-adjacent space that extends AT Protocol's capabilities while respecting its design principles.

Looking Forward

As the ATProtocol ecosystem continues to evolve, exploring these protocol-adjacent patterns could unlock new possibilities for rich, user-controlled integrations. XRPC webhooks represent just one potential direction—a way to bridge the gap between AT Protocol's permanent records and the ephemeral, contextual data that powers modern applications.

What other protocol-adjacent patterns might emerge as we continue building on this foundation? The intersection of decentralized identity, user control, and real-time data presents fascinating opportunities for the future of the social web.

This post has had 3 interactions.