A customer messages on Instagram, gets ignored for two days because that channel goes to a separate inbox nobody monitors, then finally calls the support line and starts the conversation from scratch. The brand looks broken because the agent did not span channels. Breeze Customer Agent went to nine channels in 2026 and the change matters less for the new logos and more for what unified context does to first-resolution rates.
The nine channels
Native:
Chat (web widget on your site)
Email (connected support inbox)
Messenger (Facebook page)
Custom Channels API:
SMS
WhatsApp (Meta Business API or BSP)
Instagram (Meta Graph API)
Telegram (Bot API)
LINE (Messaging API)
Slack (Workspace app)
Native channels turn on with configuration. Custom channels need provider accounts, BSP approval where applicable, and webhook integration to the HubSpot Custom Channels endpoint.
Why coverage matters more than capability
A best-in-class agent that only answers on web chat misses the customer who is replying to your transactional WhatsApp message and the prospect who DMs your Instagram. Coverage gaps create channel-specific abandonment that no resolution-rate metric on the covered channels reveals.
Without coverage:
Customer DMs Instagram -> ignored 48h -> abandons
Brand looks broken on the channel customer chose
No data captured because no system received the message
With coverage:
Same DM -> agent responds in 30s -> resolved or escalated
Brand looks responsive
Data captured, learning compounds
Identity resolution across channels
The agent feels like one entity only when conversations thread by contact identity, not by channel session:
Identity priority:
1. Verified email (web sign-in)
2. Verified phone (SMS, WhatsApp)
3. Channel handle linked to existing CRM contact
4. New contact created with channel handle as identifier
A misconfigured identity layer creates a duplicate contact for every channel. Reps see partial history, the agent loses context, and reports double-count.
Channel-specific response tuning
One agent prompt, channel-specific output adaptation. Configure response rules per channel:
SMS: plain text, <160 chars per message,
shortened links, no markdown
WhatsApp: light markdown, 24-hour free-form window,
template messages outside window, image OK
Instagram: emojis fine, 2-3 short paragraphs max,
image attachments handled
Telegram: markdown supported, longer replies acceptable
LINE: formal in JP markets, sticker-friendly
Slack: thread replies, mentions for handoff
Email: full formatting, signature, longer-form OK
Test each channel independently. A reply tuned for email feels stiff on SMS and verbose on Instagram.
Handoff that keeps context
When the agent escalates, the receiving human gets the full thread plus extracted context:
// Handoff payload to human queue
{
conversation_id: "conv_8421",
channel: "whatsapp",
customer: { name: "Marco", phone: "+34...", email: "..." },
intent: "billing.refund_dispute",
bot_attempts: 2,
bot_summary: "Customer disputes Apr 2 charge of 89 EUR. Verified card.",
next_action: "review charge, issue refund or explain",
priority: "P2",
language: "es"
}
The human opens with context. The customer does not start over.
Measurement per channel
Per channel:
Deflection rate
First-response time
Handle time (agent + human)
Handoff rate
Resolution rate
CSAT post-resolution
Cost per resolution (under outcome pricing)
Mis-routes (manual reassign count)
Compare across channels but expect different baselines. WhatsApp leans higher complexity than SMS; Slack inbound tends technical. Set channel-specific thresholds rather than one global SLA.
Failure modes per channel
Provider outages, BSP suspensions, template approvals expiring, and webhook signature mismatches each break a single channel silently. Build a synthetic ping per channel that runs every 30 minutes and pages on failure. The first sign of a channel outage should be your monitoring, not a customer complaint.
What to do this week
Audit which channels your customers actually use, prioritize the top three for full agent rollout including identity resolution, configure synthetic monitoring per channel, and verify handoff payloads carry context before declaring nine-channel coverage.