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_BLOCKEDevents in the conversation timeline and events export. See External Compliance 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}/eventsreturns every interaction on a lead — messages, calls (with inline transcripts), emails, tags, opt-outs, and compliance blocks. See List events for a lead. - 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-leadGET /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/usageEndpoint: Returns your organization’s current lead usage and configured limit. See Get usage.- Lead Usage Email Alerts: Get notified by email as you approach your monthly lead limit.
lead.additionalInfo.updatedWebhook: Fires whenever variables on a lead are set, changed, or removed. See 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.
hasTransferCallSync 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.

