Moveo.AI integration
Moveo.AI builds AI agents for customer conversations on chat, voice, WhatsApp and email. With this API: chat with an AI agent through sessions, manage agents (intents, entities, dialogs, webhooks, insights, versions, publishing), knowledge bases with their datasources and documents, environments and their conversations and messages, contacts with identities and memories, debts, outbound campaigns and messages, and saved analytics reports. Not exposed: API key, SSH key and GDPR routes, routes that need a user login (comment writes, scheduled messages, call recordings, presence), the deprecated broadcasts, plugins, language and speech models and MCP servers (they hold provider secrets), integration settings, campaign sender writes, environment webhook writes (their documented answers carry no webhook id), simulations, capacity, SLA, business hours, macros, views and rules. Authentication: a Moveo API key of type manage (Authorization: apikey <key>), the account slug, and the API host of your region.
Say what should happen.
The workflow builds itself.
What you can do with Moveo.AI
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Document, 10 operations
create_documentCreate documentPOSTAgents: ask firstAdds a document to a datasource of a knowledge base from a file URL (file_url) with its name and file type (pdf, docx, txt, html...). Returns document_id and its processing status.delete_documentDelete documentDELETEAgents: ask firstDeletes a document from a datasource and the knowledge base. Irreversible.draft_published_documentsDraft published documentsPUTAgents: ask firstTurns published documents of a knowledge base back into drafts, out of AI agent search. Send include_all true (every one) or include_document_ids (a list); exclude_document_ids and datasource_types only narrow it. Returns drafted_count.get_documentGet documentGETAgents: ask firstReturns one document of a datasource: name, type, file and source url, status, size, edit time, enabled and draft flags, usage statistics.list_datasource_documentsList datasource documentsGETAgents: ask firstLists the documents of one datasource with their status, size, file and source url, enabled and draft flags.list_documentsList documentsGETAgents: ask firstLists the documents of a knowledge base with their status, size, source url and draft flag. Filter by datasource types or draft state.move_document_to_datasourceMove document to datasourcePATCHAgents: ask firstMoves a document to another datasource of the same knowledge base (new_datasource_id). Returns the moved document.preview_documentPreview documentGETAgents: ask firstReturns a fresh signed preview_url to view a document inline, valid 5 minutes (expires_in), with its name and type. Each call creates a new link.publish_draft_documentsPublish draft documentsPUTAgents: ask firstPublishes draft documents of a knowledge base so AI agents can find them. Send include_all true (every draft) or include_document_ids (a list); exclude_document_ids and datasource_types only narrow that set. Returns published_count.search_collectionSearch collectionPOSTAgents: ask firstSearches a knowledge base and returns ranked documents (document_id, datasource_id, score, matching text). mode semantic (default) or keyword; scope with datasource_ids or datasource_types, not both.
Campaign, 7 operations
create_campaignCreate campaignPOSTAgents: ask firstCreates a draft outbound campaign (marketing, sales, utility or payment_recovery); name and type are required, is_agentic needs nba_config. Its senders (channel and message) are not created here: add them in the Moveo console.delete_campaignDelete campaignDELETEAgents: ask firstDeletes a campaign. Irreversible.get_campaignGet campaignGETAgents: ask firstReturns one campaign: type, status, schedule, AI agent and version, its senders with their counts, and sent, delivered, failed, read and replied totals.list_campaignsList campaignsGETAgents: ask firstLists the account's outbound campaigns with type, status, schedule, AI agent and counts. Filter by type, status, name, channels or AI agent; page with next_cursor.list_contact_campaignsList contact campaignsGETAgents: ask firstLists the campaign subscriptions of a contact, newest first: campaign, lifecycle status and last sent, delivered, read and replied times. Filter by name (q), status or type.send_campaign_nowSend campaign nowPOSTAgents: ask firstSends a one-off campaign immediately to the listed subscribers (phone or email) through the sender integration: real messages to real people. Nothing is stored as a campaign.update_campaignUpdate campaignPUTAgents: ask firstChanges a campaign: send the fields to change (name, type, status draft, ready or canceled, schedule, AI agent and version, agentic NBA configuration).
Brain, 6 operations
create_brainCreate brainPOSTAgents: ask firstCreates an AI agent (brain); name, language and description are required. base_template=true starts from the built-in template for that language. Returns the agent with its brain_id.delete_brainDelete brainDELETEAgents: ask firstDeletes an AI agent and all its training data (intents, entities, dialogs, webhooks). Irreversible.get_brainGet brainGETAgents: ask firstReturns one AI agent's settings and stats: guidelines, knowledge search strategy, supported languages, MCP servers (their auth config withheld), intent, entity and dialog counts, status and last training time.list_brainsList brainsGETAgents: ask firstLists the account's AI agents (brains) with brain_id, name, language, type, guidelines, knowledge search strategy, counts and training status. Page with next_cursor.train_brainTrain brainPOSTAgents: ask firstQueues a full retrain of an AI agent (intents, dialogs, entities, webhooks, insights, MCP servers). Queueing again while one is pending changes nothing; refused with 422 when the agent has no intents or dialogs.update_brainUpdate brainPUTAgents: ask firstChanges the draft (version 0) of an AI agent; only the fields sent change, leave one out to keep it. search_strategy is replaced as a whole. Intents, dialogs and the like have their own tools.
Contact, 6 operations
create_contactCreate contactPOSTAgents: ask firstCreates a customer contact; name is required. phone is normalised to E.164 (unparseable: 400) and email lowercased; a phone or email that belongs to another contact answers 409.delete_contactDelete contactDELETEAgents: ask firstDeletes a contact and every debt it is the last party to. A debt with a compliance flag blocks it (409) unless force=true, which deletes those debts too. Irreversible.get_contactGet contactGETAgents: ask firstReturns one customer contact: name, email, phone, time zone, country and state, preferences, avatar, source and last seen, replied and contacted times. Personal data.get_contact_recapGet contact recapGETAgents: ask firstReturns what an agent may know about a returning contact: the contact, up to 20 active memories and the latest AI-summarised conversations with their insights. Personal data.list_contactsList contactsGETAgents: ask firstLists the account's customer contacts (name, email, phone, time zone, country, last seen and contacted). Search with q (3+ letters or digits over name, email, phone); page with next_cursor. Personal data.update_contactUpdate contactPUTAgents: ask firstChanges a customer contact; only the fields sent change. A new phone or email retires the old identity; one that belongs to another contact answers 409 and nothing changes.
Conversation, 6 operations
delete_conversationDelete conversationDELETEAgents: ask firstPermanently deletes a conversation and its messages. Irreversible.get_conversationGet conversationGETAgents: ask firstReturns one conversation of an environment: last message, message and unread counts, waiting time, assignee, closed time, state and context (customer data).get_conversation_countsGet conversation countsGETAgents: ask firstReturns how many conversations of an environment are in each inbox: inbox, all, unassigned, spam and trash.get_conversation_overviewGet conversation overviewGETAgents: ask firstReturns the queue overview of a conversation: queue position, average and maximum wait time, and agents with their status.list_conversationsList conversationsGETAgents: ask firstLists the stored conversations of an environment (last message, unread counts, waiting time, assignee, context, which holds customer data). Filter by status, assignee, AI agent, department or view; page with next_cursor.update_conversationUpdate conversationPUTAgents: ask firstChanges a conversation: assign it to a human agent, an AI agent or a department, move it to another environment, set its status (open, closed, trash, spam) or merge context into it.
Message, 6 operations
classify_messagesClassify messagesPOSTAgents: ask firstDetects the intents and entities of up to several user messages at once (input: a list of texts) with an AI agent, without replying. Returns, per message, the matched intents with confidence and the entities found.list_conversation_messagesList conversation messagesGETAgents: ask firstLists the messages of a conversation with author (type, id, name), body (text, template, attachments), read, delivered and failed times. Personal data of the customer.send_brain_test_messageSend brain test messagePOSTAgents: ask firstSends a test message straight to an AI agent, outside any environment, and returns its replies, intents and entities. session_id is a test session id (UUID) tying the turns together; channel is the platform (web).send_conversation_messageSend conversation messagePOSTAgents: ask firstSends a message into a conversation of an environment: body.text, a WhatsApp body.template or body.attachments (at least one). A real message on the conversation channel.send_message_to_sessionSend message to sessionPOSTAgents: ask firstSends a user message (input.text) into an active session and returns the AI agent's replies (output.responses), intents and entities. Billed by Moveo as usage. An empty answer means the session is flagged as spam and the message was dropped.send_outbound_messageSend outbound messagePOSTAgents: ask firstSends a real message to a person (external_id: phone or email) through a WhatsApp, SMS, RCS or email integration, from a template, opening a conversation. An open conversation with them answers 409 with its session_id.
Webhook, 6 operations
add_brain_webhookAdd brain webhookPOSTAgents: ask firstRegisters your endpoint as an AI agent webhook that Moveo calls in conversations (type defaults to action, a dialog webhook). token is a secret you choose; Moveo signs each body with it in X-Moveo-Signature.delete_brain_webhookDelete brain webhookDELETEAgents: ask firstRemoves a webhook from an AI agent. Irreversible.get_brain_webhookGet brain webhookGETAgents: ask firstReturns one AI agent webhook: name, url, type, enabled, interruption mode, fail_on_error and header names. The signing token and header values are withheld.list_brain_webhooksList brain webhooksGETAgents: ask firstLists an AI agent's webhooks (your endpoints Moveo calls during a conversation) with name, url, type, enabled and header names. The signing token and header values are withheld.list_desk_webhooksList desk webhooksGETAgents: ask firstLists an environment's webhooks for conversation events with url, event, active and header names. Read only: creating, changing or removing one is not exposed. The signing token and header values are withheld.update_brain_webhookUpdate brain webhookPUTAgents: ask firstChanges an AI agent webhook: send the fields to change. Header values are not readable through this API: when you send headers, include every header's value.
Datasource, 5 operations
add_datasourceAdd datasourcePOSTAgents: ask firstConnects a datasource to a knowledge base: name, type and config, the settings of that type (for gdrive a refresh_token and files). Moveo then indexes its documents. Returns datasource_id; config is not echoed.delete_datasourceDelete datasourceDELETEAgents: ask firstRemoves a datasource from a knowledge base and stops its document sync. Irreversible.get_datasourceGet datasourceGETAgents: ask firstReturns one datasource of a knowledge base: name, type, document, pending, indexing, failed and enabled counts, status and last indexing. Its settings (config) are withheld.list_datasourcesList datasourcesGETAgents: ask firstLists a knowledge base's datasources (website, files, Zendesk or Intercom help centre, S3, Dropbox, Google Drive, FAQ, Workvivo) with document counts and sync status. Their settings are withheld.sync_datasourceSync datasourcePUTAgents: ask firstStarts a re-sync of a datasource with its source (website, help centre, drive). force=true syncs even when the content looks up to date. Returns the datasource with its status.
Debt, 5 operations
delete_debtDelete debtDELETEAgents: ask firstPermanently deletes a debt with its party and campaign links. A debt with a compliance flag answers 409 unless force=true. Irreversible.get_debtGet debtGETAgents: ask firstReturns one debt: creditor, currency, balances, due date, status, compliance flags, payment plan or offer and metadata.list_contact_debtsList contact debtsGETAgents: ask firstLists every debt a contact is a party to (borrower, co-borrower, guarantor or authorized contact) with balances, creditor, due date, status and the contact's role. Not paginated.list_debtsList debtsGETAgents: ask firstLists the account's debts with their linked contacts, balances, creditor, due date and status, newest first. Filter by contact, status, promise-to-pay status, flag or party; page with next_cursor.update_debtUpdate debtPATCHAgents: ask firstSets the status of a debt (paid, settled, disputed...) or its compliance flags, nothing else; fields left out keep their value. To undo a wrong paid, send status active.
Dialog, 5 operations
add_dialogAdd dialogPOSTAgents: ask firstAdds a dialog to an AI agent: a name and its nodes, where only the first node is a root and every other node needs a parent_id. Read list_dialog_node_types for the valid node and action shapes.delete_dialogDelete dialogDELETEAgents: ask firstDeletes a dialog of an AI agent. Irreversible.generate_dialogGenerate dialogPOSTAgents: ask firstGenerates a dialog, with the intents and entities it uses, from a plain-language prompt describing the task, and returns them (dialog nodes, intents with expressions, entities with values).get_dialogGet dialogGETAgents: ask firstReturns one dialog of an AI agent: name, folder (collection) and its nodes with their triggers, actions, conditions and requisites.list_dialogsList dialogsGETAgents: ask firstLists an AI agent's dialogs (fixed conversation flows) with their nodes: triggers, actions, conditions and requisites. Filter by name; page with next_cursor.
Knowledge base, 5 operations
create_collectionCreate collectionPOSTAgents: ask firstCreates an empty knowledge base (collection) with a name and language; add content with add_datasource. Returns collection_id.delete_collectionDelete collectionDELETEAgents: ask firstDeletes a knowledge base (collection). Irreversible.get_collectionGet collectionGETAgents: ask firstReturns one knowledge base: name, language, fragment and AI agent counts, draft state, last use and its content summary per source kind.list_collectionsList collectionsGETAgents: ask firstLists the account's knowledge bases (collections) with name, language, fragment and AI agent counts, draft state and last use. Page with next_cursor.update_collectionUpdate collectionPUTAgents: ask firstRenames a knowledge base (collection).
Memory, 5 operations
create_contact_memoryCreate contact memoryPOSTAgents: ask firstStores a memory for a contact: category fact or preference and its content. replaces_memory_id marks an older memory as replaced by this one.delete_contact_memoryDelete contact memoryDELETEAgents: ask firstDeletes a memory of a contact. Irreversible.get_contact_memoryGet contact memoryGETAgents: ask firstReturns one memory of a contact: category, content, status, source session and the memory that replaced it.list_contact_memoriesList contact memoriesGETAgents: ask firstLists the active memories (facts and preferences) stored for a contact, newest first; replaced memories are left out. Page with next_cursor.update_contact_memoryUpdate contact memoryPUTAgents: ask firstRewrites the content of a contact memory.
Campaign subscriber, 4 operations
bulk_remove_campaign_subscribersBulk remove campaign subscribersPUTAgents: ask firstRemoves subscribers from a campaign by subscriber_id; returns how many were removed and which failed.bulk_upsert_campaign_subscribersBulk upsert campaign subscribersPUTAgents: ask firstAdds subscribers (phone or email, context, metadata) to a campaign or updates existing ones. On a campaign in progress, new subscribers are messaged at once. replace=true first removes every existing subscriber.list_campaign_subscribersList campaign subscribersGETAgents: ask firstLists a campaign's subscribers (phone, email, context) with status and last sent, delivered and read times. Filter by q, status, error code or channels. Personal data.stop_campaign_subscriberStop campaign subscriberPOSTAgents: ask firstStops a subscriber in an in-progress campaign: pending follow-ups are cancelled and the subscriber ends; for agentic campaigns the next-best-action job is cancelled too.
Entity, 4 operations
add_entityAdd entityPOSTAgents: ask firstAdds an entity to an AI agent: a name (entity) and its values, each with synonyms (type synonyms) or regex patterns (type patterns), so the agent can extract them from messages.delete_entityDelete entityDELETEAgents: ask firstDeletes an entity of an AI agent by name. Irreversible.get_entityGet entityGETAgents: ask firstReturns one entity of an AI agent by name: description, fuzzy matching, folder (collection) and its values with synonyms and patterns.list_entitiesList entitiesGETAgents: ask firstLists an AI agent's entities (named values it extracts from messages, such as cities or products) with their values, synonyms and patterns. Page with next_cursor.
Environment, 4 operations
create_deskCreate deskPOSTAgents: ask firstCreates an environment (desk) with a name; is_service_desk=true stores conversations so human agents can reply. Returns desk_id.delete_deskDelete deskDELETEAgents: ask firstPermanently deletes an environment (desk) and all its associated data. Irreversible.get_deskGet deskGETAgents: ask firstReturns one environment (desk): name, description, live-chat settings, session timeout, its integrations and rule counts.list_desksList desksGETAgents: ask firstLists the account's environments (desks): workspaces that hold integrations, rules and conversations, with desk_id, live-chat setting, integration and rule counts. Page with next_cursor.
Insight, 4 operations
add_insightAdd insightPOSTAgents: ask firstAdds an insight to an AI agent: a field an LLM extracts from each conversation. name, description (what to extract) and type are required; a categorical type needs 1 to 10 categories.delete_insightDelete insightDELETEAgents: ask firstDeletes an insight of an AI agent. Irreversible.get_insightGet insightGETAgents: ask firstReturns one insight of an AI agent: name, description, type and categories.list_insightsList insightsGETAgents: ask firstLists an AI agent's insights: structured fields an LLM extracts from every conversation (name, description, type, categories). Page with next_cursor.
Intent, 4 operations
add_intentAdd intentPOSTAgents: ask firstAdds an intent to an AI agent: a name (intent) and training expressions, the example phrases users say for it.delete_intentDelete intentDELETEAgents: ask firstDeletes an intent of an AI agent by name. Irreversible.generate_intentGenerate intentPOSTAgents: ask firstGenerates training expressions for an intent from a few example expressions; total is how many to generate. Returns the expressions and a suggested intent name.list_intentsList intentsGETAgents: ask firstLists an AI agent's intents (what a user wants, recognised from training expressions) with their full expressions, description and folder. Filter by name; page with next_cursor.
Report, 4 operations
create_reportCreate reportPOSTAgents: ask firstSaves an analytics report: a unique name and a list of metric definitions (each an analytics function name with its arguments); Moveo does not validate their shape.delete_reportDelete reportDELETEAgents: ask firstDeletes a saved analytics report. Irreversible.get_reportGet reportGETAgents: ask firstReturns one saved analytics report: name, its metric definitions, count and authors.list_reportsList reportsGETAgents: ask firstLists the account's saved analytics reports, each a named list of metric definitions. Filter by name; page with next_cursor.
Version, 4 operations
create_brain_versionCreate brain versionPOSTAgents: ask firstCreates a new numbered version of an AI agent, with an optional description of the changes. To also train it and point environment rules at it, use publish_brain_version.get_brain_versionGet brain versionGETAgents: ask firstReturns one saved version of an AI agent: description, intent, entity and dialog counts, status, created and updated times.list_brain_versionsList brain versionsGETAgents: ask firstLists the saved versions of an AI agent with their number, description, intent, entity and dialog counts and status. Version 0 is the draft being edited.publish_brain_versionPublish brain versionPOSTAgents: ask firstCreates a new version of an AI agent, waits for training and updates the environment rules that use the agent (or only replace_rule_ids) to it. replace_version deletes that old version; force also closes its sessions.
Session, 3 operations
create_sessionCreate sessionPOSTAgents: ask firstOpens a conversation session with the AI agent of an environment (desk_id) and returns session_id for send_message_to_session. source needs channel and session_timeout (seconds); context.user is required.delete_sessionDelete sessionDELETEAgents: ask firstDeletes a session of an environment and its data. Irreversible.list_brain_live_sessionsList brain live sessionsGETAgents: ask firstLists sessions currently assigned to an AI agent (session_id, channel, start and last activity), up to limit rows; with more live sessions than limit, order and completeness are not guaranteed. Archived sessions are not included.
Comment, 2 operations
get_conversation_commentGet conversation commentGETAgents: ask firstReturns one internal comment (note) of a conversation: author agent, text and times.list_conversation_commentsList conversation commentsGETAgents: ask firstLists the internal comments (notes) human agents left on a conversation; customers never see them. Page with next_cursor.
Department, 2 operations
get_departmentGet departmentGETAgents: ask firstReturns one department of an environment: name, icon, routing and business hours.list_departmentsList departmentsGETAgents: ask firstLists the departments of an environment (teams that conversations are routed to) with name, routing and business hours. Page with next_cursor.
Identity, 2 operations
delete_contact_identityDelete contact identityDELETEAgents: ask firstSoft-deletes an identity of a contact: it leaves the list but keeps its consent record (opt-outs stay enforced). The contact's main phone and email are unchanged.list_contact_identitiesList contact identitiesGETAgents: ask firstLists a contact's identities (phone, email, external_id, psid) with channel and verification, oldest first; deleted ones are left out.
Improvement, 2 operations
get_brain_improvementGet brain improvementGETAgents: ask firstReturns one improvement recommendation of an AI agent: title, summary, content, reasoning, impact, severity, status and reviewer feedback.list_brain_improvementsList brain improvementsGETAgents: ask firstLists the improvement recommendations Moveo's analysis produced for an AI agent (title, summary, severity, status, reasoning, impact). Filter by status and severity; page with next_cursor.
Campaign analytics, 1 operation
get_campaign_analyticsGet campaign analyticsGETAgents: ask firstReturns campaign performance: the funnel stages and KPI tiles (key, value, rate or format) and, for payment_recovery, the daily promise-to-pay series and currency. No per-channel breakdown.
Campaign sender, 1 operation
list_campaign_sendersList campaign sendersGETAgents: ask firstLists a campaign's senders (one per channel integration) with template, follow-up transitions, status and sent, delivered, read and replied counts.
Debt event, 1 operation
list_debt_eventsList debt eventsGETAgents: ask firstLists every status change of a debt, oldest first, with previous and new status, source, actor and the recorded payment method, reference and evidence.
Department member, 1 operation
list_department_membersList department membersGETAgents: ask firstLists the members (human agents and AI agents) of a department, by user_id.
Dialog schema, 1 operation
list_dialog_node_typesList dialog node typesGETAgents: ask firstReturns the machine-readable rules for dialog nodes, actions, requisites and conditions, to build a valid add_dialog or update_dialog body. The same document for every account, no customer data.
Event, 1 operation
list_conversation_eventsList conversation eventsGETAgents: ask firstLists the event history and activities of a conversation, each event with its type, target, source and time.
Integration, 1 operation
list_integrationsList integrationsGETAgents: ask firstLists an environment's channel integrations (web, WhatsApp, email, voice...) with integration_id, type, active and validity status, last session and last verification. Their settings are withheld.
Model strategy, 1 operation
get_brain_model_strategyGet brain model strategyGETAgents: ask firstReturns an AI agent's model strategy: the ordered chain of language models per channel (default, chat, voice, email), each step with its model id or alias and reasoning effort. An empty channel list inherits the default chain.
Transcript, 1 operation
get_session_transcriptGet session transcriptGETAgents: ask firstReturns a session's chat history in an environment: each turn's author, response and time. After the live history expires (2 hours after the session ends) it comes from the analytics archive, up to 189 days; source says which.
Showing the first 120 of 129 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use Moveo.AI from Claude Code, Cursor or Codex
Connect Moveo.AI in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Moveo.AI operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Moveo.AI
- Create your workspace
Sign up free. Nothing to install.
- Connect Moveo.AI once
Add your Moveo.AI connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Moveo.AI integration FAQ
What can you do with the Moveo.AI integration?
LiveContext exposes 129 operations on Moveo.AI, covering document, campaign, brain and contact.
