Helpdesk
Tidio
API integration
Ship Helpdesk features without building the integration. Full Tidio API access via Proxy and 30+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Tidio
Common scenarios for SaaS companies building Tidio integrations for their customers.
Keep Lyro AI trained on the latest documentation
Knowledge base and CMS platforms can push newly published or updated articles into Tidio's Lyro AI automatically, so their users' support bot always answers with current information without manual re-syncs.
Turn Lyro into a live shopping assistant
E-commerce, PIM, and inventory platforms can sync product catalogs, prices, and stock into Tidio so Lyro recommends only accurate, in-stock items during chat conversations.
Enrich CRM leads with Tidio chat context
CRMs and marketing automation tools can pull contact details, viewed pages, and full chat transcripts from Tidio to segment leads and trigger behavior-based email flows.
Handle Tidio tickets from your own workspace
Helpdesks, CRMs, and workflow tools can create, update, and reply to Tidio tickets from their own UI, so agents never have to switch tabs to manage live customer conversations.
AI-drafted replies inside your product
Support tools can fetch a Tidio ticket, generate a Lyro-drafted response, and present it inside their own agent console for review — combining Tidio's AI with your product's workflow.
What You Can Build
Ship these features with Truto + Tidio
Concrete product features your team can ship faster by leveraging Truto’s Tidio integration instead of building from scratch.
Automatic Lyro knowledge sync
Push website URLs, scraped pages, and custom Q&A pairs into Tidio's Lyro data sources whenever content changes in your product.
Bulk product catalog upsert
Batch-upload up to 100 products at a time into Tidio to power Lyro's product recommendations, with delete support for discontinued SKUs.
Two-way contact sync
Create, update, and fetch Tidio contacts in bulk, and read custom contact properties to keep user profiles aligned between your product and Tidio.
Embedded ticket console
List, view, update, reply to, and close Tidio tickets from inside your own UI, with access to ticket tags and custom fields for routing logic.
Lead enrichment with browsing intent
Pull each contact's viewed pages and full message history from Tidio to enrich CRM records with real intent signals.
Agent and department-aware routing
List Tidio operators and departments to assign new tickets to the right team based on your product's own routing rules.
SuperAI
Tidio AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_tidio_contacts
List Tidio contacts with all their properties. Returns: id, distinct_id, first_name, last_name, email, phone, language, country, city, created_at, email_consent, properties. Supports filtering by email address.
create_a_tidio_contact
Create a new Tidio contact. Returns: id. Required: distinct_id. At least one of email, first_name, last_name, or phone must also be provided.
get_single_tidio_contact_by_id
Get a single Tidio contact by id. Returns: id, distinct_id, first_name, last_name, email, phone, language, country, city, created_at, email_consent, properties. Required: id.
update_a_tidio_contact_by_id
Update a Tidio contact's properties such as email, phone, name, newsletter consent, and custom properties. Returns an empty 204 response on success. Required: id.
delete_a_tidio_contact_by_id
Delete a Tidio contact by id. Once deleted, the contact cannot be recovered. Returns an empty 204 response on success. Required: id.
tidio_contacts_bulk_create
Create up to 100 Tidio contacts in a single batch request using an all-or-nothing strategy. Returns: id, distinct_id, first_name, last_name, email, phone, language, country, city, created_at, email_consent, properties. Required: contacts array (each with distinct_id). At least one of email, first_name, last_name, or phone per contact.
tidio_contacts_bulk_update
Update up to 100 Tidio contacts in a single batch request using an all-or-nothing strategy. Returns an empty 204 response on success. Required: contacts array (each with id). Settable: email, first_name, last_name, phone, distinct_id, email_consent, properties. Maximum 100 contacts per request.
list_all_tidio_contact_properties
List all contact property definitions configured in the Tidio panel. Returns: name, label, type.
list_all_tidio_operators
List all Tidio operators — chat agents who interact with customers or website visitors in real-time — with all their properties. Returns: id, active, email, name, role, picture, last_seen.
list_all_tidio_departments
List all departments in Tidio. Departments are teams or groups of operators that handle specific types of customer inquiries or problems. Returns: id, name. The department id is a UUID used when assigning tickets via assigned_department_id.
list_all_tidio_tickets
List all Tidio tickets with their details but without messages. Returns: id, link, status, subject, priority, contact_id, contact_email, assigned_operator_id, assigned_department_id, custom_channel_id.
get_single_tidio_ticket_by_id
Get a single Tidio ticket by id with all details and messages. Returns: id, link, subject, contact_id, contact_email, priority, status, assigned_operator_id, assigned_department_id, custom_channel_id, messages. Required: id.
update_a_tidio_ticket_by_id
Update a specific Tidio ticket by id to change its status, priority, assignment, tags, or custom fields. Returns an empty 204 response on success. Required: id.
delete_a_tidio_ticket_by_id
Delete a specific Tidio ticket by id. Returns an empty 204 response on success. Required: id.
tidio_tickets_reply
Add a reply message to an existing Tidio ticket, either from an operator or a contact. Returns: id. Required: ticket_id, author_type, content.
create_a_tidio_ticket
Create a Tidio ticket on behalf of a contact. Returns: id. Required: contact_email, subject, message_content.
tidio_lyro_answer_ticket
Ask the Tidio Lyro AI agent to generate an answer for a ticket based on the provided ticket data. Returns: message_content. Required: ticket_id, subject, contact_email, contact_name, recipient_email, messages. Responding can take up to 40 seconds and currently only works for the first message in a ticket.
tidio_lyro_data_sources_upsert_website
Upload or update a website data source for the Tidio Lyro AI Agent. If a data source with the same URL already exists it is updated; otherwise a new one is created. Returns: id. Required: url, content, title.
tidio_lyro_data_sources_scrape_website
Submit a website URL to be scraped and used as a knowledge data source for the Tidio Lyro AI Agent. Each URL must be unique per project. Returns: id. Required: url.
list_all_tidio_lyro_data_sources
List data sources for the Tidio Lyro AI Agent, organized in a two-level hierarchy of folder and qa kinds. Returns: id, parent_id, title, type, kind, origin, status, used_by_lyro, used_by_copilot, sync_status, source_url, content, skip_auto_sync, manual_sync_available_at, next_auto_sync_at, created_at, updated_at.
create_a_tidio_lyro_data_source
Create a QA data source for the Tidio Lyro AI Agent. The content is provided as text and processed by the AI Agent. Returns: id. Required: title, content.
update_a_tidio_lyro_data_source_by_id
Update an existing QA data source for the Tidio Lyro AI Agent by id. Returns: id. Required: id, title, content.
delete_a_tidio_product_by_id
Permanently delete a product from Tidio Lyro AI recommendations by id. Deletion is irreversible and processed asynchronously. Returns an empty 202 Accepted response indicating the deletion has been queued. Required: id.
tidio_products_bulk_upsert
Bulk upload or update products for Tidio Lyro AI recommendations using batch processing. Products are processed in an all-or-nothing manner with a maximum of 100 products per request. Returns an empty 204 response on success. Required: products.
list_all_tidio_project
Get information about the authenticated Tidio project. Returns: project_id, status.
list_all_tidio_contact_viewed_pages
List pages a contact has viewed on your website in Tidio. Returns: url, viewed_at. Required: contact_id. Results cover the past 30 days.
list_all_tidio_contact_messages
List messages in a Tidio contact's conversation, including messages from the contact, chat operators, and chatbots. Returns: id, author_type, author_id, message, created_at. Required: contact_id.
create_a_tidio_contact_message
Send a message to a Tidio contact's conversation, attributed to the contact as if they sent it. Processing is asynchronous (202 Accepted). Returns: status. Required: contact_id, message. Message text must be 1–5000 characters.
list_all_tidio_ticket_tags
List Tidio ticket tags for the authenticated project. Returns a flat list of {id, name} objects sorted alphabetically by name.
list_all_tidio_ticket_custom_fields
List all ticket custom field definitions configured for the authenticated Tidio project. Returns: id, name, type, is_required, is_dynamic, values.
Why Truto
Why use Truto’s MCP server for Tidio
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Tidio in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Tidio account
Use Truto’s frontend SDK to connect your customer’s Tidio account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Tidio
Truto’s Proxy API is a 1-to-1 mapping of the Tidio API. You call us, we call Tidio, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Tidio’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Tidio on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How is authentication to Tidio handled?
Truto manages the Tidio API credential exchange and token storage for you. Your end users connect their Tidio account once, and Truto handles credential refresh and secure storage — your app calls Truto with a connection ID.
Can I sync product catalogs in bulk?
Yes. The tidio_products_bulk_upsert tool accepts batched product payloads (Tidio supports up to 100 products per call), which is the recommended way to keep Lyro's product recommendations current.
Can I train Lyro AI programmatically?
Yes. You can upsert or scrape website URLs into Lyro's data sources, and create structured Q&A data sources via the create_a_tidio_lyro_data_source tool. Existing data sources can be listed, updated, or deleted.
What contact context can I pull from Tidio?
Beyond core contact fields and custom contact properties, you can fetch each contact's viewed pages and full message history — useful for lead scoring, enrichment, and intent-based segmentation.
Can I reply to Tidio tickets from my own product?
Yes. You can create tickets, fetch a ticket by ID, update or delete it, and post replies via tidio_tickets_reply. You can also send messages directly to a contact via create_a_tidio_contact_message.
Can I use Lyro to draft replies inside my app?
Yes. The tidio_lyro_answer_ticket tool generates a Lyro-drafted response for a given ticket, which you can surface in your own agent UI for review before sending.
From the Blog
Tidio integration guides
Deep dives, architecture guides, and practical tutorials for building Tidio integrations.
Tidio
Get Tidio integrated into your app
Our team understands what it takes to make a Tidio integration successful. A short, crisp 30 minute call with folks who understand the problem.