# Insighto.ai — how to use (mcp.ai)

Connect your Insighto.ai account and use 65 tools for AI chatbots straight from your AI agent. Connect with your own API key. Insighto.ai is an AI-powered communication platform that enables businesses to create and deploy conversational AI chatbots and voice agents for enhanced customer engagement across multiple channels.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_insighto_ai?ms=1787291340000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `insighto_ai_add_intent_to_assistant`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/insighto_ai`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/insighto_ai/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/insighto_ai/add/intent/to/assistant` — Tool to add an intent to an assistant in Insighto.ai. Use when linking existing intents to an assistant for enhanced conversation handling.
  - body: { intent_id: string, attributes?: object, assistant_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/agency` — Tool to create a new agency in Insighto.ai. Use when setting up a new agency with organization-specific configuration and branding.
  - body: { domain?: object, org_id: string, branding?: object, user_auth?: object, billing_plan?: object }
- `POST https://api.mcp.ai/api/insighto_ai/create/contact/custom/field` — Tool to create a new contact custom field in Insighto.ai. Use when you need to add custom metadata fields for contacts.
  - body: { org_id?: string, custom_field_name: string, custom_field_type: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/form` — Tool to create a new form in Insighto.ai. Use when you need to create either a natural (conversational AI-driven) or simple (traditional) form for collecting information from users.
  - body: { name: string, fields?: object[], org_id?: string, form_type: string, attributes?: object, webhook_id?: string, trigger_tools?: object[], contact_mapping?: object, trigger_instructions: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/intent` — Tool to create a new intent in Insighto.ai. Use when adding custom intents before training or deployment. Call after confirming intent attributes.
  - body: { name: string, is_active?: boolean, attributes?: object, description?: string, intent_type?: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/prompt` — Tool to create a new prompt in Insighto.ai. Use when adding custom prompts for AI interactions. The prompt template can include variables in {{variable_name}} format.
  - body: { name?: string, owner_type?: string, description?: string, prompt_template?: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/provider` — Creates a new AI provider configuration (e.g., OpenAI, ElevenLabs, Azure Speech, Cartesia, PlayHT) for use in voice and text-to-speech workflows. The provider stores credentials and settings in the at
  - body: { name: string, org_id?: string, status?: boolean, attributes?: object, provider_key: string, provider_name?: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/tag` — Tool to create a new tag in Insighto.ai. Use when categorizing contacts, conversations, or other entities with custom labels.
  - body: { name: string, attributes?: object, color_code: string, description: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/toolfunction` — Tool to create a new toolfunction in Insighto.ai. Use when you need to register a new tool function (SDK, CURL, or query index type) before using it in workflows or assistant operations.
  - body: { name: string, details?: object, tool_id?: string, is_enabled?: boolean, description: string, tool_function_type: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/webhook` — Tool to create a new outbound webhook in Insighto.ai. Use when you need to configure webhook endpoints for event notifications.
  - body: { name: string, enabled?: boolean, endpoint: string }
- `POST https://api.mcp.ai/api/insighto_ai/create/widget` — Tool to create a new widget with specified attributes. Use after confirming assistant_id and widget_type.
  - body: { name?: string, org_id?: string, attributes?: object, bubble_text?: string, description?: string, widget_type: string, assistant_id?: string, bubble_color?: string, display_name?: string, header_color?: string, style_params?: object, intro_message?: string, action_buttons: string|object[], bot_icon_color?: string, ice_break_color?: string, remove_branding?: boolean, bot_message_color?: string, header_text_color?: string, user_message_color?: string, action_buttons_color?: string, textbox_default_text?: string, user_opening_messages: string[], bot_text_message_color?: string, user_text_message_color?: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/assistant/by/id` — Tool to delete an assistant by its ID. Use when you need to permanently remove an assistant from the system.
  - body: { assistant_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/bulk/forms/by/ids` — Tool to delete multiple forms by their IDs in a single operation. Use when you need to remove multiple forms at once.
  - body: { form_ids: string[] }
- `POST https://api.mcp.ai/api/insighto_ai/delete/contacts/in/bulk` — Tool to delete multiple contacts in bulk. Use when you need to remove several contacts at once by providing their UUIDs.
  - body: { contact_ids: string[] }
- `POST https://api.mcp.ai/api/insighto_ai/delete/form/by/id` — Tool to delete a form by its unique identifier. Use when you need to permanently remove a form from the system.
  - body: { form_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/link/tag/entity/by/id` — Tool to delete a link_tag_entity by its ID. Use when you need to remove a specific link_tag_entity from the system.
  - body: { link_tag_entity_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/linked/assistant/datasource` — Tool to delete (unlink) a datasource from a linked assistant in Insighto.ai. Use when you need to remove a specific datasource from an assistant's knowledge base. Requires valid datasource_id and assi
  - body: { assistant_id: string, datasource_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/prompt/by/id` — Tool to delete a prompt by its unique ID. Use when you need to remove a prompt from the system.
  - body: { prompt_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/provider/by/id` — Tool to delete an AI provider configuration by its unique identifier. Use when you need to permanently remove a provider from the system.
  - body: { provider_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/tag/by/id` — Tool to delete a tag by its unique identifier. Use when you need to permanently remove a tag from the system.
  - body: { tag_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/tool/by/id` — Tool to delete a tool by its ID. Use when you need to remove a tool from the system.
  - body: { tool_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/toolfunction/by/id` — Tool to delete a toolfunction by its ID. Use when you need to remove a toolfunction from the system.
  - body: { toolfunction_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/twilio/auth/by/id` — Tool to delete a Twilio authentication configuration by its ID. Use when you need to remove a Twilio auth integration from the system.
  - body: { twilio_auth_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/userwhatsapp/by/id` — Tool to delete a UserWhatsApp by its ID. Use when you need to remove a specific UserWhatsApp connection.
  - body: { userwhatsapp_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/delete/widget/by/id` — Tool to delete a widget by its unique ID. Use when you need to permanently remove a widget from the system.
  - body: { widget_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/agency/billing/plan` — Tool to retrieve details of a specific agency billing plan by ID. Use when you need to view billing plan information including limits for bots, queries, words, voice seconds, and support options.
  - body: { billing_plan_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/agency/branding/by/id` — Tool to retrieve branding configuration for a specific agency by agency ID. Use when you have a valid agency ID and need its branding settings.
  - body: { agency_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/agent/list` — Tool to fetch a paginated list of agents. Use when you need to retrieve user/agent information with pagination support.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/get/assistant/by/id` — Tool to retrieve details of a specific assistant by assistant ID. Use when you have a valid assistant ID and need the full assistant profile.
  - body: { assistant_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/captured/form/by/form/id` — Tool to retrieve captured form submissions by form ID. Use when you have a valid form ID and need to fetch all submissions for that specific form with pagination support.
  - body: { page?: integer, size?: integer, form_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/contact/by/id` — Tool to retrieve details of a specific contact by contact ID. Use when you have a valid contact ID and need the full contact profile.
  - body: { contact_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/datasource/by/id` — Tool to retrieve details of a specific datasource by datasource ID. Use when you have a valid datasource ID and need the full datasource details.
  - body: { datasource_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/intent/by/id` — Tool to retrieve details of a specific intent by its ID. Use when you have a valid intent ID and need the full intent details.
  - body: { intent_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/list/of/contacts` — Tool to fetch a paginated list of contacts. Use after confirming a valid API key to iterate through pages of contacts.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/get/list/of/conversations` — Tool to fetch a list of conversations. Use after specifying date range and filters to retrieve conversation metadata.
  - body: { page?: integer, size?: integer, date_to: string, date_from: string, intent_id?: string, assistant_id?: string, includes_voice?: boolean }
- `POST https://api.mcp.ai/api/insighto_ai/get/list/of/data/sources/linked/to/assistant/id` — Tool to retrieve a paginated list of data sources linked to a specific assistant. Use when you need to discover which data sources are associated with an assistant ID. Requires admin or manager role.
  - body: { page?: integer, size?: integer, assistant_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/list/of/datasources` — Retrieves a paginated list of data sources from Insighto AI. Data sources contain the knowledge base content (text, files, URLs) used by AI assistants. Use this to discover available data sources, get
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/get/list/of/widgets/linked/to/assistant/id` — Tool to fetch a paginated list of widgets linked to a specific assistant. Use when you need to discover which widgets are associated with an assistant ID.
  - body: { page?: integer, size?: integer, assistant_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/pricing/for/user` — Tool to retrieve pricing information for Insighto.ai services. Use when you need to calculate costs for LLM, voice, or transcription services.
  - body: { llm_model_id?: string, voice_stt_id?: string, voice_tts_id?: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/prompt/by/id` — Tool to retrieve details of a specific prompt by prompt ID. Use when you have a valid prompt ID and need the full prompt details.
  - body: { prompt_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/provider/by/id` — Tool to retrieve details of a specific provider by provider ID. Use when you have a valid provider ID and need the full provider configuration.
  - body: { provider_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/get/speechtotext/list` — Tool to fetch a paginated list of available speech-to-text voice configurations. Use when you need to retrieve available languages and providers for voice-to-text conversion.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/get/widget/by/id` — Tool to retrieve details of a specific widget by widget ID. Use when you have a valid widget ID and need the widget configuration.
  - body: { widget_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/list/channels` — Tool to retrieve a paginated list of channels. Use after authenticating to fetch all available channels and their configurations.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/read/campaign/contact/list` — Tool to retrieve a paginated list of contacts associated with a specific campaign. Use when you need to fetch all contacts enrolled in a campaign.
  - body: { page?: integer, size?: integer, campaign_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/read/contact/custom/field/list` — Tool to retrieve a list of custom fields associated with contacts. Use when you need to inspect or sync contact metadata definitions.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/read/contact/sync/log/list` — Tool to retrieve a paginated list of contact sync logs. Use when you need to inspect sync history, troubleshoot sync issues, or audit contact synchronization operations.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/read/intents/list` — Tool to retrieve a list of all intents. Use after authenticating; supports pagination.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/read/tag/list` — Tool to retrieve a paginated list of tags. Use after authenticating to fetch and browse through all available tags.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/read/tool/function/invoke/log/list` — Tool to retrieve a paginated list of tool function invoke logs. Use when you need to inspect function invocation history, troubleshoot tool execution issues, or audit tool function calls.
  - body: { page?: integer, size?: integer, conversation_id?: string }
- `POST https://api.mcp.ai/api/insighto_ai/read/tool/toolfunction/list` — Tool to retrieve a paginated list of tool functions for a specific tool. Use after authenticating to fetch and browse through all tool functions associated with a given tool ID.
  - body: { page?: integer, size?: integer, tool_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/read/twilio/auth/list` — Tool to retrieve a paginated list of Twilio authentications. Use after authenticating to fetch and browse through all configured Twilio auth integrations.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/retrieve/linked/tool/and/user` — Tool to retrieve linked tool and user information for a specific tool. Use when you need to fetch users linked to a tool by tool ID.
  - body: { page?: integer, size?: integer, tool_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/retrieve/list/of/user/custom/voice` — Tool to retrieve a paginated list of user custom voices. Use after authenticating to fetch available custom voices.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/retrieve/user/monthly/usages/aggregation` — Tool to retrieve user monthly usages aggregation data. Use when you need to fetch analytics about user usage patterns aggregated by month.
  - body: { page?: integer, size?: integer }
- `POST https://api.mcp.ai/api/insighto_ai/retrieve/webhook/log` — Tool to retrieve webhook logs for a specific webhook. Use to monitor webhook delivery status and debug webhook issues.
  - body: { page?: integer, size?: integer, webhook_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/send/messages/to/contacts` — Tool to send messages to a list of contacts in bulk. Use when your widget is connected to WhatsApp or SMS and you have the contact IDs ready.
  - body: { message?: string, widget_id: string, contact_ids: string[], start_new_conversation?: boolean }
- `POST https://api.mcp.ai/api/insighto_ai/update/link/tool/user` — Tool to update a link tool user by its ID. Use when you need to modify properties of an existing tool integration.
  - body: { name?: string, org_id?: string, tool_id?: string, attributes?: object, credentials?: object, link_tool_user_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/update/tool/by/id` — Tool to update a tool by its ID. Use when you need to modify properties of an existing tool such as name, description, or enabled status.
  - body: { sdk?: object, name?: string, org_id?: string, enabled?: boolean, tool_id: string, base_url?: string, category?: string, logo_url?: string, tool_type?: string, attributes?: object, description?: string, tool_provider?: string, authentication?: object }
- `POST https://api.mcp.ai/api/insighto_ai/update/toolfunction/by/id` — Tool to update an existing toolfunction by its ID. Use when you need to modify properties of a toolfunction such as name, description, type, or enabled status.
  - body: { name?: string, details?: object, tool_id?: string, is_enabled?: boolean, description?: string, toolfunction_id: string, tool_function_type?: string }
- `POST https://api.mcp.ai/api/insighto_ai/update/twilio/auth/by/id` — Tool to update a Twilio authentication configuration by its ID. Use when you need to modify Twilio auth credentials or settings.
  - body: { name?: string, twilio_auth_id: string, twilio_auth_token?: string, twilio_account_sid?: string }
- `POST https://api.mcp.ai/api/insighto_ai/update/user/profile` — Tool to update a user profile in Insighto.ai. Use when modifying user account details, contact information, or billing settings.
  - body: { city?: string, email?: string, phone?: string, state?: string, address?: string, country?: string, role_id?: string, user_id: string, is_trial?: boolean, birthdate?: string, is_active?: boolean, is_paying?: boolean, last_name?: string, first_name?: string, used_trial?: boolean, is_superuser?: boolean, is_enterprise?: boolean, billing_updated_at?: string, stripe_customer_id?: string, last_credits_refresh?: string, next_billing_plan_id?: string, next_credits_refresh?: string, active_billing_plan_id?: string, stripe_subscription_id?: string, stripe_last_payment_date?: string, stripe_has_payment_method?: boolean, stripe_subscription_status?: string }
- `POST https://api.mcp.ai/api/insighto_ai/update/userwhatsapp/by/id` — Tool to update a UserWhatsApp configuration by its ID. Use when you need to modify WhatsApp Business API settings for a user.
  - body: { phone_number_id?: string, userwhatsapp_id: string, phone_business_id?: string, facebook_app_secret?: string, whatsapp_access_token?: string, whatsapp_phone_number?: string }
- `POST https://api.mcp.ai/api/insighto_ai/update/webhook/by/id` — Tool to update an outbound webhook by its unique ID. Use when you need to modify webhook configuration such as name, endpoint URL, or enabled status.
  - body: { name?: string, enabled?: boolean, endpoint?: string, webhook_id: string }
- `POST https://api.mcp.ai/api/insighto_ai/upsert/contact/by/email/or/phone/number` — Tool to upsert (create or update) a contact in Insighto.ai using email or phone number. Use when you need to create a new contact or update an existing one by email or phone number.
  - body: { email: string, last_name: string, first_name: string, phone_number: string }

## Example prompts
- "What can I do in Insighto.ai?"
- "Show me a summary of my Insighto.ai account"

## More
- Page: https://mcp.ai/insighto_ai
- Agent spec (llms.txt): https://mcp.ai/insighto_ai/llms.txt
- Postman collection: https://mcp.ai/insighto_ai/postman.json
