<?xml version="1.0" encoding="utf-8"?>
    <feed xmlns="http://www.w3.org/2005/Atom">
     <title>NeetoDesk Blog</title>
     <link href="https://www.neeto.com/neetodesk/blog/feed.xml" rel="self"/>
     <link href="https://www.neeto.com/neetodesk/blog"/>
     <updated>2026-06-04T01:09:45Z</updated>
     <id>https://www.neeto.com/neetodesk/blog</id>
     <entry>
       <title><![CDATA[April 2026 updates  Cross-workspace tickets, smarter search, and stronger email reliability]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/april-2026-updates-cross-workspace-tickets-smarter-search-and-stronger-email-reliability"/>
      <updated>2026-05-04T07:07:36Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/april-2026-updates-cross-workspace-tickets-smarter-search-and-stronger-email-reliability</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in April 2026 in NeetoDesk.</p><h3>New features ✨</h3><h4>Move tickets across workspaces</h4><p></p><p>Tickets can now be <a rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetokb.com/p/a-7d47aea1">moved from one workspace</a> to another, making it easier to handle misrouted tickets or collaborate across teams.</p><h4>Granular report permissions</h4><p></p><p>Report access is now more flexible with separate <a rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetokb.com/p/a-f7b99005">permissions </a>for viewing assigned ticket reports vs all ticket reports, allowing better control over data visibility.</p><h4>Improved initial email sync (Gmail &amp; Outlook)</h4><p></p><p><a rel="noopener noreferrer nofollow" class="link" href="https://help.neetodesk.com/articles/connect-a-mailbox-with-gmail-or-microsoft">Mailbox sync</a> now pulls full email threads instead of individual emails, ensuring complete and accurate ticket histories from the start.</p><h3>Enhancements ✨</h3><h4>Stronger search capabilities</h4><ul class="bulletList"><li><p>Search now looks inside ticket descriptions, not just titles</p></li><li><p>Ticket search now includes cc’d email addresses</p></li></ul><h4>Improved integrations and sync reliability</h4><ul class="bulletList"><li><p>Added a backfill task to recover missed Google Workspace messages</p></li><li><p><a rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetokb.com/p/a-cc8ba2aa">Google Sheets</a> sync now handles expired tokens gracefully</p></li><li><p>Better handling of Gmail/Outlook <a rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetokb.com/p/a-01884ff7">authentication </a>expiry during sync</p></li><li><p>Improved <a rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetokb.com/p/a-64f35751">Slack notification</a> reliability and parsing</p></li></ul><h4>Better email delivery and handling</h4><ul class="bulletList"><li><p>Admins are now notified when outbound emails fail (immediate or after retries)</p></li><li><p>Temporary Gmail “server busy” errors are automatically retried</p></li><li><p>Improved handling of non-UTF8 emails and legacy encodings</p></li><li><p>Outlook email threads now display comments in the correct order</p></li></ul><h4>UX and platform improvements</h4><ul class="bulletList"><li><p>Revamped form builder and thank-you pages for <a rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetokb.com/p/a-a1829be0">ticket forms</a> with a cleaner UI</p></li><li><p>Clearer mailbox states when support email is missing</p></li><li><p>Improved handling of invalid customer emails during updates</p></li></ul><h4>Performance improvements</h4><ul class="bulletList"><li><p>Fixed ticket listing timeouts for large organizations with optimized queries and eager loading</p></li></ul><h3>Bug fixes 🛠️</h3><h4>Email and mailbox reliability</h4><ul class="bulletList"><li><p>Fixed cases where emails were sent with only a signature due to race conditions</p></li><li><p>Fixed custom domain authentication failures not being visible in UI</p></li><li><p>Fixed Gmail sync crashes caused by encoding issues</p></li><li><p>Fixed Google auth errors being silently swallowed during sync</p></li></ul><h4>Slack and external integrations</h4><ul class="bulletList"><li><p>Fixed Slack notification errors for long messages and parsing issues</p></li><li><p>Fixed race conditions in CallerDesk webhooks, causing duplicate customer creation</p></li></ul><h4>Ticketing and data integrity</h4><ul class="bulletList"><li><p>Fixed incorrect ordering of Outlook email thread comments</p></li><li><p>Fixed ticket search not including cc’d emails</p></li><li><p>Fixed invalid email updates causing unhandled errors</p></li></ul><h4>UI and workflow fixes</h4><ul class="bulletList"><li><p>Fixed team member assignment dropdown issues in tickets table</p></li><li><p>Fixed canned response insertion positioning issues</p></li><li><p>Fixed Google Sheets link overflowing UI card</p></li><li><p>Fixed bulk and individual team member removal issues</p></li><li><p>Fixed follower notifications incorrectly triggering for same-email agents</p></li><li><p>Fixed consumer ticket links redirecting agents to the wrong view</p></li></ul><p></p><p>That's everything we shipped in April month. You can follow us on <a rel="noopener noreferrer nofollow" class="link" href="https://x.com/NeetoHQ">X</a><span>, </span><a rel="noopener noreferrer nofollow" class="link" href="https://www.linkedin.com/company/neeto/">LinkedIn</a><span> and join our </span><a rel="noopener noreferrer nofollow" class="link" href="https://neeto.com/community">Slack Community</a><span> for more updates.</span></p>]]></content>
    </entry><entry>
       <title><![CDATA[March 2026 updates  Consumer portal, smarter automations, and stronger email + Slack reliability]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/march-2026-updates-consumer-portal-smarter-automations-and-stronger-email-slack-reliability"/>
      <updated>2026-04-06T09:28:44Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/march-2026-updates-consumer-portal-smarter-automations-and-stronger-email-slack-reliability</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>March 2026</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4><strong>Consumer portal for ticket management</strong></h4><p></p><p>Customers can now log in via a secure link in their email to view, reply to, close, and reopen tickets — and even create new ones. This reduces back-and-forth over email and gives customers more control over their support experience.</p><h4><strong>Execution delay for automation rules</strong><br></h4><p>Automation rules can now be configured with a delay, allowing them to trigger after a specified time instead of immediately — enabling more flexible workflows.</p><h4><strong>Auto-block spam senders</strong></h4><p></p><p>A new automation action lets you automatically block senders when a ticket is marked as spam, preventing further unwanted communication.</p><h4><strong>Canned responses on ticket creation</strong></h4><p></p><p>Agents can now apply canned responses while creating a new ticket, speeding up common workflows.</p><h3><strong>Enhancements ✨</strong></h3><h4><strong>Improved Google Sheets integration</strong></h4><ul class="bulletList"><li><p>Cleaner configuration flow with a clear “Connected” status indicator</p></li><li><p>Better handling of API rate limits and sync reliability</p></li></ul><h4><strong>Automation and workflow improvements</strong></h4><ul class="bulletList"><li><p>Reopen closed ticket logic has been moved into automation rules for more flexibility</p></li><li><p>Time-based automation rules now log execution to prevent repeated triggering</p></li><li><p>Automation emails now properly handle Outlook SafeLinks by decoding them before sending</p></li></ul><h4><strong>Better integrations (Slack, Planner, GitHub)</strong></h4><ul class="bulletList"><li><p>Improved Slack sync formatting, including proper blockquote placement and line break handling</p></li><li><p>Fixed Slack reliability issues so customer replies always appear correctly</p></li><li><p>Enhanced NeetoPlanner integration to include ticket number, description, and attachments</p></li><li><p>Improved GitHub error messaging with clearer guidance to the Admin panel</p></li></ul><h4><strong>Mailbox and email experience improvements</strong></h4><ul class="bulletList"><li><p>Cleaner UI for configuring email reply names in mailbox settings</p></li><li><p>Outgoing replies no longer include unnecessary previous message threads</p></li><li><p>Standardized and improved email parsing, including UTF-8 decoding and alias handling</p></li></ul><h4><strong>Performance improvements</strong></h4><ul class="bulletList"><li><p>Admin routes now use lazy loading, improving initial load times</p></li><li><p>Various backend optimizations and cleanup (policies, error handling, sync flows)</p></li></ul><p></p><h3><strong>Bug fixes 🛠️</strong></h3><p></p><h4><strong>Email reliability and parsing</strong></h4><ul class="bulletList"><li><p>Fixed duplicate ticket creation from threaded Gmail replies</p></li><li><p>Fixed agent email replies not matching to the correct ticket (case-sensitivity issue)</p></li><li><p>Fixed email delivery failures caused by Outlook SafeLinks rewriting</p></li><li><p>Fixed duplicate customer notifications when replies were sent via both email and NeetoDesk</p></li><li><p>Improved Gmail and Google import reliability, including deduplication and error handling</p></li><li><p>Fixed SMTP authentication issues for Google-connected mailboxes</p></li><li><p>Temporary SMTP errors are now retried automatically</p></li></ul><p></p><h4><strong>Slack integration stability</strong></h4><ul class="bulletList"><li><p>Fixed missing customer replies in Slack</p></li><li><p>Resolved Slack message handler crashes</p></li><li><p>Fixed formatting issues (line breaks, blockquotes) during sync</p></li></ul><p></p><h4><strong>Google Sheets integration</strong></h4><ul class="bulletList"><li><p>Fixed rate limit issues during sync with better throttling</p></li><li><p>Improved handling of partial sync failures and retries</p></li></ul><p></p><h4><strong>Ticket and data integrity fixes</strong></h4><ul class="bulletList"><li><p>Fixed tickets not being created for mailbox aliases</p></li><li><p>Fixed cross-organization deduplication causing missed tickets</p></li><li><p>Fixed ticket views breaking when category was blank</p></li><li><p>Fixed merge UI inconsistencies after canceling merge</p></li><li><p>Fixed duplicate contacts from concurrent CallerDesk webhooks</p></li></ul><p></p><h4><strong>Automation and rule handling</strong></h4><ul class="bulletList"><li><p>Fixed duplicate automation rule seeding errors</p></li><li><p>Fixed time-trigger rules re-firing incorrectly</p></li><li><p>Improved handling of invalid timezone values during imports</p></li></ul><p></p><h4><strong>UI and access control fixes</strong></h4><ul class="bulletList"><li><p>Fixed audit log crashes due to missing data</p></li><li><p>Fixed dropdown re-render issues causing React errors</p></li><li><p>Fixed customer satisfaction page crash when survey had no questions</p></li><li><p>Fixed agents with limited access being able to search companies/customers</p></li><li><p>Fixed signature stripping removing valid email content</p></li></ul>]]></content>
    </entry><entry>
       <title><![CDATA[February 2026 updates  Account managers, Google Sheets sync, and stronger email reliability]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/february-2026-updates-account-managers-google-sheets-sync-and-stronger-email-reliability"/>
      <updated>2026-03-03T04:14:24Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/february-2026-updates-account-managers-google-sheets-sync-and-stronger-email-reliability</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>February 2026</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4><strong>Account managers for customers</strong></h4><p>Workspaces can now assign an <strong>account manager</strong> to each customer. We’ve also introduced a new automation rule that automatically assigns incoming tickets to the customer’s account manager — making ownership clearer and responses faster.</p><h4><strong>Google Sheets integration</strong></h4><p>You can now connect a Google Sheet to continuously sync tickets — either all tickets or a filtered subset — with either all fields or selected fields. We also tightened the OAuth scope to <code>drive.file</code> for better security.</p><h4><strong>Group notification automation action</strong></h4><p>Added a new automation rule action that allows sending emails directly to the assigned group or selected groups on relevant events.</p><h3><strong>Enhancements ✨</strong></h3><h4><strong>Improved merge ticket experience</strong></h4><p>The ticket merge flow has been cleaned up:</p><ul class="bulletList"><li><p>The primary ticket now shows a clear “Primary” badge</p></li><li><p>Ticket selection order is preserved</p></li><li><p>A proper error message is shown if no primary ticket is chosen</p></li></ul><h4><strong>Better editor experience for long replies</strong></h4><p>Expanded the editor height on the ticket detail page for more comfortable long-form replies. Also fixed duplicate display of customer name/email when both were identical.</p><h4><strong>Mailbox terminology and UX clarity</strong></h4><ul class="bulletList"><li><p>Renamed <em>Support email</em> → <em>Custom support email</em></p></li><li><p>Renamed <em>Email</em> → <em>Mailbox email</em></p></li><li><p>Reordered mailbox list columns to highlight the most important information first</p></li></ul><h4><strong>Improved mailbox reauthorization flow</strong></h4><p>Reconnect links in Google/Microsoft reauthorization emails now take users directly to the correct mailbox configuration step.</p><h4><strong>Timezone-aware threaded automation emails</strong></h4><p>Timestamps shown in threaded automation emails now respect the recipient’s timezone.</p><h4><strong>Slack sync formatting improvements</strong></h4><p>Improved placement of blockquotes when syncing ticket comments to and from Slack.</p><h4><strong>Standards-compliant email address composition</strong></h4><p>Switched to using <code>Mail::Address</code> for constructing outgoing email display names, ensuring cleaner and more standards-compliant formatting.</p><h4><strong>Policy cleanup</strong></h4><p>Removed unused logic from policy files to keep authorization rules maintainable.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4><strong>Google &amp; Microsoft integration reliability</strong></h4><ul class="bulletList"><li><p>Fixed an issue where some Google emails were not being imported; the importer now paginates through full history, deduplicates messages, and correctly updates checkpoints</p></li><li><p>Resolved an issue with the Microsoft connect endpoint incorrectly identifying the logged-in user</p></li><li><p>Fixed SparkPost domain auto-creation for new authenticated email domains. This is used to allow customers to use their email address for sending comment replies.</p></li></ul><h4><strong>SMTP retry handling</strong></h4><p>Emails that fail due to transient SMTP errors (like <code>ServerBusy</code>) are now automatically retried.</p><h4><strong>CallerDesk improvements</strong></h4><p>Added proper pagination support to the CallerDesk <code>getmemberlist</code> API to ensure all agents are fetched correctly.</p><h4><strong>Draft signature isolation</strong></h4><p>Prevented drafts from showing signatures of multiple agents when accessed sequentially.</p><h4><strong>Ticket field cleanup</strong></h4><p>Fixed an issue where the last remaining subcategory could not be deleted.</p><h4><strong>Ticket view stability</strong></h4><p>Resolved a bug where ticket views failed to load when the category field was blank.</p>]]></content>
    </entry><entry>
       <title><![CDATA[January 2026 updates  Smarter API ticket creation, persistent ticket views, and better attachment handling]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/january-2026-updates-smarter-api-ticket-creation-persistent-ticket-views-and-better-attachment-handling"/>
      <updated>2026-02-06T12:17:09Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/january-2026-updates-smarter-api-ticket-creation-persistent-ticket-views-and-better-attachment-handling</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>January 2026</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4>Mailbox assignment via public API</h4><p>Tickets created through the public API are now assigned to the correct mailbox based on the email addresses in the <strong>To / CC</strong> fields, instead of always defaulting to the workspace’s default mailbox.</p><h4>Persistent ticket list columns</h4><p>Any column reordering done on the tickets list page is now saved and retained across page refreshes and sessions.</p><h4>Ticket counts on views list</h4><p>The views list page now shows the number of tickets in each view, making it easier to gauge workload at a glance.</p><h4>Improved attachment actions</h4><p>We’ve enhanced how attachments behave on ticket comments:</p><ul class="bulletList"><li><p>Open attachments in a new tab</p></li><li><p>Downloads now save files directly instead of opening them in-browser</p></li><li><p>Improved image renaming UX with a clear save icon</p></li></ul><h4>Attachment URLs in exports</h4><p>Data exports now include direct URLs for attachments added to tickets or comments, making external analysis and archival easier.</p><h3><strong>Enhancements ✨</strong></h3><h4>Improved reply editor experience</h4><p>When an agent signature is configured, the cursor is now placed correctly <strong>before</strong> the signature, making replies smoother to compose.</p><h4>Prefilled customer details on ticket creation</h4><p>When creating a ticket from the customer details page, customer fields are now automatically pre-filled in the ticket form.</p><h4>Automation rule execution order respected</h4><p>When multiple automation rules are triggered for the same event, they now execute strictly in the order configured by admins.</p><h4>Priority options cleanup</h4><p>Removed <strong>None</strong> from the default priority list, while still allowing tickets to have a null priority when needed.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4>Attachment preview stability</h4><p>Disabled browser previews for certain file formats that were causing errors. These files remain fully downloadable.</p><h4>Mailbox configuration navigation fix</h4><p>DMARC DNS details now appear correctly for already configured mailboxes. A skippable DNS details screen is shown for each verified support email.</p><h4>Original sender resolution fixes</h4><ul class="bulletList"><li><p>Fixed cases where original sender deduction broke ticket creation for NeetoForm automation emails</p></li><li><p>Resolved sender detection issues for emails synced via Google and Microsoft integrations</p></li></ul><h4>Draft signature isolation</h4><p>Draft comments no longer show signatures from multiple agents when a ticket is viewed sequentially by different team members.</p><h4>Credit card masking performance</h4><p>Fixed an outdated regex that was causing timeouts while masking credit card data in ticket logs.</p>]]></content>
    </entry><entry>
       <title><![CDATA[December 2025 updates  Mailbox connection revamp, form upgrades, and clearer automation visibility]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/december-2025-updates-mailbox-connection-revamp-form-upgrades-and-clearer-automation-visibility"/>
      <updated>2026-01-02T11:15:11Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/december-2025-updates-mailbox-connection-revamp-form-upgrades-and-clearer-automation-visibility</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>December 2025</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4><strong>Revamped mailbox connection flow</strong></h4><p>We redesigned the mailbox setup experience to highlight the most common paths first—Microsoft, Google, or direct email—before surfacing advanced settings like reply-to configuration.</p><h4><strong>File attachments in public web forms</strong></h4><p>Forms can now include file attachments, and uploaded files are automatically attached to the resulting tickets.</p><h4><strong>Paragraph fields in web forms</strong></h4><p>Added support for non-input text (like instructions or descriptions) via a paragraph field. Also removed length restrictions from form titles for greater flexibility.</p><h4><strong>Ticket fields in Zapier workflows</strong></h4><p>Ticket fields are now available in Zapier workflows triggered by ticket status events, allowing more powerful automations.</p><h4><strong>Public customers API</strong></h4><p>We introduced a new public API endpoint that allows external systems to create customers in NeetoDesk.</p><h3><strong>Enhancements ✨</strong></h3><h4><strong>Email and UI polish</strong></h4><ul class="bulletList"><li><p>Email footers now support custom font colours</p></li><li><p>Threaded reply emails now place the footer just below the new comment, not at the very end</p></li><li><p>Automation emails now correctly size images based on the configuration</p></li><li><p>Date/time tooltips now follow the standard Neeto formatting (e.g., “a month ago,” “3 days ago”)</p></li></ul><h4><strong>Better automation visibility</strong></h4><p>Complex automation rule actions—like email templates or API payloads—are now readable from the rule view screen, not just in edit mode.</p><h4><strong>Views &amp; exports</strong></h4><ul class="bulletList"><li><p>Views can now be cloned</p></li><li><p>Admins can now manage views even if not part of the group</p></li><li><p>Data exports now support custom date ranges</p></li></ul><h4><strong>Reports page updates</strong></h4><ul class="bulletList"><li><p>Default range changed to last 30 days (previously 7)</p></li><li><p>Fixed custom filter accuracy for last_week and last_month</p></li></ul><h4><strong>System field and ticket list improvements</strong></h4><ul class="bulletList"><li><p>Admins can now reorder ticket types, categories, and priorities</p></li><li><p>Ticket custom fields can now be shown directly in the ticket list for faster scanning</p></li></ul><h4><strong>Improved ticket creation UX</strong></h4><p>The default mailbox is now auto-selected only if there’s a single mailbox in the workspace. If multiple are present, the agent must choose explicitly.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4><strong>Automation rules</strong></h4><ul class="bulletList"><li><p>Fixed issues saving rules when subcategories or team member changes were used as triggers</p></li><li><p>Resolved image sizing issues in automation emails</p></li></ul><h4><strong>CallerDesk integration</strong></h4><ul class="bulletList"><li><p>Allowed clearing the default CallerDesk number</p></li><li><p>Fixed missing call recordings in ticket activity</p></li><li><p>Ensured tickets are created only for missed calls, not received ones</p></li><li><p>Improved error messaging for API/UI failures</p></li></ul><h4><strong>Localization &amp; frontend stability</strong></h4><ul class="bulletList"><li><p>Fixed dropdowns (e.g., status, priority) not working in non-English locales</p></li><li><p>Prevented frontend crashes from sender name formatting edge cases</p></li><li><p>Fixed onboarding bug where “Use this email” button was unresponsive</p></li></ul><h4><strong>Email sync and parsing</strong></h4><ul class="bulletList"><li><p>Fixed edge cases where Outlook or Google emails with inline CSS or no body failed to create tickets/comments</p></li><li><p>Improved handling of large attachments (~10MB) in incoming emails</p></li></ul><h4><strong>Drafts and caching</strong></h4><ul class="bulletList"><li><p>Prevented frontend exceptions during ticket updates due to caching</p></li><li><p>Handled concurrent draft deletion gracefully without breaking UI</p></li></ul><h4><strong>Miscellaneous</strong></h4><ul class="bulletList"><li><p>Fixed filters on the company detail page</p></li><li><p>Prevented disabling the default Unresolved view</p></li><li><p>Fixed sidebar crashes when NeetoPlanner integration was active</p></li></ul>]]></content>
    </entry><entry>
       <title><![CDATA[November 2025 updates  Public form attachments, smarter CallerDesk logic, and sharper email parsing]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/november-2025-updates-public-form-attachments-smarter-callerdesk-logic-and-sharper-email-parsing"/>
      <updated>2025-12-01T04:11:18Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/november-2025-updates-public-form-attachments-smarter-callerdesk-logic-and-sharper-email-parsing</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>November 2025</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4>File attachments in public web forms</h4><p>Public web forms now support uploading files. These files are automatically attached to the corresponding ticket created in NeetoDesk.</p><h3><strong>Enhancements ✨</strong></h3><h4>CallerDesk flow improvements</h4><ul class="bulletList"><li><p>Improved error handling across both the API and UI to prevent silent failures and show helpful messages</p></li><li><p>Fixed a bug where <strong>call recordings</strong> from completed calls weren’t appearing in ticket activities</p></li><li><p>Adjusted logic to ensure <strong>only missed calls</strong> create tickets — received calls no longer generate tickets unnecessarily</p></li></ul><h3><strong>Bug fixes 🛠️</strong></h3><h4>Email and attachment handling</h4><ul class="bulletList"><li><p>Fixed parsing issues for emails containing <strong>inline CSS</strong> or sent via <strong>Outlook</strong>, which were previously failing to create tickets</p></li><li><p>Resolved a problem where <strong>larger attachments (~10MB)</strong> in incoming emails weren’t making it to the ticket or comment</p></li><li><p>Fixed a bug where <strong>CallerDesk-generated call recordings</strong> weren’t reflected correctly in the ticket activity</p></li><li><p>Improved flow for handling <strong>round-robin assignments</strong>, ensuring agent availability is always refreshed</p></li></ul><h4>UI and form behavior</h4><ul class="bulletList"><li><p>Fixed a bug where <strong>Save changes</strong> buttons on automation rule and canned response forms wouldn’t re-enable after edits</p></li><li><p>Resolved <strong>filter issues</strong> on the <strong>company details page</strong> where ticket filtering wasn’t working</p></li><li><p>Clicking into a filtered report view no longer breaks the <strong>Reports</strong> page</p></li><li><p>After deleting a verified support email, the input field now <strong>remains editable</strong> when adding a new one</p></li><li><p>Handled <strong>draft deletion race conditions</strong> to avoid update errors in the UI</p></li></ul><h4>API and caching</h4><ul class="bulletList"><li><p>Fixed frontend exceptions caused by stale ticket cache during update</p></li><li><p>Improved <strong>email parsing logic</strong> for tickets triggered by certain formatting edge cases</p></li></ul>]]></content>
    </entry><entry>
       <title><![CDATA[October 2025 updates  Threaded emails, keyboard shortcuts, and smarter APIs + webhooks]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/october-2025-updates-threaded-emails-keyboard-shortcuts-and-smarter-apis-webhooks"/>
      <updated>2025-11-08T05:21:42Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/october-2025-updates-threaded-emails-keyboard-shortcuts-and-smarter-apis-webhooks</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in October 2025 in NeetoDesk. </p><h3><strong>New features ✨</strong></h3><h4>✅ Threaded replies in customer emails</h4><p>Customer notification emails now include recent replies as a thread, giving more context in the inbox. Automation rule emails also respect the workspace’s threaded reply setting.</p><h4>✅ One-click ticket navigation</h4><p>Navigate to the next or previous ticket inside any view using a single click or keyboard shortcut. We've also updated shortcuts to use <strong>Esc → J/K</strong> to avoid conflicts with the comment editor.</p><h4>✅ Hide ticket counts per view</h4><p>You can now hide ticket counts for specific views in the sidebar to declutter the interface for certain workflows.</p><h4>✅ Webhook improvements</h4><p>We introduced new webhook events for both <strong>agent replies</strong> and <strong>customer replies</strong>, and ensured all ticket-related webhooks (existing and new) now fire <strong>after automation rule execution</strong> — so payloads reflect the final ticket state.</p><h4>✅ Reports in Public API</h4><p>You can now access reports via the public API, including aggregates and timeseries data for tickets, groups, team members, and satisfaction surveys — matching what you see in the UI.</p><h4>✅ CallerDesk enhancements</h4><p>Added the ability to manage default phone numbers and assign agent-level numbers. Agents can now directly call customers from the ticket screen if both sides have a number configured.</p><h3><strong>Enhancements ✨</strong></h3><h4>✅ Smarter ticket creation</h4><p>You can now deselect customer values when creating a ticket. Email validation has been added directly in the UI to avoid invalid entries. We also cleaned up default categories and removed invalid system fields.</p><h4>✅ API polish</h4><p>The <code>create ticket</code> API now supports category and sub-category updates. All paginated public API endpoints now use <code>page_number</code> instead of <code>page</code> for consistency. We also added better validation for common input issues like email formatting or incorrect <code>to_address</code> values.</p><h4>✅ Webhook payloads</h4><p>Webhook payloads now include ticket subcategories and customer phone numbers. They are triggered after automation rules complete, for both create and update events.</p><h4>✅ Bulk update performance</h4><p>Bulk trashing and ticket assignment now run as background jobs, improving speed and stability during high-volume actions.</p><h4>✅ Task list UX</h4><p>When you create a task list, it now immediately prompts you to add tasks — streamlining the flow.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4>✅ Email parsing and layout</h4><p>Fixed email parsing issues involving CSS media queries. Also cleaned up styling regressions in agent and automation emails introduced after threaded replies were added.</p><h4>✅ Draft stability</h4><p>Fixed several bugs related to drafts — including race conditions on multiple updates, missing signatures in API-seeded drafts, and empty content errors when submitting via UI.</p><h4>✅ API and UI validation</h4><p>Improved validation and graceful fallback for public API requests with bad data (invalid emails, incorrect formats, etc.). Also fixed frontend errors when editing automation rules with agent dropdowns.</p><h4>✅ Group and tag UI</h4><p>Newly created groups now correctly appear in dropdowns. Fixed issues with tags temporarily appearing across unrelated tickets until refresh.</p><h4>✅ Ticket list and status cleanup</h4><p>Deleted task lists no longer appear until a refresh. Fixed status color inconsistencies in the manage screen. Also resolved issues with default ticket statuses being locked in new workspaces.</p><h4>✅ Customer import and block</h4><p>Fixed deduplication logic during bulk imports based on email. Blocking high-volume customers now runs in the background to prevent timeouts.</p><h4>✅ CallerDesk + pagination</h4><p>CallerDesk agent dropdown now correctly fetches all agents across multiple pages.</p><h4>✅ Automation fixes</h4><p>Fixed substring match issues in automation rules. Also resolved hourly-triggered rules that failed to re-run due to misidentified previously-matched tickets.</p><h4>✅ Locale + form fixes</h4><p>Fixed report filters breaking in non-English locales. Public form validation now correctly handles zero-width characters, showing proper messages.</p>]]></content>
    </entry><entry>
       <title><![CDATA[September 2025 updates  Tag teammates, cleaner tables, persistent settings, and smarter webhooks]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/september-2025-updates-tag-teammates-cleaner-tables-persistent-settings-and-smarter-webhooks"/>
      <updated>2025-10-07T05:10:30Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/september-2025-updates-tag-teammates-cleaner-tables-persistent-settings-and-smarter-webhooks</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>September 2025</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4>✅ Tag teammates in replies</h4><p>You can now tag other team members even in regular replies (not just notes), making collaboration smoother and keeping everyone in the loop.</p><h4>✅ Persistent activity visibility</h4><p>Your show/hide activity preferences are now remembered across tickets — no need to toggle them repeatedly.</p><h4>✅ More powerful public APIs</h4><p>You can now assign both a group and a team member while creating tickets via the public API. Draft seeding through API is now more reliable and avoids duplicate errors.</p><h4>✅ Webhook enhancements</h4><p>Webhook payloads now include ticket subcategories and run <strong>after</strong> automation rules are executed — ensuring you receive the final version of a ticket. Payloads also now include additional customer details and phone numbers.</p><h3><strong>Enhancements ✨</strong></h3><h4>✅ Tickets table upgrades</h4><p>We added <strong>mailbox</strong> and <strong>group</strong> columns to the default tickets table. Mailbox is now filterable, and tickets can be bulk-assigned to groups with ease.</p><h4>✅ Bulk updates made faster</h4><p>Bulk trashing or assigning of tickets now happens in the background, improving responsiveness and reducing wait times.</p><h4>✅ Improved web form experience</h4><p>You can now include a name field in web forms or auto-fill it from customer records — making form submissions easier for repeat users.</p><h4>✅ Better ticket creation UX</h4><p>We’ve added the ability to deselect a pre-filled customer when creating tickets, giving you more control in one-off cases.</p><h4>✅ Consistent terminology</h4><p>We’ve updated the app to use <strong>team members</strong> instead of <strong>agents</strong>, aligning NeetoDesk with other Neeto apps.</p><h4>✅ SparkPost and DNS improvements</h4><p>We now isolate SparkPost usage for customers with custom domains, protecting the default NeetoDesk reputation. SparkPost domains are only created if DNS setup is needed, reducing noise in your DNS records.</p><h4>✅ Relaxed phone number rules</h4><p>Customers can now share the same phone number — helpful for use cases like student imports or family accounts.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4>✅ Ticket drafts stability</h4><p>Fixed several issues with API-submitted drafts, including uniqueness errors, missing reply signatures, and unexpected UI errors when sending drafts.</p><h4>✅ Ticket table UI polish</h4><p>Resolved overlap issues between frozen columns and dropdowns, and fixed resizing quirks for a cleaner experience.</p><h4>✅ Email + activity edge cases</h4><p>Patched a case where incoming email <code>to</code> fields were wrongly treated as <code>cc</code> on comments. Also fixed an issue where automation-generated comments broke the ticket comments list.</p><h4>✅ Collision and uniqueness fixes</h4><p>Addressed a rare edge case in ticket collision detection and resolved unique index conflicts during simultaneous updates.</p><h4>✅ Mobile and API improvements</h4><p>Fixed document upload failures on iOS, resolved 404s when updating team member availability, and corrected public API formatting issues.</p><h4>✅ Better report and icon behavior</h4><p>Localized report filters now work correctly for non-English users. Also fixed customer satisfaction icon rendering issues in follow-up forms.</p>]]></content>
    </entry><entry>
       <title><![CDATA[August 2025 updates  Persistent drafts, flexible email routing, and faster bulk actions]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/august-2025-updates-persistent-drafts-flexible-email-routing-and-faster-bulk-actions"/>
      <updated>2025-09-03T16:02:44Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/august-2025-updates-persistent-drafts-flexible-email-routing-and-faster-bulk-actions</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in <strong>August 2025</strong> in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4>✅ Persistent draft messages</h4><p>Agents can now pick up exactly where they left off with draft replies that auto-save across sessions. This feature is also available via the public API — so drafts are never lost, even across page reloads or disconnects.</p><h4>✅ Cross-mailbox ticket creation</h4><p>Emails sent to one mailbox can now create tickets in a different mailbox. This unlocks more flexible workflows for support teams handling shared or role-based inboxes.</p><h4>✅ Add and insert canned responses</h4><p>You can now choose to “Add and insert” canned responses, giving agents better control over response templates and how they’re applied during conversations.</p><h4>✅ Public API for ticket messages</h4><p>We’ve added a new public API endpoint that lets you fetch all messages associated with a ticket — making it easier to build dashboards, export histories, or power external workflows.</p><h4>✅ Navigation component: “Also on this page”</h4><p>We've introduced a display on ticket details page that shows who else (team members of the workspace) is currently looking at the same ticket details page. This allows the user to make decisions about replying if someone else is already on it.</p><h3><strong>Enhancements ✨</strong></h3><h4>✅ Asynchronous bulk trashing</h4><p>Bulk trashing large sets of tickets now happens in the background — making the interface more responsive and freeing you to keep working while cleanup runs in parallel.</p><h4>✅ Better Microsoft account handling</h4><p>We improved how we react to Microsoft API events like subscription expiry or missing subscriptions — helping prevent email sync disruptions.</p><h4>✅ More reliable email delivery</h4><p>We’ve added better error handling for email failures (like SMTPFatalError), so outgoing emails are more robust and less likely to silently fail.</p><h4>✅ Schema-level performance boosts</h4><p>Used insights from <code>active_record_doctor</code> to optimize the database schema, improving the overall performance of core ticket workflows.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4>✅ Ticket uniqueness and loop handling</h4><p>Fixed edge cases where system-generated or auto-reply emails could create duplicate or looping tickets. We also patched issues with ticket number uniqueness in specific org setups.</p><h4>✅ DKIM setup and support mailbox fixes</h4><p>DKIM record visibility issues were fixed, and re-verifying previously removed support emails now works smoothly.</p><h4>✅ Reply formatting fix</h4><p>Replies using canned responses no longer add unnecessary indentation — cleaner, more professional messages by default.</p><h4>✅ Case-insensitive email reply handling</h4><p>Replies from the same customer using different email casing (like <code>User@X.com</code> vs <code>user@x.com</code>) now correctly associate with the same ticket.</p><h4>✅ Slack integration improvements</h4><p>Messages from Slack users are now attributed to the correct customer instead of defaulting to the Slack team creator.</p><h4>✅ API consistency for email fields</h4><p>Standardized the structure for <code>to</code> and <code>cc</code> fields in ticket creation via public API to match documentation.</p>]]></content>
    </entry><entry>
       <title><![CDATA[July 2025 updates  Custom domain support, smarter automation rules, and faster performance]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/july-2025-updates-custom-domain-support-smarter-automation-rules-and-faster-performance"/>
      <updated>2025-08-07T08:26:46Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/july-2025-updates-custom-domain-support-smarter-automation-rules-and-faster-performance</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in July 2025 in NeetoDesk.</p><h3><strong>New features ✨</strong></h3><h4>✅ Custom domain support</h4><p>You can now use your own custom domain for emails in NeetoDesk. This gives your outgoing communication a more professional and personalized touch.</p><h4>✅ Custom Reply-To address</h4><p>Want replies to go to a different address? You can now specify a custom Reply-To when setting up your mailbox, making it easier to route responses exactly where you need them.</p><h4>✅ Any customer condition in automation rules</h4><p>Automation rules just got smarter. With the new "any customer" condition, triggers now consider all customers involved in a ticket — including those added in CC — for more accurate and flexible automation.</p><h4>✅ Better mailbox error handling</h4><p>If your mailbox runs into issues like SMTP authentication errors, NeetoDesk will now automatically unverify the mailbox, highlight the issue, and offer guidance to help you fix it.</p><h3><strong>Enhancements ✨</strong></h3><h4>✅ Faster app performance</h4><p>We optimized bulk ticket updates, customer search filters, and automation rule previews — making everything feel snappier and more responsive.</p><h4>✅ Clearer bulk customer import errors</h4><p>CSV file format issues during bulk imports now show helpful error messages, so you can fix issues faster and continue with your imports.</p><h4>✅ Cleaner domain handling in company profiles</h4><p>When adding domains to companies, NeetoDesk now cleans up invalid characters like <code>@</code>, ensuring data stays neat and usable.</p><h4>✅ Improved email processing</h4><p>We added better handling for edge cases in incoming Microsoft emails — like missing subject lines, malformed attachments, and parallel delivery events — for more reliable ticket creation.</p><h4>✅ Parallelized tests in CI</h4><p>We now run automated tests in parallel, significantly reducing build times and speeding up our release cycle.</p><h3><strong>Bug fixes 🛠️</strong></h3><h4>✅ Time-based automation timing fix</h4><p>Fixed an issue where inactivity-based automation rules were triggering earlier than expected. They now work precisely as configured.</p><h4>✅ SLA handling improvements</h4><p>Fixed failures in SLA escalations and notifications due to missing or corrupted default priorities or SLA policies.</p><h4>✅ Email loop prevention</h4><p>We’ve added logic to prevent rare email loop cases where emails were being sent back and forth between the same sender and recipient.</p><h4>✅ DKIM visibility fixes</h4><p>Resolved a few issues where DKIM-related details weren’t being shown for some support emails.</p><h4>✅ Webform reliability</h4><p>Fixed errors that occurred when external webform links had invalid slugs, ensuring smoother form access.</p><h4>✅ Ticket creation performance</h4><p>Removed an aggressive index on a text column that was slowing down ticket creation — things should now be much faster.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M39  Outlook loop fix, support for older .xls imports & automation rule stability]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m39-updates"/>
      <updated>2025-07-02T18:20:08Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m39-updates</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in milestone M39 (Jun 16 – Jun 29) for NeetoDesk.</p><h3><strong>New enhancements ✨</strong></h3><h4>✅ <strong>Refined spam handling</strong></h4><p>We’ve relaxed a previous restriction where emails from addresses like <code>no-reply@</code> were automatically marked as spam. </p><h3><strong>Bug fixes ⚒️</strong></h3><h4>✅ <strong>Bulk import compatibility</strong></h4><p>Fixed parsing issues with older <code>.xls</code> files during bulk resource imports.</p><h4>✅ <strong>Sidebar inconsistency</strong></h4><p>Resolved an intermittent issue with the <em>Assigned to me</em> view on the sidebar for certain accounts.</p><h4>✅ <strong>Ticket field editor fix</strong></h4><p>Clicking the edit pane of a ticket field now leads to the correct interface consistently.</p><h4>✅ <strong>Outlook webhook handling</strong></h4><p>Fixed a bug where webhook events for Outlook subscription disconnections weren’t handled properly.</p><h4>✅ <strong>Bulk migration stability</strong></h4><p>Improved handling of special characters in raw content during ticket migration from other platforms.</p><h4>✅ <strong>Subcategory rendering in automation</strong></h4><p>Ticket subcategories now render correctly in the automation rule builder.</p><h4>✅ <strong>Invalid email handling</strong></h4><p>Fixed an unhandled exception caused by <code>nil</code> values in <code>to</code> or <code>cc</code> fields during ticket or comment creation.</p><h4>✅ <strong>Malformed email </strong><code>from_name</code><strong> resolution</strong></h4><p>Handled a runtime issue caused by malformed email addresses during <code>from_name</code> parsing.</p><h4>✅ <strong>Public ticket API robustness</strong></h4><p>The public ticket creation API now fails gracefully when essential fields like name or email are missing.</p><h4>✅ <strong>Blocked customer email handling</strong></h4><p>Fixed a regression where all emails from blocked customers were incorrectly moved to trash from spam.</p><h4>✅ <strong>Outlook ticket loop fix</strong></h4><p>Resolved a loop where automated replies created new tickets in Outlook-based mailboxes due to missing headers. We now handle this case more defensively.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M38  Sub-categories, domain filters, better navigation & stronger spam controls]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m38-updates"/>
      <updated>2025-06-18T15:10:02Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m38-updates</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in milestone M38 (Jun 02 – Jun 15) for NeetoDesk.</p><h3><strong>New features and enhancements 🚀</strong></h3><h4>✅ <strong>Consistent file upload UI</strong></h4><p>The bulk customer upload flow now uses the same file upload UI seen across other Neeto products for a smoother experience.</p><h4>✅ <strong>Trimmed rich text content using NeetoEditor</strong></h4><p>Ticket descriptions and other rich text fields are now automatically trimmed using NeetoEditor helpers to avoid unintended formatting issues.</p><h4>✅ <strong>Improved navigation between tickets and customers</strong></h4><p>Clicking a customer in the tickets list now takes you directly to their profile. Similarly, you can now view all open tickets from a customer’s detail page.</p><h4>✅ <strong>Bulk actions in customer-specific ticket views</strong></h4><p>Bulk actions available on the general ticket list are now also available when viewing tickets for a specific customer.</p><h4>✅ <strong>Allowlist and blocklist for email domains</strong></h4><p>Admins can now configure domain allowlists and blocklists to restrict/allow domains from which email addresses are allowed to create tickets or comments.</p><h4>✅ <strong>New sub-category fields for tickets</strong></h4><p>Two new dependent fields—<em>sub-category 1</em> and <em>sub-category 2</em>—can now be set during ticket creation, update, or closure.</p><h4>✅ <strong>Stronger spam protection logic</strong></h4><p>Improved filtering logic now blocks known spam patterns in email addresses more effectively.</p><h4>✅ <strong>Set ticket category in automation rules</strong></h4><p>Ticket categories can now be updated as part of the actions in automation rules.</p><h3><strong>Bug fixes ⚒️</strong></h3><h4>✅ <strong>Custom categories in automation conditions</strong></h4><p>Fixed a bug where custom categories were missing from the condition options in automation rules.</p><h4>✅ <strong>Mailbox name changes in Outlook integration</strong></h4><p>Resolved an issue where primary mailbox data wasn’t fetched correctly due to renamed mailboxes in Microsoft accounts.</p><h4>✅ <strong>Special characters in forwarded emails</strong></h4><p>Fixed a parsing error that occurred when special characters in forwarded email bodies interfered with original sender detection.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M37  DKIM-based email sending, better ticket creation & robust migrations]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m37-updates"/>
      <updated>2025-06-02T03:44:54Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m37-updates</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in milestone M37 (May 19 – Jun 01).</p><h3><strong>New features and enhancements 🚀</strong></h3><h4>✅ <strong>Support for DKIM-verified domains</strong></h4><p>NeetoDesk now supports sending ticket emails from customer domains once verified using DKIM authentication.</p><h4>✅ <strong>Improved attachment handling</strong></h4><p>Attachment handling during bulk ticket migrations is now more robust—errors are isolated to specific faulty attachments.</p><h4>✅ <strong>Smarter customer search in ticket creation</strong></h4><p>Shipped 2-way search by email and name when creating tickets, making it easier to find and populate customer info.</p><h4>✅ <strong>Track the original sender on forwarded emails</strong></h4><p>When an agent forwards an email on behalf of a customer, the original sender is now tracked using a keyword in the subject body and attached to the ticket.</p><h3><strong>Bug fixes ⚒️</strong></h3><h4>✅ <strong>Web form submission fixes</strong></h4><p>Resolved issues preventing web forms with Google reCAPTCHA from being submitted. Also fixed errors in embed previews.</p><h4>✅ <strong>Duplicate attachment handling</strong></h4><p>Fixed a runtime error caused by duplicate attachments in incoming emails.</p><h4>✅ <strong>Special character fixes in migrations</strong></h4><p>Handled improper character escaping during bulk ticket migrations.</p><h4>✅ <strong>Response time seeding fix</strong></h4><p>Fixed runtime errors caused by missing response time data in tickets created through migration.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M36  smarter ticket APIs, custom domain links, Outlook replies fix & 90k tickets migration]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m36-updates"/>
      <updated>2025-05-19T05:43:15Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m36-updates</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in Milestone M36 (May05 – May18).</p><h3><strong>New features and enhancements 🚀</strong></h3><h4>✅ <strong>Custom domain support in links</strong></h4><p>All links in the UI and emails now respect the workspace's custom domain, with sensible defaults and options where applicable.</p><h4>✅ <strong>GitHub automation rule</strong></h4><p>An automation rule to add tags when a GitHub issue is created has been added and synced across all Help workspaces.</p><h4>✅ <strong>Smarter ticket merges</strong></h4><p>Default comments for merged tickets now include links to all related tickets automatically.</p><h4>✅ <strong>Separate loaders for sidebar sections</strong></h4><p>Shipped separate loaders for each subsection on the ticket details sidebar for better UX and performance.</p><h4><br>✅ <strong>Ticket API improvements</strong></h4><ul><li><p>You can now specify custom fields when creating tickets via the API.</p></li><li><p>Introduced a <code>GET /tickets</code> API endpoint with filtering and pagination support.</p></li></ul><h4>✅ <strong>UI and sidebar enhancements</strong></h4><ul><li><p>Ticket count label in the sidebar now reflects exact numbers, even beyond 999.</p></li><li><p>Improved filtering in automation rules to allow ticket filtering by customer name.</p></li></ul><h4>✅ <strong>ActiveRecord cleanup</strong></h4><p>Addressed several issues flagged by the <code>active_record_doctor</code> gem.</p><h4>✅ <strong>Bulk status updates fixed</strong></h4><p>Resolved a bug where logging activity during bulk status updates was blocking those updates.</p><h3><br><strong>Bug fixes ⚒️</strong></h3><h4>✅ <strong>Precise finder search</strong></h4><p>Ticket number search in the finder is now accurate and reliable.</p><h4>✅ <strong>Mailbox reconnect</strong></h4><p>Fixed an error preventing customers from reconnecting a manually added email to a mailbox via Google or Microsoft.</p><h4>✅ <strong>Category-related ticket creation fix</strong></h4><p>Resolved an issue where tickets couldn’t be created if no default category was set.</p><h4>✅ <strong>Outlook replies handling</strong></h4><p>Fixed a bug causing replies (to tickets created via API) to generate new tickets instead of being added as comments.</p><p></p><h3><strong>Completed investigations 🔍</strong></h3><h4>✅ <strong>Custom email sending (DKIM/DMARC)</strong></h4><p>Explored support for sending emails via client-owned domains. A simpler solution was found and will be shipped in M37.</p><p></p><h3><strong>Data migration 📦</strong></h3><h4>✅ <strong>Large-scale data migration completed</strong></h4><p>Successfully migrated ~90,000 tickets from a third-party helpdesk, requiring deep PostgreSQL-level optimizations.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M35  smarter email delivery, Outlook integration fixes, custom email verification & large-scale import support]]></title>
       <author><name>Akash Srivastava</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m35-updates"/>
      <updated>2025-05-06T14:33:51Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m35-updates</id>
      <content type="html"><![CDATA[<p>Let’s go through what we got done in Milestone M35 (Apr21 – May04).</p><p></p><h3>New features and enhancements 🚀</h3><h4>✅ Auto-Verification for Custom Support Emails</h4><p>Custom support emails added to mailboxes are now auto-verified when we receive ticket action events from them.</p><h4>✅ Default Mailbox Support</h4><p>You can now set a default mailbox and switch between defaults as needed.</p><h4>✅ Smarter Email Handling</h4><ul><li><p>Duplicate checks now prevent sending ticket update emails to subscribers already in CC.</p></li><li><p>Admins and agents no longer receive emails that include CC recipients.</p></li><li><p>Subject mismatch logic has been relaxed to better support quote/reply prefixes in non-English languages.</p></li></ul><h4>✅ Improved WebForm and UI Context</h4><ul><li><p>WebForm URLs now include ID on the admin side and a more intuitive slug on the client side.</p></li><li><p>Tag dropdowns on customer and ticket pages have been updated to be more contextually appropriate.</p></li></ul><h4>✅ <strong>Onboarding Experience Improvements</strong></h4><p>The “mailbox connection incomplete” banner is now hidden during onboarding to reduce confusion.</p><p></p><h3><strong>Bug fixes ⚒️</strong></h3><h4>✅ <strong>Restoring Trashed Tickets</strong></h4><p>Fixed an issue where restored tickets didn’t retain their original state if it wasn’t <code>open</code>.✅ </p><h4>✅ <strong>Slack Integration Translations</strong></h4><p>Resolved missing translations in Slack integration features.</p><h4>✅ <strong>Outlook Integration Issues</strong></h4><ul><li><p>Identified and fixed cases where SMTP wasn’t enabled on clients’ Office 365 accounts.</p></li><li><p>Updated Microsoft API scopes to resolve issues where emails and tickets weren’t being created.</p></li></ul><h4>✅ <strong>Ticket Threading Stability</strong></h4><p>Improved threading by refining how subject mismatches are handled, reducing unnecessary new ticket creation.</p><p></p><h3><strong>Optimizations ⚡</strong></h3><p></p><h4>✅ <strong>Efficient Automation Rules</strong></h4><p>Improved performance of scheduled automation jobs by parallelizing work and using optimized queries.</p><p></p><h3><strong>Client onboarding 📦</strong></h3><h4>✅ <strong>Large-scale Ticket Import</strong></h4><p>Completed most of the import logic for a customer migrating ~90,000 tickets from another major helpdesk.</p><h4>✅ <strong>CallerDesk Integration</strong></h4><p>Finalized and tested CallerDesk integration in production.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M34 - custom priorities, enhanced rules, bulk uploads and more]]></title>
       <author><name>Sandip Mane</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m34-custom-priorities-enhanced-rules-bulk-uploads-and-more"/>
      <updated>2025-04-21T12:47:31Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m34-custom-priorities-enhanced-rules-bulk-uploads-and-more</id>
      <content type="html"><![CDATA[<p>Let's go through what we got done in Milestone M34 (Apr07 - Apr20).</p><h3>New features and enhancements 🚀</h3><h4>✅ Custom Priorities  </h4><p>You can now define your own ticket <a target="_blank" rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetoengage.com/changelogs/custom-priorities">priorities</a> for greater flexibility.</p><h4>✅ Enhanced Automation Rules  </h4><p>1. New action: Send all ticket updates directly to Slack.  </p><p>2. New trigger: Fire automation rules when a ticket is sent to GitHub.</p><h4>✅ Improved Outbound Emails  </h4><p>Outbound emails now use verified support addresses as the Reply-To for better consistency.</p><h4>✅ Bulk Customer Uploads  </h4><p>You can now <a target="_blank" rel="noopener noreferrer nofollow" class="link" href="https://neetodeskhelp.neetoengage.com/changelogs/bulk-upload-customer-data">bulk upload customer data </a>with ease.</p><h4>✅ Simplified Ticket Creation  </h4><p>Search for customers while typing their email, and choose a specific mailbox when creating new tickets.</p><h3>Bug fixes ⚒️</h3><h4>✅ Incoming Emails  </h4><p>Fixed issues with CCs—emails are now properly sanitized and processed.</p><h4>✅ MS Outlook Sync  </h4><p>Resolved syncing problems—tickets and outgoing emails now work seamlessly.</p><h4>✅ Ticket Threading  </h4><p>Fixed an issue where some tickets were generating separate threads unnecessarily.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M33 - emails, ticket management and bug fixes]]></title>
       <author><name>Sandip Mane</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m33-emails-ticket-management-and-bug-fixes"/>
      <updated>2025-04-07T10:18:38Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m33-emails-ticket-management-and-bug-fixes</id>
      <content type="html"><![CDATA[<p>Let's go through what we got done in Milestone M33 (Mar24 - Apr06).</p><p></p><h3>New features and enhancements 🚀</h3><h4>✅ More natural email content</h4><p>We’ve refined the default email messages sent by automation rules. The updated messages sound more natural and provide greater clarity to your customers.</p><h4>✅ Smarter ticket threading</h4><p>If a reply comes in with a changed subject, it will now create a new ticket instead of being merged into the original one.</p><h4>✅ More info in list view</h4><p>The tickets list view now displays the ticket author and any associated tags. You can even update ticket tags directly from the list view; no need to open each ticket individually.</p><p></p><h3>Bug fixes ⚒️</h3><h4>✅ Custom status in views and rules</h4><p>Fixed an issue where custom statuses were not being respected in Views and Automation Rules. </p><h4>✅ Business hours crash</h4><p>We have resolved a crash that happened while editing Business Hours. </p><h4>✅ Email sync edge cases</h4><p>Addressed a few rare edge cases that prevented some emails from syncing properly.</p><h4>✅ Slack link handling</h4><p>Fixed an issue where links in the comments added from Slack were being ignored.</p><h4>✅ Task behavior fixed</h4><p>Tasks are back on track; we’ve resolved the issues affecting their behavior.</p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M31 - activities notifications, custom fields and more]]></title>
       <author><name>Sandip Mane</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m31-updates"/>
      <updated>2025-03-10T10:34:28Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m31-updates</id>
      <content type="html"><![CDATA[<p>Let's go through what we got done in Milestone M31 (Feb24 - Mar09).</p><h3>Enhancements  </h3><p><strong>Integrations:</strong>  </p><p>- Now, whenever you send tickets to GitHub, Linear, or NeetoPlanner, corresponding activities are created and notifications are sent to the connected Slack channel.  </p><p></p><p><strong>Public API Supports Custom Fields:</strong>  </p><p>- Our ticket update API now allows you to add values for custom fields. </p><p>Learn more: <a rel="noopener noreferrer nofollow" class="link" href="https://help.neetodesk.com/articles/update-tickets">https://help.neetodesk.com/articles/update-tickets</a>.</p><p></p><p><strong>Web Forms:</strong>  </p><p>1. You can now enhance your web forms with captcha functionality for improved security.  </p><p>2. System fields like Priority and Category are now available for use in web forms.  </p><p>3. Web forms can be embedded directly into your websites or applications for a smoother user experience.  </p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M30 - slack integration, HEIC image fix and more]]></title>
       <author><name>Sandip Mane</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m30-updates"/>
      <updated>2025-02-24T14:40:09Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m30-updates</id>
      <content type="html"><![CDATA[<p>Let's go through what we got done in Milestone M30 (Feb 10 - Feb 23).</p><h3>Enhancements</h3><h4>Slack Integration Improvements</h4><p>We've made several improvements to our Slack integration to enhance communication and prevent redundant notifications:  </p><p>1. <strong>Personalized Messages</strong> – Greetings and signatures will now be added to Slack messages based on user settings in the NeetoDesk admin panel.  </p><p>2. <strong>Avoiding Duplicate Notifications</strong> – Slack messages will no longer be sent for a ticket if they have already been sent previously.  </p><p></p><h3>Bug Fixes</h3><p>- Resolved an issue where some <strong>HEIC image attachments</strong> were not retained in tickets sent via the iPhone Mail app.  </p><p>- Fixed a bug in the <strong>canned response preview pane</strong> where custom ticket fields of the textarea type were incorrectly editable as rich text.  </p><p>- Addressed an issue where certain emails were not parsed correctly, preventing some tickets from being created.  </p><p>- Fixed a <strong>crash on the print ticket page</strong>.  </p><p>- Resolved a bug where the <strong>GitHub issue creation pane</strong> did not close when pressing the <code>ESC</code> key.  </p><p>- Fixed an issue where the <strong>Slack integration card</strong> was not visible in <strong>Admin Panel &gt; Integrations</strong>.  </p><p>- Resolved a crash that occurred when updating companies.  </p>]]></content>
    </entry><entry>
       <title><![CDATA[Milestone M29 - NeetoPlanner integration, Gmail API fix and more]]></title>
       <author><name>Sandip Mane</name></author>
      <link href="https://www.neeto.com/neetodesk/blog/milestone-m29-updates"/>
      <updated>2025-02-10T11:37:05Z</updated>
      <id>https://www.neeto.com/neetodesk/blog/milestone-m29-updates</id>
      <content type="html"><![CDATA[<p>Let's go through what we got done in Milestone M29 (Jan 27 - Feb 09).</p><h3>Bug Fixes:  </h3><p>- Resolved an issue with parsing improperly formatted emails from MS Outlook that was preventing ticket creation.  </p><p>- Fixed a problem with the Gmail API to mark accounts as expired when users manually revoke tokens correctly.  </p><p>- Addressed access-related issues for the Agent role that arose after minor enhancements to Roles and Permissions.</p><p></p><h3>Enhancements:  </h3><p>- Improved NeetoPlanner integration by handling additional edge cases. If a task or project is deleted from NeetoPlanner, the NeetoDesk ticket page no longer crashes; instead, related data is hidden to prevent confusion.</p>]]></content>
    </entry>
    </feed>