# Omnichannel · Grupo 3C

> Multi-agent business WhatsApp over WebSockets — the technically most complex module I worked on at 3C, spanning three generations of messaging provider.

When the team shrank from three fronts to two (VOX went on alone, Omni and Plus merged into one team), I started working on Omnichannel too — the technically most complex module I touched at 3C.

## WhatsApp for a whole team

At its core, it's a business WhatsApp: one instance number shared across N agents on the same team, with online presence, typing indicators, a service queue, a chatbot queue, and a broadcast queue — all real-time over WebSockets. Three permission levels: Manager (full company-wide visibility and control), Supervisor (visibility over their own teams), and Agent (only what's been configured for them).

## Three providers, three UI migrations

The messaging backbone went through three different providers over time — UltraMsg, then Z-API, and finally an in-house provider 3C built on top of [Baileys](https://github.com/WhiskeySockets/Baileys) (a Node/TypeScript WhatsApp Web library). I followed the interface migration through each swap — each provider had its own way of exposing connection status, QR codes, disconnects.

I also built the management panel for the in-house provider's instances: instance CRUD, QR-code connection, light/dark theme, translations, and a real-time WebSocket monitoring panel showing each instance's live status.

## Mobile

I also built the responsive mobile version of Omnichannel — faithful to the feel of native WhatsApp, but within the platform's enterprise context.
