Skip to content
All work

Case study · CRM

Doso

Multi-tenant CRM for leads and service contracts, with WhatsApp Business and Meta messaging automation.

Role
Backend & integrations
Company
Matamix International
Category
CRM
Deliverables
API · Web app · Super-admin console

01Overview

Doso is a multi-tenant business platform — organisations and branches — for running a sales pipeline, renewing annual maintenance contracts, and talking to customers over WhatsApp Business and Meta, including an AI auto-reply bot and automatic lead import from Facebook Lead Ads.

02Context

Sales and service teams juggle leads from ads, WhatsApp and Instagram alongside long-running maintenance contracts — usually across several tools.

03Problem

Leads arrive in many channels and get lost between them; contract renewals slip; and every organisation using the platform must only ever see its own data.

04Solution

An Organization → Branch tenancy model underpins a lead pipeline with sources, statuses, quotes and follow-ups, plus AMC tracking and renewals. WhatsApp Business and a Meta (Instagram/Facebook) inbox bring conversations in; an AI auto-reply bot and campaign templates handle outbound; a Facebook Lead Ads webhook imports leads automatically. Background work runs on BullMQ queues.

05Architecture

  1. 1

    Channels

    WhatsApp Business, Instagram/Facebook inbox, Lead Ads webhook

    • WhatsApp Business API
    • Meta Graph API
  2. 2

    Web & super-admin

    Pipeline, contracts, inbox; tenant management

    • Next.js 15
  3. 3

    CRM API

    Tenancy, leads, quotes, follow-ups, AMC, campaigns

    • NestJS 11
    • Prisma
  4. 4

    Async

    Messaging jobs, notifications, realtime updates

    • BullMQ
    • Redis
    • Socket.IO
    • FCM
  5. 5

    Data

    Tenant-scoped relational model

    • MySQL
Channels feed the pipeline; queues keep messaging off the request path; tenancy scopes everything.

06Engineering decisions

  1. A

    Tenancy in the data model

    Organization → Branch scoping is built into the model, with a super-admin console managing tenants platform-wide.

  2. B

    Queues for messaging

    Outbound messaging and automation run through BullMQ on Redis, so API requests stay fast and retries are handled centrally.

  3. C

    Leads that import themselves

    A Facebook Lead Ads webhook lands new leads directly in the pipeline — no CSV exports.

07Key features

  • Multi-tenant lead pipeline: sources, statuses, quotes and follow-ups
  • Annual maintenance contract tracking and renewals
  • WhatsApp Business integration with AI auto-reply and campaign templates
  • Instagram/Facebook inbox and Facebook Lead Ads auto-import
  • Super-admin console for organisation and branch management

08Technology

  • NestJS 11
  • Prisma
  • MySQL
  • BullMQ
  • Redis
  • Socket.IO
  • Firebase FCM
  • Next.js 15
  • WhatsApp Business API
  • Meta Graph API

09Screens

Screenshots for this project are being prepared. A live walkthrough is available on request.

Ask for a walkthrough