Build1 publisherNot yet confirmed elsewhere3 min readPublished
Amazon Connect splits Task and Email concurrency into up to five workload types per channel
Amazon Connect's workload-type capacity, launched September 9 for Task and Email, gives up to five contact types per channel their own concurrency limit. According to a dev.to write-up, a type with no matching routing-profile row leaves contacts queued with no error.
The Engineer · Build desk
What happened
- The connect:WorkloadType attribute accepts up to 500 customer-defined values, set by a flow block or by the UpdateContact API.
- Cross-channel behavior gains a middle option that lets an agent take other workload types on the same channel while blocking other channels.
- Turning on workload-type concurrency disables the channel-level setting on that channel, so the two models cannot be mixed.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- constraint A taxonomy of up to 500 values has to collapse to five classes per profile per channel, so routing design decides which distinctions survive into staffing.
- exposure Scripts that audit routing profiles through MediaConcurrency will see only the inactive channel-level fields after a switch, so they misreport real agent capacity.
- decision An oldest-contact-age alarm has to exist before a pilot starts, because an unmatched workload type produces a stuck contact and no error.
- cost Task backfills classified through UpdateContact are held to roughly 600 a minute sustained, which sets the pace of any bulk migration.
According to a write-up on dev.to, a Task or Email contact now takes four steps to reach an agent [10][14]:
1. A flow's Set contact attributes block, or an UpdateContact call for a task classified outside the flow, writes a value to connect:WorkloadType [10]. 2. The contact enters a queue [14]. 3. Routing looks for an agent whose routing profile has a row for that value and a free slot [14]. 4. That row's concurrency and cross-channel behavior govern the agent's slot [14].
Step 3 is where it breaks. A value with no matching row leaves the contact in the queue, and nothing raises an error [14]. The write-up's monitoring design watches for that case with an alarm on oldest contact age, alongside GetCurrentMetricData slot counts and a CloudWatch alarm when ConcurrentEmailsPercentage passes 80% [15].
The gap between taxonomy and configuration is wide. The attribute accepts up to 500 values, and a routing profile takes five rows per channel [6][7]. One profile can cover at most 1% of a full taxonomy on a given channel [21]. "The big taxonomy does not fit the configuration," the write-up says [18]. The classifier can be a business rule, a lookup or a model [16]. Any value it writes outside a profile's rows takes the silent path [14]. The write-up says this failure mode deserves an audit before any pilot [19]. I'd run that audit as a join: every value the flows and classifiers can write, against the rows of every profile serving those queues.
Each row takes a concurrency from 1 to 10, and a channel's rows share 10 slots in total [8]. The write-up's example puts Dispute-Review at 1 with nothing else allowed, and Statement-Request at 3 [2]. Those two rows use 4 of the channel's 10 slots [20]. Even the worked example disagrees with itself. The text has the Statement-Request agent still accepting a chat [2]. The diagram marks the same row as same-channel only [3]. That middle option of the three blocks other channels [1].
The concurrency API has a separate gap. Per the write-up, the MediaConcurrency object documents Channel, Concurrency and CrossChannelBehavior, with no workload-type field [9]. Enabling workload types on a channel disables channel-level concurrency there, and the old fields go inactive [12]. So the only fields the API documents are the ones that stop governing routing once a channel switches [22]. In my view, a script that rebuilds agent capacity from that object will report a ceiling that no longer applies [22]. The write-up does not say whether the new rows will appear in the API.
Classification also has a rate ceiling. The write-up's diagram lists UpdateContact at 10 transactions per second, with a burst of 15 [11]. Sustained, that comes to 600 task classifications a minute through the API [23].
The migration design is careful work. A contact with no explicit workload type falls back to its subtype, so a partial migration leaves existing traffic alone as long as a row exists for that subtype [13]. Teams can enable the feature channel by channel and queue by queue [13]. The staffing gain is real for email. The old model's math "only balanced on the average, never on the tail," the write-up says [17]. Email queues with handle times between 2 and 90 minutes now balance on up to five numbers instead of one [24].
What to watch
- Whether Amazon adds workload-type fields to MediaConcurrency or another routing-profile API, so existing audit tooling can read the new rows.
- Whether Connect starts emitting an error or a metric for contacts whose workload type matches no routing-profile row.
- Whether the five-rows-per-channel limit rises, or workload-type capacity extends beyond Task and Email.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence45
- Adoption
- Insufficient
- Hype gap+10
- Incentives
- Insufficient
- Confidence40
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Cross-channel behavior has three options: no other channels or workload types; only other workload types of the same channel; allow other channels concurrently.
ReportedSupportedSource: dev.to write-up2 sources— create a free account to open themView cited source - [2]
In the write-up's example, an agent on Dispute-Review (concurrency 1) receives nothing else, while an agent on Statement-Request stacks three of the same class and still accepts a chat.
ReportedSupportedSource: dev.to write-up2 sources— create a free account to open themView cited source - [3]
The write-up's diagram labels the Statement-Request row as concurrency 3, same channel only.
ReportedSupportedSource: dev.to write-up diagram2 sources— create a free account to open themView cited source - [4]
Workload-type capacity in Amazon Connect launched on September 9, 2026 for Task and Email.
- [5]
Under the old model, Amazon Connect concurrency treated every contact on a channel as the same effort; the routing profile set Maximum contacts per agent per channel plus one CrossChannelBehavior per channel.
- [6]
connect:WorkloadType is a system predefined attribute populated with the customer's own values, and it takes up to 500 values.
- [7]
A routing profile takes up to 5 workload-type rows per channel.
- [8]
Each workload-type row has its own concurrency from 1 to 10, and the sum across a channel must be 10 or less.
- [9]
The MediaConcurrency object in the concurrency API documents Channel, Concurrency and CrossChannelBehavior and no workload-type fields.
- [10]
The contact gets its connect:WorkloadType value from the Set contact attributes flow block or from the UpdateContact API; tasks can be classified outside the flow via the API.
- [11]
The write-up's diagram lists UpdateContact at 10 TPS with a burst of 15.
- [12]
A channel cannot mix the two models: enabling workload-type concurrency disables channel-level concurrency on that channel, and the old fields go inactive.
- [13]
A contact with no explicit workload type falls back to its subtype, so a partial migration does not break existing traffic as long as a row exists for that subtype; the feature can be enabled channel by channel and queue by queue.
- [14]
The connect:WorkloadType value is set early, the contact is queued, and routing matches an agent with a free slot; the value determines which routing profile row governs the agent slot, and a value with no matching row leaves the contact in queue and raises no error.
- [15]
The write-up's monitoring design uses GetCurrentMetricData SLOTS_AVAILABLE and SLOTS_ACTIVE, a CloudWatch alarm on ConcurrentEmailsPercentage above 80% for channel saturation, and an oldest-contact-age alarm for contacts with no matching row.
- [16]
The classifier that sets the workload type can be a business rule, a lookup, or a model, without touching the routing profile.
- [17]
the math only balanced on the average, never on the tail
- [18]
The big taxonomy does not fit the configuration.
- [19]
The write-up says workload-type capacity ships with a failure mode that deserves an audit before any pilot.
- [20]
The example's Dispute-Review and Statement-Request rows use 4 of the channel's 10 slots.
- [21]
One routing profile can cover at most 1% of a full 500-value workload-type taxonomy on a given channel.
- [22]
The only concurrency fields the API documents are the channel-level ones that go inactive once a channel switches to workload-type concurrency.
- [23]
At a sustained 10 TPS, UpdateContact can classify about 600 contacts per minute.
- [24]
Email queues with handle times between 2 and 90 minutes never balanced on a single number; now they balance on up to five.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toWorkload-type capacity in Amazon Connect: what actually changes
1 article · October 8, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.