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
@@ -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">