Skip to content
 
 

Repository files navigation

cs-tools

License GitHub last commit GitHub issues

Open-source tools built by WSO2 for customer success operations. This repository contains web applications and backend integrations that enable teams to manage customer-facing workflows, project visibility, and support experiences.

Repository Structure

cs-tools/
├── apps/
│   ├── csm-portal/          # CSM Portal (Go backend + React webapp)
│   └── customer-portal/     # Customer Portal (Ballerina backend + React webapp + React microapp)
├── entity-service/          # Shared entity service
└── integrations/
    ├── acp-closure-service/     # Go CLI: Account Closure Process, Phase 1 (subscription end-date closure)
    ├── csm-integration-service/ # Go M2M service for third-party account/project search
    └── customer-service/        # Customer operations related integration Ballerina service

Components

CSM Portal (apps/csm-portal/)

An internal portal for Customer Success Managers to manage and track customer cases, assignments, and support operations.

Component Description
backend Go RESTful service providing CSM Portal APIs
webapp Browser-based portal for CSMs (React + TypeScript)

See the CSM Portal README for full setup and usage documentation.

Customer Portal (apps/customer-portal/)

An open-source solution for customer success operations built with a modular architecture. It enables teams to manage customer-facing workflows, project visibility, and support experiences through a unified platform.

Delivered through two frontend experiences alongside a shared backend:

Component Description
backend Ballerina RESTful service providing Customer Portal APIs and integration points
webapp Publicly available browser-based customer portal (React + TypeScript)
microapp Microapp experience inside the WSO2 super app (React + TypeScript)

See the Customer Portal README for full setup and usage documentation.

Entity Service (entity-service/)

A Go REST service that manages customer entity data backed by PostgreSQL. Provides APIs for case management with pagination and validation, used by other apps in this repository.

Layer Technology
Language Go
Framework Gin
Database PostgreSQL 15+

See the Entity Service README for full setup and usage documentation.

ACP Closure Service (integrations/acp-closure-service/)

A Go run-to-completion CLI implementing Phase 1 of the Account Closure Process (ACP) — subscription end-date closure. Unlike every other Go component in this repo, it is not an HTTP server: it performs one full sweep over open projects and exits, with a Choreo Task component's cron owning the schedule.

Layer Technology
Language Go
Shape Run-to-completion CLI (Choreo Task)
Upstream CSM Integration Service (OAuth2 client credentials)

See the ACP Closure Service README for full setup and usage documentation.

Customer Service Integration (integrations/customer-service/)

A Ballerina REST service that aggregates and exposes customer data from multiple backend systems. Provides endpoints for contact lookup, deployment search, and deployed product queries. Includes an in-memory cache layer to reduce upstream load.

CSM Integration Service (integrations/csm-integration-service/)

A Go REST service that exposes customer data to third-party (M2M) consumers, backed by the Entity Service.

Layer Technology
Language Go
Framework net/http (standard library)
Upstream Entity Service (OAuth2 client credentials)

See the CSM Integration Service README for full setup and usage documentation.

GitHub Actions

Auto Label and Assign PR

When a pull request is opened, the workflow automatically:

  • Assigns the PR author as the assignee
  • Applies labels based on changed file paths:
Files changed under… Label applied
apps/csm-portal/** App/CSM Portal
apps/customer-portal/** App/Customer Portal
apps/*/webapp/** Area/Frontend, Platform/Web
apps/*/backend/** Area/Backend
apps/*/microapp/** Platform/Microapp
entity-service/** Entity Service

Reporting Issues

1. Opening an issue

Please use this repository's issue tracker and include reproduction steps, expected behavior, actual behavior, and relevant logs.

2. Reporting security issues

Please do not report security issues through public issues. Follow the WSO2 Security Vulnerability Reporting Guidelines.

Contributing

Contributions are welcome. Create a feature branch, keep changes focused, and submit a pull request with a clear description and verification steps.

License

cs-tools is licensed under Apache 2.0. See the LICENSE file for details.

About

OpenSource tools beneficial to customer success.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages