<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yosuke Suzuki</title>
    <description>The latest articles on DEV Community by Yosuke Suzuki (@ysuzuki_623).</description>
    <link>https://dev.to/ysuzuki_623</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3825230%2Fe0aca415-e39a-42c8-b867-37a9dd357dba.jpg</url>
      <title>DEV Community: Yosuke Suzuki</title>
      <link>https://dev.to/ysuzuki_623</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ysuzuki_623"/>
    <language>en</language>
    <item>
      <title>Amazon Connect Touchtone Buffering (Type-ahead): Building and Testing It in a Contact Flow</title>
      <dc:creator>Yosuke Suzuki</dc:creator>
      <pubDate>Thu, 11 Jun 2026 05:22:26 +0000</pubDate>
      <link>https://dev.to/ysuzuki_623/amazon-connect-touchtone-buffering-type-ahead-building-and-testing-it-in-a-contact-flow-4kb4</link>
      <guid>https://dev.to/ysuzuki_623/amazon-connect-touchtone-buffering-type-ahead-building-and-testing-it-in-a-contact-flow-4kb4</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31t788cd6tas47vkwwfq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31t788cd6tas47vkwwfq.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;## Info&lt;br&gt;
🌐 &lt;strong&gt;This article was translated from Japanese with AI assistance, then reviewed by the author.&lt;/strong&gt;&lt;br&gt;
Original (Japanese): &lt;a href="https://qiita.com/yosuke-suzuki/items/24b555ec3125f9e42527" rel="noopener noreferrer"&gt;https://qiita.com/yosuke-suzuki/items/24b555ec3125f9e42527&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In the April 20, 2026 update, Amazon Connect added &lt;strong&gt;touchtone buffering&lt;/strong&gt;, a feature that temporarily stores and holds digits a caller presses on the keypad before or during a voice prompt.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-connect-touchtone-buffering/" rel="noopener noreferrer"&gt;https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-connect-touchtone-buffering/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this, callers can enter digits before a prompt finishes, and inputs are no longer lost even if they press too early or in rapid succession. Because callers reach their destination faster, it can improve the customer experience.&lt;/p&gt;

&lt;p&gt;In this article, I actually build this into a contact flow and check how it behaves.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ℹ️ Information is current as of June 2026. Please check the official documentation for the latest details.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  What you'll learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What touchtone buffering does (Before / After)&lt;/li&gt;
&lt;li&gt;How the &lt;code&gt;Play prompt&lt;/code&gt; and &lt;code&gt;Get customer input&lt;/code&gt; blocks behave when combined with the buffer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Conclusion first
&lt;/h2&gt;

&lt;p&gt;When touchtone buffering is enabled, the IVR input experience changes as follows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1aqkc9sy2q6fq8m6fnpx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1aqkc9sy2q6fq8m6fnpx.png" alt="overview" width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After (buffering enabled)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pressing early / in bursts&lt;/td&gt;
&lt;td&gt;Inputs may be lost&lt;/td&gt;
&lt;td&gt;Held in the buffer, up to 30 digits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skipping prompts&lt;/td&gt;
&lt;td&gt;Key barge-in is possible, but there is no way to skip a prompt&lt;/td&gt;
&lt;td&gt;If digits are buffered, the prompt can be skipped entirely without playing to the end&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caller context&lt;/td&gt;
&lt;td&gt;Only input after the call connects&lt;/td&gt;
&lt;td&gt;Can be passed in advance via the dial string&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The first two ("pressing early / in bursts" and "skipping prompts") improve the input experience during the call itself: inputs are not lost when pressed early, and on a familiar menu the caller can move ahead without waiting for the prompt.&lt;/p&gt;

&lt;p&gt;The third ("caller context") applies to calls originated from a website or app (choose-to-call / app-to-call). The &lt;a href="https://docs.aws.amazon.com/connect/latest/adminguide/touchtone-buffering.html" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt; describes it as follows:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Touchtone buffering also enables applications to pass known caller context into a flow before the conversation starts. In choose-to-call and app-to-call scenarios, the originating application can append a customer identifier, web session reference, or other context to the dial string. For example, &lt;code&gt;tel:+15555555555,1234567&lt;/code&gt; sends the digits &lt;code&gt;1234567&lt;/code&gt; into the buffer the moment the call connects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  1. What is touchtone buffering
&lt;/h2&gt;

&lt;p&gt;Below is an excerpt from the &lt;a href="https://docs.aws.amazon.com/connect/latest/adminguide/touchtone-buffering.html" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt;. In short, it is a mechanism that enables &lt;strong&gt;"type-ahead" input&lt;/strong&gt; in an IVR.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Touchtone buffering in Connect Customer eliminates a common frustration in IVR systems by allowing customers to enter their complete menu path immediately (such as pressing 1-2-3 in rapid succession) or input identification numbers (such as account IDs or order numbers) without waiting for each prompt to finish or losing their inputs. This "type-ahead" capability reduces call handling time and improves self-service containment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Callers can type a menu path ahead, such as pressing &lt;code&gt;1, 2, 3&lt;/code&gt; (DTMF) together&lt;/li&gt;
&lt;li&gt;Identification numbers such as account or order numbers can also be entered without waiting for each prompt to finish&lt;/li&gt;
&lt;li&gt;Entered digits are collected in a &lt;strong&gt;temporary buffer of up to 30 digits&lt;/strong&gt; and consumed when the flow needs them&lt;/li&gt;
&lt;li&gt;Used digits are discarded immediately after processing; once the buffer reaches 30 digits, further input is ignored until space frees up&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is shorter call handling time and improved self-service containment.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Supported channels
&lt;/h2&gt;

&lt;p&gt;Only the Voice channel is supported. Other channels go to the Error branch.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Channel&lt;/th&gt;
&lt;th&gt;Supported&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Voice&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chat&lt;/td&gt;
&lt;td&gt;No (Error branch)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Task&lt;/td&gt;
&lt;td&gt;No (Error branch)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Email&lt;/td&gt;
&lt;td&gt;No (Error branch)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  3. Hands-on
&lt;/h2&gt;
&lt;h3&gt;
  
  
  3.1 Test environment
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;AWS Region: Tokyo (&lt;code&gt;ap-northeast-1&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3.2 What I tested
&lt;/h3&gt;

&lt;p&gt;I check how the IVR input behavior changes with touchtone buffering &lt;strong&gt;on / off&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Test case&lt;/th&gt;
&lt;th&gt;Buffering&lt;/th&gt;
&lt;th&gt;Expected behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Pressing a digit while the Get customer input block is running&lt;/td&gt;
&lt;td&gt;Off&lt;/td&gt;
&lt;td&gt;Since the block is waiting for input, a digit pressed during the prompt is accepted (DTMF barge-in; possible before this update too)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Pressing a digit while the Get customer input block is running&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;On&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;If a digit is in the buffer, it is dequeued automatically and the flow advances without prompting the caller&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Pressing a digit while the Play prompt block is running&lt;/td&gt;
&lt;td&gt;Off&lt;/td&gt;
&lt;td&gt;Not waiting for input, so a digit pressed during playback is not held and is lost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Pressing a digit while the Play prompt block is running&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;On&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;With the skip option enabled, the prompt is skipped entirely as long as digits remain in the buffer&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Multi-digit input&lt;/td&gt;
&lt;td&gt;Off&lt;/td&gt;
&lt;td&gt;Digits pressed before the input block's prompt are lost; the caller must enter them again after the prompt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Multi-digit input&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;On&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Digits pressed before the prompt are dequeued by the Get customer input block without prompting&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  3.3 Building the contact flow
&lt;/h3&gt;

&lt;p&gt;I build a contact flow for testing. The overall layout is below. It consists of 18 blocks in total, but I will explain the key ones: ① Set Touchtone Buffer Behavior, ② Play prompt, and ③ Get customer input.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F21i5jatayjd8hg9cfw2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F21i5jatayjd8hg9cfw2h.png" alt="flow overview" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  3.4 Block settings
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;① Set Touchtone Buffer Behavior&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Touchtone buffer option: &lt;code&gt;Enable Buffering&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7oyyk80w45a11nxwf1dt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7oyyk80w45a11nxwf1dt.png" alt="Set Touchtone Buffer Behavior" width="434" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;② Play prompt&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Text to speak (set to wait 5 seconds so I can test input during playback)&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;speak&amp;gt;&lt;/span&gt;
    Prompt playback test&lt;span class="nt"&gt;&amp;lt;break&lt;/span&gt; &lt;span class="na"&gt;time=&lt;/span&gt;&lt;span class="s"&gt;"5000ms"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    Playback finished
&lt;span class="nt"&gt;&amp;lt;/speak&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interpret as: &lt;code&gt;SSML&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmak3odcij0wq396ibup.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmak3odcij0wq396ibup.png" alt="Play prompt" width="416" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ℹ️ When you enable the &lt;strong&gt;"Skip or interrupt this prompt when touchtone buffering is enabled"&lt;/strong&gt; option, the prompt is skipped if digits remain in the buffer. It is OFF by default, so leave it unchecked for prompts that must always be played.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuhhvsuzh6tea1mdbbbkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuhhvsuzh6tea1mdbbbkt.png" alt="Skip option" width="377" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;③ Get customer input&lt;/strong&gt; (3 places)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text to speak: &lt;code&gt;DTMF test&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Options (DTMF): &lt;code&gt;1, 2, 3&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6amykoy5ojdc4ht557a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6amykoy5ojdc4ht557a.png" alt="Get customer input 1" width="381" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzp490x3tpk1iemf0q9yg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzp490x3tpk1iemf0q9yg.png" alt="Get customer input 2" width="358" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Verification
&lt;/h2&gt;

&lt;p&gt;I test whether digits pressed ahead during each block are held / consumed with touchtone buffering on / off, and whether the prompt is skipped. The test flow places a &lt;code&gt;Play prompt&lt;/code&gt; that waits 5 seconds, followed by three &lt;code&gt;Get customer input&lt;/code&gt; blocks for DTMF &lt;code&gt;1&lt;/code&gt; / &lt;code&gt;2&lt;/code&gt; / &lt;code&gt;3&lt;/code&gt;. During prompt playback I press &lt;code&gt;1, 2, 3&lt;/code&gt; ahead and check how each block processes it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Results
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Test case&lt;/th&gt;
&lt;th&gt;Buffering&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Pressing a digit while Get customer input is running&lt;/td&gt;
&lt;td&gt;Off&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Input during the prompt was accepted&lt;/code&gt; ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Pressing a digit while Get customer input is running&lt;/td&gt;
&lt;td&gt;On&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Advanced to the next block without prompting&lt;/code&gt; ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Pressing a digit while Play prompt is running&lt;/td&gt;
&lt;td&gt;Off&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Input during playback was lost&lt;/code&gt; ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Pressing a digit while Play prompt is running&lt;/td&gt;
&lt;td&gt;On&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;The prompt was skipped&lt;/code&gt; ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Multi-digit input&lt;/td&gt;
&lt;td&gt;Off&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Digits pressed before the prompt were lost&lt;/code&gt; ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Multi-digit input&lt;/td&gt;
&lt;td&gt;On&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Buffered digits were received without prompting&lt;/code&gt; ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;From the tests, I confirmed the effect of touchtone buffering on the following points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For the Get customer input block, when a digit is in the buffer the flow advances automatically without prompting (&lt;code&gt;#2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;For the Play prompt block, with the skip option enabled the prompt is skipped entirely while digits remain in the buffer (&lt;code&gt;#4&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Multi-digit type-ahead is also received without being lost (&lt;code&gt;#6&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these behaviors appeared when buffering was off, so type-ahead is clearly working.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;In this article, I tried out type-ahead digit input with touchtone buffering. Only when buffering was on were the digits pressed during and before a prompt carried over to the following blocks. For IVRs that repeat "long announcement" → "collect digits" many times, it seems worth considering from a customer-experience perspective.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-connect-touchtone-buffering/" rel="noopener noreferrer"&gt;Amazon Connect adds touchtone buffering for AI-powered self-service (What's New)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/connect/latest/adminguide/touchtone-buffering.html" rel="noopener noreferrer"&gt;Touchtone buffering in Connect Customer (Administrator Guide)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>amazonconnect</category>
      <category>update</category>
    </item>
  </channel>
</rss>
