{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"tool_cx-genie","slug":"cx-genie","name":"CX Genie","type":"product","url":"https://www.cxgenie.ai","page_url":"https://unfragile.ai/cx-genie","categories":["chatbots-assistants"],"tags":[],"pricing":{"model":"freemium","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"tool_cx-genie__cap_0","uri":"capability://text.generation.language.24.7.conversational.chatbot.deployment.with.minimal.configuration","name":"24/7 conversational chatbot deployment with minimal configuration","description":"Deploys a pre-trained conversational AI agent that handles customer inquiries across business hours without human intervention. The platform uses a template-based configuration model where businesses define common question-answer pairs and conversation flows through a visual builder or simple JSON schema, then the chatbot automatically routes incoming messages through intent classification and response matching. The system maintains conversation context within a single session to handle multi-turn dialogues without requiring explicit state management from the user.","intents":["I need to handle customer support tickets 24/7 without hiring night-shift staff","I want to reduce response time for common FAQ-type questions automatically","I need to deploy a chatbot quickly without hiring ML engineers or extensive training"],"best_for":["Early-stage SaaS founders with limited support budgets","E-commerce businesses handling high volumes of repetitive inquiries (order status, returns, shipping)","Small teams (1-10 people) without dedicated DevOps or ML infrastructure"],"limitations":["Intent classification accuracy depends entirely on training data quality — poor QA pairs result in incorrect routing and frustrated customers","No multi-turn reasoning or complex dialogue management — struggles with context-dependent questions requiring information from previous turns","Session context is ephemeral — no persistent memory across separate conversations, limiting ability to recognize returning customers or maintain customer history","Limited to text-based conversations — no voice, video, or rich media support"],"requires":["Active internet connection for cloud-hosted chatbot","Business email account for account creation","At least 20-50 representative Q&A pairs for initial training","Webhook or API endpoint if integrating with external systems (optional)"],"input_types":["text (customer messages)","structured Q&A pairs (JSON or CSV format)","conversation flow definitions (visual builder or YAML)"],"output_types":["text (chatbot responses)","structured conversation logs (JSON)","conversation metadata (intent, confidence score, timestamp)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_1","uri":"capability://planning.reasoning.intent.classification.and.routing.with.confidence.scoring","name":"intent classification and routing with confidence scoring","description":"Analyzes incoming customer messages to identify the underlying intent (e.g., 'order status inquiry', 'refund request', 'product question') and routes them to the appropriate response handler or escalation path. The system uses semantic similarity matching or lightweight NLU models to compare incoming text against a knowledge base of known intents, returning a confidence score that indicates whether the chatbot should respond autonomously or escalate to a human agent. Routing decisions are configurable — businesses can set confidence thresholds to automatically escalate low-confidence matches.","intents":["I want the chatbot to automatically recognize what customers are asking about and respond appropriately","I need to escalate complex or ambiguous questions to human agents instead of giving wrong answers","I want to track which types of questions my chatbot handles well vs. which ones fail"],"best_for":["Support teams wanting to reduce manual triage overhead by pre-filtering simple vs. complex inquiries","Businesses with well-defined, predictable customer question categories","Teams that want visibility into chatbot performance through intent-level metrics"],"limitations":["Accuracy degrades significantly for out-of-domain questions or novel customer intents not seen during training","Confidence scores are relative, not absolute — a 0.75 score doesn't guarantee 75% accuracy in practice","No active learning — the system doesn't improve from misclassified messages without manual retraining","Requires careful threshold tuning per use case; overly aggressive thresholds cause false escalations, conservative thresholds cause wrong answers"],"requires":["Minimum 10-15 representative examples per intent category for reliable classification","Clear definition of intent categories that map to business processes","Escalation workflow (email, ticketing system, or human queue) if using confidence-based routing"],"input_types":["text (customer message)","intent definitions (list of intent names and example phrases)"],"output_types":["intent label (string)","confidence score (0.0-1.0 float)","routing decision (respond autonomously or escalate)"],"categories":["planning-reasoning","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_10","uri":"capability://tool.use.integration.basic.api.for.programmatic.chatbot.interaction.and.integration","name":"basic api for programmatic chatbot interaction and integration","description":"Exposes REST API endpoints that allow developers to send messages to the chatbot, retrieve conversation history, and manage Q&A training data programmatically. The API supports standard HTTP methods (POST for sending messages, GET for retrieving data, PUT for updating) and returns JSON responses with conversation metadata, intent classification results, and generated responses. This enables custom integrations beyond the platform's built-in channels (e.g., embedding the chatbot in a mobile app, integrating with a custom CRM).","intents":["I want to embed the chatbot in my mobile app or custom application without using the web widget","I need to programmatically update Q&A training data based on external systems (e.g., product database)","I want to integrate the chatbot with my CRM or ticketing system for custom workflows"],"best_for":["Developers building custom integrations beyond the platform's built-in channels","Teams wanting to embed the chatbot in proprietary applications or workflows","Businesses with complex integration requirements (e.g., real-time product data lookup)"],"limitations":["API is basic — limited to message sending and Q&A management, no advanced features like custom intent classification or response generation","No webhooks for event-driven integrations — polling is required to detect new conversations or escalations","Rate limiting may apply — high-volume integrations may hit API quotas","API documentation and SDKs are minimal — developers must write custom code for integration","No authentication beyond API keys — no fine-grained access control or role-based permissions"],"requires":["API key for authentication (provided by platform)","HTTP client library (curl, requests, axios, etc.)","Understanding of REST API conventions and JSON"],"input_types":["JSON request body (message text, customer ID, metadata)","URL parameters (conversation ID, intent filter)"],"output_types":["JSON response (chatbot response, intent, confidence score, conversation metadata)","HTTP status codes (200 for success, 4xx for client errors, 5xx for server errors)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_2","uri":"capability://memory.knowledge.knowledge.base.ingestion.and.semantic.search.for.response.retrieval","name":"knowledge base ingestion and semantic search for response retrieval","description":"Accepts customer-provided documentation, FAQs, or product information in multiple formats (text, PDF, web URLs) and indexes them into a searchable knowledge base that the chatbot queries to generate contextually relevant responses. The system converts documents into embeddings (vector representations) and stores them in a vector database, enabling semantic search — when a customer asks a question, the chatbot retrieves the most relevant knowledge base articles based on semantic similarity rather than keyword matching. Retrieved articles are then used as context for the LLM to generate a natural language response.","intents":["I want the chatbot to answer questions based on my product documentation without manually writing Q&A pairs","I need the chatbot to stay current when I update my help docs or product information","I want to reduce hallucinations by grounding chatbot responses in my actual company knowledge"],"best_for":["SaaS companies with extensive product documentation that changes frequently","E-commerce businesses with large product catalogs and detailed specifications","Support teams wanting to leverage existing knowledge bases without manual curation"],"limitations":["Retrieval quality depends on document quality and structure — poorly written or outdated docs produce poor responses","Semantic search can retrieve irrelevant articles if the knowledge base contains similar-sounding but contextually different content","No automatic deduplication — if the knowledge base contains redundant or conflicting information, the chatbot may surface contradictory answers","Embedding models have a context window limit — very long documents may be truncated or chunked, potentially losing important context","Updates to the knowledge base require re-indexing, which may introduce latency (seconds to minutes depending on knowledge base size)"],"requires":["Structured knowledge base (FAQ, help docs, product specs) in text, PDF, or HTML format","Minimum 5-10 documents for meaningful semantic search; larger knowledge bases (100+) perform better","Regular maintenance — outdated or incorrect information in the knowledge base will be surfaced to customers"],"input_types":["text documents (plain text, markdown)","PDF files","web URLs (for crawling)","structured data (CSV with Q&A pairs)"],"output_types":["retrieved document snippets (text)","relevance scores (float 0.0-1.0)","generated response (text, grounded in retrieved knowledge)"],"categories":["memory-knowledge","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_3","uri":"capability://memory.knowledge.multi.turn.conversation.context.management.with.session.persistence","name":"multi-turn conversation context management with session persistence","description":"Maintains conversation state across multiple message exchanges within a single customer session, allowing the chatbot to reference previous messages and build context-aware responses. The system stores conversation history (messages, intents, responses) in a session store keyed by customer identifier, and passes relevant history to the LLM as context when generating responses. This enables the chatbot to handle follow-up questions like 'Can you tell me more?' or 'What about the other option?' without requiring the customer to repeat themselves.","intents":["I want the chatbot to remember what the customer asked earlier in the conversation and reference it in follow-up responses","I need to handle multi-step support workflows where the customer provides information incrementally","I want to reduce customer frustration from having to repeat information across multiple turns"],"best_for":["Support scenarios requiring multi-step troubleshooting or information gathering","Onboarding flows where customers need guided step-by-step assistance","Businesses handling complex customer inquiries that naturally span multiple turns"],"limitations":["Session context is lost when conversations end — no persistent memory across separate sessions or days","Context window is limited by the LLM's token limit — very long conversations may require truncating or summarizing history","No automatic context summarization — as conversations grow longer, the chatbot may lose important details from earlier turns","Privacy concern: conversation history is stored server-side, requiring compliance with data retention and GDPR policies","No built-in deduplication of context — if the customer repeats information, it may be stored redundantly"],"requires":["Session identifier (customer ID, email, or anonymous session token) to track conversation state","Backend session store (database or cache) with sufficient capacity for concurrent conversations","Clear session timeout policy (e.g., conversations expire after 30 minutes of inactivity)"],"input_types":["text (customer message)","session identifier (string)"],"output_types":["text (chatbot response)","updated conversation history (array of message objects)","session metadata (timestamp, message count)"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_4","uri":"capability://automation.workflow.escalation.to.human.agents.with.context.handoff","name":"escalation to human agents with context handoff","description":"Detects when a customer inquiry exceeds the chatbot's capabilities (based on confidence thresholds, explicit escalation keywords, or customer request) and seamlessly transfers the conversation to a human agent with full context. The system passes the conversation history, customer information, and detected intent to the agent interface, eliminating the need for customers to repeat themselves. Escalation can be triggered automatically (low confidence) or manually (customer requests to speak with a human).","intents":["I want the chatbot to know when it's out of its depth and hand off to a human instead of giving wrong answers","I need human agents to see the full conversation history so they can pick up where the chatbot left off","I want customers to be able to request a human agent at any point without losing context"],"best_for":["Support teams using chatbots as a first-line filter to reduce human workload","Businesses with complex products where some inquiries inevitably require human expertise","Teams wanting to measure chatbot effectiveness by tracking escalation rates"],"limitations":["Escalation workflow must be manually configured — no built-in integration with all ticketing systems","No automatic assignment logic — escalated conversations may sit in a queue if no agents are available","Context handoff is one-way — if the human agent resolves the issue, that resolution is not fed back to the chatbot for learning","Escalation latency depends on agent availability — customers may wait if all agents are busy","No SLA enforcement — the platform doesn't guarantee response times for escalated conversations"],"requires":["Human agent team or ticketing system (Zendesk, Intercom, Freshdesk, etc.) to receive escalations","Integration configuration (webhook, API key, or email forwarding) to route escalations to the agent system","Clear escalation policy defining when and why conversations should be escalated"],"input_types":["conversation history (array of messages)","escalation trigger (confidence threshold, keyword, or explicit request)","customer metadata (email, name, account ID)"],"output_types":["escalation ticket (structured data with conversation context)","agent notification (email or in-app alert)","customer notification (message confirming escalation)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_5","uri":"capability://data.processing.analysis.conversation.analytics.and.performance.metrics.dashboard","name":"conversation analytics and performance metrics dashboard","description":"Tracks and visualizes chatbot performance metrics including conversation volume, resolution rate (conversations resolved without escalation), average response time, customer satisfaction (if feedback is collected), and intent distribution. The platform aggregates conversation logs into a dashboard showing trends over time, identifying which intents the chatbot handles well vs. poorly, and highlighting conversations that failed or were escalated. Metrics are updated in near-real-time and can be exported for further analysis.","intents":["I want to measure whether the chatbot is actually reducing support workload or just frustrating customers","I need to identify which types of questions the chatbot struggles with so I can improve training data","I want to track ROI by comparing chatbot resolution rates against human agent resolution rates"],"best_for":["Support managers wanting visibility into chatbot performance and ROI","Product teams iterating on chatbot training data based on failure patterns","Businesses needing to justify chatbot investment to stakeholders with metrics"],"limitations":["Metrics are only as good as the underlying data — if conversations aren't properly logged or tagged, metrics will be inaccurate","Resolution rate is a proxy metric — a conversation marked as 'resolved' may still result in customer dissatisfaction if the answer was wrong","No automatic root cause analysis — the dashboard shows that a conversation failed, but not why","Customer satisfaction data requires explicit feedback collection — most customers won't provide ratings without prompting","Metrics are aggregated and anonymized — no drill-down into individual customer journeys or cohort analysis"],"requires":["Minimum 100+ conversations to generate meaningful metrics and trends","Proper conversation logging and tagging (intents, escalations, resolutions) for accurate metrics","Optional: customer feedback mechanism (survey, rating, or NPS) for satisfaction metrics"],"input_types":["conversation logs (structured data with metadata)","customer feedback (optional ratings or survey responses)"],"output_types":["dashboard visualizations (charts, tables)","metric summaries (KPIs like resolution rate, avg response time)","exported reports (CSV, PDF)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_6","uri":"capability://tool.use.integration.multi.channel.message.ingestion.web.chat.email.sms","name":"multi-channel message ingestion (web chat, email, sms)","description":"Accepts customer messages from multiple communication channels (web chat widget, email, SMS) and routes them through a unified chatbot pipeline, allowing businesses to handle inquiries across channels without deploying separate chatbots. The platform provides channel-specific integrations that normalize messages into a standard format, maintain channel-specific context (e.g., SMS character limits), and route responses back through the appropriate channel. A single conversation may span multiple channels (e.g., customer starts on web chat, continues via email).","intents":["I want customers to reach support through their preferred channel without having to switch platforms","I need a single chatbot to handle inquiries from web, email, and SMS without duplicating logic","I want to track conversations across channels to understand the full customer journey"],"best_for":["Omnichannel support teams wanting to consolidate chatbot infrastructure","Businesses where customers naturally use multiple channels (e.g., web for browsing, SMS for quick questions)","Teams wanting to reduce complexity by managing a single chatbot instead of channel-specific bots"],"limitations":["Channel-specific constraints are not automatically handled — SMS responses may exceed character limits, email responses may lose formatting","Cross-channel conversation tracking requires customer identification (email, phone number, or account ID) which may not be available in all channels","Integration complexity varies by channel — web chat is simple (embed a widget), but SMS requires carrier integration and phone number management","Response latency varies by channel — web chat is near-instant, email may have delays, SMS delivery depends on carrier","Limited to text-based channels — no support for voice, video, or rich media (images, buttons) across all channels"],"requires":["Channel-specific configuration (web domain for chat widget, email address for email integration, phone number for SMS)","Customer identification mechanism (email, phone, or account ID) to link cross-channel conversations","SMS provider account (Twilio, AWS SNS, etc.) if using SMS channel","Email integration (IMAP/SMTP or API) if using email channel"],"input_types":["text messages from web chat, email, or SMS","channel metadata (source channel, timestamp, sender ID)"],"output_types":["normalized message (standard format)","channel-specific response (formatted for web, email, or SMS)","conversation log (unified across channels)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_7","uri":"capability://data.processing.analysis.training.data.management.and.q.a.pair.curation","name":"training data management and q&a pair curation","description":"Provides a UI for businesses to create, edit, and organize Q&A pairs that train the chatbot's response generation. Users can manually write Q&A pairs, import them from CSV/JSON, or extract them from existing knowledge base documents. The platform stores Q&A pairs in a structured format, allows tagging and categorization, and enables version control (tracking changes over time). When the chatbot receives a customer message, it retrieves the most relevant Q&A pair(s) and uses them as context for response generation.","intents":["I want to teach the chatbot how to answer common questions without writing code or fine-tuning models","I need to organize Q&A pairs by category so the chatbot can handle different types of inquiries","I want to iterate on Q&A pairs based on customer feedback and improve chatbot accuracy over time"],"best_for":["Non-technical support managers who need to update chatbot training data without developer help","Businesses with well-defined FAQ content that can be easily structured as Q&A pairs","Teams wanting to maintain a living knowledge base that evolves with product changes"],"limitations":["Q&A pair quality directly impacts chatbot accuracy — poorly written or incomplete pairs result in poor responses","No automatic validation — the platform doesn't check for duplicate, contradictory, or outdated Q&A pairs","Scaling challenges — managing thousands of Q&A pairs becomes unwieldy without search and filtering tools","No active learning — the system doesn't suggest new Q&A pairs based on customer questions it couldn't answer","Manual curation is time-consuming — businesses must regularly review and update Q&A pairs as products/policies change"],"requires":["Clear understanding of common customer questions and expected answers","Structured Q&A data (CSV, JSON, or manual entry) with at least 20-50 pairs for meaningful training","Regular maintenance — Q&A pairs must be updated as products, policies, or processes change"],"input_types":["Q&A pairs (question text, answer text)","CSV/JSON files with bulk Q&A data","document uploads (PDFs, web pages) for extraction","category/tag metadata"],"output_types":["structured Q&A database (searchable, versioned)","training data export (JSON, CSV)","version history (audit trail of changes)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_8","uri":"capability://text.generation.language.customizable.response.templates.with.variable.substitution","name":"customizable response templates with variable substitution","description":"Allows businesses to define response templates with placeholders for dynamic data (customer name, order number, product name, etc.) that are filled in at response time. Templates support conditional logic (e.g., 'if customer is premium, show premium support hours') and formatting options (bold, links, line breaks). When the chatbot generates a response, it selects the appropriate template and substitutes variables with actual customer data, enabling personalized responses without requiring custom code.","intents":["I want to personalize chatbot responses with customer names and order details without writing code","I need to show different information based on customer attributes (e.g., premium vs. free tier)","I want to maintain consistent messaging across all chatbot responses while allowing flexibility"],"best_for":["Support teams wanting to personalize responses at scale without manual customization","Businesses with tiered customer bases (free, premium, enterprise) requiring different messaging","Teams wanting to maintain brand voice and messaging consistency across all chatbot interactions"],"limitations":["Variable substitution requires customer data to be available in the platform — missing data results in blank placeholders or fallback text","Conditional logic is limited to simple if/then rules — complex business logic requires custom code","Template management becomes unwieldy at scale — hundreds of templates are difficult to organize and maintain","No automatic template suggestion — businesses must manually create templates for each response type","Template changes apply to all future conversations — no way to A/B test different templates"],"requires":["Customer data integration (CRM, database, or API) to populate variables like customer name, account status, order history","Clear definition of available variables and their data types","Template authoring (through UI or code) for each response type"],"input_types":["template text with placeholders (e.g., 'Hello {{customer_name}}')","conditional logic (e.g., 'if {{account_tier}} == premium')","customer data (JSON object with variable values)"],"output_types":["rendered response text with variables substituted","formatted response (with HTML/markdown for styling)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"tool_cx-genie__cap_9","uri":"capability://data.processing.analysis.conversation.feedback.collection.and.sentiment.analysis","name":"conversation feedback collection and sentiment analysis","description":"Collects explicit customer feedback (ratings, satisfaction surveys) after conversations and performs sentiment analysis on conversation text to infer customer satisfaction. The platform prompts customers to rate their experience ('Was this helpful?', 'Rate your satisfaction 1-5'), stores feedback alongside conversation data, and analyzes conversation text for sentiment indicators (positive, negative, neutral). Feedback is aggregated into metrics and used to identify problematic conversations for review.","intents":["I want to measure customer satisfaction with chatbot interactions to justify continued investment","I need to identify conversations where the chatbot gave wrong or unhelpful answers so I can improve training data","I want to track sentiment trends over time to detect if chatbot quality is improving or degrading"],"best_for":["Support teams wanting quantitative measures of chatbot effectiveness","Product managers tracking chatbot quality and ROI","Businesses wanting to identify and fix chatbot failure modes based on customer feedback"],"limitations":["Explicit feedback has low response rates — most customers won't rate conversations unless heavily prompted","Sentiment analysis is imperfect — sarcasm, context-dependent language, and domain-specific terminology can be misclassified","Feedback is subjective — a customer may rate a conversation as 'unhelpful' because they didn't like the answer, not because the chatbot was wrong","No automatic action — the platform identifies problematic conversations but doesn't automatically improve training data or escalate issues","Privacy concern: storing customer feedback requires compliance with data retention and privacy policies"],"requires":["Feedback collection mechanism (survey prompt, rating widget) shown to customers after conversations","Sentiment analysis model (pre-trained or custom) for analyzing conversation text","Feedback storage and aggregation infrastructure"],"input_types":["explicit feedback (rating, survey response)","conversation text (for sentiment analysis)"],"output_types":["feedback score (1-5 rating or satisfaction percentage)","sentiment label (positive, negative, neutral)","aggregated metrics (average rating, sentiment distribution)"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":40,"verified":false,"data_access_risk":"high","permissions":["Active internet connection for cloud-hosted chatbot","Business email account for account creation","At least 20-50 representative Q&A pairs for initial training","Webhook or API endpoint if integrating with external systems (optional)","Minimum 10-15 representative examples per intent category for reliable classification","Clear definition of intent categories that map to business processes","Escalation workflow (email, ticketing system, or human queue) if using confidence-based routing","API key for authentication (provided by platform)","HTTP client library (curl, requests, axios, etc.)","Understanding of REST API conventions and JSON"],"failure_modes":["Intent classification accuracy depends entirely on training data quality — poor QA pairs result in incorrect routing and frustrated customers","No multi-turn reasoning or complex dialogue management — struggles with context-dependent questions requiring information from previous turns","Session context is ephemeral — no persistent memory across separate conversations, limiting ability to recognize returning customers or maintain customer history","Limited to text-based conversations — no voice, video, or rich media support","Accuracy degrades significantly for out-of-domain questions or novel customer intents not seen during training","Confidence scores are relative, not absolute — a 0.75 score doesn't guarantee 75% accuracy in practice","No active learning — the system doesn't improve from misclassified messages without manual retraining","Requires careful threshold tuning per use case; overly aggressive thresholds cause false escalations, conservative thresholds cause wrong answers","API is basic — limited to message sending and Q&A management, no advanced features like custom intent classification or response generation","No webhooks for event-driven integrations — polling is required to detect new conversations or escalations","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.31666666666666665,"quality":0.72,"ecosystem":0.15000000000000002,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.35,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:30.282Z","last_scraped_at":"2026-04-05T13:23:42.561Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=cx-genie","compare_url":"https://unfragile.ai/compare?artifact=cx-genie"}},"signature":"pOiKxBRpkk1aihes8CqDx4YtMIKovagGXURG9H+ih7htxVVxGoEo9HFNzXdRzvlZRP/QO/Loqj+hkM+FW9G3Cw==","signedAt":"2026-06-21T13:22:24.948Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/cx-genie","artifact":"https://unfragile.ai/cx-genie","verify":"https://unfragile.ai/api/v1/verify?slug=cx-genie","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}