# Wexio.io | Conversational Automation Platform for Multi-Channel Messaging > Wexio.io is a conversational automation platform that helps businesses automate customer engagement across WhatsApp, Telegram, Instagram, and Viber with AI-powered flows, a unified inbox, and no-code tools. Teams use it to manage customer conversations across messaging channels from a single dashboard. ## Documentation - [Help Center llms.txt](https://learn.wexio.io/llms.txt): Machine-readable summary of Wexio.io help center documentation and guides. - [Help Center llms-full.txt](https://learn.wexio.io/llms-full.txt): Full-text help center documentation for AI models and LLM-powered tools. - [Read llms.txt](https://wexio.io/llms.txt): Concise machine-readable site description for AI models. - [Templates llms.txt](https://templates.wexio.io/llms.txt): Machine-readable description of Wexio.io's pre-built automation flow templates. ## Products ### Inbox | Omnichannel Messaging Inbox URL: https://wexio.io/products/inbox Unified inbox for all WhatsApp, Telegram, Instagram, and Viber conversations in one place. Team collaboration, AI-powered actions, spam protection, smart collections, and real-time messaging across every channel. - Multi-channel support: WhatsApp Business API, Telegram Bot API, Instagram DMs, Viber Business - Team collaboration: assign conversations, internal notes, @mentions, shared drafts - AI-powered actions: auto-replies, message classification, sentiment analysis - Smart collections: filter and organize conversations by channel, status, assignee, tags - Spam protection: multi-layer spam filtering with content analysis and rate limiting - Real-time messaging: instant message delivery and read receipts ### Flow | Visual No-Code Automation Builder URL: https://wexio.io/products/flow Drag-and-drop visual automation builder for customer engagement flows. AI cards, WhatsApp template messages, version history, undo/redo, conditional branching, and smart publishing across all channels. - Visual builder: drag-and-drop canvas with zoom, pan, and grid snapping - AI cards: AI Classification, AI Agent, Text to Speech, Speech to Text - WhatsApp templates: pre-approved message templates with dynamic variables - Version history: full version control with rollback support - Conditional branching: if/else logic, switch cases, variable conditions - Multi-channel publishing: deploy flows to WhatsApp, Telegram, Instagram, Viber simultaneously ### AI | Smart AI Assistants URL: https://wexio.io/products/ai Built-in AI assistant powered by OpenAI and Anthropic. AI Classification, AI Agent, Text to Speech, Speech to Text, auto-transcription, image analysis, and document analysis for intelligent conversation handling. - AI Classification: categorize incoming messages by intent, sentiment, or topic - AI Agent: autonomous conversation handling with configurable personality and knowledge base - Text to Speech: convert text responses to voice messages - Speech to Text: transcribe voice messages to text automatically - Image analysis: understand and respond to images sent by customers - Document analysis: extract information from PDFs, documents, and files ### Templates | Pre-Built Automation Flows URL: https://wexio.io/products/templates Pre-built conversation flow templates to get started fast. Customizable for any use case and shareable with the community. - Industry-specific templates: automotive, beauty, education, healthcare, retail, and more - Use case templates: lead generation, customer support, booking, FAQ automation - Community sharing: publish and discover templates from other users - One-click import: install templates directly into your workspace ### People | Contact Management & CRM Sync URL: https://wexio.io/products/people Contact management with CRM sync to HubSpot, Salesforce, and Google BigQuery. Customer profiles, conversation history, and segmentation. - Contact profiles: unified customer view across all channels - Conversation history: full message history per contact - CRM sync: bidirectional sync with HubSpot, Salesforce, Google BigQuery - Segmentation: group contacts by tags, properties, and behavior ### Support | Team Collaboration Tools URL: https://wexio.io/products/support Customer support tools with priority handling, SLA management, and team collaboration on every conversation. - Priority handling: set and manage conversation priorities - SLA management: configure response time targets and escalation rules - Team collaboration: assign, transfer, and collaborate on conversations - Performance analytics: track team response times and resolution rates ## Resources - [Wexio.io Homepage](https://wexio.io): Platform overview, features, customer testimonials, and getting started guide for the conversational automation platform. - [About Us](https://wexio.io/about): Learn about Wexio LLC, our mission to simplify business messaging, and the team behind the platform. - [Pricing | Plans Built to Scale Your Business](https://wexio.io/pricing): Wexio.io offers 4 plans: Free ($0/mo), Standard ($16/mo), Pro ($29/mo), and Enterprise (custom). Save 15% with yearly billing. Pay only for the operations you use. - [Blog | Articles and Guides](https://wexio.io/blog): Articles, tutorials, and guides about conversational automation, multi-channel messaging, AI, and business growth strategies. - [What's New | Release Notes](https://wexio.io/whats-new): Latest product updates, new features, improvements, and fixes for the Wexio.io platform. - [FAQ | Frequently Asked Questions](https://wexio.io/faq): 66 questions and answers across 11 categories covering getting started, pricing, products, security, and more. - [Integrations | Supported Channels and Tools](https://wexio.io/integrations): Connect WhatsApp Business API, Telegram Bot API, Instagram DMs, Viber Business, ChatGPT, Claude, HubSpot, Salesforce, and BigQuery. - [Help Center](https://learn.wexio.io): Step-by-step guides for every feature of the Wexio.io platform. - [Contact Us](https://wexio.io/contact): Get in touch with the Wexio team for questions, partnerships, or support. - [Talk to Sales](https://wexio.io/talk-to-sales): Schedule a call with our sales team to discuss Enterprise plans and custom solutions. - [Careers](https://wexio.io/careers): Join the Wexio team. View open positions and learn about our culture. - [Press](https://wexio.io/press): Wexio.io in the news. Press releases, media coverage, and brand assets. ## Integrations ### Messaging Channels - [WhatsApp Business API](https://wexio.io/integrations): Connect WhatsApp Business API to send and receive messages, templates, and media at scale. Supports text, images, videos, documents, locations, contacts, and interactive messages (buttons, lists). - [Telegram Bot API](https://wexio.io/integrations): Connect a Telegram Bot to automate conversations with customers over Telegram. Supports text, media, inline keyboards, and bot commands. - [Instagram Direct Messages](https://wexio.io/integrations): Connect an Instagram Business account to manage DMs from a unified inbox. Supports text, images, stories, and quick replies. - [Viber Business](https://wexio.io/integrations): Connect Viber Business to chat with customers over Viber. Supports text, images, files, and rich messages. ### AI Providers - [ChatGPT (OpenAI GPT-4)](https://wexio.io/integrations): Use OpenAI's GPT-4 for AI classification, AI agents, text generation, and document analysis. - [Claude (Anthropic)](https://wexio.io/integrations): Use Anthropic's Claude for AI-powered conversation handling and analysis. ### CRM & Data - [HubSpot](https://wexio.io/integrations): Sync contacts and deal data between Wexio.io and HubSpot CRM. Bidirectional sync with custom field mapping. - [Salesforce](https://wexio.io/integrations): Sync contacts and customer data between Wexio.io and Salesforce CRM. Full object mapping and sync configuration. - [Google BigQuery](https://wexio.io/integrations): Export conversation and contact data to Google BigQuery for analytics and reporting. ## Industry Solutions - [Automotive | Dealership & Service Messaging](https://wexio.io/solutions/automotive): 24/7 dealership inquiry handling, lead capture, test drive scheduling, and service appointment reminders across WhatsApp, Telegram, Instagram, and Viber. - [Beauty & Spa | Client Communication](https://wexio.io/solutions/beauty): Focus on clients, not messages. Automate service inquiries, booking confirmations, and follow-ups for beauty salons and spas. - [Education | Student & Parent Engagement](https://wexio.io/solutions/education): Automate student and parent communication, course FAQs, enrollment processes, and campus updates. - [Entertainment & Events | Fan Engagement](https://wexio.io/solutions/entertainment): Fan engagement, event FAQs, ticket information, and real-time updates for entertainment businesses. - [Finance & Banking | Client Communication](https://wexio.io/solutions/finance): Secure client communication, lead qualification, service inquiries, and compliance-friendly messaging for financial services. - [Food & Grocery | Customer Support](https://wexio.io/solutions/food): Product FAQs, store information, order updates, and customer support for food and grocery businesses. - [Hotel & Lodging | Guest Communication](https://wexio.io/solutions/hotel): Guest communication, room inquiries, amenity FAQs, check-in/out reminders, and concierge services. - [Medical & Healthcare | Patient Communication](https://wexio.io/solutions/medical): Patient communication, clinic FAQs, appointment information, and follow-up reminders for healthcare providers. - [Shopping & Retail | Product Inquiries](https://wexio.io/solutions/retail): Product inquiries, customer support, lead capture, and order updates for retail businesses. - [Restaurant | Guest Engagement](https://wexio.io/solutions/restaurant): Menu FAQs, reservation information, guest engagement, and loyalty program communication for restaurants. - [Professional Services | Client Inquiries](https://wexio.io/solutions/professional): Client inquiries, consultation requests, lead qualification, and project updates for professional service firms. - [Travel & Transportation | Booking Support](https://wexio.io/solutions/transport): Tour inquiries, travel FAQs, booking support, and trip updates for travel and transportation businesses. ## Pricing ### Free Plan — $0/month - 1 team seat - 1 flow - 10,000 operations/month - 7-day message retention - All messaging channels included - Basic support ### Standard Plan — $16/month ($12/month billed yearly) - 4 team seats - 10 flows - 50,000 operations/month - 30-day message retention - AI auto-replies included - Email support ### Pro Plan — $29/month ($22/month billed yearly) - 20 team seats - 30 flows - 200,000 operations/month - 90-day message retention - AI auto-replies included - Priority support ### Enterprise Plan — Custom pricing - Unlimited team seats - Unlimited flows - Up to 3,000,000 operations/month - Unlimited message retention - Dedicated support - SLA guarantees - Custom integrations ## FAQs - [Getting Started](https://wexio.io/faq): 5 questions about signing up, connecting channels, sending first messages, and platform basics. - [About Wexio.io](https://wexio.io/faq): 5 questions about what Wexio.io is, who it's for, and how it compares to alternatives. - [Pricing & Billing](https://wexio.io/faq): 14 questions about plans, upgrades, downgrades, cancellations, payment methods, refunds, and Enterprise pricing. - [Operations (Ops) Usage](https://wexio.io/faq): 10 questions about how operations are counted, usage limits, overages, and optimization. - [Unified Inbox](https://wexio.io/faq): 4 questions about multi-channel inbox features, team collaboration, and conversation management. - [Flow Builder](https://wexio.io/faq): 4 questions about the visual automation builder, AI cards, triggers, and publishing flows. - [Templates](https://wexio.io/faq): 4 questions about pre-built templates, customization, and sharing. - [Account & Team](https://wexio.io/faq): 5 questions about team management, roles, permissions, and account settings. - [AI Features](https://wexio.io/faq): 4 questions about AI classification, AI agents, text-to-speech, and document analysis. - [Security & Privacy](https://wexio.io/faq): 8 questions about data protection, GDPR compliance, encryption, infrastructure, and security practices. - [Getting Help](https://wexio.io/faq): 3 questions about support channels, documentation, and community resources. ## Legal - [Privacy Policy](https://wexio.io/privacy): How Wexio LLC collects, uses, and protects your personal data. GDPR-compliant. - [Terms of Service](https://wexio.io/terms): Terms and conditions for using the Wexio.io platform. - [Cookie Policy](https://wexio.io/cookie-policy): How Wexio.io uses cookies and similar technologies. - [Security](https://wexio.io/security): Enterprise-level security practices including AES-256-GCM encryption, TLS 1.3, SOC 2 readiness, and EU infrastructure. - [Subprocessors](https://wexio.io/subprocessors): List of third-party subprocessors used by Wexio.io including AWS, Vercel, MongoDB Atlas, OpenAI, and Anthropic. - [Ethics](https://wexio.io/ethics): Our commitment to ethical AI, responsible messaging, and fair business practices. - [Disclaimer](https://wexio.io/disclaimer): Legal disclaimers for website content, third-party links, and service availability. - [Bug Bounty](https://wexio.io/bug-bounty): Report security vulnerabilities responsibly and earn recognition through our bug bounty program. ## Company - **Name**: Wexio LLC - **Location**: Delaware, USA - **Infrastructure**: EU (Ireland) - AWS eu-west-1, Vercel, MongoDB Atlas, Upstash Redis - **Compliance**: GDPR, AES-256-GCM encryption, TLS 1.3 - **Auth**: Google, GitHub, Microsoft OAuth + Passkeys + 2FA - **Supported Languages**: English, German, Polish, Ukrainian, Italian - **Supported Channels**: WhatsApp, Telegram, Instagram, Viber - **AI Partners**: OpenAI (GPT-4), Anthropic (Claude) - **CRM Integrations**: HubSpot, Salesforce, Google BigQuery --- # Welcome to Wexio (/docs) Wexio is a powerful platform that helps businesses manage customer conversations, automate workflows, and scale their communication — all from a single workspace. What is Wexio? [#what-is-wexio] Wexio connects your messaging channels (Telegram, WhatsApp, Instagram, Viber) into a unified inbox, lets you build automated flows, manage contacts, and leverage AI assistants — all without writing code. Quick Links [#quick-links] Core Features [#core-features] | Feature | Description | | ---------------- | ----------------------------------------------------------------------------------------------------- | | **Inbox** | Unified messaging hub — search, chat with message types, editor with AI, collections, contact profile | | **People** | Customer database with contacts, custom fields, CRM sync, and bulk operations | | **Flows** | Visual automation builder with 27 card types across 6 categories, 7 trigger types, version history | | **AI** | Assistants, copilot, 8 AI actions, knowledge base, multi-provider support (OpenAI, Anthropic) | | **Templates** | Browse and share reusable flow templates across the community | | **Library** | Quick replies with variables and WhatsApp message templates | | **Integrations** | 4 channels (Telegram, WhatsApp, Instagram, Viber), CRM (HubSpot, Salesforce, BigQuery), AI providers | | **Billing** | 5 plan tiers (Free → Enterprise) with operation-based pricing and AI token billing | | **Security** | AES-256-GCM encryption, SSO/SAML, 2FA, passkeys, RBAC (Owner/Admin/Editor/Agent) | | **Support** | Built-in ticket system for bug reports, feature requests, and help | Platform [#platform] # Ops Usage (/docs/ops-usage) Operations (ops) are the unit of measurement for activity in Wexio. Each action that processes or sends messages consumes ops from your monthly allocation. What Are Operations? [#what-are-operations] Your plan includes a monthly ops allocation that resets at the start of each billing cycle. Every message sent or received, every flow card executed, and every CRM sync consumes ops from this allocation. *** Message Operations [#message-operations] | Action | Ops Cost | | ------------------------- | -------- | | Receive a message | 1 | | Send a message (manual) | 1 | | Send a message (bot/flow) | 1 | | Send a message (AI) | 1 | *** Flow Card Operations [#flow-card-operations] When a flow executes, each card that sends a message or performs an action consumes ops. Basic Cards — 1 op each [#basic-cards--1-op-each] | Card | Description | | -------------- | ------------------------------------ | | Text | Send a text message | | Button | Send a message with buttons | | Media | Send a photo or video | | Audio | Send an audio file | | Document | Send a document | | Question | Ask a question and wait for response | | Flow | Trigger another flow | | Update Contact | Update a contact profile field | Advanced Cards — 2 ops each [#advanced-cards--2-ops-each] | Card | Description | | --------------- | ---------------------------- | | Media Button | Message with media + buttons | | Audio Button | Audio with buttons | | Document Button | Document with buttons | | AI Text | AI-generated dynamic content | | Conditional | Branching logic evaluation | | Fetch | External API request | CRM Card — 1 op per field [#crm-card--1-op-per-field] The CRM Card updates fields in your connected CRM during flow execution. Each field updated costs **1 op**. | Fields Updated | Ops Cost | | -------------- | -------- | | 1 field | 1 | | 3 fields | 3 | | 5 fields | 5 | No-Cost Cards — 0 ops [#no-cost-cards--0-ops] | Card | Description | | ----- | ----------------------------------- | | Note | Internal note (not sent to contact) | | Ghost | Placeholder for flow structure | *** CRM Sync Operations [#crm-sync-operations] CRM import and export operations consume ops based on the number of contacts and field mappings. | Operation | Formula | | ------------------- | ------------------------- | | **Export to CRM** | contacts × (0.2 × fields) | | **Import from CRM** | contacts × (0.3 × fields) | Import costs more than export because it requires validation, deduplication, and field transformation. Only successfully synced contacts are charged — failed records don't consume ops. Export Examples [#export-examples] | Contacts | Field Mappings | Ops Cost | | -------- | -------------- | -------- | | 10 | 30 | 60 | | 100 | 10 | 200 | | 500 | 5 | 500 | Import Examples [#import-examples] | Contacts | Field Mappings | Ops Cost | | -------- | -------------- | -------- | | 100 | 10 | 300 | | 500 | 20 | 3,000 | | 1,000 | 30 | 9,000 | *** AI Ops [#ai-ops] All AI features — both **AI Auto-Reply** and **AI Copilot** — use a unified token-based billing model. AI usage is tracked as **AI Ops** and counted against your plan's AI limit. How AI Ops Are Calculated [#how-ai-ops-are-calculated] ``` AI ops consumed = tokens used × token cost rate ``` Token cost rates vary by model tier: | Model Tier | Rate (per token) | 1,000 tokens = | Example Models | | ------------ | ---------------- | -------------- | -------------------------- | | **Economy** | 0.0004 | 0.4 AI ops | GPT-4.1 Mini, GPT-4.1 Nano | | **Standard** | 0.0008 | 0.8 AI ops | GPT-4.1, Claude Sonnet | | **Premium** | 0.0015 | 1.5 AI ops | GPT-4.5, O1, Claude Opus | Example Costs Per Action [#example-costs-per-action] | Action | Model Tier | \~Tokens | AI Ops | | ---------------------------- | ---------- | -------- | ------ | | Fix grammar / simplify text | Economy | \~300 | 0.12 | | Suggest reply with context | Economy | \~800 | 0.32 | | Suggest reply with context | Standard | \~800 | 0.64 | | Summarize conversation | Economy | \~1,500 | 0.6 | | AI auto-reply (with history) | Economy | \~1,200 | 0.48 | | Custom prompt (long) | Premium | \~2,000 | 3.0 | AI Limits by Plan [#ai-limits-by-plan] AI limits scale with your plan's ops limit: | Plan | Ops | AI Limit | | ------------ | --------- | -------- | | Free | 100 | 0 | | Standard 10K | 10,000 | 1,000 | | Standard 80K | 80,000 | 8,000 | | Pro 10K | 10,000 | 1,000 | | Pro 1M | 1,000,000 | 100,000 | | Pro 2M | 2,000,000 | 200,000 | | Enterprise | Custom | Custom | What Counts as AI [#what-counts-as-ai] Both auto-reply and copilot share the same AI ops pool: * **AI Auto-Reply** — Bot sends AI-generated responses to contacts * **AI Copilot** — Operators use suggest reply, translate, summarize, tone change, etc. Assistants using your **own API key** (BYOK) are not counted against your AI limit — you pay the provider directly. *** Understanding Ops Consumption [#understanding-ops-consumption] Flow Execution Example [#flow-execution-example] ``` 1. Text Card: "Welcome!" → 1 op 2. Button Card: "Choose an option" → 1 op 3. Conditional Card: Check selection → 2 ops 4. Text Card: "You selected X" → 1 op Total: 5 ops ``` AI Conversation Example [#ai-conversation-example] ``` 1. Contact sends message → 1 op (receive) 2. AI generates response → 1 op (send) + AI ops Total: 2 ops + AI ops ``` Important Notes [#important-notes] * **Ops are charged when messages are sent** — if a Question Card is waiting for input, ops are charged when the question is displayed, not when the response is processed. * **Re-processing doesn't double-charge** — if a contact provides invalid input and the same question is shown again, it's only charged once per actual message sent. * **Failed operations** — if a card fails to execute, ops are not charged for the failure. *** Ops Limits by Plan [#ops-limits-by-plan] | Plan | Monthly Ops | | ---------- | ------------------ | | Free | 100 | | Standard | 10,000 – 80,000 | | Pro | 10,000 – 3,000,000 | | Enterprise | Custom | What Happens When You Run Out [#what-happens-when-you-run-out] * Flows stop executing * AI responses are disabled * Manual inbox messages still work (with a warning) * You can purchase additional ops or upgrade your plan Do Unused Ops Roll Over? [#do-unused-ops-roll-over] No — ops reset at the start of each billing cycle. *** Monitoring Usage [#monitoring-usage] You can track your ops and AI ops consumption in two places: Inbox — Live Usage Widget [#inbox--live-usage-widget] Click the **Usage** button in the bottom-right corner of the inbox to see a live summary of your current usage: * **Operations** — current ops used out of your plan limit (e.g. 39.50 / 10K) * **AI Operations** — current AI ops used out of your AI limit (e.g. 64.84 / 1K) This updates in real time as messages are sent and received. Settings — Billing Page [#settings--billing-page] Go to **Settings → Billing** for a full overview of your subscription and usage: * Plan name and status (Active) * Renewal date and days remaining * **Operations** progress bar — used vs. allocation with percentage * **AI Operations** progress bar — used vs. allocation with percentage * Change Plan or Cancel Subscription actions *** Optimizing Ops Usage [#optimizing-ops-usage] Combine Messages [#combine-messages] Use one message with multiple lines instead of multiple Text Cards. ``` ❌ Inefficient (4 ops): Text Card → "Hello" Text Card → "How can I help?" Text Card → "Please choose:" Button Card → [Options] ✅ Efficient (1 op): Button Card → "Hello! How can I help?\nPlease choose:" + [Options] ``` Other Tips [#other-tips] * **Use conditional logic wisely** — place Conditional Cards strategically to avoid unnecessary message sends * **Optimize AI usage** — AI responses consume both ops and AI ops; use them where they add the most value * **Choose the right AI model tier** — Economy models cost significantly less AI ops than Premium models for routine tasks *** Related [#related] # Security (/docs/security) Wexio implements a comprehensive, multi-layered security architecture to protect your data and ensure compliance with global data protection regulations. This page provides an overview of the security measures in place across the platform. Encryption [#encryption] Multi-Layered Encryption [#multi-layered-encryption] All sensitive data in Wexio is encrypted using **AES-256-GCM**, the industry-standard encryption algorithm. The platform uses a per-organisation, per-context key derivation system to ensure maximum security isolation. **Key derivation** follows [RFC 5869 (HKDF)](https://datatracker.ietf.org/doc/html/rfc5869) with SHA-512, meaning each organisation gets unique encryption keys derived from a master secret. This ensures that even if one key were compromised, other organisations and contexts remain protected. Encryption Contexts [#encryption-contexts] Different types of sensitive data are encrypted with separate, context-specific keys. See [Integrations](/docs/settings/integrations) for connecting channels and [AI Settings](/docs/settings/ai-settings) for AI provider configuration. | Context | What's Encrypted | | --------------- | ------------------------------ | | AI Integrations | OpenAI, Anthropic API keys | | Telegram | Bot tokens | | Viber | Bot tokens | | Webhooks | Webhook secrets and signatures | | System AI | System-level AI configuration | | Authentication | Authentication tokens | Each encryption operation includes **Additional Authenticated Data (AAD)** binding the ciphertext to its organisation and context, preventing context confusion attacks where encrypted data could be moved between organisations. Data in Transit [#data-in-transit] All data transmitted between your browser and Wexio servers is protected by: * **TLS 1.2 / TLS 1.3** encryption on all connections * Modern cipher suites only (ECDHE-based) * Automatic HTTP → HTTPS redirect * **HSTS** (HTTP Strict Transport Security) with a 1-year max-age WebSocket connections (used for real-time chat updates) are also encrypted via WSS (WebSocket Secure). *** Infrastructure Security [#infrastructure-security] Wexio's infrastructure is hosted on enterprise-grade cloud platforms with robust physical and network security controls. All infrastructure components are deployed in compliance with SOC 2 Type II and ISO 27001 certified environments. | Provider | Role | Region | Certifications | | ----------------- | ----------------------------------- | ----------------------- | ----------------------------------------------------------- | | **AWS** | Primary cloud infrastructure | EU (Ireland, eu-west-1) | SOC 1/2/3, ISO 27001, ISO 27017, ISO 27018, PCI DSS Level 1 | | **Vercel** | Edge hosting and serverless compute | EU (Ireland, dub1) | Global CDN with DDoS protection and WAF | | **MongoDB Atlas** | Managed database | EU (Ireland) | SOC 2 Type II, ISO 27001 | | **Upstash Redis** | Rate limiting, caching, sessions | EU (Ireland) | Encrypted at rest and in transit | * **Network segmentation** — Production, staging, and development environments are strictly isolated using Virtual Private Clouds (VPCs) with granular security group rules. No direct internet access to backend services. * **DDoS protection** — Multi-layer DDoS mitigation through AWS Shield and Vercel's edge network with automatic traffic scrubbing and rate limiting at the edge. * **Continuous monitoring** — Real-time infrastructure monitoring with automated alerting for anomalous activity, resource utilisation, and security events. *** Network Security [#network-security] CORS Policy [#cors-policy] Wexio enforces a strict Cross-Origin Resource Sharing (CORS) policy. Only requests from trusted `*.wexio.io` origins and authorised local development servers are accepted — all other origins are rejected. Security Headers [#security-headers] The platform sets robust security headers on all responses: | Header | Purpose | | --------------------------------- | -------------------------------------- | | `Strict-Transport-Security` | Forces HTTPS for all future requests | | `X-Frame-Options: DENY` | Prevents clickjacking attacks | | `X-Content-Type-Options: nosniff` | Prevents MIME-type confusion attacks | | `Cross-Origin-Resource-Policy` | Controls cross-origin resource sharing | WebSocket connections use WSS (encrypted WebSocket) with the same JWT authentication as HTTP requests, preventing unauthenticated real-time connections. *** Data Isolation & Multi-Tenancy [#data-isolation--multi-tenancy] All organisations share a common platform by default, with strict logical isolation at the database level. For customers with advanced compliance requirements, Pro and Enterprise plans offer the option to provision a completely dedicated MongoDB database and Redis instance for full physical data separation. * **Tenant-scoped queries** — A middleware layer automatically injects the authenticated organisation ID into every database operation, preventing cross-tenant data leakage even in the event of application-level bugs. * **Dedicated database option** — Organisations on Pro and Enterprise plans can migrate to a physically isolated MongoDB instance and/or Redis, with full data migration or fresh-start modes. * **Environment separation** — Production, staging, and development environments are completely isolated. Testing never uses production data. * **Organisation deletion cascade** — When an organisation is removed, all associated data (messages, media, integrations, flows, contacts) is permanently deleted across all storage layers. *** Authentication & Authorization [#authentication--authorization] Authentication Methods [#authentication-methods] Wexio supports multiple authentication methods to suit your security requirements. No passwords are stored on the platform — all authentication is handled through secure OAuth 2.0 providers, passkeys, or enterprise SSO. See [Account Security](/docs/account/security) for setup instructions. | Method | Description | | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | **OAuth 2.0** | Sign in with Google, Microsoft, or GitHub — no password-based authentication exists, eliminating an entire class of credential attacks | | **Two-Factor Authentication (2FA)** | TOTP-based 30-second codes with 10 one-time recovery codes. Failed login attempts trigger account lockout to prevent brute-force attacks | | **Passkeys / WebAuthn** | Hardware security key and biometric authentication via the WebAuthn standard, providing phishing-resistant credentials | | **Enterprise SSO (SAML 2.0)** | Centralised access management through your own identity provider | Sessions [#sessions] JWT access tokens (short-lived) with refresh token rotation. Database-backed sessions with 30-day expiry and device fingerprinting, ensuring that each login is tracked and can be individually revoked. Google reCAPTCHA is applied on all public-facing forms for bot detection and abuse prevention. Role-Based Access Control (RBAC) [#role-based-access-control-rbac] Every user in an organisation is assigned a role that determines their permissions. See [Team Settings](/docs/settings/team) for role management. | Role | Capabilities | | ---------- | ---------------------------------------------------------------- | | **Owner** | Full access including billing, org deletion, and team management | | **Admin** | Manage settings, integrations, and team members | | **Editor** | Manage flows, templates, and content; limited settings access | | **Agent** | Chat with contacts, view people, limited settings access | Organisation Isolation [#organisation-isolation] Every database query is automatically scoped to your organisation — users can never access data from other organisations, ensuring complete data isolation. Every GraphQL resolver is protected by layered guards: JWT authentication, organisation access, chat-level access, role verification, and plan usage limits. Enterprise SSO (SAML 2.0) [#enterprise-sso-saml-20] Enterprise organisations can authenticate users through their own Identity Provider using SAML 2.0. See [Account Security](/docs/account/security) for SSO setup. | Feature | Description | | --------------------- | ----------------------------------------------------------------------------------------------------------------- | | **Supported IdPs** | Okta, Azure AD (Entra ID), OneLogin, Google Workspace, Auth0, PingFederate | | **Domain mapping** | Automatic IdP detection based on the user's email domain | | **SSO enforcement** | Require all org members to authenticate through the configured IdP, disabling direct OAuth login | | **Auto-provisioning** | New users automatically created on first SSO login with a configurable default role | | **Account linking** | Existing Wexio accounts (via Google, GitHub, or Microsoft OAuth) can be linked to the organisation's SSO provider | *** Input Validation & Injection Prevention [#input-validation--injection-prevention] GraphQL Security [#graphql-security] All API inputs are validated through multiple layers: * **Schema-level validation** — Type checking enforced by the GraphQL schema * **DTO validation** — All input fields validated with strict rules (length limits, format checks, type constraints) * **Query depth limiting** — Maximum 12 levels of nesting to prevent recursive query abuse * **Introspection disabled in production** — API schema not exposed to potential attackers Injection Prevention [#injection-prevention] * **NoSQL injection** — All user-provided search patterns are escaped before use; no dangerous operators are exposed * **XSS protection** — HTML content is filtered through strict allowlists, permitting only safe formatting tags * **Input length limits** — All text inputs have maximum length constraints Webhook Verification [#webhook-verification] All incoming webhooks from third-party providers are cryptographically verified. See [Integrations](/docs/settings/integrations) for channel setup. | Provider | Verification Method | | --------------- | ------------------------------------------ | | Stripe | Signature verification with webhook secret | | WhatsApp / Meta | HMAC-SHA256 signature verification | | Viber | Token-based verification | | Telegram | Bot token verification | *** Rate Limiting & Spam Protection [#rate-limiting--spam-protection] Wexio implements a comprehensive, multi-layered rate limiting and spam protection system to protect both the platform and your end users from abuse. See [Spam Protection Settings](/docs/settings/inbox/spam-protection) for configuration. Rate Limiting Layers [#rate-limiting-layers] | Layer | Scope | Limit | Purpose | | ------------ | ---------------- | -------------------- | --------------------------- | | Network | Per IP | 10 req/s, burst 20 | Prevents network-level DDoS | | Request body | Per request | 10 MB JSON | Prevents oversized payloads | | File upload | Per request | 10 MB/file, 10 files | Prevents upload abuse | | API | Per organisation | Tiered limits | Prevents API abuse | Inbound Spam Protection [#inbound-spam-protection] When end users send excessive messages to your bots, Wexio automatically: 1. **Throttles** — Silently skips processing for rapid-fire messages while still saving them to chat history 2. **Warns** — Sends a system message asking the user to slow down 3. **Blocks** — Temporarily or permanently blocks the user based on your organisation's settings Messages from blocked users are still saved to the database for audit purposes — only automated processing (flows, AI) is skipped. Operators can always view the messages. Message Deduplication [#message-deduplication] Wexio uses a unique "latest wins" deduplication system. When a user rapidly sends multiple identical messages (e.g., spamming `/start`), only the **last** message is processed — preventing duplicate flow executions and bot responses. Outbound Spam Protection [#outbound-spam-protection] The platform protects your end users from accidental message flooding caused by misconfigured flows or infinite loops: Per-Chat Protection [#per-chat-protection] * **Loop detection** — If a flow card is visited 5+ times in one execution, the flow is automatically cancelled * **Message flood cap** — If a single flow execution sends 50+ messages, it's cancelled * **Rate limiting** — If 30+ messages are sent to one chat within 40 seconds, outbound is paused for that chat Organisation-Level Escalation [#organisation-level-escalation] If 3 or more chats trigger outbound violations within 5 minutes, Wexio temporarily blocks all outbound messaging for the entire organisation for 5 minutes: * All active flows are cancelled * Inbound messages **continue to arrive** normally (no data loss) * Operators can still view chats and read messages * All online org members receive a real-time WebSocket notification * Outbound automatically resumes after 5 minutes Organisation-level blocks are designed as a safety net. They automatically expire after 5 minutes, and all block events are persisted for audit purposes. Spam Protection Settings [#spam-protection-settings] Each organisation can configure their inbound spam protection behaviour: | Setting | Options | Default | | ------------------- | ------------------------------------------------- | --------------- | | **Spam protection** | Enabled / Disabled | Enabled | | **Block mode** | Throttle only / Temporary block / Permanent block | Temporary block | | **Block duration** | 1–60 minutes | 5 minutes | Rate limit thresholds and outbound protection limits are hardcoded with smart defaults and are not configurable — this ensures consistent protection across all organisations. API Rate Limits [#api-rate-limits] Public API endpoints include rate limiting with standard response headers: ``` X-RateLimit-Limit: 200 # Max requests in current window X-RateLimit-Remaining: 142 # Requests left in current window X-RateLimit-Reset: 1710453795 # Unix timestamp when window resets ``` When rate limited, the API returns `429 Too Many Requests` with a `Retry-After` header. *** File Upload Security [#file-upload-security] All file uploads go through multiple security checks: | Protection | Description | | -------------------------- | --------------------------------------------------------------------------------------------------------- | | **Size limits** | 10 MB per file, 10 files per request | | **Filename sanitization** | Filenames are sanitized with UUID prefixes and special character replacement | | **Type validation** | File types are validated against an allowlist | | **Magic bytes validation** | Actual file content is verified to match the claimed MIME type — prevents disguised executables | | **Malware scanning** | Files are scanned in real time by AWS GuardDuty. Infected files are automatically quarantined and deleted | | **Storage isolation** | Files are stored in organisation-scoped folders | | **Signed URLs** | Downloads use presigned URLs with automatic expiry | *** Data Retention & GDPR Compliance [#data-retention--gdpr-compliance] Automatic Data Retention [#automatic-data-retention] Wexio implements configurable data retention policies that automatically clean up old messages based on your plan and settings. A daily cleanup job runs at 3:00 AM to delete messages older than the configured period. See [Database Settings](/docs/settings/database) for retention configuration. Retention Limits by Plan [#retention-limits-by-plan] Retention limits depend on your [plan tier](/docs/settings/billing): | Plan | Default Retention | Maximum Retention | Configurable | | -------------- | ----------------- | ----------------- | ------------ | | **Free** | 7 days | 7 days | No | | **Standard** | 30 days | 30 days | Yes | | **Pro** | 90 days | 90 days | Yes | | **Enterprise** | 180 days | Unlimited | Yes | Retention Settings [#retention-settings] Organisations on eligible plans can configure: * **Message retention period** — How long messages are kept before automatic deletion * **Media retention** — Whether to follow message retention or set a separate period * **Delete media with messages** — Automatically remove associated media files when messages are deleted * **Preserve starred chats** — Keep messages in starred chats regardless of retention policy GDPR Compliance [#gdpr-compliance] Wexio is designed with privacy by design and implements key GDPR requirements: | GDPR Article | Requirement | Implementation | | ------------ | ---------------------- | -------------------------------------------------------- | | Art. 5(1)(e) | Storage limitation | Automatic retention cleanup | | Art. 17 | Right to erasure | Organisation deletion with full data cascade | | Art. 25 | Privacy by design | Per-organisation encryption keys with context separation | | Art. 32 | Security of processing | AES-256-GCM encryption for all sensitive data | *** Compliance & Certifications [#compliance--certifications] Wexio is committed to maintaining compliance with applicable data protection regulations and industry standards. * **GDPR** — Wexio processes personal data in accordance with (EU) 2016/679. We act as a Data Processor and maintain Data Processing Agreements (DPAs) with all customers covering Article 28 requirements. * **Infrastructure certifications** — All services hosted in EU (Ireland). AWS maintains SOC 1/2/3, ISO 27001, ISO 27017, ISO 27018, and PCI DSS Level 1 certifications. MongoDB Atlas is SOC 2 Type II and ISO 27001 certified. * **PCI DSS** — Payment processing is fully delegated to Stripe, a PCI DSS Level 1 certified provider. Wexio does not store, process, or transmit cardholder data. * **Vulnerability management** — Continuous scanning with Dependabot and Snyk, critical patches within 24 hours, annual third-party penetration tests, and an active Bug Bounty programme. *** Incident Response [#incident-response] Wexio maintains a formal Incident Response Plan following NIST SP 800-61 guidelines, with clear procedures for detecting, containing, investigating, and recovering from security incidents. * **Documented response plan** covering identification, containment, eradication, recovery, and post-incident review phases with defined severity levels and escalation paths. * **Breach notification** within 72 hours to affected customers and relevant supervisory authorities as required by GDPR Article 33, including the nature of the breach, affected data, and remediation steps. * **Cross-functional incident response team** with defined roles, on-call rotations, and regular tabletop exercises. * **Blameless post-mortem analysis** for every security incident — root causes identified, corrective actions tracked to completion, and lessons learned incorporated into security practices. *** Security Layers Overview [#security-layers-overview] Wexio's security is built in five layers, each providing defence in depth: | Layer | Components | | ---------------------- | ------------------------------------------------------------------------------------------------------- | | **1. Network** | TLS 1.3, CORS policy, rate limiting, security headers, DDoS protection | | **2. Authentication** | JWT tokens, refresh token rotation, OAuth2, 2FA, passkeys, SSO/SAML, session management | | **3. Authorization** | Role-based access (RBAC), organisation isolation, plan-based feature gating, resource-level permissions | | **4. Data Encryption** | Per-org HKDF-derived keys, AES-256-GCM for sensitive fields, context separation, TLS in transit | | **5. Data Lifecycle** | Automatic retention cleanup, organisation deletion cascade, audit logging, backup encryption | *** Compliance Status [#compliance-status] | Category | Feature | Status | | --------------------- | ------------------------------------------------ | ------ | | **Encryption** | Per-org key derivation (HKDF) | ✅ | | **Encryption** | AES-256-GCM with AAD binding | ✅ | | **Encryption** | Context separation | ✅ | | **Infrastructure** | EU-hosted (AWS, Vercel, MongoDB Atlas, Upstash) | ✅ | | **Infrastructure** | Network segmentation + DDoS protection | ✅ | | **Data Isolation** | Tenant-scoped queries | ✅ | | **Data Isolation** | Dedicated database option (Pro/Enterprise) | ✅ | | **Retention** | Configurable per org with plan-based limits | ✅ | | **Retention** | Automatic cleanup scheduler | ✅ | | **Auth** | OAuth2 + 2FA + Passkeys + SSO/SAML | ✅ | | **Auth** | Role-based access (RBAC) | ✅ | | **Auth** | Organisation isolation | ✅ | | **Network** | TLS 1.2/1.3 + HSTS | ✅ | | **Network** | CORS policy + security headers | ✅ | | **Validation** | Input validation + injection prevention | ✅ | | **Validation** | GraphQL depth limiting + introspection disabled | ✅ | | **Rate Limiting** | Multi-layer rate limiting | ✅ | | **Rate Limiting** | Inbound + outbound spam protection | ✅ | | **File Upload** | Validation + malware scanning (AWS GuardDuty) | ✅ | | **Compliance** | GDPR (DPA, storage limitation, right to erasure) | ✅ | | **Compliance** | PCI DSS (via Stripe) | ✅ | | **Incident Response** | NIST SP 800-61 + 72-hour breach notification | ✅ | *** Security Contact [#security-contact] If you have security concerns, wish to report a vulnerability, or need to request security documentation (including DPA or penetration test summaries), please contact our security team at **[security@wexio.io](mailto:security@wexio.io)**. # Support Tickets (/docs/support) Create support tickets to report bugs, request features, or get help — all without leaving your workspace. Track the status of every request and communicate with the support team through ticket comments. Ticket Dashboard [#ticket-dashboard] The Support page gives you an overview of all your tickets with status counters at the top: * **Open Tickets** — Newly submitted tickets awaiting review * **In Progress** — Tickets the support team is actively working on * **Needs Response** — Tickets waiting for your reply * **Resolved** — Completed tickets The ticket list shows every ticket with its subject, type, status, priority, and last updated time. Use the **All Tickets** dropdown to filter by status. *** Creating a Ticket [#creating-a-ticket] Click **+ New Ticket** in the top-right corner to open the ticket form. Fill in the following fields: | Field | Description | | --------------- | --------------------------------------------------------------------------------- | | **Type** | Select a category: Question, Bug Report, Feature Request, or Account | | **Subject** | Brief summary of your issue | | **Description** | Detailed explanation — the more context you provide, the faster the team can help | | **Priority** | Urgency level (Low, Medium, High, Urgent) | | **Attachments** | Upload screenshots, videos, PDFs, or documents (max 10 MB per file) | Choose **Urgent** priority only for critical production issues that are blocking your operations. Click **Submit Ticket** to create the request, or **Cancel** to discard. *** Ticket Types [#ticket-types] | Type | When to use | | ------------------- | --------------------------------------------------- | | **Question** | General questions about features or how things work | | **Bug Report** | Report a problem or unexpected behaviour | | **Feature Request** | Suggest a new feature or improvement | | **Account** | Account access or billing issues | *** Priority Levels [#priority-levels] | Priority | When to use | | ---------- | ---------------------------------------------- | | **Low** | Non-urgent, can wait for a standard response | | **Medium** | Standard issues affecting your workflow | | **High** | Important issues that need prompt attention | | **Urgent** | Critical production issues blocking operations | *** Tracking a Ticket [#tracking-a-ticket] Click any ticket in the list to open its detail view. Here you can see the full ticket information and communicate with the support team. The ticket detail view includes: **Description** — Your original issue description. **Activity** — A threaded conversation where you and the support team can exchange comments. Type your message, optionally attach files, and click **Send**. **Details panel** — Shows ticket metadata: | Field | Description | | ---------------- | ------------------------------------------------------- | | **Organisation** | The workspace the ticket belongs to | | **Reporter** | Who created the ticket | | **Assignee** | Support team member handling the ticket (or Unassigned) | | **Created** | When the ticket was submitted | | **Updated** | Last activity timestamp | *** Ticket Lifecycle [#ticket-lifecycle] | Status | Description | | ------------------ | -------------------------------------------------- | | **Open** | Ticket has been submitted and is awaiting review | | **In Progress** | Support team is actively working on it | | **Needs Response** | The team has replied and is waiting for your input | | **Resolved** | Issue has been addressed and the ticket is closed | *** Share Feedback [#share-feedback] Use the **Share Feedback** button in the top-right corner to send general feedback about the platform. This is a quick way to share ideas or suggestions without creating a formal ticket. # Account (/docs/account) Your account settings control your personal profile, security options, and UI preferences. These are separate from workspace-level settings and apply to your individual login. Account Sections [#account-sections] Accessing Account Settings [#accessing-account-settings] Click your avatar in the bottom-left of the sidebar, then select **Account** to open your personal settings. Account settings apply to **you** across all workspaces. Workspace-level settings are configured separately under **Settings**. # Organisation Invitations (/docs/account/invitations) The Invitations page shows all pending invitations to join organisations. Accept or decline invitations from this page. Pending Invitations [#pending-invitations] Each invitation card shows: | Detail | Description | | ---------------- | ------------------------------------------------------------ | | **Organisation** | The organisation you've been invited to join | | **Role** | The role you'll be assigned (Owner, Admin, Editor, or Agent) | | **Invited** | How long ago the invitation was sent | Responding to Invitations [#responding-to-invitations] Each invitation has two actions: * **Accept** — Join the organisation with the assigned role. After accepting, the page refreshes and the organisation becomes available in your organisation switcher. * **Decline** — Reject the invitation. The invitation is removed from your list. If you have no pending invitations, the page displays an empty state. *** Related [#related] # Preferences (/docs/account/preferences) Customize your interface layout and default states. Each preference is a toggle that controls whether a UI element starts open or collapsed. Available Preferences [#available-preferences] | Preference | Description | Default | | --------------------------- | ------------------------------------------------ | ------- | | **Main Sidebar** | Keep the main navigation sidebar open by default | Off | | **Inbox Sidebar Collapsed** | Start with the inbox sidebar in collapsed mode | Off | | **People Sidebar** | Keep the people sidebar open by default | Off | | **AI Bar** | Show the AI preferences bar in the chat input | Off | | **Chats Collection** | Expand the chats collection by default | On | | **Custom Collection** | Expand the custom collection by default | On | | **System Fields** | Expand the system fields section by default | On | | **Custom Fields** | Expand the custom fields section by default | On | Preferences are saved per-user and persist across browser sessions. They apply only to **your** browser — other team members have their own preferences. Changes apply instantly when toggled. # Profile (/docs/account/profile) Manage your identity and how you appear across Wexio workspaces. Profile Fields [#profile-fields] | Field | Description | | -------------- | ------------------------------------------------ | | **First name** | Your given name | | **Last name** | Your family name | | **Email** | Your login email address | | **Avatar** | Profile photo displayed in chats and the sidebar | Updating Your Profile [#updating-your-profile] 1. Navigate to **Account → Profile** 2. Edit your name, email, or upload a new avatar 3. Click **Save** Deleting Your Account [#deleting-your-account] Account deletion is permanent and cannot be undone. Before deleting your account: * You must transfer ownership of any workspaces you own * All your data across all workspaces will be removed To delete your account: 1. Go to **Account → Profile** 2. Scroll to the danger zone 3. Click **Delete Account** 4. Confirm the deletion # Account Security (/docs/account/security) Protect your account with multiple layers of security. Two-Factor Authentication (2FA) [#two-factor-authentication-2fa] Add an extra verification step when logging in. **Setting up 2FA:** 1. Go to **Account → Security** 2. Click **Enable 2FA** 3. Scan the QR code with an authenticator app (Google Authenticator, Authy, 1Password) 4. Enter the 6-digit verification code 5. Save your recovery codes in a safe place Once enabled, you'll need to enter a code from your authenticator app each time you log in. Passkeys [#passkeys] Use biometric authentication for passwordless login — fingerprint, Face ID, or hardware security keys. **Registering a passkey:** 1. Go to **Account → Security** 2. Click **Add Passkey** 3. Follow your browser's WebAuthn prompt (Touch ID, Windows Hello, USB key, etc.) 4. Give your passkey a name for identification **Supported transport types:** * Internal (Touch ID, Face ID, Windows Hello) * USB (YubiKey, other FIDO2 keys) * NFC * Bluetooth (BLE) * Hybrid (cross-device authentication) Active Sessions [#active-sessions] View and manage all devices where you're currently logged in. 1. Go to **Account → Security → Sessions** 2. See a list of active sessions with device info and last activity 3. Click **Revoke** to sign out from a specific device 4. Use **Sign out all** to terminate all sessions except the current one If you notice a session you don't recognize, revoke it immediately and consider changing your password. *** Related [#related] # AI (/docs/ai) Wexio's AI features let you automate conversations, enhance operator productivity, and leverage large language models from OpenAI and Anthropic. AI settings overview Capabilities [#capabilities] | Feature | Description | | --------------------------------------------- | --------------------------------------------------------------------- | | [**AI Assistants**](/docs/ai/assistants) | Configure autonomous AI bots with custom context and knowledge | | [**AI Actions**](/docs/ai/actions) | Suggest replies, translate, rephrase, generate images, text-to-speech | | [**Knowledge Base**](/docs/ai/knowledge-base) | Upload documents for domain-specific AI responses | | [**Flow AI Cards**](/docs/flows/cards#ai) | AI Text, Agent, Classification, and TTS cards in flows | How AI Works in Wexio [#how-ai-works-in-wexio] Resolution Chain [#resolution-chain] When an AI assistant receives a message, it uses a **4-level resolution chain**: 1. **Knowledge base** — Search uploaded documents for relevant information 2. **Conversation context** — Use recent message history for continuity 3. **Assistant instructions** — Follow configured identity, objective, and tone 4. **General model knowledge** — Fall back to the model's training data Per-Purpose Models [#per-purpose-models] Configure different AI models for different tasks: | Purpose | Description | | ----------------------- | --------------------------------------------------- | | **Chat** | Primary model for conversation replies | | **Image generation** | Model for creating images (DALL-E, GPT Image, etc.) | | **Text-to-speech** | Model for voice generation | | **Audio transcription** | Model for speech-to-text (Whisper) | | **Vision** | Model for understanding images | Best Practices [#best-practices] * **Be specific** in your context — define the tone, knowledge boundaries, and escalation rules * **Set temperature low** (0.1–0.3) for customer support to get consistent, factual responses * **Include escalation instructions** — Tell the AI when to hand off to a human operator * **Upload relevant docs** to the knowledge base for domain-specific accuracy * **Test thoroughly** before deploying to production conversations # Knowledge Base (/docs/ai/knowledge-base) The Knowledge Base allows you to upload documents that your [AI assistant](/docs/ai/assistants) can reference when answering questions, providing accurate and contextual responses grounded in your content. How It Works [#how-it-works] 1. Upload documents to an assistant's knowledge base 2. When the assistant receives a message, it searches the knowledge base for relevant information 3. Matching content is included as context for generating the response 4. Knowledge base information takes priority over general model knowledge Uploading Documents [#uploading-documents] 1. Go to **Settings → AI** and select an assistant 2. Navigate to the **Knowledge Base** section 3. Click **Upload** 4. Select one or more files 5. Documents are processed and indexed automatically Supported Formats [#supported-formats] | Format | Description | | ------------ | --------------------------- | | **PDF** | Documents, manuals, guides | | **TXT** | Plain text files | | **Markdown** | `.md` files with formatting | Resolution Priority [#resolution-priority] When answering questions, the assistant checks sources in this order: 1. **Knowledge base** (highest priority) 2. **Conversation context** 3. **Assistant instructions** 4. **General model knowledge** (lowest priority) Managing Documents [#managing-documents] | Action | Description | | ------------- | ------------------------------------------- | | **View** | See all uploaded documents and their status | | **Delete** | Remove a document from the knowledge base | | **Re-upload** | Replace a document with an updated version | Best Practices [#best-practices] * **Upload comprehensive documentation** — Product docs, FAQs, policy documents * **Keep documents up-to-date** — Remove outdated files and upload new versions * **Use clear formatting** — Well-structured documents produce better search results * **Organize by topic** — Upload focused documents rather than one massive file Knowledge base processing may take a few minutes for large documents. Once processed, the assistant can immediately reference the content. # AI Providers (/docs/ai/providers) Wexio supports multiple AI providers. You need to connect at least one before [creating an AI assistant](/docs/ai/assistants). Supported Providers [#supported-providers] OpenAI [#openai] Connect your OpenAI account to use GPT models, DALL-E, Whisper, and TTS. **Setup:** 1. Go to **Settings → Integrations** 2. Find **OpenAI** and click **Connect** 3. Enter your OpenAI API key 4. Save **Capabilities:** * Chat — all available models returned by the OpenAI API, including the latest releases * Image generation * Text-to-speech * Audio transcription * Vision (multimodal models) Anthropic [#anthropic] Connect Anthropic to use Claude models for AI-powered conversations. **Setup:** 1. Go to **Settings → Integrations** 2. Find **Anthropic** and click **Connect** 3. Enter your Anthropic API key 4. Save **Capabilities:** * Chat — all available models returned by the Anthropic API, including the latest releases Anthropic does not support image generation, text-to-speech, or audio transcription. Use OpenAI for those capabilities. Wexio automatically fetches the full list of models from each provider's API, so new models are available as soon as the provider releases them — no update required. API keys are managed in [Settings → Integrations → AI Providers](/docs/settings/integrations/ai-providers). Choosing a Provider [#choosing-a-provider] | Factor | OpenAI | Anthropic | | -------------------- | -------------------------------------- | ------------------------------ | | **Best for** | Full-featured AI (chat, images, audio) | Nuanced conversations | | **Chat models** | All available OpenAI models | All available Anthropic models | | **Image generation** | ✅ | ❌ Not supported | | **Text-to-speech** | ✅ | ❌ Not supported | | **Transcription** | ✅ | ❌ Not supported | You can connect both providers and use different ones for different assistants. # Flows (/docs/flows) **Flows** is Wexio's visual automation builder that lets you create powerful workflows without writing code. Overview [#overview] Flows use a node-based canvas where you connect triggers, conditions, and actions to automate customer interactions. Each flow is a directed graph of **cards** (nodes) that execute in sequence, built on top of a modular execution engine. Getting Started [#getting-started] 1. Navigate to **Flows** from the sidebar 2. Click **Create Flow** 3. Give your flow a name and description 4. You'll be taken to the [visual flow editor](/docs/flows/editor) Flow Lifecycle [#flow-lifecycle] Every flow follows a **Draft → Published** lifecycle: | State | Description | | ------------- | ----------------------------------------------------------- | | **Draft** | Edits happen here — the bot does **not** execute this state | | **Published** | An immutable snapshot of the draft, actively running | Editing a published flow is always safe — your changes stay in the draft and never affect live bot execution until you explicitly publish again. Each publish creates a new [version](/docs/flows/editor/version-history) and an entry in the [activity log](/docs/flows/editor/version-history#activity-log). When you unpublish a flow, the bot stops triggering it. Your draft, version history, and activity log are all preserved — you can re-publish at any time. Flow Management [#flow-management] The flows list page shows all your automations: | Column | Description | | ----------------- | -------------------------------------- | | **Name** | Flow identifier | | **Status** | Published (active) or Draft (inactive) | | **Trigger** | What starts the flow | | **Last modified** | When it was last updated | | **Created by** | Who created the flow | Quick Actions [#quick-actions] | Action | Description | | ----------------------- | ------------------------------- | | **Edit** | Open the flow editor | | **Duplicate** | Create a copy of the flow | | **Publish / Unpublish** | Activate or deactivate the flow | | **Delete** | Remove the flow permanently | How Execution Works [#how-execution-works] When a flow is published and a trigger fires: 1. The execution engine loads the **published snapshot** (not the draft) 2. A new execution context is created with [variables](/docs/flows/editor/variables) (contact, chat, system, org) 3. Cards execute in sequence following the connection paths 4. When a card requires user input (e.g., [Question](/docs/flows/cards/question), [Button](/docs/flows/cards/button)), the flow pauses and waits 5. On user reply, the flow resumes from where it left off 6. The flow completes when it reaches a card with no outgoing connection, or when the [execution timeout](/docs/flows/settings) expires Timeouts [#timeouts] Each flow has a configurable execution timeout (default: 5 minutes). If the flow doesn't complete within this time, it's automatically terminated. [Sub-flows](/docs/flows/cards/sub-flow) have their own independent timeout (default: 1 minute). Strict Mode [#strict-mode] When strict mode is enabled in [flow settings](/docs/flows/settings), the flow stops on any card error instead of silently continuing. You can configure a custom error message shown to the contact. Use Cases [#use-cases] * **Welcome messages** — Automatically greet new contacts * **Auto-assignment** — Route conversations to the right team member * **Follow-ups** — Send reminders after a period of inactivity * **Data collection** — Ask questions and save responses to contact fields * **Lead qualification** — Classify and score leads with AI * **Support automation** — Handle common requests with [AI agents](/docs/flows/cards/ai-agent) * **Escalation** — Route complex issues to senior operators via [Assign Operator](/docs/flows/cards/assign-operator) * **CRM sync** — Push contact data to external CRM systems # Getting Started (/docs/getting-started) Welcome to Wexio! This guide will walk you through setting up your workspace, connecting your first messaging channel, and sending your first message. Step 1: Create an Account [#step-1-create-an-account] Sign up at [app.wexio.io](https://app.wexio.io) using one of these methods: * **Google** — Sign in with your Google account * **GitHub** — Sign in with your GitHub account * **Microsoft** — Sign in with your Microsoft account * **Passkey** — Use biometric authentication (Touch ID, Face ID, security keys) * **SSO / SAML** — Enterprise single sign-on via your Identity Provider (Enterprise plan only) Step 2: Create Your Organisation [#step-2-create-your-organisation] After signing up, you'll be prompted to create your first organisation through the [onboarding wizard](/docs/getting-started/onboarding). This is your workspace where all team members, conversations, and automations live. * **Organisation name** — Choose a descriptive name for your team or business * **Organisation slug** — A URL-friendly identifier (auto-generated from name) Wexio getting started onboarding Step 3: Connect a Messaging Channel [#step-3-connect-a-messaging-channel] During onboarding, you'll be guided to connect your first messaging integration: * **Telegram** — Connect your Telegram bot to start receiving messages * **WhatsApp** *(coming soon)* — WhatsApp Business API integration * **Instagram** *(coming soon)* — Instagram Direct messaging * **Viber** *(coming soon)* — Viber bot integration You can skip this step and connect integrations later from **Settings → Integrations**. Step 4: Set Up Billing [#step-4-set-up-billing] Choose a plan that fits your needs. Wexio offers plans from Free to Enterprise — view full pricing details and compare plans at [wexio.io/pricing](https://wexio.io/pricing). Next Steps [#next-steps] # Onboarding (/docs/getting-started/onboarding) The onboarding wizard guides you through the initial setup of your Wexio workspace. It walks you through creating your organisation, connecting a messaging channel, and choosing a plan. Step 1: Create Organisation [#step-1-create-organisation] The first step is creating your organisation — your workspace where all team members, conversations, and automations live. Fill in the following fields: | Field | Required | Description | | --------------------- | -------- | -------------------------------------------------------------------------------------------------------------- | | **Organisation Name** | Yes | A descriptive name for your team or business | | **Organisation URL** | Yes | A URL-friendly slug (auto-generated from name, editable). Only lowercase letters, numbers, `-` and `_` allowed | | **Organisation Type** | Yes | Select the type of organisation | | **Business Type** | Yes | Select your industry | | **Work Email** | Yes | Pre-filled from your account email | | **Country** | Yes | Searchable country selector | | **Website** | No | Your company website URL | Click **Create Organisation** to proceed. Step 2: Connect a Bot [#step-2-connect-a-bot] After creating your organisation, you'll be prompted to connect a messaging channel. Currently, **Telegram** is the primary supported channel — WhatsApp, Viber, and Instagram are coming soon. Connecting Telegram [#connecting-telegram] 1. Open [@BotFather](https://t.me/BotFather) on Telegram 2. Send the `/newbot` command and follow the prompts 3. Copy the **bot token** provided by BotFather 4. Paste it into the **Bot Token** field 5. Click **Connect Bot** You can **skip** this step and connect a bot later from [Settings → Integrations](/docs/settings/integrations). Step 3: Choose Your Plan [#step-3-choose-your-plan] Select a billing plan that fits your needs. Wexio offers plans from Free to Enterprise — view full pricing details at [wexio.io/pricing](https://wexio.io/pricing). Free Plan [#free-plan] If you choose the **Free** plan, it activates instantly — no payment details required. You'll be redirected straight to your Inbox and can upgrade anytime from [Settings → Billing](/docs/settings/billing). Paid Plans [#paid-plans] If you choose a paid plan, you'll be asked to add your payment details. All payments are securely processed through [Stripe](https://stripe.com). Every paid plan includes a **free trial** period so you can explore all features before being charged. Enter your card details and click **Start Free Trial** to proceed. You can cancel or change your plan at any time from [Settings → Billing](/docs/settings/billing). Step 4: Done! [#step-4-done] Once you've completed the wizard, you'll be redirected to your [Inbox](/docs/inbox) where you can start managing conversations. # Workspace Overview (/docs/getting-started/workspace) Your Wexio workspace (organisation) is the central hub where all your team's activity happens. Navigation [#navigation] The main sidebar provides access to all features: * **Inbox** — Customer conversations * **People** — Contact database * **Flows** — Automation workflows * **Library** — Templates and quick replies * **Analytics** — Performance dashboards * **Integrations** — Connected services * **Settings** — Workspace configuration Organisation Switcher [#organisation-switcher] If you belong to multiple organisations, you can switch between them using the organisation switcher in the top-left corner of the sidebar. Roles & Permissions [#roles--permissions] Wexio uses role-based access control with four roles: | Role | Description | | ---------- | ----------------------------------------------------------------------------------- | | **Owner** | Full access, billing management, can delete organisation | | **Admin** | Full access to all features, can manage team members and settings | | **Editor** | Can create and edit flows, templates, and contacts — cannot manage team or settings | | **Agent** | Inbox-only access — can view and respond to conversations | Permission breakdown [#permission-breakdown] | Permission | Owner | Admin | Editor | Agent | | ------------------------------- | :---: | :---: | :----: | :---: | | Access Inbox & respond to chats | ✅ | ✅ | ✅ | ✅ | | Manage contacts (People) | ✅ | ✅ | ✅ | ❌ | | Create & edit Flows | ✅ | ✅ | ✅ | ❌ | | Create & edit Templates | ✅ | ✅ | ✅ | ❌ | | Manage Integrations | ✅ | ✅ | ❌ | ❌ | | Manage Team members | ✅ | ✅ | ❌ | ❌ | | Manage Organisation settings | ✅ | ✅ | ❌ | ❌ | | Manage Billing & subscription | ✅ | ❌ | ❌ | ❌ | | Delete Organisation | ✅ | ❌ | ❌ | ❌ | Some features like **Integrations management** and **Team settings** require Admin or Owner role. *** Related [#related] # Collections (/docs/inbox/collections) Collections are saved filter configurations that create custom views of your inbox. They appear in the left sidebar for one-click access to specific groups of conversations. Default Collections [#default-collections] Every workspace comes with built-in collections: | Collection | Description | | ------------------ | ------------------------------------------ | | **All Chats** | Every conversation across all channels | | **Assigned to Me** | Chats assigned to the current user | | **Blocked** | Conversations marked as blocked | | **Urgent** | Conversations flagged as urgent | | **Unassigned** | Conversations not assigned to any operator | The **Blocked**, **Urgent**, and **Unassigned** collections can be reordered in the sidebar but cannot be edited or deleted. Creating a Collection [#creating-a-collection] 1. Open the **Filter** panel and configure your filter criteria (direction, labels, channels, assignee, etc.). 2. Once your filters are applied, click **Save as Collection** in the filter bar. 3. In the modal, enter a **Name**, **Slug** (URL-friendly identifier), and optional **Description**. 4. Choose an **icon** for visual identification. 5. Click **Create Collection**. The new collection appears in the sidebar under **Collections** with a live count of matching conversations. Managing Collections [#managing-collections] | Action | Applies To | Description | | ----------- | ----------------------- | ------------------------------------------------ | | **Reorder** | All collections | Drag and drop to change sidebar position | | **Edit** | Custom collections only | Update name, description, icon, and filter rules | | **Delete** | Custom collections only | Remove the collection | Deleting a collection does not delete the conversations within it — they remain accessible in "All Chats". Teammates [#teammates] The sidebar also shows your teammates and their online status, so you can quickly see who's available for reassignment. Real-time Updates [#real-time-updates] Collections update in real time — chat counts refresh as conversations are added or removed based on filter criteria. # Inbox (/docs/inbox) The Inbox is the heart of Wexio — a unified hub where all customer messages from connected channels appear in real time. Overview [#overview] When you navigate to **Inbox**, you'll see a three-panel layout: * **Left sidebar** — Collections, teammate statuses, and navigation * **Center panel** — Chat list with search, filters, and unread counts * **Right panel** — Active conversation thread with message input and contact profile Layout [#layout] The inbox uses a responsive layout that adapts to your screen size. On mobile, panels stack vertically with swipe navigation. Collections Sidebar [#collections-sidebar] The left sidebar shows your [chat collections](/docs/inbox/collections) — custom filtered views of your conversations. Built-in collections include **All Chats**, **Assigned to Me**, **Unassigned**, **Urgent**, and **Blocked**. You can create custom collections with [filter rules](/docs/inbox/search). Chat List [#chat-list] The center panel shows conversations matching the current collection. Each item displays: * Contact name and avatar * Last message preview with timestamp * Unread message count badge * Chat status indicator (color-coded) * Channel provider icon (Telegram, WhatsApp, etc.) Real-time subscriptions keep the list updated as new messages arrive, statuses change, or chats are reassigned. Chat View [#chat-view] The right panel opens when you select a conversation, showing the full [message thread](/docs/inbox/chat/messages), [input editor](/docs/inbox/chat/editor), and [AI controls](/docs/inbox/chat/ai-bar). Chat Status [#chat-status] Each conversation has a status to help you track progress: | Status | Color | Description | | --------------- | ------ | ----------------------------------- | | **Pending** | Yellow | New conversation awaiting response | | **In Progress** | Blue | Actively being handled | | **Resolved** | Green | Issue resolved, conversation closed | | **Closed** | Gray | Manually closed by operator | | **Issue** | Red | Flagged for follow-up | Priority Levels [#priority-levels] Mark conversations as **Low**, **Medium**, or **High** priority to ensure critical issues surface first. Operator Assignment [#operator-assignment] Assign conversations to specific team members. View all chats assigned to you via the **"Assigned to me"** collection. Chat Actions [#chat-actions] Use the action menu on a conversation for: * **Assign operator** — Route to a team member * **Change status** — Update the conversation status * **Set category** — Categorize the conversation * **Set priority** — Mark as urgent or normal * **Block/Unblock** — Block a contact from messaging AI & Flow Status [#ai--flow-status] See at a glance if a chat has: * **AI Active** — An [AI assistant](/docs/ai) is responding * **Flow running** — An [automation flow](/docs/flows) is in progress 24-Hour Window [#24-hour-window] For channels like WhatsApp, Instagram, and Viber, there's a 24-hour messaging window. Once a user replies, all messages within that 24-hour session are free. After the window expires: * **WhatsApp & Instagram** — Outbound messages are blocked. You must use [approved templates](/docs/inbox/chat/editor/templates) to re-initiate contact. * **Viber** — You can send a new initiated message, but it is a paid outbound message. # Contact Profile (/docs/inbox/profile) The profile sidebar appears on the right side of the chat view, showing detailed information about the contact you're conversing with. Opening the Profile [#opening-the-profile] Toggle the profile sidebar by clicking the **profile icon** in the chat header. The sidebar slides in from the right. Profile Information [#profile-information] Contact Details [#contact-details] | Field | Description | | ------------ | --------------------------------------------------- | | **Avatar** | Profile picture from the messaging channel | | **Name** | Contact's display name | | **Username** | Channel-specific username | | **Phone** | Phone number (if available) | | **Email** | Email address (if available) | | **Channel** | Which messaging platform (Telegram, WhatsApp, etc.) | Custom Fields [#custom-fields] View and edit custom fields defined in your workspace. Only custom fields are editable directly from the profile — click any custom field value to modify it. Changes are saved automatically. * Text fields, number fields, date fields * Dropdown selections * Boolean toggles Related Contacts [#related-contacts] If the same person has contacted you through multiple channels (e.g. Telegram and WhatsApp), their related profiles are shown here. Click a related contact to navigate to their conversation on that channel. For managing profile fields, privacy settings, and creating custom fields, see [People Settings](/docs/settings/people). For bulk contact management, see [People](/docs/people). # Search & Filters (/docs/inbox/search) Wexio provides powerful search and filtering to help you find specific conversations or messages instantly. Search Modes [#search-modes] The search bar supports two distinct modes, toggled by the search mode icon: Search by Chats [#search-by-chats] Search across conversation names and contact details. Results show matching chat threads with preview snippets. Search by Messages [#search-by-messages] Full-text search across all message content. Results show individual messages with highlighted matches and links to their parent conversations. Filter Sidebar [#filter-sidebar] Click the **filter icon** (funnel) to open the advanced filter sidebar. The sidebar has two states: * **Search** — Quick filtering with active filters displayed as badges * **Edit** — Full filter configuration mode with rule builder Filter Fields [#filter-fields] | Filter | Description | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Direction** | All, Inbound, or Outbound | | **Message Types** | [Text](/docs/inbox/chat/messages/text), [Media](/docs/inbox/chat/messages/media), [Buttons](/docs/inbox/chat/messages/buttons), [Media Buttons](/docs/inbox/chat/messages/media-buttons), Media Group, [Contact](/docs/inbox/chat/messages/contact), [Buttons List](/docs/inbox/chat/messages/list), [Poll](/docs/inbox/chat/messages/poll), [Template](/docs/inbox/chat/messages/template), [Game](/docs/inbox/chat/messages/game), [Dice](/docs/inbox/chat/messages/dice), [Location](/docs/inbox/chat/messages/location) | | **Labels** | Filter by [message labels](/docs/inbox/chat/messages) (e.g. Media, Question, Important, Follow-up, Resolved, Feedback, Bug Report, Feature Request, Sales Lead, Support, Pending) | | **Bot** | Filter by a specific bot or select All Bots — see [Integrations](/docs/settings/integrations) | | **Profile Fields** | Filter by any custom [contact profile](/docs/inbox/profile) field | Rule Logic [#rule-logic] All filter conditions are combined with **AND** logic — every condition must match for a conversation to appear in the results. Active Filters [#active-filters] Active filters appear as badges above the chat list. Click **×** on any badge to remove it, or use the **Reset** button to clear all filters at once. Filters you configure in the sidebar can be saved as a Collection for quick reuse. See [Collections](/docs/inbox/collections). Saving Filters as Collections [#saving-filters-as-collections] When you've configured a useful filter combination, you can save it as a [Collection](/docs/inbox/collections) for quick reuse: 1. Click **Save as Collection** in the filter sidebar 2. Give it a name and optional description 3. Choose an icon for visual identification 4. The collection appears in the left sidebar for one-click access Learn more about managing collections in the [Collections](/docs/inbox/collections) documentation. In-Chat Message Search [#in-chat-message-search] You can also search within a specific conversation. Click the **search icon** in the [chat header](/docs/inbox/chat/header) to open the in-chat search bar. * Type your query to find matching messages within the current chat * The counter shows the current match and total results (e.g. **3 of 9**) * Use the **up/down arrows** or your keyboard to navigate between matches * Click on a result to jump directly to that message in the thread * Press **×** to close the search bar # AI Settings (/docs/settings/ai-settings) Configure AI-powered features for your workspace — create assistants, upload knowledge base documents, connect providers, and manage AI actions. Assistants [#assistants] AI Assistants are autonomous agents that handle conversations, answer questions, and escalate to humans when needed. Creating an Assistant [#creating-an-assistant] 1. Go to **Settings → AI** 2. Click **Create Assistant** 3. Select your AI provider (OpenAI or Anthropic) 4. Configure the settings below You can also start from a [pre-built template](/docs/ai/assistants/templates) for your industry — templates provide ready-to-use context and model settings that you can customise. Basic Settings [#basic-settings] | Setting | Description | | --------------- | ------------------------------------------------------------------- | | **Name** | Identifier for the assistant | | **AI Provider** | OpenAI or Anthropic (must be [connected](/docs/ai/providers) first) | | **Model** | Primary AI model for chat responses | Context Configuration [#context-configuration] Define how your assistant behaves: | Setting | Description | | ---------------- | ------------------------------------------------------------ | | **Identity** | Who the assistant is — name, role, company | | **Objective** | What the assistant should accomplish | | **Tone** | Communication style — formal, friendly, professional, casual | | **Language** | Preferred response language | | **Capabilities** | What the assistant can and cannot do | | **Instructions** | Detailed behavioural guidelines | Advanced Settings [#advanced-settings] Fine-tune the model's behaviour: | Setting | Description | Default | | --------------------- | -------------------------------------------- | ------------- | | **Temperature** | Creativity level (0 = precise, 2 = creative) | 0.7 | | **Top-P** | Nucleus sampling parameter | 1.0 | | **Frequency penalty** | Reduce repetition of common phrases | 0 | | **Presence penalty** | Encourage topic diversity | 0 | | **Max tokens** | Maximum response length | Model default | Per-Purpose Models [#per-purpose-models] Configure specialised models for different tasks: | Purpose | Description | | ----------------------- | ----------------------------------------- | | **Chat** | Primary model for conversation replies | | **Image generation** | DALL-E or GPT Image for creating images | | **Text-to-speech** | TTS model for voice generation | | **Audio transcription** | Whisper for speech-to-text | | **Vision** | Multimodal model for understanding images | For a full walkthrough including per-chat control and the AI preferences bar, see [Assistants](/docs/ai/assistants). *** Knowledge Base [#knowledge-base] Upload documents so your assistant can reference them when answering questions. Knowledge base content takes priority over the model's general knowledge. Uploading Documents [#uploading-documents] 1. Select an assistant in **Settings → AI** 2. Open the **Knowledge Base** section 3. Click **Upload** and select files Supported Formats [#supported-formats] | Format | Description | | ------------ | --------------------------- | | **PDF** | Documents, manuals, guides | | **TXT** | Plain text files | | **Markdown** | `.md` files with formatting | Resolution Priority [#resolution-priority] When answering, the assistant checks sources in this order: 1. **Knowledge base** (highest priority) 2. **Conversation context** 3. **Assistant instructions** 4. **General model knowledge** (lowest priority) For managing documents and best practices, see [Knowledge Base](/docs/ai/knowledge-base). *** Providers [#providers] Connect your AI provider API keys to power assistants and AI actions. | Provider | Models | | ------------- | ---------------------------------------------- | | **OpenAI** | GPT-4o, GPT-4.1, o4-mini, DALL-E, Whisper, TTS | | **Anthropic** | Claude Sonnet, Claude Haiku | Go to **Settings → AI → Providers**, click **Add Provider**, and enter your API key. For setup details, see [AI Providers](/docs/ai/providers). *** Actions [#actions] AI Actions are one-click tools available in the inbox editor. They use your connected provider to perform tasks on messages: * **Suggest reply** — draft a response based on conversation context * **Summarise** — condense a conversation into key points * **Translate** — translate messages to another language * **Improve writing** — fix grammar and improve clarity * **Transcribe** — convert audio messages to text * And more For the full list of actions and configuration, see [AI Actions](/docs/ai/actions). # Plan & Billing (/docs/settings/billing) Manage your subscription, view usage, and upgrade your plan. Current Plan [#current-plan] The top of the page shows your active subscription: * **Plan name** and status badge (Active, Trialing, Past Due, etc.) * **Renewal date** and days remaining until the next billing cycle * **Price** — monthly or yearly amount Usage [#usage] Two progress bars show how much of your plan's quota you've used in the current billing period: | Metric | Description | | ----------------- | ----------------------------------------------------------------------------- | | **Operations** | Message sends, flow executions, and other platform operations | | **AI Operations** | AI assistant responses, transcriptions, image analysis, and other AI features | Usage counters reset automatically at the start of each new billing period. Actions [#actions] * **Cancel Subscription** — cancels at the end of the current billing period. You keep access until the period ends, then revert to the **Free** plan. * **Change Plan** — upgrade or downgrade your subscription (see below). *** Changing Plans [#changing-plans] Upgrade (to a higher plan) [#upgrade-to-a-higher-plan] When you upgrade (e.g. Free → Standard, Standard → Pro): * Takes effect **immediately** * New limits apply right away * You are charged a **prorated** amount for the remainder of the current billing period * No cooldown — you can upgrade at any time Downgrade (to a lower plan) [#downgrade-to-a-lower-plan] When you downgrade (e.g. Pro → Standard, Enterprise → Free): * **Scheduled** for the end of your current billing period * You keep your current plan and limits until the period ends * **30-day cooldown** between downgrades to prevent abuse * No refund for the remaining period Upgrades are always available instantly. Downgrades are scheduled — your current plan stays active until the billing period ends. *** Billing Intervals [#billing-intervals] | Interval | How it works | | ----------- | ------------------------------------------------------------------- | | **Monthly** | Charged once per month on the same date | | **Yearly** | Charged once per year (full amount upfront) with a **15% discount** | Yearly billing is a single upfront payment, not 12 monthly instalments. *** Promotion Code [#promotion-code] Enter a promotion code on the right side of the page and click **Apply** to receive a discount on your subscription. *** Payment Methods [#payment-methods] Manage the payment methods used for your subscription. Click **Add payment method** to add a credit or debit card. At least one valid payment method is required for any paid plan. *** Invoices [#invoices] View and download all your billing invoices. Each invoice shows: | Column | Description | | ---------------- | ---------------------------------------------- | | **Invoice** | Invoice reference number | | **Billing date** | Date the invoice was issued | | **Amount** | Total charged | | **Status** | Payment status (Paid, Open, etc.) | | **Plan** | Plan tier at the time of billing | | **Actions** | **View** the invoice or **download** it as PDF | *** Payment Failures & Account Status [#payment-failures--account-status] If a payment fails, the system follows an escalation process to give you time to fix it: Organisation Status [#organisation-status] | Status | What happens | | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Active** | Everything works normally | | **Past Due** | Payment failed — you have a **7-day grace period**. Flows and outbound messages are blocked, but you can still access settings and the billing page to update your payment method | | **Suspended** | Grace period expired — everything is blocked except the billing page | Escalation Timeline [#escalation-timeline] | Day | Action | | ----------- | ----------------------------------------------------------------- | | **Day 0** | Payment fails. Status changes to **Past Due**. Warning email sent | | **Day 1–4** | Grace period — no additional emails | | **Day 5** | Urgent reminder email (2 days remaining) | | **Day 6** | Final warning email (1 day remaining) | | **Day 7+** | Account **suspended**. All features blocked except billing page | Recovery [#recovery] Once you update your payment method and the payment succeeds: * Account status returns to **Active** immediately * All features are restored * Usage counters reset if a new billing period has started If your account is suspended, you can still access the billing page to update your payment method and restore access. *** Cancellation [#cancellation] When you cancel your subscription: 1. Your current plan remains active until the billing period ends 2. After the period ends, you revert to the **Free** plan 3. Usage limits reset to Free tier levels 4. You can re-subscribe at any time *** Related [#related] # Database (/docs/settings/database) The Database page shows the current state of your organisation's data infrastructure and lets you connect dedicated MongoDB and Redis instances. Dedicated database infrastructure requires the **Pro** or **Enterprise** plan. Only workspace **Owners** can configure database settings. Overview [#overview] By default, every organisation runs on Wexio's shared platform infrastructure. The Database page displays your current status: | Infrastructure | Default | Description | | -------------------- | ------- | ------------------------------------------------------------------- | | **MongoDB Database** | Shared | Stores all your chats, messages, contacts, flows, and configuration | | **Redis Cache** | Shared | Handles caching, sessions, and real-time features | You can see the total **document count** for your organisation and the connection status of each service. *** Dedicated Database Infrastructure [#dedicated-database-infrastructure] Isolate your organisation's data onto dedicated MongoDB and Redis instances for enhanced performance, security, and compliance. Benefits [#benefits] | Benefit | Description | | --------------------------- | -------------------------------------------------------------------------------------- | | **Complete Data Isolation** | Your data lives in its own database instance, fully separated from other organisations | | **Dedicated Performance** | No noisy neighbours — get consistent, predictable query performance and throughput | | **Custom Regions** | Choose where your data lives. Deploy to any supported cloud region for compliance | | **Enhanced Security** | Bring your own encryption keys, network policies, and access controls | *** Connecting a Dedicated Database [#connecting-a-dedicated-database] 1. Go to **Settings → Database**. 2. Click **Connect**. 3. Choose a **migration mode** (see below). 4. Enter your **MongoDB connection URI**. 5. Optionally enter a **Redis connection URL**. 6. Choose what to do with data in the source database after migration. 7. Click **Connect** to start the migration. Migration Modes [#migration-modes] When moving to a dedicated database, choose how to handle your existing data: | Mode | What's Copied | Best For | | ----------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------- | | **Migrate** | All data — chats, messages, contacts, flows, media, and configuration | Existing organisations with data to preserve | | **Fresh** | System configuration only — labels, custom fields, collections, AI settings, bots, integrations | New setups or starting clean | Source Data Action [#source-data-action] After migration completes, choose what happens to your data in the original (shared) database: | Action | Description | | ---------- | ------------------------------------------------------------------------------------------------------------- | | **Delete** | Remove your organisation's data from the shared database after migration (recommended — prevents duplication) | | **Keep** | Leave a copy in the shared database as a backup | Migration duration depends on your data volume. During migration, your workspace remains operational but may experience brief interruptions. *** Connection Requirements [#connection-requirements] Both MongoDB and Redis can be configured independently. You only need to provide the connection URIs. Go to **Database → Connect → Drivers** in your Atlas dashboard and copy the connection string. Replace the password placeholder with your database user's password. ``` mongodb+srv://user:pass@cluster0.xxxxx.mongodb.net/dbname ``` See [Atlas Connection Docs](https://www.mongodb.com/docs/atlas/driver-connection/) for details. Use a standard MongoDB connection string. Ensure the server is accessible from Wexio's platform and has authentication enabled. ``` mongodb://user:pass@host:27017/dbname?authSource=admin ``` Copy the `redis://` endpoint from your Upstash console. Upstash provides serverless Redis with global replication. ``` redis://default:xxxxx@us1-xxxxx.upstash.io:6379 ``` See [Upstash Getting Started](https://upstash.com/docs/redis/overall/getstarted) for details. Use the primary endpoint from your cluster. Ensure the security group allows inbound access from Wexio's platform IP addresses. ``` redis://user:pass@cluster.xxxxx.cache.amazonaws.com:6379 ``` Connection URIs are **encrypted at rest** and never displayed after submission. Ensure your database allows connections from Wexio's platform IP addresses. *** Connection Status [#connection-status] After connecting, the Database page shows the health of each service: | Status | Meaning | | ---------------- | ----------------------------------------------------------------------------------------------- | | **Shared** | Organisation uses the shared platform infrastructure (no dedicated instance) | | **Connected** | Dedicated instance is configured and healthy (latency displayed in ms) | | **Disconnected** | Dedicated instance is configured but unreachable — check your connection URI and network access | Use the **Refresh** button to re-check connection health and update document counts at any time. *** Data Collections [#data-collections] The Database page shows a breakdown of your data across MongoDB collections, split into two categories: System Collections [#system-collections] Configuration data that defines your workspace setup: | Collection | Description | | ------------------------ | -------------------------------- | | Labels | Organisation labels | | Chat collections | Inbox collections | | People field definitions | Custom contact field definitions | | AI assistants | AI assistant configuration | | Bots | Messaging bot configuration | | Integrations | Channel integrations | | WhatsApp templates | WhatsApp template configuration | Operational Collections [#operational-collections] Day-to-day data generated through usage: | Collection | Description | | ---------- | -------------------- | | Chats | Conversations | | Messages | Chat messages | | People | Contacts | | Flows | Automation flows | | Cards | Flow cards | | Media | Uploaded media files | Each collection shows its **document count** and **accessibility status**. The total document count is displayed at the top. *** Migrating Back to Shared [#migrating-back-to-shared] If you need to revert to the shared platform database: 1. Go to **Settings → Database**. 2. Click **Migrate Back to Shared**. 3. Choose the **source data action** — whether to keep or delete your data from the dedicated database after migration. 4. Confirm the action. If you choose **Delete**, your data will be removed from the dedicated database after migration. This cannot be undone. Your organisation's data will be copied back to the shared platform and the dedicated connection will be removed. *** Related [#related] # General Settings (/docs/settings/general) Manage your general organisation settings here.