Update help docs and AI knowledge base for SMS notifications

- Settings help article: add SMS Notifications subsection covering company opt-in, TCPA terms agreement, compose-before-send vs auto-send, and STOP opt-out
- Customers help article: add Mobile Phone and SMS Opt-In fields to the Adding a Customer field list
- HelpKnowledgeBase: remove stale "ready for pickup" SMS event, add company opt-in flow, customer opt-in requirement, compose modal for Admin/Manager, auto-send for ShopFloor, Send SMS button, and STOP opt-out behavior; remove SuperAdmin-only SMS Platform Setting content

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-01 22:32:55 -04:00
parent 6569d9c4ea
commit d9bf80cc9a
3 changed files with 73 additions and 11 deletions
@@ -1057,27 +1057,44 @@ public static class HelpKnowledgeBase
**What's New:** [/ReleaseNotes](/ReleaseNotes) A changelog of platform updates. Accessible from the user menu (top-right "What's New"). When the platform team publishes a new release note, all users receive a bell notification linking directly to this page.
### Email & SMS Notifications
The system also sends email and SMS notifications for key events:
The system sends email and SMS notifications for key events:
- Quote sent to customer
- Quote approved/rejected by customer
- Job status changes
- Job ready for pickup
- Job completed (email + SMS)
- Invoice sent
- Payment received
- Overdue payment reminders
Configure which notifications are enabled at [Company Settings](/CompanySettings) Notifications tab.
Email/SMS notification history: [/NotificationLogs](/NotificationLogs) under Settings/Admin
Email/SMS notification history: [/NotificationLogs](/NotificationLogs)
In-app notification history: [/InAppNotifications](/InAppNotifications)
### SMS Platform Setting
SMS/text-message features are controlled by a platform-level toggle in Platform Settings (SuperAdmin only at [/PlatformSettings](/PlatformSettings), in the Features group). When SMS is **off** (the default until Twilio is configured):
- SMS consent fields are hidden on all customer records
- SMS notification templates are hidden from Company Settings Notification Templates
- SMS channel filter is hidden in the Notification Log
- No outbound SMS messages are sent via Twilio
When SMS is turned **on**, all of the above become visible and active. Turning it back off hides everything again without deleting any stored phone numbers or SMS settings the data is preserved. Only a SuperAdmin can toggle this setting.
### SMS Notifications
SMS text messages are an opt-in feature at both the company level and the customer level.
**Enabling SMS for your company:**
Go to Company Settings Notifications tab SMS Notifications. Toggle "Enable SMS notifications" on.
The first time you enable it you will be asked to agree to the SMS terms of service, which covers your obligation to obtain prior written consent from each customer before texting them (required by the FCC/TCPA). Once agreed, you can toggle SMS on and off freely without re-agreeing unless the terms are updated.
**Enabling SMS per customer:**
On each customer's record (Edit Customer), check the **SMS Opt-In** box and enter a **Mobile Phone** number. A customer will not receive SMS messages unless both boxes are set. You are responsible for obtaining the customer's verbal or written consent before enabling this.
**What events send an SMS:**
- Job completed notifies the customer their job is done and ready for pickup.
**Compose-before-send (Admin/Manager):**
When a Company Admin or Manager marks a job complete, the system pre-fills an SMS draft based on your notification template and opens a compose modal before sending. You can personalize the message on the spot. The message must contain "STOP" opt-out language it is appended automatically if missing.
**Auto-send (Shop Floor workers):**
When a Shop Floor worker marks a job complete, the SMS is sent immediately using the template no compose step.
**Send SMS button:**
On any completed job's Details page, Company Admins and Managers see a **Send SMS** button that opens the same compose modal, allowing you to send a follow-up message at any time.
**Customer opt-out:**
If a customer replies STOP to any message, they are automatically opted out and will not receive further SMS messages. They can reply START to re-subscribe.
### Platform Announcements
Occasional platform-wide announcements from the Powder Coating Logix team are delivered directly to your notification bell not as page banners. These may cover new features, scheduled maintenance, or policy updates. They appear as **Announcement** type items in the bell dropdown.
@@ -89,6 +89,8 @@
<li><strong>Contact Name</strong> — the person you deal with day to day.</li>
<li><strong>Email</strong> — used for quote and invoice notifications.</li>
<li><strong>Phone</strong> — primary contact number.</li>
<li><strong>Mobile Phone</strong> — used for SMS notifications. Required if you want to text this customer.</li>
<li><strong>SMS Opt-In</strong> — check this only after you have obtained the customer's consent to receive text messages. Visible only when SMS is enabled for your company.</li>
<li><strong>Address</strong> — billing and shipping address fields.</li>
</ul>
</li>
@@ -361,7 +361,7 @@
<li class="mb-2">Each reminder sent is recorded in the notification log, visible via <strong>Settings &rsaquo; Notification Templates &amp; Logs</strong>.</li>
</ol>
<div class="alert alert-permanent alert-info d-flex gap-2 mb-0" role="alert">
<div class="alert alert-permanent alert-info d-flex gap-2 mb-3" role="alert">
<i class="bi bi-lightbulb-fill flex-shrink-0 mt-1"></i>
<div>
Payment reminders are sent once per threshold per invoice — if you have <code>7,14,30</code>
@@ -370,6 +370,49 @@
receive any further reminders (its status changes to Paid and it is excluded from future checks).
</div>
</div>
<h3 class="h6 fw-semibold mt-3 mb-2">SMS Notifications</h3>
<p>
SMS text messages are an opt-in feature at both the company level and the customer level.
When SMS is not available on your plan the toggle will not appear.
</p>
<ul class="mb-3">
<li class="mb-2">
<strong>Enable SMS Notifications</strong> — master company toggle. The first time you enable it
you must agree to the SMS terms of service, which covers your obligation to obtain prior written
customer consent before texting them (required by FCC/TCPA regulations). Once agreed, you can
toggle SMS on and off freely without re-agreeing unless the terms are updated.
</li>
<li class="mb-2">
<strong>Per-customer opt-in</strong> — even with SMS enabled here, a customer will only receive
texts if their record has a <strong>Mobile Phone</strong> number and the <strong>SMS Opt-In</strong>
box checked. You are responsible for obtaining each customer's consent before enabling this on
their record.
</li>
</ul>
<h4 class="h6 fw-semibold mt-3 mb-2" style="font-size:.85rem;">What events send an SMS</h4>
<ul class="mb-3">
<li class="mb-1"><strong>Job Completed</strong> — notifies the customer their job is done and ready for pickup.</li>
</ul>
<h4 class="h6 fw-semibold mt-3 mb-2" style="font-size:.85rem;">Compose-before-send vs. auto-send</h4>
<p>
When a <strong>Company Admin or Manager</strong> marks a job complete, the system pre-fills a draft
SMS from your notification template and opens a compose window so you can personalize the message
before it sends. A <strong>Send SMS</strong> button on the job details page lets you send a follow-up
at any time.
</p>
<p>
When a <strong>Shop Floor</strong> worker marks a job complete the SMS is sent automatically using
the template — no compose step.
</p>
<div class="alert alert-permanent alert-info d-flex gap-2 mb-0" role="alert">
<i class="bi bi-lightbulb-fill flex-shrink-0 mt-1"></i>
<div>
Every outbound SMS automatically includes opt-out instructions ("Reply STOP to opt out"). If a
customer replies STOP, they are immediately opted out and will receive no further messages.
You can re-enable them on their customer record if they later ask to be re-subscribed.
</div>
</div>
</section>
<section id="named-ovens" class="mb-5">