helpdesk
Ada
Connect Ada to Elaichi and hand every teammate a governed MCP endpoint — 47 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Ada tools for your AI agents
47 tools are ready to mint as an MCP endpoint the moment you connect Ada — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
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
From Ada account to governed MCP endpoint
Connect
Link a Ada account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Ada tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.