Discussions & Mentions
Threaded conversation notes on rentals and accounts, @mentions of teammates, and the notifications they produce.
Overview
Discussions in Signals are implemented as Conversations — threaded notes attached to an Rental or Account. Each entry has a Markdown body, an author, internal or external visibility, and an optional comment thread. Bodies support @ mentions that notify user-type accounts.
There is no standalone conversations list, saved view, or global-search bucket for conversations in this release. The panel shows the latest 50 entries (newest first).
Where the panel appears
The Livewire Conversations panel embeds on:
| Record | Route | Placement |
|---|---|---|
| Rental | /rentals/{rental} |
Full-width block on the show page (below the main grid) |
| Account | /accounts/{account} |
Overview tab, main column |
Panel title in the UI: Conversations. The composer creates notes only; email and system entry types exist on the model/API but are not selectable in this panel.
Posting notes & replies
Requires conversations.create.
- Write in the New note textarea (placeholder: “Write a note… type @ to mention a teammate.”).
- Optionally tick Visible to customer (external) if you hold
conversations.share-external. - Click Post note.
Each note shows author, relative time, (edited) when updated, an Internal/External badge, and rendered Markdown. Use Reply for a comment thread (one open reply box at a time). Edit and delete follow conversation / comment policies (conversations.update / conversations.delete; comments are author-or-admin).
Empty state: “No conversation entries yet.”
@mentions
Syntax
Mentions are stored in an explicit ID-carrying form:
@[Display Name](account:123)
Only the numeric accounts.id is trusted. The mentioned account must have account type User. Plain @Name or @email text does not create a mention notification.
Suggestion picker
On the new-note and reply composers, type @ plus a partial name. Up to six matching user-type accounts appear as chips; clicking one inserts @[Name](account:id) . Edit textareas do not show the picker — the same syntax still works if typed or pasted.
On save, the server parses mentions. Editing a note or comment notifies only newly added mention IDs. Authors are never notified for mentioning themselves.
Notifications
| Field | Value |
|---|---|
| Preference / type key | conversation.mentioned |
| Channels (default) | Database (in-app) and mail |
| Recipients | Newly mentioned user-type accounts only |
In-app title: You were mentioned in a conversation. The body names the note or comment and the parent rental or account. Manage channels under Settings → Notifications (type key conversation.mentioned) or admin defaults at /admin/settings/notifications.
A matching webhook event conversation.mentioned fires with conversation (and optional comment) identifiers plus mentioned_account_ids. Lifecycle webhooks also cover conversation and comment create/update/delete.
See Notifications & Comms for channels, the bell, and preference resolution.
Permissions
| Permission | Effect |
|---|---|
conversations.access |
Area access |
conversations.view |
View conversations |
conversations.create |
Post notes and comments |
conversations.update |
Edit conversation records |
conversations.delete |
Delete conversation records |
conversations.share-external |
Set visibility to external |
API
| Method | URL | Summary | Ability | Weight |
|---|---|---|---|---|
GET | /api/v1/conversations/{conversation} | Show a single conversation | conversations:read | 1 |
PATCH | /api/v1/conversations/{conversation} | Update a conversation's title, body, and/or visibility | conversations:write | 2 |
DELETE | /api/v1/conversations/{conversation} | Delete a conversation (and its comments, via DB cascade) | conversations:write | 2 |
POST | /api/v1/conversations/{conversation}/comments | Add a comment to a conversation | conversations:write | 2 |
PATCH | /api/v1/conversations/{conversation}/comments/{comment} | Edit a comment's body. Author-or-admin only | conversations:write | 2 |
DELETE | /api/v1/conversations/{conversation}/comments/{comment} | Delete a comment. Author-or-admin only | conversations:write | 2 |
Supports Ransack q[…], pagination, and ?include=comments,comments.author. Abilities: conversations:read / conversations:write.
Related
- Accounts / Rentals — records that host the panel
- Notifications & Comms —
conversation.mentioneddelivery - Activities — separate CRM engagement list (not the conversation thread)
- CRM & Addresses — CRM records and the global address list