Schedule Send, Send & Snooze, and Keyboard Shortcuts
Schedule Send
Schedule messages to be sent at a later time. Pick from quick presets or enter a custom date and time — the message is held and delivered automatically at the scheduled moment.- Quick Presets: Choose common options like “Later Today”, “Tomorrow Morning”, or “Next Monday”
- Custom Date & Time: Pick any future date and time for precise scheduling
- Cancel Anytime: Scheduled messages show a clear indicator with a cancel button so you can revoke them before they’re sent
Send & Snooze
Send a message and immediately put the ticket on hold — in a single action. Combine your reply with a snooze so the ticket reappears at the right time without extra clicks.- Quick Snooze Presets: Snooze for 1 hour, 4 hours, tomorrow, next week, and more
- Natural Language Input: Type dates in plain language (e.g. “next Friday at 2pm”) with support for English, German, French, Dutch, Spanish, Italian, Portuguese, and Russian
- One-Click Flow: Reply and snooze together from the send button dropdown
Keyboard Shortcuts
Power through your inbox with keyboard shortcuts so you can perform common send actions without extra clicks:- ⌘/Ctrl + Enter — Send message
- ⌘/Ctrl + Shift + Enter — Send & resolve the ticket
- ⌘/Ctrl + Alt + Enter — Send & hold for customer reply
- ⌘/Ctrl + Alt + S — Open the schedule send dialog
- ⌘/Ctrl + Alt + H — Open the send & snooze dialog
Performance Improvements & Bug Fixes
Product Field Type for Tickets
Configure product fields to pull products from your connected shop integrations. Select which integrations to use (Shopify, WooCommerce, Billbee, PlentyOne, and more) and preview available products directly in the field configuration.- Integration Selection: Choose specific shop integrations to source products from
- Real-Time Preview: See available products while configuring the field
- Smart Filtering: Non-public Shopify products are automatically excluded
Flow Tester: Import Real Ticket Data
Enhanced the workflow Flow Tester to support importing actual ticket message history and attachments for more realistic testing.Key Features
- Import Ticket Messages: Fetch real conversation history from any ticket by entering its ticket number
- Attachment Support: View imported images as thumbnails and files with appropriate icons
- Preserved Formatting: HTML formatting, links, and text styling are retained from original messages
- Smart Avatars: Customer initials, agent avatars with colors, and AI agent indicators display correctly
- Clear Test Separation: A “Test Started” divider separates imported history from new test messages
CSAT Export Fields
Added CSAT-related columns to the advanced ticket export feature, allowing you to include customer satisfaction data in your CSV and Excel exports.New Export Columns
- csat_score: The customer satisfaction rating (1-5)
- csat_comment: Customer feedback text from the survey
- csat_survey_sent: Whether a CSAT survey was sent for the ticket
- csat_submitted_at: Timestamp when the customer submitted their response
CSAT Survey Support for WhatsApp & Web Widget
New Channel Support
- CTA Button: Surveys are sent with a native “Rate Us” button
- Browser-Based Survey: Opens the full survey form in the customer’s browser
- Seamless Experience: No app switching required for customers
Web Widget (v1 & v2)
- Interactive Emoji Buttons: Customers see clickable emoji rating buttons directly in chat (😡 😟 😐 😊 😍)
- One-Click Ratings: Rate satisfaction without leaving the conversation
- Instant Feedback: Responses are captured immediately
How It Works
- Add a CSAT Survey node to your workflow
- Configure the message template for each channel
- When triggered:
- WhatsApp: Sends message with “Rate Us” CTA button → Opens survey in browser
- Web Widget: Displays emoji rating buttons inline → Captures rating instantly
- Email: Sends clickable emoji scale (existing behavior)
Channel-Specific Variables
| Variable | Web Widget | ||
|---|---|---|---|
{{survey_link}} | ✅ | ✅ | ✅ |
{{likert_scale}} | ✅ | ❌ | ✅ |
Social channels (Instagram, Facebook, TikTok, YouTube) are coming soon!
Custom Ticket Fields with AI Auto-Population
Key Features
- 🎯 5 Field Types: Text, Number, Dropdown, Boolean, and Product fields with full customization
- 🤖 AI-Powered Population: Automatically fill fields by analyzing conversation context, order history, and similar tickets
- 📊 Advanced Analytics: Track field usage, trends over time, and drill down into specific values
- 🛍️ Smart Product Selection: Search from customer orders and full product catalog with variant support
- ✅ Intelligent Validation: Context-aware required field validation with automatic review workflows
- 🔍 Powerful Filtering: Filter inbox by any field value with grouped search interface
Field Types
Text Field
- Single-line or multi-line input
- Auto-save on blur or Enter key
- AI can extract information from conversations
Number Field
- Integer or decimal values
- Auto-save on blur or Enter key
- Perfect for quantities, amounts, or ratings
Dropdown Field
- Single-select with custom options
- Supports nested hierarchies (e.g., Category > Subcategory)
- AI selects most appropriate option based on context
Boolean Field
- Yes/No toggle
- Instant save on change
- Simple binary choices
Product Field
- Search from customer’s recent orders (prioritized)
- Access full product catalog from all shop integrations
- Variant support with nested selection
- Shows order context (e.g., “iPhone 15 - 256GB Black (Order #12345)”)
- Redis-cached for fast loading
- Works with Shopify, WooCommerce, and more
AI Analysis Features
Automatic Population
- On Creation: Analyzes first customer message to populate all AI-enabled fields
- On Resolution: Retries missing required fields with full conversation context
- Confidence Scoring: Only saves values with high confidence (>0.7)
- Similar Tickets: Learns from patterns in previously resolved tickets
- Product Context: Extracts products from customer’s order history
Smart Review Workflow
When AI fails to fill required fields after 3 attempts:- Automatically sets ticket to
On Holdstatus - Applies
Needs Reviewsub-status - Appears in dedicated “Needs Review” system view
- Agents can manually fill missing fields and resolve
Analytics Dashboard
Track field performance and usage patterns:Top Used Values
- Horizontal bar chart showing most popular field values
- Click any value to drill down into tickets
- Filter by date range and data scope
Trends Over Time
- Multi-line chart tracking value usage trends
- Smooth curves for pattern identification
- Automatic detection of highest-usage values
All Values Table
- Paginated table of all field values
- Sortable columns with search
- Click-to-filter integration with inbox
Filtering & Search
- Field-Based Filtering: Filter inbox by any field value
- Grouped Interface: Fields grouped with searchable options
- Multi-Field Support: Apply multiple field filters simultaneously
- Label Preservation: Maintains filter context during navigation
- Backend Optimization: Efficient query preprocessing for complex filters
Validation System
Context-Aware Validation
- General Context: Only validates non-AI required fields
- Resolution Context: Validates all required fields (AI + non-AI)
- Bulk Operations: Prevents bulk resolution if tickets have missing required non-AI fields
- Preview Modal: Shows affected tickets before blocking action
Field Key Validation
- Auto-generated from display name
- Real-time uniqueness checking
- Validates on blur, not on every keystroke
- Clear error messages with inline feedback
Performance Optimizations
- Redis Caching: Product catalogs cached for 10 minutes (500 product limit)
- Conditional Prefetching: Only prefetch product data if required product field exists
- Queue Optimization: Early exit if organization has no AI-enabled fields
- Incremental View Counts: Real-time count updates without full recomputation
Use Cases
- Product Support: Automatically link tickets to purchased products
- Case Classification: Auto-categorize tickets by type, department, or priority
- SLA Tracking: Custom fields for response time requirements
- Workflow Routing: Route tickets based on field values
- Reporting: Analyze trends by custom dimensions
- Compliance: Track required information for regulatory needs
Channel Configuration
- Channel-Specific Fields: Show different fields based on communication channel (Email, WhatsApp, etc.)
- Required Field Control: Set fields as required or optional per channel
- Smart Defaults: AI learns from channel-specific patterns
Settings & Management
- Field Configuration: Easy setup with preview panel
- Active/Archived Views: Manage field lifecycle
- Drag-to-Reorder: Custom field display order
- Bulk Actions: Archive/activate multiple fields
All field data syncs in real-time via Supabase Realtime - no manual refresh needed!
CSAT Survey Workflow Triggers
Key Features
- 📊 Score-Based Triggers: Automatically execute workflows when customers submit specific CSAT scores
- 🎯 Smart Filtering: Configure workflows to trigger on score ranges (e.g., low scores ≤ 3, high scores ≥ 4)
- ⚡ Instant Response: Workflows activate immediately after survey submission
- 🔄 Multi-Channel Support: Works across Email.. other channels coming soon.
Use Cases
- Low Score Recovery: Automatically escalate to senior support when score ≤ 2
- Thank You Messages: Send appreciation notes for high ratings (score ≥ 4)
- Feedback Collection: Request detailed feedback for neutral scores
- Internal Alerts: Notify team leads about negative experiences
How It Works
- Customer submits CSAT survey after ticket resolution
- System evaluates configured workflow triggers
- Matching workflows execute automatically based on score
- Follow-up actions happen instantly (emails, notifications, escalations)
Safety Features
- Duplicate prevention: Won’t trigger multiple times for same ticket
- Execution limits: Built-in rate limiting to prevent spam
- Channel-specific configs: Different expiration times per channel
Works with existing CSAT surveys - no migration needed!
On-Hold Tickets with Smart Scheduling
Key Features
- ⏰ Scheduled Auto-Reopen: Set exact date/time when ticket should automatically reopen
- 📝 Hold Reasons: Distinguish between “Waiting for Customer” vs “Waiting Internal”
- 🎨 Visual Indicators: Color-coded badges show hold status at a glance (Green = Customer, Purple = Internal)
- ⚙️ Organization Defaults: Configure default hold durations for internal (3 days) and external (7 days) holds
How It Works
- Change ticket status to “On Hold”
- Select reason: Waiting for Customer or Waiting Internal
- Choose duration or set custom date/time
- Ticket automatically reopens when scheduled time arrives
Use Cases
- Customer Response: Waiting for customer to provide requested information
- Internal Dependencies: Waiting for another team or system
- Scheduled Follow-ups: Follow up after specific time period
- Product Availability: Reopen when product back in stock
Visual Experience
- Badge Display: Shows “Reopens on: [Date]” with reason indicator dot
- Overdue Alerts: Clearly marks overdue on-hold tickets
- Quick Actions: Edit hold time or cancel hold with one click
- Tooltip Details: Hover for full hold reason and timestamp
Tickets automatically return to “Open” status at scheduled time - no manual intervention needed!
Performance Improvements & Bug Fixes
Improved ticket loading performance and resolved several key issues.What’s Fixed
- Fixed ticket loading delays in high-volume organizations
- Improved Sync engine reliability
- Resolved caching issues causing stale data
- Enhanced offline mode stability
Performance Gains
- 50% faster initial ticket list load
- Reduced memory usage in long sessions
- Better handling of large attachments