Conversation Distributor

Overview

The Conversation Distributor is a high-performance Golang service designed to intelligently manage and route messages from various digital channels (WhatsApp, Facebook, Instagram, YouTube, Email, and Webchat) into call center workflows. It ensures messages are correctly tied to ongoing conversations or initiates new threads while maintaining deduplication, contextual linking of post comments, and cross-platform awareness. The messages for each channel are handled by a separate thread better efficiency.

My Role

I engineered the complete backend messaging pipeline, including:

  • Architecting the core login using Golang
  • Integrating with messaging platforms like WhatsApp, Facebook, Instagram, YouTube, Email, and Webchat
  • Implementing conversation threading logic and duplication checks
  • Integrating RabbitMQ for asynchronous processing
  • Storing messages and posts data in Elasticsearch for fast retrieval
  • Persisting lead data in MySQL
  • Handling both direct messages and post comment events from social platforms

Key Features

  • Smart message routing based on active conversation states
  • Deduplication checks to ignore repeated messages
  • Supports both direct messages (e.g., WhatsApp, Facebook Chat) and post comments
  • Events triggered from social comments to store post/comment metadata including attachments like pictures and videos
  • Unified threading of customer chats across multiple platforms
  • Conversation context enriched with post and comment associations
  • Each channel handled by its own thread for better efficiency
  • Scalable, asynchronous communication handling

Technologies Used

  • Golang: Core logic
  • MySQL: Lead data storage
  • Elasticsearch: Post/comment data storage
  • RabbitMQ: Message queueing and asynchronous delivery

Outcome

This system enabled seamless omnichannel communication for call center application by stitching together disparate message formats and platforms into a unified conversational flow. It improved agent efficiency, reduced duplicate interactions, and supported real-time context tracking of both chats and social engagements.