Skip to content

Helpdesk · Beta

Ada
API integration

Ship Helpdesk features without building the integration. Full Ada API access via Proxy and 40+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Ada

Use Cases

Why integrate with Ada

Common scenarios for SaaS companies building Ada integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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

Ship these features with Truto + Ada

Concrete product features your team can ship faster by leveraging Truto’s Ada integration instead of building from scratch.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

SuperAI

Ada 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_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.

Why Truto

Why use Truto’s MCP server for Ada

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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 Ada in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Ada account

Use Truto’s frontend SDK to connect your customer’s Ada account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

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.

03

Call our API, we call Ada

Truto’s Proxy API is a 1-to-1 mapping of the Ada API. You call us, we call Ada, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Ada’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Ada on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

Ada

Get Ada integrated into your app

Our team understands what it takes to make a Ada integration successful. A short, crisp 30 minute call with folks who understand the problem.