Agents

ToolREST endpointAnnotations
list_agentsGET /v1/agentsread-only, idempotent
get_agentGET /v1/agents/{agentId}read-only, idempotent
create_agentPOST /v1/agentswrite
update_agentPATCH /v1/agents/{agentId}write, partial
delete_agentDELETE /v1/agents/{agentId}destructive
get_agent_promptGET /v1/agents/{agentId}/promptread-only, idempotent
write_agent_promptPOST /v1/agents/{agentId}/promptwrite (versioned)
edit_agent_promptPATCH /v1/agents/{agentId}/promptwrite (versioned)
list_agent_prompt_versionsGET /v1/agents/{agentId}/prompt/versionsread-only, idempotent
list_agent_subagentsGET /v1/agents/{agentId}/subagentsread-only, idempotent
list_available_subagentsGET /v1/agents/{agentId}/subagents/availableread-only, idempotent
connect_agent_subagentPOST /v1/agents/{agentId}/subagentswrite
update_agent_subagent_connectionPATCH /v1/agents/{agentId}/subagents/{subagentId}write
disconnect_agent_subagentDELETE /v1/agents/{agentId}/subagents/{subagentId}destructive
create_agent_subagentPOST /v1/agents/{agentId}/subagents/createwrite
get_agent_guardrailsGET /v1/agents/{agentId}/guardrailsread-only, idempotent
update_agent_guardrailsPATCH /v1/agents/{agentId}/guardrailswrite, partial
get_agent_assist_rulesGET /v1/agents/{agentId}/assist-rulesread-only, idempotent
update_agent_assist_rulesPATCH /v1/agents/{agentId}/assist-ruleswrite, partial
get_agent_scheduleGET /v1/agents/{agentId}/scheduleread-only, idempotent
update_agent_schedulePATCH /v1/agents/{agentId}/schedulewrite, partial (per-day merge)
list_agent_knowledgeGET /v1/agents/{agentId}/knowledgeread-only, idempotent
create_agent_knowledge_from_urlPOST /v1/agents/{agentId}/knowledgewrite
ingest_agent_knowledge_from_webPOST /v1/agents/{agentId}/knowledge/webwrite
update_agent_knowledgePATCH /v1/agents/{agentId}/knowledge/{knowledgeId}write
delete_agent_knowledgeDELETE /v1/agents/{agentId}/knowledge/{knowledgeId}destructive

Basic CRUD

list_agents

No arguments. Returns every accessible agent grouped by workspace.

get_agent

FieldTypeRequired
agentIdstringyes

create_agent

FieldTypeRequiredDescription
namestringyesVisible name (≤ 100 chars).
channel"whatsapp" \| "telegram" \| "instagram" \| "facebook" \| "sms"yesPrimary channel.
systemPromptstringyesIf non-empty, the version history is initialized.
status"active" \| "inactive"yes
workspacestringif multi-ws
channelIdstring \| string[]no
phoneNumberstring \| string[]no
imageUrlstringno
supportInformationobjectnosupportPhone, outOfServiceBehavior, supportEmail, supportAddress, serviceHours.{monday..sunday}.
assistanceTriggersstring (≤ 650)noWhen to request human assistance.
assistanceEnabledbooleanno
recallLastConversationbooleannoMemory across conversations.
waitMessagestring (≤ 500)no
enableFileAttachmentsbooleannoRead file attachments.
disableContextSummarizationbooleannoKeep the full conversation history.
workingMessageobjectnoConfiguration for the waiting message with sub-objects trigger (type: "toolCallCount" \| "toolName" \| "any", minToolCalls, toolNames, match), message (mode: "fixed" \| "ai", fixedText, aiPrompt), and sticker (enabled, url). Detailed shape on the REST create-agent page.
ownersstring[] (emails)no

update_agent

Same fields as create_agent but all optional, plus agentId. The systemPrompt is versioned automatically — equivalent to calling write_agent_prompt.

delete_agent

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

Prompt (automatic versioning)

Every write creates a new version in the agent's history and atomically updates activePromptId and systemPrompt.

get_agent_prompt

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

Returns { systemPrompt, activePromptId, lastUpdate }.

write_agent_prompt

FieldTypeRequiredDescription
agentIdstringyes
contentstring (≥ 1)yesFull content of the system prompt.
detailsstring (≤ 1000)noDescriptive note about the change that's saved with the version.
workspacestringif multi-ws

edit_agent_prompt

FieldTypeRequiredDescription
agentIdstringyes
oldTextstring (≥ 1)yesText to replace (must be unique, unless useRegex: true).
newTextstringyesReplacement text (can be empty to delete).
useRegexbooleannoInterprets oldText as a regex. Default false.
workspacestringif multi-ws

By default it attempts an exact match and, if it doesn't find one, a more flexible one with normalized whitespace. Returns editType: "exact" | "fuzzy" | "regex" to indicate how it resolved.

list_agent_prompt_versions

FieldTypeDefault
agentIdstring
workspacestringif multi-ws
limit1-20050

Sub-agents

Sub-agents are regular workspace agents connected to the parent. Connecting and disconnecting does not affect the referenced agent — it only changes the relationship with the parent.

list_agent_subagents

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

list_available_subagents

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

Returns every agent in the workspace (except the parent and deleted ones) with an isAlreadyConnected flag.

connect_agent_subagent

FieldTypeRequiredDescription
agentIdstringyesParent agent.
subagentIdstringyesAgent to connect.
task"assist" \| "delegate"noDefault "assist".
status"active" \| "inactive"noDefault "inactive".
descriptionstringnoWhen to invoke (only with task: "assist").
delegationCriteriastringnoWhen to delegate (only with task: "delegate").
completionCriteriastringnoWhen to hand control back (only with task: "delegate").
workspacestringif multi-ws

Returns 409 if the sub-agent is already connected to the parent.

update_agent_subagent_connection

FieldTypeRequired
agentIdstringyes
subagentIdstringyes
name, task, status, description, delegationCriteria, completionCriteriavariousat least one
workspacestringif multi-ws

Changing task automatically clears the fields belonging to the previous mode.

disconnect_agent_subagent

FieldTypeRequired
agentIdstringyes
subagentIdstringyes
workspacestringif multi-ws

Removes the connection. It does not delete the referenced sub-agent.

create_agent_subagent

Creates a brand-new agent and connects it as a sub-agent in a single call. If you pass systemPrompt, the sub-agent's prompt version history is initialized automatically.

FieldTypeRequired
agentIdstringyes
namestring (1-100)yes
systemPromptstringno
imageUrlstringno
task, status, description, delegationCriteria, completionCriteriasame as connect_agent_subagentno
workspacestringif multi-ws

Guardrails

get_agent_guardrails

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

update_agent_guardrails

FieldTypeValidation
agentIdstringrequired
enabledboolean
rulesstring[]maximum 20
messagestring≤ 500 chars
conversationStrikeThresholdinteger1-10
clientStrikeThresholdinteger1-10
workspacestringif multi-ws

All configuration fields are optional — only the ones present are updated.


Assist rules

get_agent_assist_rules

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

update_agent_assist_rules

FieldTypeValidation
agentIdstringrequired
assistanceTriggersstring≤ 650 chars
assistanceEnabledboolean
waitMessagestring≤ 500 chars
workspacestringif multi-ws

Schedule

get_agent_schedule

FieldTypeRequired
agentIdstringyes
workspacestringif multi-ws

update_agent_schedule

Supports per-day merge — days not included in serviceHours are preserved.

FieldTypeDescription
agentIdstringrequired
outOfServiceBehavior"limited" \| "full" \| "none"Behavior outside working hours.
serviceHoursobjectPartial map of days (monday..sunday) to { availability, start, end }.
workspacestringif multi-ws
{
  "name": "update_agent_schedule",
  "arguments": {
    "agentId": "QZPHpckDPC58JIVLQA3Z",
    "serviceHours": {
      "saturday": { "availability": "Abierto", "start": "10:00am", "end": "2:00pm" }
    }
  }
}

Knowledge base

list_agent_knowledge

FieldTypeDescription
agentIdstringrequired
statusstringCSV filter, e.g. "active,draft".
limit1-500Maximum number of entries.
workspacestringif multi-ws

create_agent_knowledge_from_url

Creates entries from files already hosted publicly (fileUrl) or from raw text directly (content, no file). Each file must include either fileUrl or content. Platica downloads/extracts the content and automatically generates a title and description when applicable.

FieldTypeRequired
agentIdstringyes
filesarrayyes, at least one
files[].fileUrlstring (URL)if there's no content
files[].contentstringif there's no fileUrl
files[].fileNamestringyes
files[].fileTypestringyes
files[].topicstring (≤ 30)no
files[].descriptionstring (≤ 900)no
setActivebooleanno
workspacestringif multi-ws

From URL:

{
  "name": "create_agent_knowledge_from_url",
  "arguments": {
    "agentId": "QZPHpckDPC58JIVLQA3Z",
    "files": [
      {
        "fileUrl": "https://storage.googleapis.com/.../manual.pdf",
        "fileName": "manual.pdf",
        "fileType": "pdf"
      }
    ],
    "setActive": true
  }
}

From raw text:

{
  "name": "create_agent_knowledge_from_url",
  "arguments": {
    "agentId": "QZPHpckDPC58JIVLQA3Z",
    "files": [
      {
        "fileName": "politica-devoluciones.txt",
        "fileType": "txt",
        "content": "Aceptamos devoluciones dentro de los 30 días posteriores a la compra...",
        "topic": "Devoluciones"
      }
    ],
    "setActive": true
  }
}

ingest_agent_knowledge_from_web

Ingests web URLs. Platica extracts the content and automatically generates a title and description.

FieldTypeRequired
agentIdstringyes
urlsstring[] (URLs)yes, at least one
workspacestringif multi-ws

update_agent_knowledge

Updates an existing entry: appends text to the content, replaces it entirely, changes status/metadata, or reprocesses the original source. Returns 404 if the entry doesn't exist (it doesn't create it).

FieldTypeDescription
agentIdstringrequired
knowledgeIdstringrequired
status"active" \| "draft" \| "inactive" \| "training" \| "failed"Change the status.
appendContentstringAppends text at the end of the current content (does not overwrite what exists). Don't combine with content.
appendSeparatorstringSeparator between the existing content and the appended text. Default: double line break.
contentstringDirectly replaces the entire content of the entry.
topicstring (≤ 30)Short title.
descriptionstring (≤ 900)Description.
reprocessbooleanReprocess the original source.
skipParsingbooleanSkip automatic parsing when reprocessing.
workspacestringif multi-ws

delete_agent_knowledge

Deletes an entry from the agent's knowledge base. The agent can no longer query it.

FieldTypeRequired
agentIdstringyes
knowledgeIdstringyes
workspacestringif multi-ws

REST endpoints without an MCP tool

Some REST API endpoints are not exposed as MCP tools for simplicity or because they require a manual flow:

  • POST /v1/agents/{agentId}/knowledge/upload — multipart file upload (≤ 20 MB per request). Use the REST API directly; the result (fileUrl) can be passed to create_agent_knowledge_from_url.
  • POST /v1/agents/{agentId}/knowledge/{knowledgeId}/reparse — reprocess the original source of an entry.
  • GET /v1/agents/{agentId}/knowledge/{knowledgeId} — fetch a single entry (can be simulated by filtering the result of list_agent_knowledge).
  • GET /v1/agents/{agentId}/prompt/versions/{versionId} — fetch the contents of a specific prompt version.