> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apten.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# May 2026

## New Features

* **External Compliance Checks**: Gate every outbound SMS, email, and voice attempt through your own compliance endpoint before it sends. Suppressed sends appear as `COMPLIANCE_BLOCKED` events in the conversation timeline and events export. See [External Compliance Checks](/compliance/external-checks).
* **Smarter SMS / Webchat Transfers (call-screening safe)**: SMS and webchat transfers now connect reliably for leads behind call-screening services like Google Voice, Hiya, and RoboKiller, which previously caused failures.
* **Custom Hold Music for Webchat Warm Transfers**: Upload custom hold music for warm-transfer wait periods in webchat sessions.
* **Per-Lead Events Endpoint**: New `GET /leads/{leadId}/events` returns every interaction on a lead — messages, calls (with inline transcripts), emails, tags, opt-outs, and compliance blocks. See [List events for a lead](/api-reference/leads/list-events).
* **Stable Call Recording URLs**: Call recordings are now exposed at stable URLs in the events feed, so integrations can pull audio without dashboard access.
* **Incremental Data Export Endpoints**: Pair `GET /leads?updatedSince=…` with per-lead `GET /leads/{leadId}/events?since=…` for incremental syncs into your CRM or data warehouse.
* **Knowledge Folders + Sources Explorer**: Group connected sources into folders and assign folders per customer profile. A new Sources Explorer view makes it easy to browse what's been indexed.
* **Bulk URL Submission for Web Scrape**: Paste a list of URLs at once when seeding the web-scrape knowledge base.
* **Multi-Domain Email**: Add, retire, and switch between multiple verified sending domains under **Settings → Email**.
* **Per-Key Webchat Settings**: Each webchat API key carries its own widget settings — useful for embedding the widget on multiple sites with different branding.
* **Retrievable Webchat API Keys**: Reveal webchat API keys in the dashboard after creation, instead of regenerating to re-copy.
* **Tags Scoped Per Profile**: Tags can now be scoped to specific customer profiles instead of being global.
* **`GET /v1/usage` Endpoint**: Returns your organization's current lead usage and configured limit. See [Get usage](/api-reference/usage/get-usage).
* **Lead Usage Email Alerts**: Get notified by email as you approach your monthly lead limit.
* **`lead.additionalInfo.updated` Webhook**: Fires whenever variables on a lead are set, changed, or removed. See [Lead Additional Info Updated](/webhooks/lead-additional-info-updated).
* **Delete Webhook Config from the UI**: Remove a configured webhook endpoint directly in the dashboard.
* **Profile-Level Voice Tuning**: Pacing, interruption sensitivity, and other voice settings are now configured per customer profile instead of org-wide.
* **XML / SOAP Custom Tools**: Custom Tools now accept XML / SOAP request and response bodies in addition to JSON.
* **`hasTransferCall` Sync to CRM**: New mappable boolean indicating whether the lead has ever been transferred to a human on a call.
* **External CRM Lead ID in Dashboard**: The external lead ID you set when creating the lead is now shown in the conversation header.

## Improvements

### AI & Conversation Quality

* **Personalized First Follow-Up Polish**: Reads more naturally and no longer repeats phrasing from the previous turn.
* **Smarter Reminder Handling**: When a lead replies to a reminder over multiple turns, replies now route correctly and the AI properly cancels any pending follow-up steps.
* **Apology SMS for Missed Scheduled Calls**: If an AI-scheduled follow-up call fails to connect, the lead now receives a brief apology SMS instead of being dropped silently.
* **Channel-Aware Opt-Out**: Opt-out classification now broadens when a lead explicitly references a different channel (e.g. "stop emailing me" while on SMS).
* **Live Mid-Turn Variable Updates**: Custom tool responses can now update lead variables mid-turn and the AI sees the new values in the same response.
* **Call-Screening Disclaimer**: The voice agent delivers its recording disclaimer correctly when a call hits a screener, and no longer attempts to transfer while still on the screener.
* **Warm-Transfer Hold IVR**: The warm-transfer bot now correctly classifies a human cutting in over hold-music IVR prompts.
* **Webchat Warm Transfer Cleanup**: Prevents the warm-transfer bot from fabricating capabilities or sending a duplicate first message.
* **Same-Day Follow-Up Scheduling**: You can now schedule a follow-up message for later the same day from the conversation view.
* **Significantly Faster Inbound Call Pickup**: Inbound calls connect noticeably faster.
* **Faster AI Responses**: AI reply latency across messaging, analytics, and follow-up scheduling is noticeably faster.

### Dashboard & Settings

* **Settings Redesign**: All settings tabs redesigned with a consistent section-card layout.
* **Tags + Notifications Pages**: Both list pages redesigned with a Create New dialog, empty state, and resizable condition textareas.
* **Compliance Settings in Settings Page**: Compliance configuration is now a tab inside Settings.
* **Compliance: Blocked-Outreach Indicator**: Suppressed outbound messages show inline in the conversation timeline so you can see why a send didn't go out.
* **CSV Uploads Accept Windows-1252**: Lead-import CSVs encoded in Windows-1252 (a common Excel default) now upload cleanly.
* **Click-Blocked UI Fixes**: Selects, popovers, and the file picker no longer become unclickable inside dialogs.
* **Voice Picker Polish**: Highlights Apten-recommended voices in a cleaner browsing layout.

## Bug Fixes

* Fixed a premature outbound call being created when a lead replied positively to a reminder before the scheduled time.
* Editing one step in a follow-up config no longer resets metadata on the other steps.
* Default follow-up cadence no longer continues to schedule after a lead is cancelled.
* Deduplicated custom notifications so identical conditions don't fire twice.
* Profile duplication now reflects the latest strategies and config on the source profile.
* Fixed default voice-tuning churn that could overwrite saved per-profile values.
