A few weeks ago, we soft-launched the Wire Integrations SDK in Staging and called it Phase 1 - the foundation. Today, we're taking the next step. Phase 2 brings the SDK to production in Wire, and with it, Apps become a properly typed, properly visible part of Wire.
With this release, Wire becomes a place where automation lives natively: secure by design, end-to-end encrypted, and built on the protocols our customers trust with their most sensitive conversations. Here's what shipping.
What's New in Phase 2
Self-service App creation for paid teams
Until now, an App on Wire effectively acted like another user - including on the developer side, where the SDK had to authenticate with a username and password.
That changes in Phase 2. Any paid team can now create their own Apps directly from Team Management - Settings → Manage team → Integrations → Create App - and Apps now authenticate with proper credentials: an App ID and an App token, issued through the new Create App interface.
Builders inside customer organizations no longer wait on us. They go from idea to credentials in a few clicks, then to a running App with one of our Quickstart examples. The SDK handles the encryption, the secure transport, and the heavy cryptographic lifting - your team focuses on the workflow you actually want to automate.
Apps as a distinct entity type - across Web, Android, with iOS coming soon
This is the change end users will notice most. Apps are no longer disguised as people. Across app.wire.com, Wire Android, and Wire iOS, Apps now have their own visual identity, clearly differentiated in member lists, mentions, and conversation metadata.
A few specifics:
-
Discoverable: search for Apps in your team and add them to Group conversations, Channels, or 1:1s, just like a colleague.
-
Conversation-level control: Conversation Admins can enable or disable Apps within a specific conversation.
-
Transparent by default: when one or more Apps are active in a conversation, Wire displays an "Apps are active" header, so every participant always knows automation is in the room.
- Clear visual distinction: Apps are styled and surfaced differently from human members in member lists, mentions, and conversation metadata.
Note that iOS is lagging a bit behind web and android, but will be released soon.
Backend support for Apps in Wire
Phase 2 ships the backend infrastructure that makes Apps a fully managed entity in Wire - with lifecycle, identity, authentication, and permissioning handled at the platform level. This is what enables a single App, once created, to behave consistently across every Wire surface.
The latest JVM SDK - now in Production
The JVM SDK (Java, Kotlin, Scala) is moving from Staging to Production, available on Maven Central:
dependencies {
implementation("com.wire:wire-apps-jvm-sdk:0.0.1")
}
The familiar primitives are all there — WireAppSdk initialization with applicationId, apiToken, apiHost, a 32-byte cryptographyStorageKey, and your WireEventsHandler implementation. Once startListening() is called, your App holds a long-lived connection to the Wire backend and receives events.
A minimal echo handler in Kotlin:
override suspend fun onTextMessageReceived(wireMessage: WireMessage.Text) {
val reply = WireMessage.Text.createReply(
conversationId = wireMessage.conversationId,
text = "${wireMessage.text} -- Sent from the SDK",
mentions = wireMessage.mentions,
originalMessage = wireMessage
)
manager.sendMessageSuspending(message = reply)
}
For the full setup, prerequisites (Java 17+, Kotlin 2.x), and runnable examples in both Kotlin and Java, see the Quickstart.
Why It Matters
Most platforms answer the integration question by trading away security. Apps run on infrastructure you don't control, in conversations that aren't end-to-end encrypted.
Wire's answer is different. Apps on Wire run inside the same end-to-end encryption envelope as every other conversation — a typed, identified, and controllable participant, not a back door. That distinction matters most in regulated industries, government, and any organization where the question "who saw this message?" must have a precise answer.
Before You Start: Two Prerequisites
Paid plan required
Apps are a paid feature. The Integrations tab in Team Management only appears for paid teams. See plans and pricing here.
MLS protocol required
Wire is migrating from Proteus to MLS (Messaging Layer Security), the IETF standard for group messaging. Apps depend on MLS — to be created, added, and used. If you're on a paid plan and want to enable Apps, reach out to our sales team or raise a support ticket with your Team ID and we'll help you migrate.
What's Coming in Phase 3
Phase 2 makes Apps real. Phase 3 makes them manageable at scale and opens Wire to Apps you didn't build yourself.

In Phase 3, team admins will be able to view all Apps in Team Management, edit App details, refresh tokens, delete Apps, and most importantly, add External Apps: integrations built by Wire or other teams, not just ones built in-house. That last point is the foundation for a real App ecosystem on Wire, where the best integrations can be built once and adopted broadly.
Ready to Build?
* Paid Teams are required for Apps to be enabled and your team needs to migrate to MLS protocol - reach out to us if you want to want to use apps and migrate to MLS protocol.