{"id":733,"date":"2026-07-25T15:19:31","date_gmt":"2026-07-25T15:19:31","guid":{"rendered":"https:\/\/text.email\/blog\/?p=733"},"modified":"2026-07-25T21:37:58","modified_gmt":"2026-07-25T21:37:58","slug":"required-ack","status":"publish","type":"post","link":"https:\/\/text.email\/blog\/required-ack\/","title":{"rendered":"Required Acknowledgment: Keep Sending Critical Alerts Until It&#8217;s Confirmed"},"content":{"rendered":"\n<p>text.email is made for cutting through the noise to make sure you don&#8217;t miss critical alerts. But until now, there was nothing we could do to make sure you (or someone on your team) actually <em>did something<\/em> about those alerts.<\/p>\n\n\n\n<p>That&#8217;s why we just added <strong>Required Acknowledgment<\/strong> to text.email.<\/p>\n\n\n\n<p>With Required Acknowledgment, text.email will re-send the most critical alerts until the recipient confirms they&#8217;ve seen it.<\/p>\n\n\n\n<p>Here&#8217;s how to set it up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Turn On Required Acknowledgment in text.email<\/h2>\n\n\n\n<p>Head to text.email and go into your account <strong>Settings<\/strong>. Scroll down until you get to the Required Acknowledgment section.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a8ca6e118423&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a8ca6e118423\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"971\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-settings-tinified-1024x971.png\" alt=\"\" class=\"wp-image-736\" srcset=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-settings-tinified-1024x971.png 1024w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-settings-tinified-300x284.png 300w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-settings-tinified-768x728.png 768w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-settings-tinified-1536x1456.png 1536w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-settings-tinified.png 2004w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>To turn on Required Acknowledgment, <strong>change the &#8220;Repeat every (minutes)&#8221; field from 0 to a number<\/strong>. For instance, entering 5 would mean alerts go out (roughly) every five minutes until acknowledgment.<\/p>\n\n\n\n<p>Next up you can optionally chose <strong>how long the texts should keep going out<\/strong>. For instance, if you enter 60, text alerts will go out for an hour if no one acknowledges them. At the 60-minute mark, the alerts will stop regardless.<\/p>\n\n\n\n<p>The maximum is 12 hours (720 minutes). After that we gotta stop texting you. <\/p>\n\n\n\n<p>And finally, you can (and probably should) add some phrases to the <strong>Require acknowledgment when the message contains<\/strong> box. <\/p>\n\n\n\n<p>For instance, if you only want to require acknowledgment if the server goes down, and your automated system sends a message that says &#8220;Server down&#8221; when that happens, you could put &#8220;server down&#8221; in the box. (It&#8217;s case insensitive.)<\/p>\n\n\n\n<p>If you leave that box empty, <em>every<\/em> alert from your text.email address will require acknowledgment.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a8ca6e118ad0&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a8ca6e118ad0\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"971\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-completesettings-tinified-1024x971.png\" alt=\"\" class=\"wp-image-737\" srcset=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-completesettings-tinified-1024x971.png 1024w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-completesettings-tinified-300x284.png 300w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-completesettings-tinified-768x728.png 768w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-completesettings-tinified-1536x1456.png 1536w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-completesettings-tinified.png 2004w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Once you&#8217;re all set, scroll to the bottom of the page to <strong>Save Settings<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Acknowledge a Text to Stop the Repeating Alerts<\/h2>\n\n\n\n<p>Alright. You&#8217;ve set up Required Acknowledgment and an alert goes out.<\/p>\n\n\n\n<p>Here&#8217;s what happens.<\/p>\n\n\n\n<p>text.email sends the email to SMS message, as it normally does, but adds a line at the bottom: <code>Reply ACK ##### to acknowledge.<\/code> <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"1024\" src=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661-474x1024.png\" alt=\"\" class=\"wp-image-740\" srcset=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661-474x1024.png 474w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661-139x300.png 139w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661-768x1661.png 768w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661-710x1536.png 710w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661-947x2048.png 947w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-repeatalerts-tinified-e1785014579661.png 1184w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>The number is a code that the recipient has to send as a reply to the message to get the sequence to stop. Every future alert they get for this incident will include the same code.<\/p>\n\n\n\n<p>So if the code was <code>ACK 48271<\/code>, they could enter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ACK 48271<\/code><\/li>\n\n\n\n<li><code>ACK48271<\/code><\/li>\n\n\n\n<li><code>ack 48271<\/code><\/li>\n\n\n\n<li><code>48271<\/code><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"946\" src=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-acknowledged-tinified-e1785014592795-1024x946.png\" alt=\"\" class=\"wp-image-741\" srcset=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-acknowledged-tinified-e1785014592795-1024x946.png 1024w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-acknowledged-tinified-e1785014592795-300x277.png 300w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-acknowledged-tinified-e1785014592795-768x710.png 768w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/requiredack-acknowledged-tinified-e1785014592795.png 1184w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>And all would stop the alerts from continuing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What if they just respond &#8220;ack&#8221;?<\/h3>\n\n\n\n<p>In many alerts-to-be-acknowledged environments, the required response is just &#8220;ack.&#8221;<\/p>\n\n\n\n<p>With text.email, yes, you can just reply ACK \u2014 <em>if<\/em> this is the only live incident you&#8217;re dealing with. If you&#8217;re receiving multiple alerts that require acknowledgment, you&#8217;ll need to include the full numeric code to get each one to stop.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Required Acknowledgment for Teams: How This Works with text.email&#8217;s Distribution Lists<\/h2>\n\n\n\n<p>text.email&#8217;s <a href=\"https:\/\/text.email\/blog\/distribution-lists\/\" data-type=\"post\" data-id=\"296\">distribution lists<\/a> make it so a single alert email can get converted into texts for an entire team. <\/p>\n\n\n\n<p>So when Required Acknowledgment is on and an email is sent to a distribution list, each recipient receives a separate acknowledgment sequence with a separate code.<\/p>\n\n\n\n<p>For example, suppose an alert is sent to a distribution list containing Alice, Bob, and Carol. They might each get:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alice: <code>Reply ACK 48271 to acknowledge.<\/code><\/li>\n\n\n\n<li>Bob: <code>Reply ACK 73016 to acknowledge.<\/code><\/li>\n\n\n\n<li>Carol: <code>Reply ACK 19544 to acknowledge.<\/code><\/li>\n<\/ul>\n\n\n\n<p>If Alice acknowledges her alert, reminders stop for Alice. Bob and Carol continue receiving reminders until they acknowledge their own alerts or their sequences reach the configured time limit.<\/p>\n\n\n\n<p><strong>One list member&#8217;s acknowledgment never stops another member&#8217;s sequence<\/strong>.<\/p>\n\n\n\n<p>This is especially useful for operational teams because it provides confirmation that each intended recipient has personally received the alert.<\/p>\n\n\n\n<p>Distribution-list schedules still apply normally. Only list members who are eligible to receive the original message at that time are included in the acknowledgment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">More Things to Know About Required Acknowledgment<\/h2>\n\n\n\n<p>Here are some of the other nuances of Required Acknowledgment, including how it interacts with some of text.email&#8217;s other features.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How Required Acknowledgment works with SMS length and text.email&#8217;s &#8220;maximum segments&#8221; setting<\/h3>\n\n\n\n<p>SMS messages have strict length limits (&lt;160 characters). A longer message is broken up into multiple messages.<\/p>\n\n\n\n<p>There&#8217;s a setting in text.email that enables you to set the maximum number of segments a text alert. So if that&#8217;s set at 1, and an email comes in that&#8217;s too long for one text, you just get a single truncated version.<\/p>\n\n\n\n<p>If you&#8217;re using Required Acknowledgment, you&#8217;ll then receive a separate SMS with the acknowledgement instruction and code.<\/p>\n\n\n\n<p>For example, the recipient may receive:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>Server DB-2 stopped responding at 3:42 AM. The monitoring agent has attempted three restarts without success. The database is currently...<\/code><\/pre>\n<\/blockquote>\n\n\n\n<p>And then a subsequent message that says:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>Reply ACK 48271 to acknowledge.<\/code><\/pre>\n<\/blockquote>\n\n\n\n<p>This means that even when the account&#8217;s maximum segment setting is <code>1<\/code>, an acknowledgment-enabled alert may use one additional SMS for the required acknowledgment instruction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Required Acknowledgment with SMS and MMS<\/h3>\n\n\n\n<p>The feature applies to both regular SMS messages and <a href=\"https:\/\/text.email\/blog\/email-to-mms\/\" data-type=\"post\" data-id=\"718\">MMS messages<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">SMS messages<\/h4>\n\n\n\n<p>For an SMS alert, text.email adds the acknowledgment instruction to the final SMS content.<\/p>\n\n\n\n<p>If it fits within the permitted SMS segments, it appears at the end of the alert. If it does not fit, text.email sends the acknowledgment instruction as a separate SMS.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">MMS messages<\/h4>\n\n\n\n<p>For an MMS alert, the original MMS can still contain its supported image or audio attachment. The acknowledgment instruction is added to the MMS text: <code>Reply ACK 48271 to acknowledge<\/code>.<\/p>\n\n\n\n<p>The recipient can reply to the MMS just as they would reply to a normal SMS.<\/p>\n\n\n\n<p>The original MMS includes the media, message text, and acknowledgment code. Subsequent acknowledgment reminders are sent as SMS text reminders containing the stored message text and acknowledgment instruction. The image or audio file is not retransmitted with every reminder.<\/p>\n\n\n\n<p>This allows MMS alerts to use Required Acknowledgment without repeatedly resending the media attachment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How Required Acknowledgment works with encryption enabled<\/h3>\n\n\n\n<p>text.email supports <a href=\"https:\/\/text.email\/blog\/sms-encryption\/\" data-type=\"post\" data-id=\"527\">report encryption<\/a> using keys controlled by the account owner.<\/p>\n\n\n\n<p>When report encryption is enabled, the normal SMS History message text is encrypted before it is stored. text.email does not possess the private key or passphrase needed to decrypt it. The account owner enters the encryption passphrase in the browser when viewing encrypted messages.<\/p>\n\n\n\n<p>Required Acknowledgment creates a special technical challenge: text.email must be able to resend the alert while the acknowledgment sequence is active, but it cannot decrypt the encrypted SMS History record.<\/p>\n\n\n\n<p>To support both features, text.email uses two separate forms of storage.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The normal SMS History record remains encrypted<\/h4>\n\n\n\n<p>The original message and each acknowledgment reminder are encrypted in SMS History immediately, just as they would be without Required Acknowledgment.<\/p>\n\n\n\n<p>The normal report records are not left temporarily unencrypted.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">A temporary resend copy is retained during the active sequence<\/h4>\n\n\n\n<p>While the acknowledgment sequence is active, text.email temporarily keeps a plaintext copy of the exact SMS content needed for resending.<\/p>\n\n\n\n<p>This temporary copy exists only so the system can send the reminder again without needing access to the user&#8217;s private encryption key.<\/p>\n\n\n\n<p>The temporary resend copy is deleted when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The recipient successfully acknowledges the alert.<\/li>\n\n\n\n<li>The configured stop-after time is reached.<\/li>\n\n\n\n<li>The 12-hour safety limit is reached.<\/li>\n\n\n\n<li>The acknowledgment sequence is otherwise stopped.<\/li>\n<\/ul>\n\n\n\n<p>After the temporary copy is removed, the remaining SMS History records continue to be protected by the account&#8217;s normal encryption.<\/p>\n\n\n\n<div class=\"alert alert-info\">\n    <p><strong>Encryption note:<\/strong> While a Required Acknowledgment sequence is active, a temporary unencrypted resend copy must exist on the server. It is removed as soon as the sequence ends.<\/p>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">What happens when settings change during an active sequence?<\/h3>\n\n\n\n<p>Required Acknowledgment uses the account&#8217;s current settings.<\/p>\n\n\n\n<p>If the reminder interval is changed while a sequence is active, the existing sequence begins using the new interval.<\/p>\n\n\n\n<p>For example, changing repeat every 5 minutes to repeat every 15 minutes causes existing active sequences to use the new 15-minute interval.<\/p>\n\n\n\n<p>Changing the stop-after setting also affects active sequences.<\/p>\n\n\n\n<p>Setting the reminder interval to <code>0<\/code> disables Required Acknowledgment and stops active sequences when they are next processed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What happens if the recipient sends the wrong code?<\/h3>\n\n\n\n<p>A reply stops a sequence only when text.email can safely identify the intended alert.<\/p>\n\n\n\n<p>A wrong, expired, or unrecognized code does not stop an unrelated alert.<\/p>\n\n\n\n<p>And once again, just typing <code>ACK<\/code> does not stop every outstanding alert. That works only when the sender has exactly one active acknowledgment sequence.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Designed for alerts that cannot be ignored<\/h2>\n\n\n\n<p>Required Acknowledgment turns text.email from a one-time notification service into an active confirmation workflow.<\/p>\n\n\n\n<p>It is useful for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Server and application outages<\/li>\n\n\n\n<li>Security incidents<\/li>\n\n\n\n<li>Building and equipment alarms<\/li>\n\n\n\n<li>Backup failures<\/li>\n\n\n\n<li>Municipal and public-safety notifications<\/li>\n\n\n\n<li>On-call engineering alerts<\/li>\n\n\n\n<li>Critical business-process failures<\/li>\n\n\n\n<li>Any event where simply sending the message is not enough<\/li>\n<\/ul>\n\n\n\n<p>Instead of assuming that an alert was noticed, you can require the recipient to explicitly confirm it.<\/p>\n\n\n\n<p>The message continues until someone responds or until the safety time limit is reached.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using text.email&#8217;s Required Acknowledgment to keep sending text alerts until there&#8217;s a response.<\/p>\n","protected":false},"author":1,"featured_media":747,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,8],"tags":[],"class_list":["post-733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system-alerts","category-text-email-tips"],"_links":{"self":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/comments?post=733"}],"version-history":[{"count":11,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/733\/revisions"}],"predecessor-version":[{"id":750,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/733\/revisions\/750"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/media\/747"}],"wp:attachment":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/media?parent=733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/categories?post=733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/tags?post=733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}