---
title: Ada API Integration on Truto
slug: ada
category: Helpdesk
canonical: "https://truto.one/integrations/detail/ada/"
---

# Ada API Integration on Truto



**Category:** Helpdesk  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 47 tools for Ada that AI agents can call directly.

- **list_all_ada_audit_log_events** — List ada audit log events, newest first, within a time window. Returns: id, timestamp, entity_type, entity_id, activity, actor_email, actor_name, actor_user_id. The time window (end_date - start_date) may not exceed 30 days; no field filters are exposed. Required: start_date.
- **get_single_ada_end_user_by_id** — Get a specific Ada end user by id. Returns: end_user_id, external_id, profile, created_at, updated_at. Required: id.
- **update_a_ada_end_user_by_id** — Update a specific Ada end user by id. Returns: end_user_id, external_id, profile, created_at, updated_at. A 409 is returned if the requested external_id is already assigned to a different end user. Required: id, profile.
- **list_all_ada_end_users** — List Ada end users with cursor pagination, or look up a single end user by external_id. Returns each record with: end_user_id, external_id, profile, created_at, updated_at. external_id is mutually exclusive with pagination and available for custom channel integrations only (V1).
- **create_a_ada_end_user** — Create a new Ada end user with optional profile data and sensitive metadata. Returns: end_user_id, external_id, profile, created_at, updated_at. Supports idempotent upsert via external_id. End users not associated with a conversation within 24 hours are automatically deleted.
- **list_all_ada_knowledge_sources** — List knowledge sources in Ada. Returns each source with id, name, and status.
- **create_a_ada_knowledge_source** — Create a new knowledge source in Ada. Returns the created source with id, name, and status. Required: id, name.
- **update_a_ada_knowledge_source_by_id** — Update a knowledge source in Ada by id. Returns the updated source with id, name, and status. Required: id.
- **delete_a_ada_knowledge_source_by_id** — Delete a knowledge source and its related articles in Ada by id. Deletion is asynchronous: a 204 response means the request was accepted and processed in the background. Returns an empty 204 response on success. Required: id.
- **list_all_ada_knowledge_articles** — List knowledge articles in Ada with optional filters by id, enabled status, language, knowledge source, or tags. Returns: id, name, content, url, knowledge_source_id, language, tag_ids, created. Max 100 per page.
- **ada_knowledge_articles_bulk_delete** — Delete multiple Ada knowledge articles matching the provided filters. Deletion is asynchronous; re-query the list endpoint to confirm no matching articles remain. Returns an empty 204 response on success.
- **get_single_ada_knowledge_article_by_id** — Get a single knowledge article in Ada by id. Returns: id, name, content, url, knowledge_source_id, language, tag_ids, created. Required: id.
- **delete_a_ada_knowledge_article_by_id** — Delete a single knowledge article in Ada by id. Returns an empty 204 response on success. Required: id.
- **list_all_ada_knowledge_tags** — List all article tags in Ada. Returns: id, name. These tags can be assigned to knowledge articles for categorization and filtering.
- **delete_a_ada_knowledge_tag_by_id** — Delete an article tag in Ada by id. Returns an empty 204 response on success. Required: id.
- **ada_knowledges_bulk_articles** — Upsert multiple articles. Returns: id, success, created.
- **ada_knowledges_bulk_tags** — Bulk upsert article tags in Ada, creating or updating each tag matched by its unique `id`. Returns an array of upsert results including id.
- **list_all_ada_platform_integrations** — List platform integrations owned by your ada account. Returns each integration with id, status, name, description, author, contact, scopes, tags, configuration_fields, created, and updated.
- **create_a_ada_platform_integration** — Create a new platform integration in ada. Integrations are created in development status by default. Returns the created integration including id, status, name, client_secret, created, and updated. Required: identifier_field_path, name, description, author, contact, uninstallation_url, oauth_callback_url, tags, scopes, configuration_fields.
- **update_a_ada_platform_integration_by_id** — Update a platform integration in ada by id. Only integrations in development status may be updated; integrations submitted for publication cannot be updated. Returns the updated integration including id, status, name, created, and updated. Required: id.
- **update_a_ada_platform_integration_installation_by_id** — Update the status of a platform integration installation in ada. An installation can be marked complete or incomplete. Returns: id, platform_integration_id, created, updated, configuration, status. Required: id, platform_integration_id.
- **create_a_ada_conversations_email** — Create a new email conversation in Ada's native Email channel, providing context for an end user's inquiry. Returns: conversation_id. The text field is limited to 10 KB and metadata to 4 KB. This endpoint is exclusive to the native Email channel and cannot be used for custom channels. Required: name, subject, reply_to.
- **list_all_ada_channels** — List channels in Ada filtered by type and optionally by modality. Returns: name, description, modality, id, type, created_at, metadata. Max 100 channels per page. Required: type.
- **create_a_ada_channel** — Create a new channel in Ada. Returns: name, description, modality, id, type, metadata, created_at. A maximum of 100 channels can be created per account per day; maximum request size is 10MB. Required: name, description, modality.
- **create_a_ada_conversation** — Create a new conversation in Ada. If end_user_id is not provided, a new end user is created automatically. Returns: id, channel_id, end_user_id, status, created_at, updated_at, metadata. Max request size 10MB, metadata limited to 4KB. Required: channel_id.
- **update_a_ada_conversation_by_id** — Update a conversation's metadata by id in Ada. Metadata keys are added additively; keys with null values are removed. Returns: id, channel_id, end_user_id, status, created_at, updated_at, metadata. Required: id, metadata.
- **get_single_ada_conversation_by_id** — Get a single Ada conversation by id. Returns: id, channel_id, end_user_id, status, created_at, updated_at, metadata, method. Required: id.
- **create_a_ada_conversation_end** — End a conversation in ada by conversation_id. Returns: message. Required: conversation_id.
- **create_a_ada_conversation_end_handoff** — End a handoff for an ada conversation, returning control to the AI Agent without ending the conversation. Also triggers CSAT for the human agent, leftover blocks processing, and agent presence dismissal messages. Returns: message. Required: conversation_id.
- **list_all_ada_webhooks** — List all webhook subscriptions configured for an ada AI Agent. Returns: id, url, description, event_filters, enabled, created_at, updated_at. Max 100 per page.
- **create_a_ada_webhook** — Create a new webhook subscription in ada. If this is the first webhook for the AI Agent, the webhook infrastructure is automatically provisioned. Returns: id, url, description, event_filters, enabled, created_at, updated_at. Required: url.
- **get_single_ada_webhook_by_id** — Get details of a specific ada webhook subscription by id. Returns: id, url, description, event_filters, enabled, created_at, updated_at. Required: id.
- **update_a_ada_webhook_by_id** — Update an ada webhook subscription by id. Only the fields provided in the request body will be updated. Returns: id, url, description, event_filters, enabled, created_at, updated_at. Required: id.
- **delete_a_ada_webhook_by_id** — Delete an ada webhook subscription by id. Returns an empty 204 response on success. Required: id.
- **get_single_ada_webhook_secret_by_id** — Get the signing secret for an ada webhook, used to verify that incoming webhook payloads are authentic. Returns: key, id, url, event_filters, enabled, created_at, updated_at. Required: webhook_id.
- **create_a_ada_secret_rotate** — Rotate the signing secret for an Ada webhook, optionally providing a custom key. Returns an empty 200 response on success — the new secret is not returned; use the get secret endpoint to retrieve it. Required: webhook_id.
- **list_all_ada_webhooks_event_types** — List all available webhook event types that webhooks can subscribe to in Ada. Each event type entry includes its identifier and a human-readable description of when it fires. Returns: name, description.
- **list_all_ada_personas** — Get the current persona configuration in ada. Returns: personality, emoji_usage, allowed_emojis, default_timezone, message_length, ask_for_more_help, no_customer_pi, no_competitors.
- **ada_personas_bulk_update** — Partially update the persona configuration in ada. Only fields provided in the request body are changed; omitted fields retain their existing values. Returns the updated persona including personality, emoji_usage, allowed_emojis, default_timezone, message_length, ask_for_more_help, no_customer_pi, no_competitors, enable_acknowledgment_messages, company_description, community_guidelines_url, and…
- **list_all_ada_variables** — List Variables accessible to the AI Agent in Ada (the Variables shown on the dashboard). Reserved and internal Variables are not included. The VariableSummary schema carries only the Variable's id and name. Returns: id, name.
- **get_single_ada_variable_by_id** — Get a single Variable in Ada by id. An unknown, malformed, or reserved id returns 404. The VariableSummary schema carries only the Variable's id and name. Returns: id, name. Required: id.
- **list_all_ada_export_conversations** — List exported Ada conversations from the Data Export API filtered by creation or update date. Returns: id, created_at, updated_at, name. The created_since and updated_since filters are mutually exclusive; without an explicit to-date, only records within 7 days of the since timestamp are returned.
- **list_all_ada_export_messages** — List exported messages in Ada filtered by creation date. Returns: id, conversation_id, author, content, created_at, updated_at. If created_to is omitted, only records within 7 days of created_since are returned; timestamps must be ISO 8601 UTC ending with 'Z'. Required: created_since.
- **create_a_ada_data_subject_request** — Delete all data associated with a chatter's email address in Ada. Returns: email. If the chatter participates in a multi-recipient email thread, the entire transcript is deleted for all participants.
- **list_all_ada_conversation_messages** — List messages (paginated) for an Ada conversation by conversation_id. Returns: id, conversation_id, author, content, created_at, updated_at, name. Max 100 messages per page. Required: conversation_id.
- **create_a_ada_conversation_message** — Create a new message in an Ada conversation. Returns: id, conversation_id, author, content, created_at, updated_at, data. The maximum request size is 10MB. Required: conversation_id, author, content.
- **create_a_ada_conversation_attachment** — Create a file attachment in an Ada conversation. Returns: url, mime_type, filename, data. Max file size 50MB; attachments can only be uploaded when the conversation is in a handoff state. Required: conversation_id.

## How it works

1. **Link your customer's Ada account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Ada.** The Proxy API is a 1-to-1 mapping of the Ada API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed AI-first frontline support in your helpdesk** — Ticketing and helpdesk SaaS platforms can offer Ada as a native AI deflection layer, automatically escalating unresolved conversations into tickets with full transcript context and routing human agent replies back into the Ada chat.
- **Auto-sync knowledge bases into Ada's AI Agent** — Documentation, CMS, and wiki platforms can offer a one-click sync that pushes articles and tags into Ada in real time, ensuring the AI Agent never answers from stale content.
- **Expose your product's workflows as AI-executable actions** — E-commerce, fintech, and OMS platforms can register themselves as Ada platform integrations so Ada's AI Agent can autonomously fetch order status, process refunds, or run account lookups mid-conversation.
- **Enrich Ada with unified customer context** — CDPs, CRMs, and identity platforms can push end-user profiles, VIP tiers, and secure session tokens into Ada before a chat begins, letting the AI personalize responses and unlock authenticated actions.
- **Automate compliance and transcript archiving** — Governance, analytics, and data warehousing platforms can pull Ada conversation exports for sentiment scoring and trigger GDPR/CCPA deletion requests directly from their own admin flows.

## What you can build

- **Bulk knowledge article sync** — Push articles and tags into Ada from your CMS or docs product using bulk knowledge endpoints, mapping your categories to Ada Knowledge Sources on setup.
- **AI-to-human handoff bridge** — Subscribe to Ada webhooks for escalation events, pull the conversation and messages, create a ticket in your product, and post agent replies back with new conversation messages.
- **Return-to-AI ticket closure** — When your human agent resolves a ticket, fire a conversation end handoff to hand control back to Ada, triggering CSAT and post-resolution flows automatically.
- **Pre-chat context injection** — Create or update Ada end users with profile fields and sensitive metadata so the AI Agent enters the conversation with language, tier, and auth context already loaded.
- **Native platform integration actions** — Register your SaaS as an Ada platform integration so merchants can enable your workflows (order lookup, refunds, account updates) as AI-executable tools inside their Ada instance.
- **One-click Right-to-be-Forgotten** — Trigger Ada data subject requests from your privacy console to purge a user's chat history whenever they delete their account in your product.

## FAQs

### How does authentication work when my users connect their Ada account?

Truto handles the Ada credential exchange and token storage for you. Your end users complete a connection flow once, and Truto manages the API key or bearer token used for every downstream Ada call.

### Can I receive real-time events from Ada, like handoffs or new messages?

Yes. You can programmatically provision webhooks per connected account using the Ada webhook endpoints, list available event types, and rotate webhook secrets — all through Truto without your users touching Ada's admin UI.

### How do I keep Ada's knowledge base in sync with my product's content?

Use the bulk knowledge article and tag endpoints to push updates whenever content changes in your system. You can also create and manage Knowledge Sources to keep your content namespaced separately from other Ada content.

### Can I pull full conversation transcripts for analytics or CRM sync?

Yes. You can list conversation messages for a specific conversation, or use the bulk export endpoints for conversations and messages when backfilling or running batch analytics pipelines.

### Can my integration send messages back into an Ada conversation as a human agent?

Yes. After an escalation, you can post replies back into the live Ada conversation using the create conversation message endpoint, and attach files via the conversation attachment endpoint.

### Does Truto support Ada's platform integrations for AI-executable actions?

Yes. You can create and update Ada platform integrations and manage their installations per connected account, letting your users enable your product's actions as tools for Ada's AI Agent.

## Related reading

- [Connect Ada to Claude: Manage Article Libraries and End Users](https://truto.one/blog/connect-ada-to-claude-manage-article-libraries-and-end-users/) — Connect Ada to Claude using a managed MCP server. Learn how to generate auto-updating tools, orchestrate conversation states, and manage knowledge bases.
- [Connect Ada to ChatGPT: Sync Knowledge Bases and Live Chats](https://truto.one/blog/connect-ada-to-chatgpt-sync-knowledge-bases-and-live-chats/) — Learn how to connect Ada to ChatGPT using a managed MCP server. Execute support workflows, sync knowledge articles, and manage live chats via tool calling.
- [Connect Ada to AI Agents: Automate Support and Conversation Data](https://truto.one/blog/connect-ada-to-ai-agents-automate-support-and-conversation-data/) — Learn how to connect Ada to AI agents using Truto's /tools endpoint. Bind native APIs to LangChain, handle stateful chat workflows, and build autonomous agents.
