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

# Outbound Campaigns

> Upcoming features and improvements for Outbound Campaigns

export const updatesData = {
  "updates": [{
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Unified Messages Page",
    "description": "All your conversations are now in one place. SMS, web chat, and workflow messages are consolidated into a single Messages page for faster response times and easier management.",
    "items": [{
      "label": "Single Inbox",
      "description": "View and respond to SMS, web chat, and workflow-triggered conversations from one screen"
    }, {
      "label": "Workflow Filters",
      "description": "Filter conversations by the workflow type that triggered them"
    }, {
      "label": "Web Chat Support",
      "description": "Send and receive web chat messages directly from the Messages page"
    }, {
      "label": "Call-to-Conversation Links",
      "description": "Dropped responder text conversations now link directly to the related call for quick context"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Team Alerts",
    "description": "Configure alerts scoped to specific teams so the right people are informed about the calls that matter most. Available under your team settings.",
    "items": [{
      "label": "Team-Scoped Configuration",
      "description": "Set up alerts for specific teams with customizable trigger conditions"
    }, {
      "label": "Detailed Email Notifications",
      "description": "Alert emails now include expanded call details for faster triage"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Revenue Attribution KPI",
    "description": "A new KPI on the dashboard showing revenue attributed to AI-handled calls, giving you direct visibility into Avoca's business impact.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Enterprise Calls Dashboard",
    "description": "Enterprise accounts now have a dedicated calls dashboard with visual call-flow diagrams, advanced filtering, and inline call details.",
    "items": [{
      "label": "Sankey Diagrams",
      "description": "Visual call-flow diagrams to understand how calls route through your organization"
    }, {
      "label": "Advanced Filtering",
      "description": "Filter by team, date range, call outcome, and more from a dedicated sidebar"
    }, {
      "label": "Inline Call Details",
      "description": "View full call details without leaving the dashboard"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "Custom Call Reasons",
    "description": "Create, edit, and manage your own call reason categories to match how your business classifies incoming calls. Override a call's bookability and reason directly from the dashboard.",
    "items": [{
      "label": "Full CRUD for Call Reasons",
      "description": "Add, edit, and remove call reasons from your settings"
    }, {
      "label": "Manual Overrides",
      "description": "Override any call's bookability status and reason classification, with changes reflected in your metrics"
    }, {
      "label": "Recovery Tracking",
      "description": "Mark calls as recovered or not recovered to track missed-opportunity follow-up"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "Booking Overrides Knowledge Base",
    "description": "Define booking override rules in a dedicated knowledge base so the AI can handle edge-case scheduling scenarios your way.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "Smarter Transfer Routing",
    "description": "The AI now uses conversation context to avoid asking redundant questions before transferring a call, resulting in smoother handoffs and shorter call times.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "Voicemail Handling for Outbound Calls",
    "description": "The AI now detects and appropriately handles voicemails during outbound and unanswered call workflows instead of continuing as if the caller picked up.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "Booking Failure Notifications",
    "description": "Receive email notifications when bookings fail, with a toggle to control alert delivery. Never miss a failed booking again.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "Custom Emergency Messages",
    "description": "Configure a custom message that plays to callers during emergency situations, replacing the default system message.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Responder",
    "title": "On-Call Calendar Refresh",
    "description": "The on-call calendar has been redesigned with an updated look. Emergency contact info now appears directly on call details.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Outbound Campaigns",
    "title": "Audience Preview and Logs",
    "description": "Preview the audience that will be targeted by a campaign and view delivery logs directly from the Campaigns page before sending.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Outbound Campaigns",
    "title": "Workflow Campaign Builder (v3)",
    "description": "A redesigned campaign creation experience for building workflow-based outbound campaigns, with direct call agent selection and advanced audience filters.",
    "items": [{
      "label": "Direct Agent Selection",
      "description": "Choose specific call agents to use within outbound calling workflows"
    }, {
      "label": "Advanced Audience Filters",
      "description": "More powerful filtering options for targeting the right customers"
    }, {
      "label": "Appointment Reminders",
      "description": "Automatically send appointment reminder messages to customers as part of your campaigns"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Outbound Campaigns",
    "title": "A/B Testing for Voice Assistants",
    "description": "Run A/B tests on your voice assistant configurations to compare performance and find what works best for your customers.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Dispatch",
    "title": "Dispatching Improvements",
    "description": "Several enhancements to the dispatching experience for better technician management and route optimization.",
    "items": [{
      "label": "Customer Name on Board",
      "description": "The dispatching board now displays customer names for each job at a glance"
    }, {
      "label": "Per-Technician Drive Time Caps",
      "description": "Set individual home addresses and maximum drive time limits for each technician"
    }, {
      "label": "Optimization Results",
      "description": "View the results of dispatch optimization runs and persist manual runs"
    }, {
      "label": "Next Working Day Autopilot",
      "description": "Autopilot now automatically targets the next working day, skipping weekends and holidays"
    }, {
      "label": "Performance Export",
      "description": "Export technician performance data to Excel for offline analysis"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Coach",
    "title": "Call Reasons and Filters",
    "description": "Coach now includes a Call Reasons column and filter for easier call review. Reclassifications show the user's name instead of an ID, and calls link directly to customer profiles in ServiceTitan.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Simple Scheduler",
    "title": "Scheduling Improvements",
    "description": "Several enhancements to the Simple Scheduler for a more polished booking experience.",
    "items": [{
      "label": "UI Polish",
      "description": "Improved dropdowns, emergency scheduling guidance, and dark mode cleanup"
    }, {
      "label": "Multi-Checkbox Consent",
      "description": "Support for multi-checkbox consent forms with A2P auto-fill"
    }, {
      "label": "Booking Window Filters",
      "description": "Filter available booking windows by minimum start date and job type"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Integrations",
    "title": "Albiware CRM Support",
    "description": "You can now connect Avoca to Albiware with full configuration and contact management support.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Integrations",
    "title": "Housecall Pro Rescheduling and Cancellation",
    "description": "Reschedule and cancel appointments end-to-end directly through the Housecall Pro integration. Job links now appear across all call views.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Integrations",
    "title": "ServiceTitan Leads Sync",
    "description": "Actionable bookings from ServiceTitan are now automatically synced into your Avoca leads table, with two-way writeback when booking statuses change.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Prompt Builder Enhancements",
    "description": "The Prompt Builder now loads faster with caching, supports inline preview of changes, and includes assistant config versioning so you can review and roll back changes.",
    "items": [{
      "label": "Config Versioning",
      "description": "Track and manage versions of your assistant configuration"
    }, {
      "label": "Variable Overrides",
      "description": "Customize assistant behavior with variable overrides without modifying the base configuration"
    }, {
      "label": "Inline Preview",
      "description": "Preview prompt changes before deploying them"
    }]
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Dashboard Migration Progress",
    "description": "Several key pages have been migrated to the new dashboard, including Leads, CRM Sync, Campaign Exclusions, Speed to Lead Webhooks, and Responder Settings. A migration banner now guides you through the transition.",
    "items": []
  }, {
    "date": "2026-04-03",
    "displayDate": "April 3rd, 2026",
    "product": "Platform",
    "title": "Bug Fixes and Improvements",
    "description": "Various fixes and improvements across the platform.",
    "items": [{
      "label": "Warm Transfer Fix",
      "description": "Resolved an issue where bookability status was not correctly set during warm transfers"
    }, {
      "label": "Post-Call Booking Fix",
      "description": "Fixed an issue where post-call bookings could be associated with the wrong customer or location"
    }, {
      "label": "Duplicate Call Records Fix",
      "description": "Calls that result in multiple jobs no longer create duplicate call records"
    }, {
      "label": "Abandoned Transfer Reclassification",
      "description": "Abandoned transfer call legs are now correctly reclassified so they don't skew your metrics"
    }, {
      "label": "Transfer Destinations for All CRMs",
      "description": "Transfer destination lookups now work with CRMs beyond ServiceTitan, including HCP, Clypboard, FieldRoutes, and more"
    }]
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Coach",
    "title": "Dialpad Integration",
    "author": "Dragos",
    "items": []
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Coach",
    "title": "Custom Alerts",
    "author": "Dragos",
    "items": []
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Coach",
    "title": "Enhanced Reclassification Experience",
    "author": "Christine Munar",
    "description": "We've made it easier and more intuitive to review and manage your calls",
    "items": [{
      "label": "Unified View",
      "description": "Call Types and Call Reasons are now shown in a single consolidated table, simplifying the review process"
    }, {
      "label": "Smarter Filtering",
      "description": "Use column-level filters and quick-select options like Qualified Unbooked and Unreviewed for faster navigation"
    }, {
      "label": "Manual Edits",
      "description": "You can now manually change Call Types and Reasons—no longer limited to AI-suggested options"
    }]
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Coach",
    "title": "Bookable Definitions Feedback Loop",
    "author": "Christine Munar",
    "description": "Help improve your AI suggestions by giving direct feedback",
    "items": [{
      "label": "Smart Feedback",
      "description": "When you manually update a Call Type, the system will analyze your changes and suggest updates to your bookability criteria"
    }, {
      "label": "Easy Setup",
      "description": "To enable this, go to Settings and turn on 'Suggest Bookability Criteria Updates During Reclassification'"
    }]
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Coach",
    "title": "New Reclassification Settings",
    "author": "Christine Munar",
    "description": "Take more control over how calls are classified in Coach > Settings > Reclassification",
    "items": [{
      "label": "Cleaner, More Intuitive UX",
      "description": "Improved interface for managing reclassification settings"
    }, {
      "label": "Suggest Bookability Criteria Updates During Reclassification",
      "description": "New Setting -- Enable AI to recommend changes to your bookability rules during reclassification"
    }, {
      "label": "Auto Call Types Reclassification",
      "description": "New Setting -- Choose which Call Types should be automatically reclassified by the system"
    }]
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Speed-to-Lead",
    "title": "Speed to Lead Texting",
    "author": "Aditya",
    "description": "Enhanced lead engagement with automated text messaging",
    "items": [{
      "label": "Call First, Text on No Answer",
      "description": "Automatically initiates a call, and if there's no pickup, sends a 2-way bookable text"
    }, {
      "label": "Smart Follow-up",
      "description": "Intelligent prompting to guide prospects toward booking appointments"
    }, {
      "label": "Seamless Booking Integration",
      "description": "Direct booking capabilities within the text conversation"
    }, {
      "label": "Response Tracking",
      "description": "Monitor text engagement and conversion rates"
    }],
    "note": "Optional feature to initiate with text before calling is planned for future release."
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Outbound Campaigns",
    "title": "Booking Goals",
    "author": "Kuldeep",
    "items": []
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Outbound Campaigns",
    "title": "Schedule Controls",
    "author": "Kuldeep",
    "items": []
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "Outbound Campaigns",
    "title": "Outbound Maintenance Texting",
    "author": "Aditya",
    "description": "Goal-based texting campaigns for maintenance and follow-ups",
    "items": [{
      "label": "Batch Text Campaigns",
      "description": "Send 2-way bookable texts in controlled batches"
    }, {
      "label": "Goal-Based Progression",
      "description": "Check campaign goals before sending next batch"
    }, {
      "label": "Smart Scheduling",
      "description": "Configure optimal send times for your audience"
    }, {
      "label": "Retry via Call",
      "description": "Fallback to phone calls for non-responsive text recipients"
    }, {
      "label": "Performance Tracking",
      "description": "Monitor batch performance and goal achievement"
    }]
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "SMS",
    "title": "Texting Infrastructure",
    "author": "Jackson",
    "description": "Major infrastructure improvements for texting capabilities",
    "items": [{
      "label": "Multi-Tenant Awareness",
      "description": "All texts now properly handle existing Twilio tenant vs ISV subaccount configurations"
    }, {
      "label": "Messaging Service Integration",
      "description": "Twilio Messaging Service SIDs work seamlessly without manual intervention"
    }, {
      "label": "Use Case Mapping",
      "description": "Phone numbers are intelligently mapped to specific use cases"
    }, {
      "label": "Phone Number Provisioning",
      "description": "New admin console for easier number management"
    }, {
      "label": "Split Tenant Support",
      "description": "Customers can have Responder in one tenant and Texting in another"
    }]
  }, {
    "date": "2025-08-08",
    "displayDate": "August 8th, 2025",
    "product": "SMS",
    "title": "Texting UI",
    "author": "Jackson",
    "description": "New user interface for managing text conversations",
    "items": [{
      "label": "New Table Flow",
      "description": "Redesigned conversation view for better text management"
    }, {
      "label": "Enhanced Visibility",
      "description": "Clear overview of all ongoing text conversations"
    }, {
      "label": "Improved Navigation",
      "description": "Easier access to conversation history and details"
    }, {
      "label": "Performance Optimized",
      "description": "Faster loading and real-time updates"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Workflows",
    "title": "Campaign Flow",
    "author": "Aditya",
    "description": "New campaign management system",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Platform",
    "title": "Tools Correlation",
    "author": "Jackson",
    "description": "Enhanced tracking across tools",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Responder",
    "title": "Responder Dashboard",
    "author": "Tanmay",
    "description": "Pagination bug fix",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Platform",
    "title": "Search with GPT-5",
    "author": "Bilal",
    "description": "Advanced search capabilities",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "SMS",
    "title": "Texting Escalations",
    "author": "Jackson",
    "description": "Ownership system implementation",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Coach",
    "title": "Search Bar",
    "author": "Tanmay",
    "description": "Added customer search functionality to Coach dashboard, enabling filtering by customer name or phone number for quick call lookup",
    "loomUrl": "https://www.loom.com/share/1b157a7021ec46f9a67e4fa8b66695e6",
    "items": []
  }, {
    "date": "2025-08-16",
    "displayDate": "August 16th, 2025",
    "product": "SMS",
    "title": "Texts Page Performance",
    "author": "Jackson",
    "description": "Significant performance improvements",
    "items": []
  }, {
    "date": "2025-08-16",
    "displayDate": "August 16th, 2025",
    "product": "SMS",
    "title": "Escalated Texts",
    "author": "Jackson",
    "description": "New tab view for escalations",
    "items": []
  }, {
    "date": "2025-08-16",
    "displayDate": "August 16th, 2025",
    "product": "Platform",
    "title": "Validation System",
    "author": "Aditya",
    "description": "XLSX template support",
    "items": []
  }, {
    "date": "2025-08-18",
    "displayDate": "August 18th, 2025",
    "product": "Coach",
    "title": "Agent Performance",
    "author": "Tanmay",
    "description": "Tab updates and duplicate agent fixes",
    "items": []
  }, {
    "date": "2025-08-18",
    "displayDate": "August 18th, 2025",
    "product": "Integrations",
    "title": "1-800-GOT-JUNK",
    "author": "Yiran",
    "description": "Opportunity ID searching",
    "items": []
  }, {
    "date": "2025-08-18",
    "displayDate": "August 18th, 2025",
    "product": "Responder",
    "title": "Technician Skills",
    "author": "Marco",
    "description": "AdCap integration",
    "items": []
  }, {
    "date": "2025-08-18",
    "displayDate": "August 18th, 2025",
    "product": "Responder",
    "title": "Capacity Filtering",
    "author": "Christian",
    "description": "Filter by skills and time thresholds",
    "items": []
  }, {
    "date": "2025-08-18",
    "displayDate": "August 18th, 2025",
    "product": "Outbound Campaigns",
    "title": "Maintenance Texting",
    "author": "Aditya",
    "description": "Date formatting fixes",
    "items": []
  }, {
    "date": "2025-08-19",
    "displayDate": "August 19th, 2025",
    "product": "Simple Scheduler",
    "title": "Simple Scheduler Dashboard",
    "author": "Ryan",
    "description": "Comprehensive management dashboard",
    "items": []
  }, {
    "date": "2025-08-19",
    "displayDate": "August 19th, 2025",
    "product": "SMS",
    "title": "Audience List",
    "author": "Jackson",
    "description": "Attached customers to conversations",
    "items": []
  }, {
    "date": "2025-08-19",
    "displayDate": "August 19th, 2025",
    "product": "Integrations",
    "title": "YMM Improvements",
    "author": "Yiran",
    "description": "Download button fix and repost issue button",
    "items": []
  }, {
    "date": "2025-08-19",
    "displayDate": "August 19th, 2025",
    "product": "SMS",
    "title": "Bulk Text Queueing",
    "author": "Jackson",
    "description": "Error handling improvements",
    "items": []
  }, {
    "date": "2025-08-20",
    "displayDate": "August 20th, 2025",
    "product": "Simple Scheduler",
    "title": "Contact Info and Dashboard",
    "author": "Ryan",
    "description": "Contact info prompt for wrong service areas, user dashboard",
    "items": []
  }, {
    "date": "2025-08-20",
    "displayDate": "August 20th, 2025",
    "product": "Integrations",
    "title": "Mainstreet Integration",
    "author": "Michael",
    "description": "New service integration",
    "items": []
  }, {
    "date": "2025-08-20",
    "displayDate": "August 20th, 2025",
    "product": "Integrations",
    "title": "WyattWorks",
    "author": "Tanmay",
    "description": "Agent exclusion functionality",
    "items": []
  }, {
    "date": "2025-08-20",
    "displayDate": "August 20th, 2025",
    "product": "Coach",
    "title": "Coach Tags",
    "author": "Tanmay",
    "description": "Tagging system implementation",
    "items": []
  }, {
    "date": "2025-08-20",
    "displayDate": "August 20th, 2025",
    "product": "Integrations",
    "title": "Simplex Integration",
    "author": "Christian",
    "description": "Cron sync and webhook support",
    "items": []
  }, {
    "date": "2025-08-20",
    "displayDate": "August 20th, 2025",
    "product": "SMS",
    "title": "Bookings Visibility",
    "author": "Jackson",
    "description": "Made bookings visible on texts",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Coach",
    "title": "Database Performance Improvements",
    "author": "Tanmay",
    "description": "Optimized Agent Performance View load times by refactoring database queries, significantly reducing page load latency",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Coach",
    "title": "Call Volume and Bookability Graphs",
    "author": "Tanmay",
    "description": "Introduced visual analytics with call volume trends and bookability metrics in Coach dashboard for data-driven insights",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Speed-to-Lead",
    "title": "LSA Connecting Speed to Lead",
    "author": "Kareem",
    "description": "Integrated Google LSA (Local Services Ads) lead capture with automated Speed-to-Lead routing, enabling instant response to high-intent customer inquiries with analytics dashboard",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Coach",
    "title": "Teams Integration",
    "author": "Dragos",
    "description": "Implemented Microsoft Teams webhook integration for real-time Coach alerts and notifications directly in team channels",
    "loomUrl": "https://www.loom.com/share/43da372a3047487aafae63d893469259",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Responder",
    "title": "Webhook Queueing",
    "author": "Christian",
    "description": "Enhanced webhook processing with intelligent queueing system",
    "loomUrl": "https://www.loom.com/share/2f8c991d5b9641c9b0d5621a845b7905",
    "items": [{
      "label": "Improved Reliability",
      "description": "Queue system ensures no webhooks are lost during high-volume periods"
    }, {
      "label": "Better Performance",
      "description": "Handles traffic spikes gracefully without dropping requests"
    }, {
      "label": "Automatic Retry",
      "description": "Failed webhooks are automatically retried with exponential backoff"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Responder",
    "title": "Cancellations Enhancement",
    "author": "Christian",
    "description": "Improved handling of appointment cancellations",
    "items": [{
      "label": "Reliable Appointment Retrieval",
      "description": "Enhanced system for more accurate appointment information retrieval"
    }, {
      "label": "Intelligent Fallback System",
      "description": "Multiple methods ensure appointment data is always accessible"
    }, {
      "label": "Consistent Experience",
      "description": "Aligned cancellation flow with proven rescheduling functionality"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "SMS",
    "title": "AI-Powered Text Message Escalation",
    "author": "Jackson",
    "description": "Monitor and escalate problematic texting conversations for human review",
    "loomUrl": "https://www.loom.com/share/6000666e9ab94a3a9c47b62006bb5a6d",
    "items": [{
      "label": "Smart Monitoring",
      "description": "AI automatically identifies conversations that need human attention"
    }, {
      "label": "Real-Time Browser Notifications",
      "description": "Get instant alerts in Chrome, Firefox, and Edge for escalated conversations"
    }, {
      "label": "Background Monitoring",
      "description": "Monitor conversations in the background while working on other tasks"
    }, {
      "label": "Revenue Protection",
      "description": "Prevent revenue opportunities from slipping through the cracks during large campaigns"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "SMS",
    "title": "Texting Booking Tracking",
    "author": "Jackson",
    "description": "Tie bookings and jobs to text conversations for complete tracking",
    "items": [{
      "label": "Booking Attribution",
      "description": "Link bookings directly to their originating text conversations"
    }, {
      "label": "Conversion Tracking",
      "description": "Track booking rates and conversion metrics for texting campaigns"
    }, {
      "label": "Job Association",
      "description": "Connect completed jobs back to their text conversation origins"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "SMS",
    "title": "Customer Escalation Notifications",
    "author": "Jackson",
    "description": "Notify customers when their conversation is escalated for review",
    "items": [{
      "label": "Automatic Customer Updates",
      "description": "Customers receive notification when AI escalates their conversation"
    }, {
      "label": "No Customer Left Hanging",
      "description": "Ensures customers know their issue is being handled by a human"
    }, {
      "label": "Seamless Handoff",
      "description": "Smooth transition from AI to human agent with customer awareness"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Simple Scheduler",
    "title": "Ownership Verification Customization",
    "description": "Unlimited customizability for the Ownership Verification section via the admin panel's new flow builder",
    "loomUrl": "https://www.loom.com/share/b0f099d0acbc44728efaa213b7adcd8e",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Simple Scheduler",
    "title": "Custom Phone Number for Errors",
    "description": "Ability to customize phone number for error messages",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Simple Scheduler",
    "title": "ServiceTitan Campaign ID Customization",
    "description": "Customize default ServiceTitan campaign ID with a new component that can search by name or ID",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Simple Scheduler",
    "title": "UTM Parameter Passing",
    "description": "Passing of the caller's UTM parameters to the callee (the widget)",
    "items": []
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Simple Scheduler",
    "title": "UTM-Based Campaign Routing",
    "description": "Ability to customize ServiceTitan campaign ID affiliated with specific sets of UTM parameters",
    "items": [{
      "label": "Smart Routing",
      "description": "Route to specific campaigns based on UTM source (e.g., source=google routes to 'Google-campaign')"
    }]
  }, {
    "date": "2025-08-15",
    "displayDate": "August 15th, 2025",
    "product": "Workflows",
    "title": "Drip Campaign and Workflow Architecture",
    "author": "Aditya",
    "description": "Foundation for automated multi-step campaign workflows and customer journey automation",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Coach",
    "title": "Minor improvements to reclassification (surfacing all calls, fallback to Abandoned agent if none)",
    "author": "Christine Munar",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Coach",
    "title": "Configurable setting for call duration for a \"short call\"",
    "author": "Christine Munar",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Coach",
    "title": "Agent Performance phase 2",
    "author": "Dragos",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Coach",
    "title": "Dialpad integration bug fixes",
    "author": "Dragos",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Coach",
    "title": "Adding tags to calls",
    "author": "Tanmay",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Coach",
    "title": "Call volume graph and untitled rubric bug fixes",
    "author": "Tanmay",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Simple Scheduler",
    "title": "Issue Types and Completion Messages",
    "author": "Ryan",
    "description": "Fixed issue types rendering, added custom completion messages",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Service Titan",
    "title": "Multiple Fixes",
    "author": "Michael",
    "description": "Multiple fixes for ID page, progress bar, and URLs",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Responder",
    "title": "Capacity Management",
    "author": "Christian",
    "description": "Added zones association UI",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Responder",
    "title": "Skills Deduplication",
    "author": "Christian",
    "description": "Automatic deduplication for skills input",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "SMS",
    "title": "Text Filtering",
    "author": "Bharat",
    "description": "Show only replied text conversations",
    "items": []
  }, {
    "date": "2025-08-21",
    "displayDate": "August 21st, 2025",
    "product": "Integrations",
    "title": "Shipley Integration",
    "author": "Ankur",
    "description": "Payment profile support and unit price fixes",
    "items": []
  }, {
    "date": "2025-08-22",
    "displayDate": "August 22nd, 2025",
    "product": "SMS",
    "title": "Metered Texting",
    "author": "Jackson",
    "description": "Introduced new metered texting functionality",
    "items": []
  }, {
    "date": "2025-08-22",
    "displayDate": "August 22nd, 2025",
    "product": "SMS",
    "title": "Self-Serve Texting",
    "author": "Jackson",
    "description": "Brand onboarding updates with self-serve texting",
    "items": []
  }, {
    "date": "2025-08-22",
    "displayDate": "August 22nd, 2025",
    "product": "Responder",
    "title": "Skills Management",
    "author": "Christian",
    "description": "Introduced skills concept and moved to sidebar",
    "items": []
  }, {
    "date": "2025-08-22",
    "displayDate": "August 22nd, 2025",
    "product": "Platform",
    "title": "React Query Caching",
    "author": "Jackson",
    "description": "Performance optimization",
    "items": []
  }, {
    "date": "2025-09-30",
    "displayDate": "Q3 2025",
    "product": "Platform",
    "title": "New Dashboard Experience",
    "description": "A completely redesigned dashboard that brings clarity and actionable insights to your fingertips",
    "items": [{
      "label": "Real-time Performance Metrics",
      "description": "Live updates on key business indicators"
    }, {
      "label": "AI-powered Insights",
      "description": "Intelligent recommendations based on your data"
    }, {
      "label": "Team Leaderboards",
      "description": "Individual scorecards and team rankings"
    }, {
      "label": "Mobile Optimization",
      "description": "Full functionality on mobile devices"
    }]
  }, {
    "date": "2025-09-30",
    "displayDate": "Q3 2025",
    "product": "Platform",
    "title": "Customer Journey Mapping",
    "description": "Visualize and understand every customer interaction across their entire lifecycle",
    "items": [{
      "label": "Timeline View",
      "description": "See every call, text, email, and chat in chronological order"
    }, {
      "label": "Interaction Analytics",
      "description": "Understand sentiment and outcomes at each touchpoint"
    }, {
      "label": "Journey Stages",
      "description": "Track customers from first contact through loyalty"
    }, {
      "label": "Drop-off Analysis",
      "description": "Identify where customers disengage and why"
    }, {
      "label": "Predictive Insights",
      "description": "AI predicts next best actions for each customer"
    }]
  }, {
    "date": "2025-09-30",
    "displayDate": "Q3 2025",
    "product": "Speed-to-Lead",
    "author": "Aditya",
    "title": "Lead Prioritization",
    "description": "Basic lead scoring and routing features",
    "items": [{
      "label": "Lead Scoring",
      "description": "Assign priority scores to leads"
    }, {
      "label": "Team Distribution",
      "description": "Route leads to available team members"
    }, {
      "label": "Response Tracking",
      "description": "Monitor how fast leads are contacted"
    }, {
      "label": "Follow-up Reminders",
      "description": "Automated alerts for lead follow-ups"
    }]
  }, {
    "date": "2025-12-31",
    "displayDate": "Q4 2025",
    "product": "Platform",
    "title": "Revenue Intelligence via Integration",
    "description": "Deep integration with your CRM and field service management tools to unlock powerful revenue insights",
    "items": [{
      "label": "Conversation-to-Revenue Tracking",
      "description": "Connect every customer interaction directly to closed deals"
    }, {
      "label": "Win/Loss Analysis",
      "description": "AI analyzes why deals close or fall through based on communication patterns"
    }, {
      "label": "Revenue Forecasting",
      "description": "Predict monthly and quarterly revenue based on pipeline activity"
    }, {
      "label": "ROI by Channel",
      "description": "Understand which communication channels drive the most revenue"
    }]
  }, {
    "date": "2025-12-31",
    "displayDate": "Q4 2025",
    "product": "Platform",
    "title": "Lead Pipelines Funnels (Marketing Funnel)",
    "description": "Transform how you visualize our existing lead pipelines with pipeline management",
    "items": [{
      "label": "Visual Pipeline Stages",
      "description": "View leads through customizable stages"
    }, {
      "label": "Automated Lead Scoring",
      "description": "AI scores leads based on interaction quality and intent"
    }, {
      "label": "Smart Follow-up Sequences",
      "description": "Automated nurture campaigns based on lead behavior"
    }, {
      "label": "Pipeline Velocity Tracking",
      "description": "Monitor how quickly leads move through stages"
    }, {
      "label": "Conversion Analytics",
      "description": "Understand what actions drive conversions at each stage"
    }, {
      "label": "Team Assignment Rules",
      "description": "Automatically route leads to the right team members"
    }, {
      "label": "Integration with Speed-to-Lead",
      "description": "Seamlessly connect instant response with long-term nurture"
    }]
  }, {
    "date": "2025-12-31",
    "displayDate": "Q4 2025",
    "product": "Analytics Coach",
    "title": "Performance Analytics",
    "description": "Basic analytics for team coaching",
    "items": [{
      "label": "Performance Forecasts",
      "description": "Simple predictions of team metrics"
    }, {
      "label": "Coaching Suggestions",
      "description": "Basic recommendations for each team member"
    }, {
      "label": "Trend Reports",
      "description": "View team performance patterns"
    }, {
      "label": "Development Plans",
      "description": "Templates for staff improvement"
    }]
  }]
};

## Upcoming Features

{(() => {
// Filter for future updates (using 6 AM ET cutoff)
const now = new Date();

// Get today's 6 AM ET as the cutoff
const cutoff = new Date();
const etOffset = -5; // ET is UTC-5 (or UTC-4 during daylight saving)
cutoff.setUTCHours(6 - etOffset, 0, 0, 0); // 6 AM ET = 11 AM UTC (standard) or 10 AM UTC (daylight)

// If we're before 6 AM ET, use yesterday's date
if (now < cutoff) {
  cutoff.setDate(cutoff.getDate() - 1);
}

const cutoffISO = cutoff.toISOString().split('T')[0];

const features = updatesData.updates.filter(update => {
  if (update.product !== "Outbound Campaigns") return false;
  return update.date > cutoffISO;
});

if (features.length === 0) {
  return <p>No upcoming features scheduled at this time. Check back soon for updates!</p>;
}

// Group by date for display
const groupedByDate = features.reduce((acc, update) => {
  if (!acc[update.displayDate]) acc[update.displayDate] = [];
  acc[update.displayDate].push(update);
  return acc;
}, {});

// Sort dates in ascending order (earliest first)
const sortedDates = Object.keys(groupedByDate).sort((a, b) => {
  const dateA = features.find(u => u.displayDate === a).date;
  const dateB = features.find(u => u.displayDate === b).date;
  return dateA.localeCompare(dateB);
});

return sortedDates.map(date => (
  <Update key={date} label={date} tags={["Outbound Campaigns"]}>
    {groupedByDate[date].map((feature, fIndex) => (
      <div key={fIndex} style={{ marginBottom: '2rem' }}>
        <h3>{feature.title}</h3>
        {feature.author && <p><em>Author: {feature.author}</em></p>}
        {feature.description && (
          <>
            <br />
            <p>{feature.description}</p>
          </>
        )}
        {feature.loomUrl && (
          <div style={{ position: 'relative', paddingBottom: '56.25%', height: 0, overflow: 'hidden', margin: '1rem 0' }}>
            <iframe 
              src={`https://www.loom.com/embed/${feature.loomUrl.split('/').pop()}?hideEmbedTopBar=true&hide_share=true&hide_title=true&hide_owner=true&hide_speed=true`}
              frameBorder="0"
              webkitallowfullscreen 
              mozallowfullscreen 
              allowFullScreen
              style={{ position: 'absolute', top: 0, left: 0, width: '100%', height: '100%', borderRadius: '8px' }}
            />
          </div>
        )}
        {feature.items && feature.items.length > 0 && (
          <ul>
            {feature.items.map((item, iIndex) => (
              <li key={iIndex}>
                <strong>{item.label}</strong> - {item.description}
              </li>
            ))}
          </ul>
        )}
        {feature.note && <Note>{feature.note}</Note>}
      </div>
    ))}
  </Update>
));
})()}

## Check Completed Features

View recently completed features in our [Changelog](/changelog).
