Skip to main content
How-to

Configuring Zoho Desk AI Agents for Ticket Drafting

This guide outlines the steps to configure UltraCart's AI agents to integrate with Zoho Desk. By setting up these agents, you can automate the analysis of incoming support tickets and generate draft responses grounded in real-time UltraCart store data.

The AI agents do not send emails directly to customers. Instead, they create ticket drafts within Zoho Desk, allowing your support team to review, edit, and approve responses before they are sent.


Prerequisites​

Before configuring the AI agents, ensure the following are established:

  1. A Zoho Desk Account: You must have an active Zoho Desk account with admin privileges.

  2. UltraCart-Zoho Desk Integration: The base integration between UltraCart and Zoho Desk must be successfully configured. Please refer to the Zoho Desk Integration Guide to complete this step.

  3. AI Agents: At least one AI Agent available in UltraCart - Setting Up AI Agents


Conceptual Overview​

It is important to understand how Zoho Desk concepts map to UltraCart's AI setup:

  • Zoho Departments: Broad functional areas within your support organization (e.g., "Customer Support," "Sales," "Technical Issues").

  • Zoho Classifications: Specific categories or tags used within Zoho to define the nature of a ticket (e.g., "Refund Request," "Shipping Delay," "Product Question").

  • UltraCart AI Classification Routine: A set of natural language instructions provided in UltraCart that tells the AI how to read an incoming ticket and assign it to the correct Zoho Classification.

  • UltraCart AI Agents: Virtual assistants configured to handle specific Departments and Classifications. They use detailed instructions to draft policy-compliant responses.


Step-by-Step Configuration​

Step 1: Configure Departments and Classifications in Zoho Desk​

The foundation of the routing system exists within Zoho Desk. You need to define the structure that UltraCart will read.

  1. Log in to your Zoho Desk account.

  2. Navigate to Setup (gear icon).

  3. Departments: Under General, ensure your desired departments are created.

  4. Classifications: Depending on your Zoho Desk configuration, setup specific fields or tags to represent ticket classifications (e.g., under Customization > Fields for a specific department). These are the values UltraCart will import.

note95d4451b3225

Note: Ensure your Departments and Classifications are distinct and clearly named, as this simplifies the AI training process later.

Note: Ensure your Departments and Classifications are distinct and clearly named, as this simplifies the AI training process later.

Step 2: Navigate to Zoho Desk Settings in UltraCart​

  1. Log in to your UltraCart backend.

  2. Navigate to Configuration > Integrations > Zoho Desk.

The configuration page below will load, reflecting the departments and classifications pulled from your Zoho Desk account.

Step 3: Define AI Classification Instructions​

The "AI Classification" section is where you train the "dispatcher" AI. Its sole job is to look at a new ticket and decide which Zoho classification it belongs to.

In the large text area provided, write natural language prompts instructing the model on how to identify classifications.

Example Classification Instructions:

**Role:** You are the primary support ticket dispatcher for a nutritional supplement company. Your task is to analyze the content of incoming emails, determine the customer's primary intent, and assign the ticket to exactly **ONE** of the following Classifications.

**Priority Protocol:** If a ticket contains multiple issues, you must prioritize assignment based on the following order of urgency:

1. **Highest Priority:** Adverse Reactions or Allergy Alerts (health & safety concerns)
2. Financial Disputes (chargebacks, fraud claims)
3. Product Defects or Damages (broken glass, open seals)
4. Delivery Problems
5. Account Access Issues
6. Subscription Changes
7. Lowest Priority: General Questions or Feedback

**Critical Time-Based Rules:** Before assigning general categories, apply these specific rules based on timing mentioned in the ticket:

* **The "Order Lockdown" Rule:** If a customer wants to modify an order (e.g., change address, cancel a single non-recurring order) and states the order was placed *within the last 4 hours*, classify this immediately as **Shipment Or Delivery** so the warehouse can catch it. If the order was placed *more than 4 hours ago*, classify it as **Subscription Modifications** (as it's likely too late to stop the current shipment).
* **90-Day Guarantee:** If a customer requests a refund for their first order within a 90-day window mentioning the money-back guarantee, classify as **Refunds Or Returns**.

**Classification Definitions:**

Use the following criteria to assign the final classification:

* **Adverse Reactions Or Allergy Alerts:** Assign this classification if the customer mentions *any* negative physical reactions after taking a product (e.g., nausea, headaches, jitters, rashes), fears of an allergic reaction to ingredients, or general safety concerns. This is the highest priority category regardless of other content.
* **Chargebacks Or Payment Disputes:** Assign this if the customer explicitly mentions terms like "chargeback," "dispute with bank," "fraudulent charge," or "unauthorized transaction."
* **Subscription Cancellations:** Assign this for requests to *permanently* end a monthly supplement plan, stop future auto-ships, or complaints about unexpected recurring billing. Do not use this for temporary pauses.
* **Subscription Modifications:** Assign this for requests to adjust existing subscriptions, such as pausing/skipping next month's delivery, changing delivery frequency, swapping out supplement types in their bundle, or updating a payment method.
* **Shipment Or Delivery:** Assign this for issues involving lost packages, tracking numbers not updating, items damaged in transit (broken bottles), or immediate order modifications caught within the 4-hour lockdown window.
* **Refunds Or Returns:** Assign this for standard return inquiries, exchange requests for different flavors/types, or claims under the 90-Day Guarantee.
* **Personalized Assessment Questions:** Assign this if the ticket mentions the online "Wellness Quiz," questions about their quiz results, or why specific vitamin packs were recommended to them based on their assessment.
* **Product Usage Or How-To:** Assign this for general questions about directions (e.g., "take with food?"), dosage recommendations, ingredient sourcing, or non-shipping defects (e.g., "safety seal was missing under the cap").
* **Account Or Technical Support:** Assign this for issues regarding login failures, password resets, or errors on the website checkout page.
* **Other:** Only assign this if the customer intent is completely unclear, or the content is corrupted or in a foreign language requiring translation.

Step 4: Configure Agents and Routing Logic​

In the Agents section, you define which AI persona handles which type of ticket based on the classification determined in Step 3.

The routing logic depends on how you check the boxes next to an agent's name:

ConfigurationBehavior
Department Checked, No Classifications CheckedThe "Catch-All" Agent: This agent can be assigned any ticket that enters that specific department, regardless of its classification.
Department Checked, Specific Classifications CheckedThe Specialist Agent: This agent will only be assigned tickets that match the checked classifications within that department. It will not handle generic tickets.

Best Practice for Routing: It is highly recommended to configure a "generalist" agent for a department (no specific classifications checked) to act as a fallback for tickets that don't fit narrow criteria, alongside "specialist" agents for complex workflows like Refunds or Technical Support.

A department with no catch-all agent leaves genuinely ambiguous tickets unassigned even when classification succeeds, so if you're troubleshooting an unassigned ticket, confirm this setting first. See Troubleshooting: Tickets Not Being Classified for the other causes.

Step 5: Define Individual Agent Ticket Instructions​

Once an agent is assigned a ticket, it needs to know how to respond. This is controlled by Agent Ticket Instructions.

  1. Click the link or button associated with configuring specific agent instructions (refer to the Ticket Instructions Configuration documentation for detailed steps on this interface).

  2. Provide detailed prompts for that specific agent persona. This includes:

    • Tone: e.g., "Professional and empathetic," or "Direct and technical."

    • Policies: e.g., "We offer a 30-day return window. If the order date is older than 30 days, politely decline the return and explain the policy."

    • Data Usage: Instruct the agent on how to use inserted UltraCart data (like order status or tracking links) in the response.

Ticket Instructions Configuration


Best Practices​

  • Iterative Training: Your first set of classification instructions won't be perfect. Review how the AI classifies real tickets and refine the instructions in the "AI Classification" text area regularly.

  • Explicit Policy Instructions: When defining Agent Ticket Instructions, be extremely clear about your business policies. The AI only knows what you tell it. If a refund policy has exceptions, state them clearly in the prompt.

  • Human in the Loop: Remember that these agents draft responses. Your human support team is the final quality control gate. Encourage them to edit drafts before sending, as this provides a feedback loop to improve future instructions.


Troubleshooting: Tickets Not Being Classified​

If a ticket doesn't get assigned a Zoho Classification, it never enters Round Robin. It sits unassigned until someone reclassifies it manually. As of September 2026, two things can cause this, and UltraCart now logs both so you can diagnose the cause yourself instead of opening a support ticket.

Classification error or timeout​

If the AI Classification Routine can't process a ticket for any reason, including a transient error calling Zoho, the ticket used to be skipped with no record left behind. Now, any skipped ticket writes an entry to the Zoho Desk integration log with the ticket number and the reason it was skipped. The ticket is also set to the Other classification as a fallback instead of being left blank, so it still flows into Round Robin rather than sitting unassigned.

Check Configuration > Integrations > Zoho Desk for the integration logs and look for the skip reason before contacting support.

Credit card content is never classified​

If a ticket's content appears to contain a credit card number, UltraCart never sends it to the AI classifier. This is a permanent security requirement and doesn't change with future updates. When this happens, UltraCart writes a log entry so you know the exclusion occurred and can classify the ticket manually.

note

If classification itself is succeeding but tickets still sit unassigned, the cause may not be classification at all. Confirm a catch-all agent is configured for the department, as described in Step 4.

Was this page helpful?