Skip to main content
The implemented workflow has four stages: opening from the panel, claiming the case, generating a transcript on request or at close, and closing with delayed channel deletion. The ticket record remains associated with the server after the scheduled deletion.
1

Open

A member presses the panel button. If require_reason is enabled, they submit a required reason and optional text evidence. Headless creates a private channel and persists its record.
2

Claim

A configured support role or a member with Manage Channels uses the claim control. The claim is stored on the active ticket.
3

Generate a transcript

.ticket transcript or closing attempts to send a transcript of the selected recent messages to the explicit log channel. Transcripts must be enabled.
4

Close

.ticket close [reason] closes the record, attempts the transcript and closing DM, posts the closed-ticket control, and schedules channel deletion according to close_delete_seconds.

Transcript delivery

The log channel must be explicitly configured with .ticket log #channel; the panel channel is not a fallback. .ticket transcript creates a file with up to transcript_limit recent messages. If transcripts are disabled or no usable log channel exists, Headless has nowhere to send it.

Configure the log destination

Generate a transcript

Close a ticket

.ticket close closes the record, attempts transcript generation and closing DM delivery, posts the closed-ticket control, and schedules channel deletion. If transcript or DM generation/delivery fails, Headless does not revert the closed state; those notifications are best-effort.
.ticket close and .ticket transcript do not perform a separate staff check. Any member with access to the private channel can invoke them; limit access with Discord overwrites and protect the log channel.

Deletion delay

The initial delay is 10 seconds; the accepted range is 0–86,400 seconds. 0 requests immediate channel deletion. The closed record remains in per-server storage.
A zero-second delay requests immediate deletion. The stored record does not preserve the deleted Discord channel or its messages.

Features not implemented

There are no configurable inactivity timers, inactivity reminders, auto-close, reopen, move, independent auto-delete, or reopen history. Delayed deletion only happens after a ticket is closed.