Abhinav Raut 712fcbb642 return clear 400 errors for invalid AI tool and snippet input
An invalid custom tool name (bad characters or over 64 chars) used to
skip validation, hit the database check constraint, and return a 500.
The name format and length are now checked up front and return a 400
with the name hint, matching how the reserved-name check already works.
Bad tool URLs and parameter JSON now return their own specific message
instead of a generic "Something went wrong". Snippet create and update
now reject an empty title, like they already do for empty content.
Adds a unit test covering the tool validation cases.
2026-07-23 10:00:19 +05:30
2026-07-19 10:57:23 +05:30
2026-05-31 16:31:04 +05:30
2024-10-25 15:05:40 +05:30
2026-07-10 15:34:09 +05:30

Zerodha Tech Badge

libredesk

Modern, open source, self-hosted omnichannel customer support desk. Live chat, email, and more in a single binary.

image

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

Features

  • Omnichannel inbox
    Live chat, email, and more — all in one inbox. Connect support@, billing@, sales@ and manage every conversation from a single, unified interface.
  • Live chat widget
    Embed a real-time chat widget on your website. Engage visitors instantly and handle live conversations right from your support desk.
  • Granular permissions
    Create custom roles with granular permissions for teams and individual agents.
  • Automations
    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.
  • 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.
  • Custom attributes
    Create custom attributes for contacts or conversations such as the subscription plan or the date of their first purchase.
  • AI-assist
    Instantly rewrite responses with AI to make them more friendly, professional, or polished.
  • Activity logs
    Track all actions performed by agents and admins—updates and key events across the system—for auditing and accountability.
  • Webhooks
    Integrate with external systems using real-time HTTP notifications for conversation and message events.
  • Command bar
    Opens with a simple shortcut (CTRL+K) and lets you quickly perform actions on conversations.

And more — checkout libredesk.io or try the live demo.

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.
  • Edit config.toml as needed.
  • ./libredesk --install to setup the Postgres DB.
  • Run ./libredesk --set-system-user-password to set the password for the System user.
  • Run ./libredesk and visit http://localhost:9000 and login with email System and the password you set using the --set-system-user-password command.

See installation docs


Developers

The backend is written in Go and the frontend is Vue.js 3 with Shadcn UI.

Translators

You can help translate libredesk into your language on Crowdin.

S
Description
Open-source, self-hosted customer support desk in a single binary. Email and live chat. A lightweight alternative to Intercom, Zendesk, Chatwoot.
Readme AGPL-3.0 23 MiB
Languages
Go 42.2%
Vue 30.1%
JavaScript 23.1%
HTML 1.6%
CSS 1.4%
Other 1.4%