Abhinav Raut 494bc15b0a feat: Enable agents to create conversations from the UI
Before this feature the only way to create a conversation was by adding inbox and sending an email.

Agents first search contacts by email, see a dropdown select an existing contact or fill a new email for new contact.

The backend creates contact if it does not exist, creates a conversation, sends a reply to the conversation.
Optinally assigns conversation to a user / team.

fix: Replies to emails create a new conversation instead of attaching to the previous one.

Was not happening in gmail, as gmail was sending the references headers in all replies and I missed this completely. So when libredesk searches a conversation by references headers it worked!

Instead the right way is to generate the outgoing email message id and saving it in DB. This commit fixes that.

There could be more backup strategies like putting reference number in the subject but that can be explored later.

chore: new role `conversatons:write` that enables the create conversations feature for an agent.

chore: migrations for v0.4.0.
2025-03-05 01:17:42 +05:30
2024-07-24 03:00:54 +05:30
2024-10-25 15:05:40 +05:30
2025-02-27 21:37:07 +05:30

Zerodha Tech Badge

Libredesk

Open source, self-hosted customer support desk. Single binary app.

Visit libredesk.io for more info. Check out the Live demo.

Screenshot_20250220_231723

CAUTION: This project is currently in alpha. Features and APIs may change and are not yet fully tested.

Features

  • Multi Inbox
    Libredesk supports multiple inboxes, letting you manage conversations across teams effortlessly.
  • Granular Permissions
    Create custom roles with granular permissions for teams and individual agents.
  • Smart Automation
    Eliminate repetitive tasks with powerful automation rules. Auto-tag, assign, and route conversations based on custom conditions.
  • CSAT Surveys
    Measure customer satisfaction with automated surveys.
  • Macros
    Save frequently sent messages as templates. With one click, send saved responses, set tags, and more.
  • Smart Organization
    Keep conversations organized with tags, custom statuses for conversations, and snoozing. Find any conversation instantly from the search bar.
  • Auto Assignment
    Distribute workload with auto assignment rules. Auto-assign conversations based on agent capacity or custom criteria.
  • SLA Management
    Set and track response time targets. Get notified when conversations are at risk of breaching SLA commitments.
  • Business Intelligence
    Connect your favorite BI tools like Metabase and create custom dashboards and reports with your support data—without lock-ins.
  • AI-Assisted Response Rewrite
    Instantly rewrite responses with AI to make them more friendly, professional, or polished.
  • Command Bar
    Opens with a simple shortcut (CTRL+k) and lets you quickly perform actions on conversations.

And more checkout - libredesk.io

Installation

Docker

The latest image is available on DockerHub at libredesk/libredesk:latest

# Download the compose file and sample config file in the current directory.
curl -LO https://github.com/abhinavxd/libredesk/raw/main/docker-compose.yml
curl -LO https://github.com/abhinavxd/libredesk/raw/main/config.sample.toml

# Copy the config.sample.toml to config.toml and edit it as needed.
cp config.sample.toml config.toml

# Run the services in the background.
docker compose up -d

# Setting System user password.
docker exec -it libredesk_app ./libredesk --set-system-user-password

Go to http://localhost:9000 and login with username System and the password you set using the --set-system-user-password command.

See installation docs


Binary

  • Download the latest release and extract the libredesk binary.
  • Copy config.sample.toml to config.toml and edit as needed.
  • ./libredesk --install to setup the Postgres DB (or --upgrade to upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).
  • Run ./libredesk --set-system-user-password to set the password for the System user.
  • Run ./libredesk and visit http://localhost:9000 and login with username System and the password you set using the --set-system-user-password command.

See installation docs


Developers

If you are interested in contributing, refer to the developer setup. The backend is written in Go and the frontend is Vue js 3 with Shadcn for UI components.

Languages
Vue 41.7%
Go 41.5%
JavaScript 13.3%
PLpgSQL 1.8%
HTML 0.8%
Other 0.9%