Skip to content

Commit 3960fe9

Browse files
Add comprehensive SMS notification style guidelines
Co-authored-by: nonprofittechy <7645641+nonprofittechy@users.noreply.github.com>
1 parent 9d498ad commit 3960fe9

File tree

3 files changed

+185
-0
lines changed

3 files changed

+185
-0
lines changed

docs/components/AssemblyLine/al_reminders_overview.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ To use the reminder system, you will need to customize
8383
the `al_reminders` dictionary and add any email and SMS
8484
templates that you want to use.
8585

86+
:::tip SMS Style Guidelines
87+
When creating SMS templates, follow the [SMS notification style guidelines](/docs/style_guide/sms_style_guidelines) to ensure your messages are effective, accessible, and professional.
88+
:::
89+
8690
`al_reminders` is a dictionary. Each entry is a dictionary
8791
with the following keys:
8892

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
---
2+
id: sms_style_guidelines
3+
title: SMS notification style guidelines
4+
sidebar_label: SMS notifications
5+
slug: sms_style_guidelines
6+
---
7+
8+
When sending SMS notifications to users, especially for court reminders and legal processes, following consistent style guidelines helps ensure messages are effective, accessible, and professional.
9+
10+
## Core principles
11+
12+
### Keep messages terse
13+
14+
SMS messages should be concise and to the point. Users don't want to scroll through long messages on their phone.
15+
16+
**Why this matters:**
17+
- Long messages can be broken into multiple segments that may arrive out of order on older devices
18+
- Users scan messages quickly and may miss important information in lengthy texts
19+
- Messages should fit on screen without scrolling in most messaging apps
20+
21+
**Best practices:**
22+
- Aim for 160 characters or less when possible
23+
- Use essential information only
24+
- Avoid redundant phrases
25+
- Use abbreviations where appropriate and clear (e.g., "Court Forms Online" → "CFO")
26+
27+
**Examples:**
28+
29+
**Good:**
30+
```
31+
Jane, you may have court tomorrow!
32+
33+
Your court date should be 03/15/2024 at 9:00 AM based on info you provided to Court Forms Online.
34+
35+
This is not from the court. Double-check for changes.
36+
37+
Unsubscribe: [link] or reply STOP
38+
```
39+
40+
**Too long:**
41+
```
42+
Dear Jane,
43+
44+
We hope this message finds you well. We are writing to remind you that according to the information you provided when you completed the eviction answer interview at Court Forms Online, you may have a court appearance scheduled for tomorrow, March 15th, 2024 at 9:00 AM. Please note that this is not an official message from the court system, and you should independently verify your court date as schedules can change. If you no longer wish to receive these helpful reminders, you can unsubscribe by clicking the following link [link] or by replying STOP to this message to stop all messages from Court Forms Online.
45+
```
46+
47+
### Include cancellation information
48+
49+
Every SMS must clearly explain how users can stop receiving messages.
50+
51+
**Required elements:**
52+
- Include unsubscribe link when possible
53+
- Always mention "reply STOP" option
54+
- Be specific about what STOP will do (stop all messages from your organization)
55+
56+
**Template:**
57+
```
58+
[Main message content]
59+
60+
Unsubscribe: [link] or reply STOP to stop all messages from [ORGANIZATION_NAME].
61+
```
62+
63+
### Specify total expected messages
64+
65+
Let users know how many messages to expect in the series when enrolling or in early messages.
66+
67+
**Examples:**
68+
- "You'll get 3 reminders total about your court date"
69+
- "This is reminder 1 of 2"
70+
- "Final reminder"
71+
72+
### Identify the sender
73+
74+
Always clearly state who the message is from, especially important for legal/government-related communications.
75+
76+
**Best practices:**
77+
- Use your organization name consistently
78+
- Include it early in the message
79+
- Distinguish between your organization and official court communications
80+
81+
## Technical considerations
82+
83+
### Message length limits
84+
85+
- **160 characters:** Traditional SMS limit, safest for older devices
86+
- **306 characters:** Extended SMS limit for modern devices
87+
- **Beyond 306 characters:** Message will be split into multiple parts that may arrive out of order
88+
89+
### Device compatibility
90+
91+
- Assume some users have older devices or carriers with limited SMS support
92+
- Test messages on various devices when possible
93+
- Avoid special characters that may not display properly
94+
- Use plain text formatting
95+
96+
## Message templates
97+
98+
### Court reminder template
99+
```yaml
100+
template: court_reminder_sms
101+
content: |
102+
${ users }, you may have court tomorrow!
103+
104+
Your court date should be ${ court_date } at ${ court_time } based on info from Court Forms Online.
105+
106+
This is not from the court. Double-check for changes.
107+
108+
Unsubscribe: ${ interview_url_action('al_reminders_unsubscribe_emails') } or reply STOP to stop all messages from ${ AL_ORGANIZATION_TITLE }.
109+
```
110+
111+
### Initial confirmation template
112+
```yaml
113+
template: sms_signup_confirmation
114+
content: |
115+
Hi ${ users }! You'll get 3 reminders about your court date from Court Forms Online.
116+
117+
Next reminder: ${ next_reminder_date }
118+
119+
Reply STOP anytime to unsubscribe.
120+
```
121+
122+
### Series progress template
123+
```yaml
124+
template: sms_with_progress
125+
content: |
126+
${ users }, reminder 2 of 3: Court tomorrow at ${ court_time }!
127+
128+
From Court Forms Online. Not an official court message.
129+
130+
Reply STOP to unsubscribe.
131+
```
132+
133+
## Assembly Line integration
134+
135+
### Including in AL reminders
136+
137+
When using the Assembly Line reminder system, SMS templates should follow these guidelines:
138+
139+
```yaml
140+
template: your_sms_reminder_template
141+
content: |
142+
${ users }, [brief main message]
143+
144+
[Essential details from Court Forms Online]
145+
146+
This is not from the court.
147+
148+
Unsubscribe: ${ interview_url_action('al_reminders_unsubscribe_emails') } or reply STOP for all messages from ${ AL_ORGANIZATION_TITLE }.
149+
```
150+
151+
### Required unsubscribe elements
152+
153+
All Assembly Line SMS messages should include:
154+
1. The unsubscribe link: `${ interview_url_action('al_reminders_unsubscribe_emails') }`
155+
2. The STOP keyword instruction
156+
3. Reference to `${ AL_ORGANIZATION_TITLE }` for consistency
157+
158+
## Testing your messages
159+
160+
### Content checklist
161+
- [ ] Message is under 160 characters if possible
162+
- [ ] Sender is clearly identified
163+
- [ ] Unsubscribe options are provided
164+
- [ ] Main action/information is clear
165+
- [ ] User expectations are set appropriately
166+
167+
### Technical testing
168+
- [ ] Test on different devices and carriers
169+
- [ ] Verify message arrives as single SMS
170+
- [ ] Confirm unsubscribe links work
171+
- [ ] Test STOP keyword functionality
172+
173+
## Common mistakes to avoid
174+
175+
- **Don't** use all caps (can appear like shouting)
176+
- **Don't** include excessive punctuation or emoji
177+
- **Don't** assume users remember previous messages
178+
- **Don't** forget to distinguish from official court communications
179+
- **Don't** omit unsubscribe information
180+
- **Don't** make messages too formal or too casual

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ module.exports = {
6868
'style_guide/question_style_help_your_user',
6969
'style_guide/style_guide_formatting',
7070
'style_guide/question_style_validation',
71+
'style_guide/sms_style_guidelines',
7172
{
7273
label: 'Question library',
7374
type: 'category',

0 commit comments

Comments
 (0)