error.e0001: "AI Agent not found"
error.e0002: "AI Agent not found."
error.e0003: "AI Agent not found or disabled."
error.e0004: "AI Agent not found or not enabled."
error.e0005: "Enter an AI Agent name."
error.e0006: "This AI Agent name is already in use."
error.e0007: "AI Agent not found or not enabled."
error.e0008: "The AI configuration linked to this AI Agent does not exist."
error.e0009: "AI configuration not found."
error.e0010: "Select an AI configuration."
error.e0011: "The AI configuration is not enabled."
error.e0012: "AI configuration not found."
error.e0013: "Agent run log not found."
error.e0014: "Checkpoint not found."
error.e0015: "The checkpoint does not belong to this AI Agent."
error.e0016: "Direct Tool toolCode does not match serverCode."
error.e0017: "Direct Tool toolCode does not match toolName."
error.e0018: "Invalid Direct Tool toolCode format."
error.e0019: "Direct Tool toolCode, serverCode, and toolName are required."
error.e0020: "Direct Tools can only contain MCP tools."
error.e0021: "Invalid Direct Tools configuration format."
error.e0022: "The Excel file is empty."
error.e0023: "Failed to parse the Excel file."
error.e0024: "Failed to read the Excel file."
error.e0025: "FAQ not found."
error.e0026: "FAQ knowledge bases do not support documents."
error.e0027: "Graph Tools can only contain Graph tools."
error.e0028: "Invalid Graph Tools configuration format."
error.e0029: "HTML message content is empty."
error.e0030: "Images in HTML messages must use uploaded files."
error.e0031: "Invalid JSON array format."
error.e0032: "MCP endpoint is required."
error.e0033: "MCP server is not enabled."
error.e0034: "MCP server configuration not found."
error.e0035: "MCP is not enabled."
error.e0036: "OIDC clientId is not configured."
error.e0037: "OIDC clientSecret is not configured."
error.e0038: "OIDC id_token is missing."
error.e0039: "OIDC issuer is not configured."
error.e0040: "OIDC redirectUrl is not configured."
error.e0041: "OIDC authorization code is required."
error.e0042: "OIDC user information not found."
error.e0043: "OIDC user identifier not found."
error.e0044: "OIDC sign-in secret is not configured."
error.e0045: "OIDC sign-in is not enabled."
error.e0046: "OIDC sign-in state is invalid or has expired."
error.e0047: "The system user linked to this OIDC account does not exist."
error.e0048: "OSS accessKeyId is not configured."
error.e0049: "OSS accessKeySecret is not configured."
error.e0050: "OSS bucket is not configured."
error.e0051: "OSS endpoint is not configured."
error.e0052: "Invalid Skill ID."
error.e0053: "Skill not found."
error.e0054: "Skill not found or not enabled."
error.e0055: "Enter a Skill name."
error.e0056: "Skill is not enabled."
error.e0057: "Enter a Skill code."
error.e0058: "This Skill code is already in use."
error.e0059: "Web channel position must be left or right."
error.e0060: "Invalid web channel configuration."
error.e0061: "AI Agent ID is required."
error.e0062: "Channel not found."
error.e0063: "Checkpoint ID is required."
error.e0064: "Conversation ID is required."
error.e0065: "Customer ID is required."
error.e0066: "Document ID or FAQ ID is required."
error.e0067: "Invalid index status."
error.e0068: "openKfID is required."
error.e0069: "This openKfId is already used by another channel."
error.e0070: "Server code is required."
error.e0071: "Skill code is required."
error.e0072: "Ticket is required."
error.e0073: "The MCP server bound to this tool code does not exist or is not enabled."
error.e0074: "Tool code is required."
error.e0075: "Invalid tool code format."
error.e0076: "Tool name is required."
error.e0077: "tool_search only supports calling MCP toolCode."
error.e0078: "User message is required."
error.e0079: "The uploaded file exceeds the size limit."
error.e0080: "Unsupported sender type."
error.e0081: "Unsupported read operation type."
error.e0082: "Unsupported file storage type."
error.e0083: "A tag cannot be moved under itself."
error.e0084: "A directory cannot be moved under itself."
error.e0085: "Schedules cannot be added or changed for past dates."
error.e0086: "Transaction context is required."
error.e0087: "You can only recall messages you sent."
error.e0088: "Only deleted Skills can be restored."
error.e0089: "Only .xlsx files are supported."
error.e0090: "Only image files are supported."
error.e0091: "Only agent messages can be recalled."
error.e0092: "Only one primary contact method can be set."
error.e0093: "WeCom AgentID is not configured."
error.e0094: "WeCom openKfID is required."
error.e0095: "WeCom media ID is required."
error.e0096: "WeCom customer ID is required."
error.e0097: "This WeCom phone number is already used by a system user."
error.e0098: "The WeCom channel is not linked to an AI Agent."
error.e0099: "The AI Agent linked to this WeCom channel does not exist or has been disabled."
error.e0100: "WeCom is not enabled or its configuration is incomplete."
error.e0101: "WeCom message ID is required."
error.e0102: "Invalid WeCom channel configuration."
error.e0103: "WeCom channel configuration is missing openKfId."
error.e0104: "This WeCom user ID is already used as a system username."
error.e0105: "Failed to get the WeCom user ID."
error.e0106: "WeCom user information not found."
error.e0107: "WeCom sign-in callback URL is not configured."
error.e0108: "WeCom sign-in secret is not configured."
error.e0109: "WeCom sign-in is not enabled."
error.e0110: "WeCom sign-in state is invalid."
error.e0111: "WeCom sign-in state is invalid or has expired."
error.e0112: "The system user linked to this WeCom account does not exist."
error.e0113: "WeCom returned an empty image media_id."
error.e0114: "WeCom returned an empty message ID."
error.e0115: "This WeCom email address is already used by a system user."
error.e0116: "Conversation not found."
error.e0117: "The conversation does not belong to this AI Agent."
error.e0118: "The conversation does not belong to this customer."
error.e0119: "This conversation is closed."
error.e0120: "This conversation has not been assigned to an agent, so messages cannot be sent yet."
error.e0121: "Invalid conversation filter."
error.e0122: "Select a provider."
error.e0123: "Invalid fallback policy."
error.e0124: "Company not found."
error.e0125: "Enter a company name."
error.e0126: "This company name is already in use."
error.e0127: "Linked user not found."
error.e0128: "Enter a close reason."
error.e0129: "Unsupported content type."
error.e0130: "Unsupported chunking strategy."
error.e0131: "Failed to create the conversation."
error.e0132: "A single schedule entry cannot span multiple days."
error.e0133: "Invalid request parameters."
error.e0134: "Only active conversations can be transferred."
error.e0135: "Only queued conversations can be assigned."
error.e0136: "Only queued conversations can be auto-assigned."
error.e0137: "Only queued unassigned conversations can be auto-assigned."
error.e0138: "Only FAQs in the current knowledge base can be moved."
error.e0139: "Only documents in the current knowledge base can be moved."
error.e0140: "Only directories in the same knowledge base and same level can be reordered."
error.e0141: "A tag with this name already exists at the same level."
error.e0142: "A directory with this name already exists at the same level."
error.e0143: "Enabled AI configurations cannot be deleted."
error.e0144: "Reply timeout seconds cannot be less than 0."
error.e0145: "Image message is missing assetId."
error.e0146: "Image asset not found."
error.e0147: "Enter a base URL."
error.e0148: "Enter a progress update."
error.e0149: "External user ID is required."
error.e0150: "External identity is not initialized."
error.e0151: "There are conflicting schedules. Resolve the conflicts first."
error.e0152: "A directory with subdirectories cannot be moved to the second level."
error.e0153: "Some ticket tags are invalid."
error.e0154: "Some ticket tags are disabled."
error.e0155: "Customer not found."
error.e0156: "Enter a customer name."
error.e0157: "Support session is required."
error.e0158: "Support session parameters are incomplete."
error.e0159: "Support session secret is not configured."
error.e0160: "The support session has expired."
error.e0161: "Support session verification failed."
error.e0162: "Enter both agent ID and display name."
error.e0163: "This agent ID is already in use."
error.e0164: "Agent profile not found."
error.e0165: "Invalid agent status."
error.e0166: "This agent team is linked to AI Agents and cannot be deleted."
error.e0167: "This agent team has linked agent profiles and cannot be deleted."
error.e0168: "This agent team has schedules and cannot be deleted."
error.e0169: "Agent team not found."
error.e0170: "Enter an agent team name."
error.e0171: "This agent team name is already in use."
error.e0172: "Agent team schedule not found."
error.e0173: "Agent team is not enabled."
error.e0174: "Invalid agent team status."
error.e0175: "Invalid password length."
error.e0176: "Failed to read the import file."
error.e0177: "Invalid import mode."
error.e0178: "Ticket not found."
error.e0179: "Enter a ticket description."
error.e0180: "Invalid ticket source."
error.e0181: "Enter a ticket title."
error.e0182: "Invalid ticket status."
error.e0183: "Closed conversations cannot be linked to customers."
error.e0184: "Restore this deleted Skill before changing its status."
error.e0185: "This AI Agent is linked to channels and cannot be deleted."
error.e0186: "Platform message not found."
error.e0187: "The current OIDC binding has been disabled."
error.e0188: "The current WeCom binding has been disabled."
error.e0189: "This conversation is not currently handled by AI."
error.e0190: "This conversation has already been assigned."
error.e0191: "This conversation has been assigned to another agent."
error.e0192: "This conversation has already been taken over by a human agent."
error.e0193: "This conversation is not assigned to an agent."
error.e0194: "Human support is currently outside service hours."
error.e0195: "Reading files from this storage provider is not supported yet."
error.e0196: "This channel does not support a user JWT secret."
error.e0197: "This conversation cannot be closed in its current status."
error.e0198: "The current sign-in identity is not an internal enterprise member."
error.e0199: "This knowledge base is not an FAQ knowledge base."
error.e0200: "The current system account has been disabled."
error.e0201: "Invalid WeChat Official Account channel configuration."
error.e0202: "WeChat authorization code is required."
error.e0203: "Quick reply not found."
error.e0204: "Company not found."
error.e0205: "Agent team not found."
error.e0206: "This phone number is already in use."
error.e0207: "Enter a Skill description."
error.e0208: "Channel not found."
error.e0209: "The channel does not exist or has been disabled."
error.e0210: "Channel error."
error.e0211: "The channel is not initialized."
error.e0212: "Recipient is required."
error.e0213: "This file cannot be accessed."
error.e0214: "File not found."
error.e0215: "Text content is required."
error.e0216: "Text list is required."
error.e0217: "Text message content is empty."
error.e0218: "Document not found."
error.e0219: "Document knowledge bases cannot use the FAQ chunking strategy."
error.e0220: "Enter a new password."
error.e0221: "You do not have permission to close this conversation."
error.e0222: "You do not have permission to access this conversation."
error.e0223: "You do not have permission to transfer this conversation."
error.e0224: "You do not have permission to link this conversation."
error.e0225: "You do not have permission to perform this action."
error.e0226: "You do not have permission to perform this action."
error.e0227: "Invalid time format."
error.e0228: "Weekday must be between 1 and 7."
error.e0229: "Maximum concurrent conversations cannot be less than 0."
error.e0230: "Invalid service mode."
error.e0231: "No matching WeCom channel was found."
error.e0232: "No schedules were generated."
error.auth.expired: "Your session has expired. Please sign in again."
error.e0234: "No available AI configuration is configured."
error.e0235: "No available embedding model is configured."
error.e0236: "Permission not found."
error.e0237: "The standard question already exists and was skipped."
error.e0238: "Tag not found."
error.e0239: "Enter a tag name."
error.e0240: "Enter both title and content."
error.e0241: "Retrieval log not found."
error.e0242: "Enter a model name."
error.e0243: "Select a model type."
error.e0244: "Message not found."
error.e0245: "Message content is required."
error.e0246: "This message has been recalled."
error.e0247: "Enter a channel name."
error.e0248: "This channel code is already in use."
error.e0249: "Invalid channel status."
error.e0250: "Invalid channel type."
error.e0251: "Parent tag not found."
error.e0252: "Parent directory not found."
error.e0253: "The parent directory does not belong to the current knowledge base."
error.e0254: "Invalid status value."
error.e0255: "User not found."
error.e0256: "The user does not exist or has been disabled."
error.e0257: "Enter a username."
error.e0258: "Enter both username and password."
error.e0259: "This username is already in use."
error.e0260: "The username or password is incorrect."
error.e0261: "User name is required."
error.e0262: "User ID is required."
error.e0263: "User identity is required."
error.e0264: "User identity has expired."
error.e0265: "User identity verification failed."
error.e0266: "User identity verification is not configured."
error.e0267: "Login credential has been invalidated."
error.e0268: "Login credential has expired."
error.e0269: "Invalid login credential."
error.e0270: "Too many failed sign-in attempts. Please try again later."
error.e0271: "The sign-in ticket is invalid or has expired."
error.e0272: "Sign-in result is required."
error.e0273: "Directory not found."
error.e0274: "Directories cannot be moved to another knowledge base."
error.e0275: "Directory name is required."
error.e0276: "Target agent not found."
error.e0277: "The target agent must be different from the current assignee."
error.e0278: "Select a target agent."
error.e0279: "The target tool is not authorized for the current conversation."
error.e0280: "Invalid similar-question format."
error.e0281: "This knowledge base contains FAQs and cannot be deleted."
error.e0282: "This knowledge base contains documents and cannot be deleted."
error.e0283: "Knowledge base not found."
error.e0284: "Knowledge base is required."
error.e0285: "Knowledge base is not enabled."
error.e0286: "This knowledge base directory is unavailable."
error.e0287: "Knowledge base directory not found."
error.e0288: "This directory does not belong to the current knowledge base."
error.e0289: "Knowledge base directories support at most two levels."
error.e0290: "Unsupported knowledge base type."
error.e0291: "Disabled roles cannot be assigned."
error.e0292: "Enter an answer."
error.e0293: "Built-in system roles cannot be deleted."
error.e0294: "Team lead user not found."
error.e0295: "End date must be later than or equal to start date."
error.e0296: "End time must be later than start time."
error.e0297: "The standard question column is missing."
error.e0298: "The answer column is missing."
error.e0299: "Contact method not found."
error.e0300: "Contact method is required."
error.e0301: "Invalid contact method type."
error.e0302: "View not found."
error.e0303: "Enter a view name."
error.e0304: "The view filter format is invalid."
error.e0305: "Role not found."
error.e0306: "Enter both role name and role code."
error.e0307: "This role is assigned to users and cannot be deleted."
error.e0308: "This role code is already in use."
error.e0309: "This agent team already has a schedule in the selected time period."
error.e0310: "This tag has child tags and cannot be deleted."
error.e0311: "This tag is linked to conversations and cannot be deleted."
error.e0312: "This tag is linked to tickets and cannot be deleted."
error.e0313: "This channel does not support public support configuration."
error.e0314: "This user already has an agent profile."
error.e0315: "This directory contains FAQs and cannot be deleted."
error.e0316: "This directory contains subdirectories and cannot be deleted."
error.e0317: "This directory contains documents and cannot be deleted."
error.e0318: "This contact method already exists."
error.e0319: "Use the delete endpoint to mark a Skill as deleted."
error.e0320: "Select at least one knowledge base."
error.e0321: "Select an AI Agent."
error.e0322: "Choose an image to upload."
error.e0323: "Choose a file to upload."
error.e0324: "Choose an attachment to upload."
error.e0325: "Select a user to link."
error.e0326: "Select an agent team."
error.e0327: "Choose a file to import."
error.e0328: "Select an agent team."
error.e0329: "Select a weekday."
error.e0330: "Select FAQs to delete."
error.e0331: "Select documents to delete."
error.e0332: "Select FAQs to move."
error.e0333: "Select documents to move."
error.e0334: "Assignee not found."
error.path.invalid: "Invalid path parameter."
error.e0336: "Invalid human handoff mode."
error.e0337: "Notification not found."
error.e0338: "This email address is already in use."
error.e0339: "Enter a configuration name."
error.e0340: "Enter a question."
error.e0341: "The question cannot exceed 500 characters."
error.e0342: "Attachment not found."
error.e0343: "The attachment has not finished uploading."
error.e0344: "Invalid attachment message payload format."
error.e0345: "Attachment message is missing assetId."
error.e0346: "Attachment message is missing payload."
error.e0347: "Default team queue mode requires at least one agent team."
error.notFound: "Not found"
error.knowledgeBase.referencedByAgent: "This knowledge base is referenced by AI Agent \"%s\". Remove the binding first."
error.knowledgeBase.referencedByAgents: "This knowledge base is referenced by %d AI Agents. Remove the bindings first."
error.agentTeamSchedule.batchLimit: "You can generate at most %d schedule entries at a time."
error.agentTeamSchedule.conflictRange: "This agent team already has a schedule from %s to %s."
error.knowledgeFAQImport.duplicateQuestionInFile: "The standard question is duplicated in the same file. It first appeared on row %d."
error.mcp.listToolsFailed: "Failed to list MCP tools: %v"
error.mcp.callToolFailed: "Failed to call MCP tool: %v"
error.mcp.connectServerFailed: "Failed to connect to MCP Server: %v"
error.wxwork.unsupportedOutboundMessageType: "Unsupported WeCom outbound message type: %s"
error.wxwork.currentUnsupportedOutboundMessageType: "The current WeCom outbound message type is not supported yet: %s"
error.param.required: "Parameter %s is required."
error.oidc.loginDisabled: "OIDC login is not enabled."
error.oidc.stateSecretMissing: "OIDC login secret is not configured."
error.oidc.profileMissing: "OIDC user information does not exist."
error.oidc.bindingDisabled: "The current OIDC binding has been disabled."
error.oidc.boundUserMissing: "The system user bound to this OIDC account does not exist."
error.wxwork.loginDisabled: "WeCom login is not enabled."
error.wxwork.loginSecretMissing: "WeCom login secret is not configured."
error.wxwork.profileMissing: "WeCom user information does not exist."
error.wxwork.bindingDisabled: "The current WeCom binding has been disabled."
error.wxwork.boundUserMissing: "The system user bound to this WeCom account does not exist."
error.wxwork.userIDMissing: "Failed to get the WeCom user ID."
error.wxwork.userIDTaken: "The WeCom user ID is already used as a system username."
error.wxwork.mobileTaken: "The WeCom mobile number is already used by a system user."
error.wxwork.emailTaken: "The WeCom email address is already used by a system user."
error.wxwork.configIncomplete: "WeCom is not enabled or its configuration is incomplete."
error.customerSession.secretMissing: "Customer session secret is not configured."
error.conversation.createFailed: "Failed to create conversation."
error.conversation.tagNotFound: "Tag not found."
error.aiConfig.noneEnabled: "No available AI configuration is configured."
error.embeddingModel.noneEnabled: "No available Embedding model is configured."
error.agentTeamSchedule.startAtInvalid: "Invalid start time format."
error.agentTeamSchedule.startAtInvalidWithFormat: "Invalid start time format. Use yyyy-MM-dd HH:mm:ss or RFC3339."
error.agentTeamSchedule.endAtInvalid: "Invalid end time format."
error.agentTeamSchedule.endAtInvalidWithFormat: "Invalid end time format. Use yyyy-MM-dd HH:mm:ss or RFC3339."
error.agentTeamSchedule.startDateInvalid: "Invalid start date format."
error.agentTeamSchedule.startDateInvalidWithFormat: "Invalid start date format. Use yyyy-MM-dd."
error.agentTeamSchedule.endDateInvalid: "Invalid end date format."
error.agentTeamSchedule.endDateInvalidWithFormat: "Invalid end date format. Use yyyy-MM-dd."
error.agentTeamSchedule.startTimeInvalid: "Invalid start time format."
error.agentTeamSchedule.startTimeInvalidWithFormat: "Invalid start time format. Use HH:mm or HH:mm:ss."
error.agentTeamSchedule.endTimeInvalid: "Invalid end time format."
error.agentTeamSchedule.endTimeInvalidWithFormat: "Invalid end time format. Use HH:mm or HH:mm:ss."
tool.builtin.toolSearch.title: "Search and Run Dynamic Tools"
tool.builtin.toolSearch.description: "Searches the MCP tools currently available to the agent and runs the selected tool after its toolCode is confirmed. Best for long-tail tools; it should not replace fixed built-in workflow tools."
tool.builtin.toolSearch.appendix: |-
  When you need long-tail MCP capabilities, prefer the tool_search tool and follow these rules:
  1. Call tool_search first to find the dynamic tool you need, then continue with the selected real tool.
  2. Do not assume all long-tail tools are visible at the start; only tools selected by tool_search are exposed to subsequent model calls.
  3. If a fixed built-in tool can already complete the task, prefer the fixed tool and do not overuse tool_search.
tool.builtin.skill.title: "Load Skill Instructions"
tool.builtin.skill.description: "Loads specialized skill instructions for the current agent when extra task-specific guidance is needed."
tool.graph.triageServiceRequest.title: "Route Service Request"
tool.graph.triageServiceRequest.description: "Analyzes the current conversation to decide whether to keep answering, prepare a ticket draft, or hand off to a human, including a ticket draft when ticket creation is appropriate."
tool.graph.triageServiceRequest.appendix: |-
  When you need to decide between continuing the answer, creating a ticket, or handing off to a human, call triage_service_request first and follow these rules:
  1. The tool returns recommendedAction and includes ticketDraft when ticket creation is needed.
  2. If recommendedAction=continue_answering, continue clarifying or answering instead of escalating directly.
  3. If recommendedAction=prepare_ticket, use ticketDraft or collect missing fields before calling create_ticket_with_confirmation.
  4. If recommendedAction=handoff_to_human, confirm the reason is sufficient before calling handoff_to_human.
  5. When the escalation path is unclear, use this tool instead of making a complex routing decision from the main prompt alone.
tool.graph.analyzeConversation.title: "Analyze Conversation Risk and Summary"
tool.graph.analyzeConversation.description: "Summarizes the current conversation, identifies risk signals, and recommends whether to keep answering, create a ticket, or hand off to a human."
tool.graph.analyzeConversation.appendix: |-
  When the conversation may involve escalation, refunds, compensation, clear negative sentiment, ticket creation, or human handoff, call analyze_conversation first and follow these rules:
  1. This tool returns a structured summary, risk signals, and next-step recommendation. It does not create tickets or hand off to a human.
  2. If the tool recommends handoff_to_human, confirm the handoff conditions before calling handoff_to_human.
  3. If the tool recommends prepare_ticket, call prepare_ticket_draft or collect more information before creating a ticket.
  4. If the tool recommends continue_answering, continue clarifying and answering instead of escalating too early.
tool.graph.prepareTicketDraft.title: "Prepare Ticket Draft"
tool.graph.prepareTicketDraft.description: "Turns the current conversation and collected details into a ticket draft with a suggested title, description, missing fields, and follow-up questions."
tool.graph.prepareTicketDraft.appendix: |-
  When the user has asked to create a ticket, file a complaint, report an issue, or request after-sales handling, but the title or description is still unclear, call prepare_ticket_draft first and follow these rules:
  1. This tool prepares a ticket draft and returns a suggested title, suggested description, missing fields, and follow-up questions.
  2. If ready=false, ask follow-up questions based on missingFields and followUpQuestions instead of creating a ticket directly.
  3. If ready=true, use the result to consider calling create_ticket_with_confirmation.
  4. This tool only prepares a draft. It does not create a ticket.
tool.graph.createTicketConfirm.title: "Create Ticket With Confirmation"
tool.graph.createTicketConfirm.description: "Guides ticket creation with parameter preparation, customer confirmation, actual ticket creation, and final result delivery."
tool.graph.createTicketConfirm.appendix: |-
  You can call create_ticket_with_confirmation after enough information has been collected, but follow these rules:
  1. Only consider this tool when the user explicitly wants to submit a ticket, complaint, issue report, or after-sales request.
  2. Before calling it, prepare a clear ticket title and issue description. If the information is still scattered, call prepare_ticket_draft or ask follow-up questions first.
  3. Once you are ready to create a ticket, you must call create_ticket_with_confirmation. Do not simply claim in text that the ticket has been created.
  4. This Graph Tool asks the user for confirmation first. The ticket is created only after the user confirms; if the user cancels, the flow ends.
  5. If the user is only asking questions, complaining generally, or expressing dissatisfaction without explicitly requesting a ticket, continue clarifying instead of proactively creating one.
tool.graph.handoffConversation.title: "Handoff to Human With Confirmation"
tool.graph.handoffConversation.description: "Guides human handoff with reason preparation, customer confirmation, actual transfer, and final result delivery."
tool.graph.handoffConversation.appendix: |-
  You can call handoff_to_human after confirming that human help is needed, but follow these rules:
  1. Only call this tool when the user explicitly asks for a human agent or you have determined that the issue must be handled by a human.
  2. Before calling it, summarize the handoff reason clearly. If the reason is vague, ask a follow-up question first.
  3. Once you decide to hand off, you must call handoff_to_human. Do not simply say in text that you have connected the user to a human.
  4. This Graph Tool asks the user for confirmation first. The handoff happens only after the user confirms; if the user cancels, the flow ends.
  5. If the issue can still be solved in the current conversation, continue helping instead of escalating too early.
  6. If the tool returns terminal=true and shouldRetry=false, the handoff flow has ended. Do not call it repeatedly.
conversation.handoff.waiting: "We are connecting you to a human support agent. Please wait."
conversation.handoff.offHours: "Human support is currently outside service hours. You can keep describing the issue and I will do my best to help. You can also request a human agent again when service hours resume."
notification.ticketAssigned.title: "Ticket assigned"
notification.ticketAssigned.line: "Ticket %s has been assigned to you."
notification.ticketAssigned.reason: "Assignment reason: %s"
notification.conversationTransferred.title: "Conversation transferred"
notification.conversationAutoAssigned.title: "Conversation auto-assigned"
notification.conversationAssigned.title: "Conversation assigned"
notification.conversationAssigned.line: "Conversation #%s has been assigned to you."
notification.conversationAssigned.reason: "Assignment reason: %s"
notification.conversationTransferred.reason: "Transfer reason: %s"
notification.ticketAssigned.wxwork.no: "Ticket no: %s"
notification.ticketAssigned.wxwork.title: "Title: %s"
notification.ticketAssigned.wxwork.status: "Status: %s"
notification.assignee: "Assignee: %s"
notification.conversationAssigned.wxwork.id: "Conversation ID: #%d"
notification.conversationAssigned.wxwork.summary: "Summary: %s"
notification.conversationAssigned.wxwork.channel: "Channel: %s"
notification.conversationAssigned.wxwork.status: "Status: %s"
notification.time: "Time: %s"
graph.confirmOrCancel: "Please reply with \"Confirm\" or \"Cancel\"."
graph.needExplicitConfirmation: "I need your explicit confirmation. Please reply with \"Confirm\" or \"Cancel\"."
graph.confirmationExpired: "This confirmation has expired. Please start again."
graph.cancelCreateTicket: "Ticket creation has been cancelled."
graph.cancelHandoff: "Human handoff has been cancelled."
graph.ticketCreated: "Ticket created. Ticket no: %s. Title: %s."
graph.createTicketConfirmPrompt: |-
  I am ready to create a ticket for you.
  Title: %s
  Description: %s
  Please reply with "Confirm" or "Cancel".
graph.defaultHandoffReason: "The user needs human support."
graph.handoffConfirmPrompt: |-
  I am ready to connect you to a human support agent.
  Reason: %s
  Please reply with "Confirm" or "Cancel".
conversation.interrupt.defaultPrompt: "Please provide more information and try again."
ticket.defaultConversationTitle: "Conversation ticket"
tool.graph.createTicketConfirm.info: "Graph Tool. Handles ticket parameter preparation, user confirmation, actual ticket creation, and result return. Use only when the user explicitly asks to create a ticket and the title and description are clear."
tool.graph.createTicketConfirm.param.title: "Ticket title. Concisely summarizes the issue."
tool.graph.createTicketConfirm.param.description: "Ticket description. Clearly captures the user's issue, symptoms, and request."
tool.graph.handoffConversation.info: "Graph Tool. Handles handoff reason preparation, user confirmation, actual human handoff, and result return. Use only when the user explicitly asks for a human agent or you have confirmed that human handling is required. Do not repeat the call when the result has terminal=true and shouldRetry=false."
tool.graph.handoffConversation.param.reason: "Handoff reason. Briefly explain why a human is needed, such as explicit user request, manual verification, or after-sales handling."
tool.graph.triageServiceRequest.info: "Graph Tool. Analyzes the current conversation to decide whether to continue answering, prepare a ticket draft, or hand off to a human. When ticket creation is recommended, it returns a structured ticket draft suggestion."
tool.graph.triageServiceRequest.param.goal: "Analysis goal, such as whether to escalate, create a ticket, or hand off to a human."
tool.graph.triageServiceRequest.param.observedIssue: "Main issue or dispute observed in the conversation."
tool.graph.triageServiceRequest.param.needTicket: "Whether to focus on evaluating ticket creation."
tool.graph.triageServiceRequest.param.needHumanHandoff: "Whether to focus on evaluating human handoff."
tool.graph.triageServiceRequest.param.additionalContext: "Additional context, such as risk signals or constraints already identified."
tool.graph.analyzeConversation.info: "Graph Tool. Summarizes the current conversation, identifies complaint/payment/sentiment risk signals, and recommends whether to continue answering, create a ticket, or hand off to a human."
tool.graph.analyzeConversation.param.goal: "Analysis goal, such as whether to hand off to a human, create a ticket, or perform risk review."
tool.graph.analyzeConversation.param.observedIssue: "Main issue or request observed in the conversation."
tool.graph.analyzeConversation.param.needQualityCheck: "Whether to focus on risk or quality review."
tool.graph.analyzeConversation.param.additionalContext: "Additional context, such as disputes, complaint points, or business constraints already identified."
tool.graph.prepareTicketDraft.info: "Graph Tool. Prepares a ticket draft from the current conversation and collected information. Use it before create_ticket_with_confirmation when the ticket content needs to be organized."
tool.graph.prepareTicketDraft.param.title: "Prepared ticket title. Optional."
tool.graph.prepareTicketDraft.param.description: "Prepared ticket description. Optional."
tool.graph.prepareTicketDraft.param.issue: "The issue or error message the user is experiencing."
tool.graph.prepareTicketDraft.param.impact: "Impact scope, such as unable to sign in, unable to place an order, or business interruption."
tool.graph.prepareTicketDraft.param.expectedOutcome: "The user's expected outcome or request."
tool.graph.prepareTicketDraft.param.currentAttempt: "Current attempted troubleshooting steps. Optional."
