PhoenixKitCustomerSupport

ElixirLicense: MIT

Customer support ticketing module for PhoenixKit.

Provides a full ticketing system: create tickets, track status, add comments and attachments, manage agents. Extracted from PhoenixKit core (>= 1.7.104).

Features

Installation

Add to the host app's mix.exs:

{:phoenix_kit_customer_support, "~> 0.1"}

Then mix deps.get. The module appears in the admin Modules page and sidebar automatically via PhoenixKit.Module auto-discovery.

Module integration

The package registers itself with PhoenixKit's module system. No manual router wiring needed — admin routes are auto-discovered at compile time via route_module/0.

Routes

Admin routes (registered by this package via route_module/0)

Path LiveView
/admin/customer-supportPhoenixKitCustomerSupport.Web.List
/admin/customer-support/ticketsPhoenixKitCustomerSupport.Web.List
/admin/customer-support/tickets/newPhoenixKitCustomerSupport.Web.New
/admin/customer-support/tickets/:uuidPhoenixKitCustomerSupport.Web.Details
/admin/customer-support/tickets/:uuid/editPhoenixKitCustomerSupport.Web.Edit
/admin/settings/customer-supportPhoenixKitCustomerSupport.Web.Settings

User dashboard routes (wired by PhoenixKit core via Code.ensure_loaded? guards)

Path LiveView
/dashboard/customer-support/ticketsPhoenixKitCustomerSupport.Web.UserList
/dashboard/customer-support/tickets/newPhoenixKitCustomerSupport.Web.UserNew
/dashboard/customer-support/tickets/:idPhoenixKitCustomerSupport.Web.UserDetails

User-facing routes are registered by PhoenixKitWeb.Integration in the core library when this package is present — no additional router configuration is required in the host app.

Settings

The following settings keys control this module's behaviour. They are managed via the admin Settings UI (/admin/settings/customer-support) or directly via PhoenixKit.Settings.

Key Default Description
customer_support_enabledfalse Enables or disables the customer support module globally.
customer_support_per_page20 Number of tickets shown per page in admin and user list views.
customer_support_comments_enabledtrue Allows users and agents to post comments on tickets.
customer_support_internal_notes_enabledtrue Enables internal (agent-only) notes on tickets.
customer_support_attachments_enabledtrue Allows file attachments to be added to tickets and comments.
customer_support_allow_reopentrue Permits closed tickets to be reopened by users or agents.

Development

mix deps.get
mix compile
mix test