SIGNALS Documentation
API Reference

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.

  1. Write in the New note textarea (placeholder: “Write a note… type @ to mention a teammate.”).
  2. Optionally tick Visible to customer (external) if you hold conversations.share-external.
  3. 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

MethodURLSummaryAbilityWeight
GET/api/v1/conversations/{conversation}Show a single conversationconversations:read1
PATCH/api/v1/conversations/{conversation}Update a conversation's title, body, and/or visibilityconversations:write2
DELETE/api/v1/conversations/{conversation}Delete a conversation (and its comments, via DB cascade)conversations:write2
POST/api/v1/conversations/{conversation}/commentsAdd a comment to a conversationconversations:write2
PATCH/api/v1/conversations/{conversation}/comments/{comment}Edit a comment's body. Author-or-admin onlyconversations:write2
DELETE/api/v1/conversations/{conversation}/comments/{comment}Delete a comment. Author-or-admin onlyconversations:write2

Supports Ransack q[…], pagination, and ?include=comments,comments.author. Abilities: conversations:read / conversations:write.