{"id":686,"date":"2026-07-23T22:58:32","date_gmt":"2026-07-23T22:58:32","guid":{"rendered":"https:\/\/text.email\/blog\/?p=686"},"modified":"2026-07-24T07:08:22","modified_gmt":"2026-07-24T07:08:22","slug":"ai-summary","status":"publish","type":"post","link":"https:\/\/text.email\/blog\/ai-summary\/","title":{"rendered":"Use AI Summaries to Turn Complicated Emails Into Useful Text Messages"},"content":{"rendered":"\n<p>Automated alert emails (should) contain all the information you need. But when you&#8217;re using email to SMS, sometimes &#8220;all&#8221; the information from those emails isn&#8217;t good for an SMS message.<\/p>\n\n\n\n<p>The important details might be buried in an HTML table, surrounded by boilerplate, placed in different parts of the email \u2014 or just flat out too long.<\/p>\n\n\n\n<p><strong>SMS alerts need to just get to the point so you can fix whatever is urgently wrong<\/strong>.<\/p>\n\n\n\n<p>text.email already gives you tools to control your email to SMS alerts with <a href=\"https:\/\/text.email\/blog\/sms-formatting\/\" data-type=\"post\" data-id=\"213\">SMS formatting<\/a>. You can pick and choose variables, truncate the length, and\/or use regex.<\/p>\n\n\n\n<p>But now there&#8217;s an even better option for the longest, most complicated, or most unpredictably formatted email alerts: <code>{aisummary}<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AI Summary: Table of Contents<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#how-ai-works\">How AI Summaries Work in text.email<\/a><\/li>\n\n\n\n<li><a href=\"#when-to-use\">When Should You Use AI Summaries Versus Standard SMS Formatting?<\/a><\/li>\n\n\n\n<li><a href=\"#get-started\">Get Started Using AI Summaries in text.email<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-ai-works\">How AI Summaries Work in text.email<\/h2>\n\n\n\n<p>Go to the <strong>SMS Formatting<\/strong> section of the text.email settings page.<\/p>\n\n\n\n<p>And in the formatting box, enter <code>{aisummary}<\/code>.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a65cfacda251&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a65cfacda251\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"639\" 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\/aisummary-inbox-tinified-1024x639.png\" alt=\"\" class=\"wp-image-703\" srcset=\"https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/aisummary-inbox-tinified-1024x639.png 1024w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/aisummary-inbox-tinified-300x187.png 300w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/aisummary-inbox-tinified-768x479.png 768w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/aisummary-inbox-tinified-1536x958.png 1536w, https:\/\/text.email\/blog\/wp-content\/uploads\/2026\/07\/aisummary-inbox-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>Now, when an email arrives, text.email will give you an AI-generated summary.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can you use other formatting options as well?<\/h3>\n\n\n\n<p>Yes. The <strong>basic variables are still part of the SMS formatting landscape in text.email<\/strong>. So no worries: You haven&#8217;t lost variables like <code>{subject}<\/code> for the subject, or <code>{body:120}<\/code> to truncate the body to 120 characters.<\/p>\n\n\n\n<p>You can use <code>{aisummary}<\/code> alongside those other SMS formatting variables, like <code>{subject}: {aisummary}<\/code>.<\/p>\n\n\n\n<p>And you can also use <code>{aisummary}<\/code> alongside regular text. For instance, you could make the formatting &#8220;Alert: <code>{aisummary}<\/code>.&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How long will the AI summary be?<\/h3>\n\n\n\n<p>When <code>{aisummary}<\/code> is the only thing in the <strong>SMS Formatting<\/strong> box, text.email will generate a summary using up to 154 characters.<\/p>\n\n\n\n<p>If you combine <code>{aisummary}<\/code> with other text or formatting variables, text.email automatically accounts for the space they use and makes the AI summary shorter.<\/p>\n\n\n\n<p>For example, with this format: <code>AI Summary Begins Now: {aisummary}<\/code>, the phrase <code>AI Summary Begins Now: <\/code> uses 23 characters including the space, so the generated summary is sized to fit within the remaining allotment.<\/p>\n\n\n\n<p>When you use <code>{aisummary}<\/code>, <strong>text.email attempts to keep the finished message to a single SMS segment<\/strong>. This applies even if your account settings allow more than one segment per message.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example of a long email<\/h3>\n\n\n\n<p>Suppose text.email receives this server-monitoring email, which is more than 2,000 characters long:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Subject: CRITICAL ALERT - Production Application Health Check Failed\n\nThis is an automated notification from Northstar Infrastructure Monitoring.\n\nAn important health check has failed for a device in your production environment. Immediate investigation may be required.\n\nALERT DETAILS\n\nCurrent status: CRITICAL\nServer name: PROD-WEB-2\nService: Customer Portal\nEnvironment: Production\nCheck type: HTTPS availability\nFirst failure detected: July 23, 2026 at 3:42:18 PM EDT\nMost recent check: July 23, 2026 at 3:47:18 PM EDT\nConsecutive failures: 6\nEscalation level: 2\n\nTECHNICAL DETAILS\n\nThe monitoring agent attempted to connect to:\n\nhttps:&#47;&#47;portal.example.com\/account\/login\n\nThe connection could not be completed within the configured 30-second timeout period. The most recent attempt ended with the following error:\n\nConnection timed out while waiting for a response from 10.24.18.62 on TCP port 443.\n\nDNS resolution completed successfully in 31 milliseconds. A TCP connection was initiated, but the remote server did not complete the TLS handshake before the timeout expired.\n\nRECENT CHECK RESULTS\n\n3:42 PM - Failed - 30.0 seconds - Connection timeout\n3:43 PM - Failed - 30.0 seconds - Connection timeout\n3:44 PM - Failed - 30.0 seconds - Connection timeout\n3:45 PM - Failed - 30.0 seconds - Connection timeout\n3:46 PM - Failed - 30.0 seconds - Connection timeout\n3:47 PM - Failed - 30.0 seconds - Connection timeout\n\nThe server responded normally during the previous check at 3:41 PM, with an HTTP 200 response time of 842 milliseconds.\n\nRECOMMENDED ACTIONS\n\nVerify that PROD-WEB-2 is running and accepting HTTPS connections. Review the web server logs, application logs, firewall rules, and current CPU and memory utilization. If this outage is related to scheduled maintenance, you may temporarily pause this alert from the monitoring dashboard.\n\nView the complete incident, acknowledge the alert, or modify notification settings in your Northstar dashboard.\n\nIncident ID: INC-847291\nMonitoring region: US-East\nNotification policy: Production Critical Alerts\n\nThis message was sent automatically. Please do not reply to this email.<\/code><\/pre>\n\n\n\n<p>If the SMS Formatting box just contains <code>{aisummary}<\/code> then text.email could turn that entire email into a tighter text message:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PROD-WEB-2's customer portal has been down since 3:42 PM. Six HTTPS checks failed because the connection to port 443 timed out.<\/code><\/pre>\n\n\n\n<p>The important information was spread across the subject, alert details, technical explanation, and recent-results table.<\/p>\n\n\n\n<p>Truncating the body would have omitted key details, while extracting it precisely with regex would require creating and testing a pattern for several different fields. (And also, could break if anything in that template is ever missing or changed in the future.)<\/p>\n\n\n\n<p><code>{aisummary}<\/code> produces a useful alert in a single text without that setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"when-to-use\">When Should You Use AI Summaries Versus Standard SMS Formatting?<\/h2>\n\n\n\n<p>As I said before, AI summaries are the latest formatting option here in text.email \u2014 but certainly aren&#8217;t the only option. <\/p>\n\n\n\n<p>Lots of text.email subscribers use our SMS formatting (which includes <code>{to}<\/code>, <code>{subject}<\/code>, <code>{from}<\/code>, and <code>{body}<\/code>). And for more advanced situations, regex is also available.<\/p>\n\n\n\n<p>So <strong>when should you use those formatting options vs. the AI summaries<\/strong>?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>the basic variables<\/strong> when the email is <strong>simple<\/strong>. For instance, when you know the key info is always in the subject line or the beginning of the body.<\/li>\n\n\n\n<li>Use <strong>regex<\/strong> when the email is <strong>predictably templated<\/strong> and <strong>you want exact control<\/strong> over the result.<\/li>\n\n\n\n<li>And use <strong>AI summaries<\/strong> when there&#8217;s <strong>useful info scattered throughout the email<\/strong>, or <strong>the layout varies<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Rule of thumb: <code>{aisummary}<\/code> is designed for convenience. It saves you from having to inspect a complicated email, determine where every relevant value appears, and construct the exact regex needed to extract it.<\/p>\n\n\n\n<p><strong>Because it is AI-generated, however, the wording can vary<\/strong>. It&#8217;s not intended to guarantee an exact field order or identical output every time.<\/p>\n\n\n\n<p>So if you need every SMS to look precisely the same (or you need to reliably extract particular fields), regex formatting is still the best approach.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example 1: Server-monitoring alerts<\/h3>\n\n\n\n<p>Suppose a monitoring service sends an email containing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The affected server<\/li>\n\n\n\n<li>The failed check<\/li>\n\n\n\n<li>The current status<\/li>\n\n\n\n<li>The failure time<\/li>\n\n\n\n<li>Diagnostic values<\/li>\n\n\n\n<li>A table of recent results<\/li>\n\n\n\n<li>Dashboard and account links<\/li>\n\n\n\n<li>A standard notification footer<\/li>\n<\/ul>\n\n\n\n<p>Using <code>{subject}<\/code> might produce:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Critical Problem Detected<\/code><\/pre>\n\n\n\n<p>That tells you something is wrong&#8230; but not what happened.<\/p>\n\n\n\n<p>Using <code>{body:120}<\/code> might capture the first 120 characters, but the important info could appear much later in the email.<\/p>\n\n\n\n<p>A regex could extract the server, check, time, and error. But you would need to identify every field&#8217;s location and create the appropriate pattern. You might also need to change the regex if the monitoring service updates its template.<\/p>\n\n\n\n<p>So using <code>{aisummary}<\/code> likely makes more sense. It could give you something like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PROD-WEB-2 is down. HTTPS checks have failed since 3:42 PM. Last response: connection timed out.<\/code><\/pre>\n\n\n\n<p>The AI finds the important details even when they appear in different parts of the message.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example 2: Database backup reports<\/h3>\n\n\n\n<p>A backup system might send a large table listing every database, backup sizes, durations, destinations, and statuses.<\/p>\n\n\n\n<p>A regex can work if the report always follows the same structure. It&#8217;s also the best approach if you need the SMS to contain fields in an exact format like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CustomerDB | FAILED | Disk full<\/code><\/pre>\n\n\n\n<p>But if the failed database could appear on any row&#8230; or several databases might fail at once&#8230; or the detailed error might appear under the table&#8230; or a bunch of other variations, then creating a regex is likely too tricky. Using <code>{aisummary}<\/code> is a better bet.<\/p>\n\n\n\n<p>So a report that runs several screens long could come back as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>CustomerDB and BillingDB backups failed at 2:14 AM. Disk full on the backup target. The other 12 databases finished normally.<\/code><\/code><\/pre>\n\n\n\n<p>Wherever the failed rows landed in the table, the summary finds them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example 3: Website form notifications<\/h3>\n\n\n\n<p>Website form emails can be difficult to format because different forms contain different fields.<\/p>\n\n\n\n<p>A sales inquiry might include a name, company, phone number, budget, and message. A support request might instead include an account number, issue category, browser version, and technical description.<\/p>\n\n\n\n<p>A regex designed for the sales form may not work for the support form. You could create different text.email addresses or formatting rules for each form, but that creates additional setup.<\/p>\n\n\n\n<p>Using <code>{aisummary}<\/code> could turn a sales inquiry into:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>New inquiry from Maria at Acme Corp. She wants pricing for 50 users and requested a call tomorrow afternoon at 937-555-0142.<\/code><\/pre>\n\n\n\n<p>Or if someone puts something totally different into the form, <code>{aisummary}<\/code> is malleable and produces:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Customer 18492 cannot log in after resetting their password. The problem occurs in Chrome on Windows.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"get-started\">Get Started Using AI Summaries in text.email<\/h2>\n\n\n\n<p>If you have a text.email account, good news: AI summaries are live.<\/p>\n\n\n\n<p>To get started, just sign into your account, open the settings, and find the <strong>SMS Formatting<\/strong> section of the page.<\/p>\n\n\n\n<p>Enter: <code>{aisummary}<\/code> in the box.<\/p>\n\n\n\n<p>And the next time text.email receives a message at your email to SMS address, <strong>it will use AI to turn the email into a short SMS containing the information that matters most<\/strong>.<\/p>\n\n\n\n<p><em>(Not a text.email subscriber yet? You can try it out for free with no signup. Just send an email to <code>your-number@text.email<\/code> and watch your phone for a text a few seconds later.)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using the {aisummary} formatting variable in text.email to get succinct email to text summaries.<\/p>\n","protected":false},"author":1,"featured_media":705,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,8],"tags":[],"class_list":["post-686","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email-to-sms","category-text-email-tips"],"_links":{"self":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/686","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=686"}],"version-history":[{"count":17,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/686\/revisions"}],"predecessor-version":[{"id":717,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/686\/revisions\/717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/media\/705"}],"wp:attachment":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/media?parent=686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/categories?post=686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/tags?post=686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}