{"serverId":"mcp-registry/io.github.odichat/mcp-odichat","tools":[{"name":"account_update","fixed":{"name":"account_update","description":"Update attributes of the specified Odichat account","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id"],"properties":{"name":{"type":"string","description":"Account name"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Account"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"agent_bots_create","fixed":{"name":"agent_bots_create","description":"Create a new agent bot for the account","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name"],"properties":{"name":{"type":"string","description":"Name of the agent bot"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Description"},"outgoing_url":{"type":"string","description":"Webhook URL for the bot"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Agent Bot"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"agent_bots_update","fixed":{"name":"agent_bots_update","description":"Update an existing agent bot","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Agent bot ID"},"name":{"type":"string","description":"Name of the agent bot"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Description"},"outgoing_url":{"type":"string","description":"Webhook URL for the bot"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Agent Bot"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":143,"tokensAfter":143},{"name":"agents_create","fixed":{"name":"agents_create","description":"Add a new agent to the account","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name","email"],"properties":{"name":{"type":"string","description":"Agent name"},"role":{"enum":["agent","administrator"],"type":"string","description":"Agent role"},"email":{"type":"string","description":"Agent email"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Agent"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"agents_update","fixed":{"name":"agents_update","description":"Update an agent in the account","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Agent ID"},"name":{"type":"string","description":"Agent name"},"role":{"enum":["agent","administrator"],"type":"string","description":"Agent role"},"account_id":{"type":"number","description":"The account ID"},"availability":{"enum":["online","offline","busy"],"type":"string","description":"Availability status"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Agent"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154},{"name":"automation_rules_create","fixed":{"name":"automation_rules_create","description":"Create a new automation rule","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name","event_name"],"properties":{"name":{"type":"string","description":"Rule name"},"actions":{"description":"JSON actions for the rule","type":"string"},"account_id":{"type":"number","description":"The account ID"},"conditions":{"description":"JSON conditions for the rule","type":"string"},"event_name":{"type":"string","description":"Event that triggers the rule (e.g. conversation_created, message_created)"},"description":{"type":"string","description":"Rule description"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Automation Rule"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: actions, conditions. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":177,"tokensAfter":186},{"name":"automation_rules_update","fixed":{"name":"automation_rules_update","description":"Update an existing automation rule","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Automation rule ID"},"name":{"type":"string","description":"Rule name"},"actions":{"description":"JSON actions","type":"string"},"account_id":{"type":"number","description":"The account ID"},"conditions":{"description":"JSON conditions","type":"string"},"event_name":{"type":"string","description":"Event trigger"},"description":{"type":"string","description":"Rule description"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Automation Rule"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: actions, conditions. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":176},{"name":"canned_responses_create","fixed":{"name":"canned_responses_create","description":"Create a new canned response","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","short_code","content"],"properties":{"content":{"type":"string","description":"The response content"},"account_id":{"type":"number","description":"The account ID"},"short_code":{"type":"string","description":"Short code to trigger the response"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Canned Response"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":122,"tokensAfter":122},{"name":"canned_responses_update","fixed":{"name":"canned_responses_update","description":"Update an existing canned response","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Canned response ID"},"content":{"type":"string","description":"Response content"},"account_id":{"type":"number","description":"The account ID"},"short_code":{"type":"string","description":"Short code"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Canned Response"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"contact_labels_set","fixed":{"name":"contact_labels_set","description":"Replace all labels on a contact with the provided list of labels","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","contact_id","labels"],"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"Array of label names to set"},"account_id":{"type":"number","description":"The account ID"},"contact_id":{"type":"number","description":"Contact ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Set Contact Labels"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"contacts_create","fixed":{"name":"contacts_create","description":"Create a new contact with name, phone (E.164), email, and custom attributes","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id"],"properties":{"name":{"type":"string","description":"Contact name"},"email":{"type":"string","description":"Contact email"},"account_id":{"type":"number","description":"The account ID"},"identifier":{"type":"string","description":"External identifier"},"phone_number":{"type":"string","description":"Phone number in E.164 format (e.g. +5511999999999)"},"custom_attributes":{"type":"object","description":"Custom attributes as key-value pairs","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Contact"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":204,"tokensAfter":204},{"name":"contacts_create_contact_inbox","fixed":{"name":"contacts_create_contact_inbox","description":"Create a contact inbox association (link contact to inbox)","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id","inbox_id"],"properties":{"id":{"type":"number","description":"Contact ID"},"inbox_id":{"type":"number","description":"Inbox ID"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Contact Inbox"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":118,"tokensAfter":118},{"name":"contacts_merge","fixed":{"name":"contacts_merge","description":"Merge two contacts together. The base contact is kept y the mergee is merged into it.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","base_contact_id","mergee_contact_id"],"properties":{"account_id":{"type":"number","description":"The account ID"},"base_contact_id":{"type":"number","description":"The contact ID to keep (base)"},"mergee_contact_id":{"type":"number","description":"The contact ID to merge and remove"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Merge Contacts"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":146,"tokensAfter":146},{"name":"contacts_update","fixed":{"name":"contacts_update","description":"Update an existing contact","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Contact ID"},"name":{"type":"string","description":"Contact name"},"email":{"type":"string","description":"Contact email"},"account_id":{"type":"number","description":"The account ID"},"identifier":{"type":"string","description":"External identifier"},"phone_number":{"type":"string","description":"Phone in E.164 format"},"custom_attributes":{"type":"object","description":"Custom attributes","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Contact"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":192,"tokensAfter":192},{"name":"conversation_assignments_assign","fixed":{"name":"conversation_assignments_assign","description":"Assign a conversation to an agent and/or team","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id"],"properties":{"team_id":{"type":"number","description":"Team ID to assign (null to unassign)"},"account_id":{"type":"number","description":"The account ID"},"assignee_id":{"type":"number","description":"Agent ID to assign (null to unassign)"},"conversation_id":{"type":"number","description":"Conversation ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Assign Conversation"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":152,"tokensAfter":152},{"name":"conversations_create","fixed":{"name":"conversations_create","description":"Create a new conversation","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","inbox_id","contact_id"],"properties":{"status":{"enum":["open","resolved","pending"],"type":"string","description":"Initial status"},"message":{"type":"object","required":["content"],"properties":{"content":{"type":"string","description":"Initial message content"}},"description":"Initial message to send"},"team_id":{"type":"number","description":"Team to assign the conversation to"},"inbox_id":{"type":"number","description":"Inbox ID"},"source_id":{"type":"string","description":"Source ID of the contact"},"account_id":{"type":"number","description":"The account ID"},"contact_id":{"type":"number","description":"Contact ID"},"assignee_id":{"type":"number","description":"Agent to assign the conversation to"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Conversation"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":250,"tokensAfter":250},{"name":"conversations_set_custom_attributes","fixed":{"name":"conversations_set_custom_attributes","description":"Set custom attributes on a conversation","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","custom_attributes"],"properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"custom_attributes":{"type":"object","description":"Custom attributes as key-value pairs","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Set Conversation Custom Attributes"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":153,"tokensAfter":153},{"name":"conversations_set_labels","fixed":{"name":"conversations_set_labels","description":"Replace all labels on a conversation","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","labels"],"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"Array of label names to set"},"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Set Conversation Labels"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":131,"tokensAfter":131},{"name":"conversations_toggle_priority","fixed":{"name":"conversations_toggle_priority","description":"Set the priority of a conversation","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","priority"],"properties":{"priority":{"enum":["none","low","medium","high","urgent"],"type":"string","description":"Priority level"},"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Set Conversation Priority"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"conversations_toggle_status","fixed":{"name":"conversations_toggle_status","description":"Change conversation status (open, resolved, pending, snoozed)","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","status"],"properties":{"status":{"enum":["open","resolved","pending","snoozed"],"type":"string","description":"New status"},"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}}},"annotations":{"readOnlyHint":true},"title":"Toggle Conversation Status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"conversations_update","fixed":{"name":"conversations_update","description":"Update conversation attributes","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id"],"properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"custom_attributes":{"type":"object","description":"Custom attributes","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Conversation"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":136,"tokensAfter":136},{"name":"custom_attributes_create","fixed":{"name":"custom_attributes_create","description":"Create a custom attribute definition (text, number, date, list, checkbox, link)","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","attribute_display_name","attribute_display_type","attribute_model","attribute_key"],"properties":{"account_id":{"type":"number","description":"The account ID"},"attribute_key":{"type":"string","description":"Unique key for the attribute"},"attribute_model":{"enum":["conversation_attribute","contact_attribute"],"type":"string","description":"Whether this applies to conversations or contacts"},"attribute_values":{"type":"array","items":{"type":"string"},"description":"Possible values (for list type)"},"attribute_description":{"type":"string","description":"Description of the attribute"},"attribute_display_name":{"type":"string","description":"Display name of the attribute"},"attribute_display_type":{"enum":["text","number","currency","percent","link","date","list","checkbox"],"type":"string","description":"The data type of the attribute"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Custom Attribute"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":304,"tokensAfter":304},{"name":"custom_attributes_update","fixed":{"name":"custom_attributes_update","description":"Update a custom attribute definition","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Custom attribute definition ID"},"account_id":{"type":"number","description":"The account ID"},"attribute_description":{"type":"string","description":"Description"},"attribute_display_name":{"type":"string","description":"Display name"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Custom Attribute"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"custom_filters_create","fixed":{"name":"custom_filters_create","description":"Create a new custom filter for conversations","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name","filter_type","query"],"properties":{"name":{"type":"string","description":"Filter name"},"query":{"description":"Filter query definition (JSON)","type":"string"},"account_id":{"type":"number","description":"The account ID"},"filter_type":{"enum":["conversation","contact","report"],"type":"string","description":"Filter type"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Custom Filter"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: query. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":150},{"name":"custom_filters_update","fixed":{"name":"custom_filters_update","description":"Update an existing custom filter","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","custom_filter_id"],"properties":{"name":{"type":"string","description":"Filter name"},"query":{"description":"Filter query definition (JSON)","type":"string"},"account_id":{"type":"number","description":"The account ID"},"custom_filter_id":{"type":"number","description":"Custom filter ID"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Custom Filter"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: query. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":135},{"name":"help_center_articles_create","fixed":{"name":"help_center_articles_create","description":"Create an article in a help center portal","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","portal_id","title"],"properties":{"title":{"type":"string","description":"Article title"},"status":{"enum":["draft","published","archived"],"type":"string","description":"Article status"},"content":{"type":"string","description":"Article content (HTML)"},"author_id":{"type":"number","description":"Author agent ID"},"portal_id":{"type":"number","description":"Portal ID"},"account_id":{"type":"number","description":"The account ID"},"category_id":{"type":"number","description":"Category ID"},"description":{"type":"string","description":"Short description / excerpt"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Article"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":217,"tokensAfter":217},{"name":"help_center_categories_create","fixed":{"name":"help_center_categories_create","description":"Create a category in a help center portal","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","portal_id","name"],"properties":{"name":{"type":"string","description":"Category name"},"locale":{"type":"string","description":"Locale (e.g. en)"},"position":{"type":"number","description":"Sort position"},"portal_id":{"type":"number","description":"Portal ID"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Category description"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Category"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":168,"tokensAfter":168},{"name":"help_center_portals_create","fixed":{"name":"help_center_portals_create","description":"Create a new help center portal","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name","slug"],"properties":{"name":{"type":"string","description":"Portal name"},"slug":{"type":"string","description":"URL slug for the portal"},"color":{"type":"string","description":"Brand color"},"account_id":{"type":"number","description":"The account ID"},"page_title":{"type":"string","description":"Page title"},"header_text":{"type":"string","description":"Header text"},"homepage_link":{"type":"string","description":"Homepage link"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Portal"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":178,"tokensAfter":178},{"name":"help_center_portals_update","fixed":{"name":"help_center_portals_update","description":"Update a help center portal","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","portal_id"],"properties":{"name":{"type":"string","description":"Portal name"},"color":{"type":"string","description":"Brand color"},"portal_id":{"type":"number","description":"Portal ID"},"account_id":{"type":"number","description":"The account ID"},"page_title":{"type":"string","description":"Page title"},"header_text":{"type":"string","description":"Header text"},"homepage_link":{"type":"string","description":"Homepage link"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Portal"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":174,"tokensAfter":174},{"name":"inbox_members_create","fixed":{"name":"inbox_members_create","description":"Add agents to an inbox","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","inbox_id","user_ids"],"properties":{"inbox_id":{"type":"number","description":"Inbox ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to add"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Add Inbox Members"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"inbox_members_update","fixed":{"name":"inbox_members_update","description":"Replace all agents in an inbox (removes agents not in list)","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","inbox_id","user_ids"],"properties":{"inbox_id":{"type":"number","description":"Inbox ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs (replaces existing list)"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Inbox Members"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"inboxes_create","fixed":{"name":"inboxes_create","description":"Create a new inbox (channel). The channel object varies by type.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name","channel"],"properties":{"name":{"type":"string","description":"Inbox name"},"channel":{"type":"object","description":"Channel configuration object (varies by type: web_widget, api, email, etc.)","propertyNames":{"type":"string"},"additionalProperties":{}},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Inbox"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":151,"tokensAfter":151},{"name":"inboxes_set_agent_bot","fixed":{"name":"inboxes_set_agent_bot","description":"Set or unset the agent bot for an inbox","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id","agent_bot"],"properties":{"id":{"type":"number","description":"Inbox ID"},"agent_bot":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Agent bot ID (null to unset)"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Set Inbox Agent Bot"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124},{"name":"inboxes_update","fixed":{"name":"inboxes_update","description":"Update an inbox","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Inbox ID"},"name":{"type":"string","description":"Inbox name"},"channel":{"type":"object","description":"Channel configuration","propertyNames":{"type":"string"},"additionalProperties":{}},"account_id":{"type":"number","description":"The account ID"},"enable_auto_assignment":{"type":"boolean","description":"Enable auto-assignment"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Inbox"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":155,"tokensAfter":155},{"name":"integrations_create_hook","fixed":{"name":"integrations_create_hook","description":"Create an integration hook (webhook for integration)","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","app_id"],"properties":{"app_id":{"type":"string","description":"Integration app ID"},"settings":{"type":"object","description":"Integration settings","propertyNames":{"type":"string"},"additionalProperties":{}},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Integration Hook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":136,"tokensAfter":136},{"name":"integrations_update_hook","fixed":{"name":"integrations_update_hook","description":"Update an integration hook","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","hook_id"],"properties":{"hook_id":{"type":"number","description":"Hook ID"},"settings":{"type":"object","description":"Integration settings","propertyNames":{"type":"string"},"additionalProperties":{}},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Integration Hook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"kanban_boards_create","fixed":{"name":"kanban_boards_create","description":"[Odichat] Create a new kanban board","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name"],"properties":{"name":{"type":"string","description":"Board name"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Board description"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Kanban Board"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"kanban_boards_update","fixed":{"name":"kanban_boards_update","description":"[Odichat] Update a kanban board","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","board_id"],"properties":{"name":{"type":"string","description":"Board name"},"board_id":{"type":"number","description":"Kanban board ID"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Board description"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Kanban Board"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"kanban_boards_update_agents","fixed":{"name":"kanban_boards_update_agents","description":"[Odichat] Update the agents assigned to a kanban board","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","board_id","agent_ids"],"properties":{"board_id":{"type":"number","description":"Kanban board ID"},"agent_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to assign to the board"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update Board Agents"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"kanban_steps_create","fixed":{"name":"kanban_steps_create","description":"[Odichat] Create a new step (column) in a kanban board","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","board_id","name"],"properties":{"name":{"type":"string","description":"Step name"},"color":{"type":"string","description":"Step color (hex)"},"board_id":{"type":"number","description":"Kanban board ID"},"cancelled":{"type":"boolean","description":"Whether this step represents a cancelled state"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Step description"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Kanban Step"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":177,"tokensAfter":177},{"name":"kanban_steps_update","fixed":{"name":"kanban_steps_update","description":"[Odichat] Update a step in a kanban board","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","board_id","step_id"],"properties":{"name":{"type":"string","description":"Step name"},"color":{"type":"string","description":"Step color (hex)"},"step_id":{"type":"number","description":"Step ID"},"board_id":{"type":"number","description":"Kanban board ID"},"cancelled":{"type":"boolean","description":"Cancelled state"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Step description"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Kanban Step"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":180,"tokensAfter":180},{"name":"kanban_tasks_create","fixed":{"name":"kanban_tasks_create","description":"[Odichat] Create a new task in a kanban board","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","board_id","title","board_step_id"],"properties":{"title":{"type":"string","description":"Task title"},"board_id":{"type":"number","description":"Kanban board ID"},"due_date":{"type":"string","description":"Due date (ISO 8601)"},"priority":{"enum":["none","low","medium","high","urgent"],"type":"string","description":"Task priority"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Task description"},"board_step_id":{"type":"number","description":"Step ID to place task in"},"conversation_ids":{"type":"array","items":{"type":"number"},"description":"Array of linked conversation IDs"},"assigned_agent_ids":{"type":"array","items":{"type":"number"},"description":"Array of assigned agent IDs"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Kanban Task"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":267,"tokensAfter":267},{"name":"kanban_tasks_move","fixed":{"name":"kanban_tasks_move","description":"[Odichat] Move a kanban task to a different step and/or position","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","task_id","board_step_id"],"properties":{"task_id":{"type":"number","description":"Task ID"},"account_id":{"type":"number","description":"The account ID"},"board_step_id":{"type":"number","description":"Target step ID"},"insert_before_task_id":{"type":"number","description":"Task ID to insert before (for ordering)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Move Kanban Task"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":150,"tokensAfter":150},{"name":"kanban_tasks_update","fixed":{"name":"kanban_tasks_update","description":"[Odichat] Update a kanban task","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","task_id"],"properties":{"title":{"type":"string","description":"Task title"},"task_id":{"type":"number","description":"Task ID"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Due date (ISO 8601) or null to clear"},"priority":{"enum":["none","low","medium","high","urgent"],"type":"string","description":"Task priority"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Task description"},"board_step_id":{"type":"number","description":"Move to a different step"},"assigned_agent_ids":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"null"}],"description":"Array of assigned agent IDs (null to unassign)"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Kanban Task"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":248,"tokensAfter":248},{"name":"labels_create","fixed":{"name":"labels_create","description":"Create a label in the account so it can be applied to conversations and contacts","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","title"],"properties":{"color":{"type":"string","description":"Label color (hex)"},"title":{"type":"string","description":"Label name (lowercase, no spaces)"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Label description"},"show_on_sidebar":{"type":"boolean","description":"Show the label in the sidebar"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Label"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":167},{"name":"labels_update","fixed":{"name":"labels_update","description":"Update an existing label","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","id"],"properties":{"id":{"type":"number","description":"Label ID"},"color":{"type":"string","description":"Label color (hex)"},"title":{"type":"string","description":"Label name"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Label description"},"show_on_sidebar":{"type":"boolean","description":"Show the label in the sidebar"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Label"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":158,"tokensAfter":158},{"name":"messages_create","fixed":{"name":"messages_create","description":"Send a message in a conversation","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","content"],"properties":{"content":{"type":"string","description":"Message content"},"private":{"type":"boolean","description":"Whether this is a private/internal note"},"account_id":{"type":"number","description":"The account ID"},"content_type":{"enum":["text","input_select","cards","form"],"type":"string","description":"Content type"},"message_type":{"enum":["outgoing","incoming"],"type":"string","description":"Message type (default: outgoing)"},"conversation_id":{"type":"number","description":"The conversation ID"},"content_attributes":{"type":"object","description":"Content attributes for rich messages","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Send Message"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":245,"tokensAfter":245},{"name":"scheduled_messages_create","fixed":{"name":"scheduled_messages_create","description":"[Odichat] Schedule a message to be sent later in a conversation. Defaults to status 'pending' so the message is actually delivered — a 'draft' is stored but never sent.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","content","scheduled_at"],"properties":{"status":{"enum":["pending","draft"],"type":"string","default":"pending","description":"'pending' schedules the message for delivery (default); 'draft' stores it without ever sending it"},"content":{"type":"string","description":"Message content"},"account_id":{"type":"number","description":"The account ID"},"message_type":{"enum":["outgoing","incoming"],"type":"string","description":"Message type"},"scheduled_at":{"type":"string","description":"ISO 8601 datetime for when to send the message"},"hold_on_reply":{"type":"boolean","default":true,"description":"Cancel the scheduled message if the contact replies first (server default is false)"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"template_params":{"type":"object","description":"WhatsApp template payload: { name, language, category, processed_params }","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Scheduled Message"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":363,"tokensAfter":363},{"name":"scheduled_messages_create_call_reminders","fixed":{"name":"scheduled_messages_create_call_reminders","description":"[Odichat] Schedule the two WhatsApp call reminders for a booked call: \"call_reminder_1h\" one hour before, and \"call_ongoing_now\" at the call time. Give the call time as a naive local time plus an IANA timezone; the tool converts to UTC. The no-show follow-up is not scheduled — a human sends that one manually.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","call_time_local","iana_timezone"],"properties":{"account_id":{"type":"number","description":"The account ID"},"iana_timezone":{"type":"string","description":"IANA timezone identifier for the local time, e.g. America/Caracas. Translate the contact's country or city into an identifier before calling; this tool validates but does not guess."},"call_time_local":{"type":"string","description":"Local wall-clock time of the call as YYYY-MM-DDTHH:mm, with no offset and no trailing Z (e.g. 2026-09-09T10:00)"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Schedule Call Reminders"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":305,"tokensAfter":305},{"name":"scheduled_messages_create_from_template","fixed":{"name":"scheduled_messages_create_from_template","description":"[Odichat] Schedule an approved WhatsApp template message in a conversation. Looks the template up by its friendly_name on the conversation's own inbox, fills in the contact's name automatically, and schedules it for delivery. Only Twilio-backed WhatsApp inboxes are supported. Use message_templates_list to see the available names.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","template_name","scheduled_at"],"properties":{"account_id":{"type":"number","description":"The account ID"},"extra_params":{"type":"object","description":"Literal values for placeholders {{2}} and up, keyed by placeholder number. Never include \"1\" — that is the contact's name and is filled in automatically.","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"scheduled_at":{"type":"string","description":"Absolute ISO 8601 UTC datetime, must be in the future (e.g. 2026-09-09T15:30:00Z)"},"hold_on_reply":{"type":"boolean","default":true,"description":"Cancel the scheduled message if the contact replies first"},"template_name":{"type":"string","description":"The template's friendly_name; must be approved"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Schedule a Template Message"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":375,"tokensAfter":375},{"name":"scheduled_messages_update","fixed":{"name":"scheduled_messages_update","description":"[Odichat] Update a scheduled message","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","conversation_id","scheduled_message_id"],"properties":{"status":{"enum":["pending","draft"],"type":"string","description":"'pending' to schedule for delivery, 'draft' to hold"},"content":{"type":"string","description":"Message content"},"account_id":{"type":"number","description":"The account ID"},"scheduled_at":{"type":"string","description":"ISO 8601 datetime"},"hold_on_reply":{"type":"boolean","description":"Cancel the scheduled message if the contact replies first"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"scheduled_message_id":{"type":"number","description":"Scheduled message ID"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Scheduled Message"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"team_members_add","fixed":{"name":"team_members_add","description":"Add agents to a team","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","team_id","user_ids"],"properties":{"team_id":{"type":"number","description":"Team ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to add"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Add Team Members"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"team_members_update","fixed":{"name":"team_members_update","description":"Replace all agents in a team (removes agents not in list)","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","team_id","user_ids"],"properties":{"team_id":{"type":"number","description":"Team ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs"},"account_id":{"type":"number","description":"The account ID"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Team Members"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"teams_create","fixed":{"name":"teams_create","description":"Create a new team","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","name"],"properties":{"name":{"type":"string","description":"Team name"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Team description"},"allow_auto_assign":{"type":"boolean","description":"Allow auto-assignment to this team"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Team"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"teams_update","fixed":{"name":"teams_update","description":"Update a team","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","team_id"],"properties":{"name":{"type":"string","description":"Team name"},"team_id":{"type":"number","description":"Team ID"},"account_id":{"type":"number","description":"The account ID"},"description":{"type":"string","description":"Team description"},"allow_auto_assign":{"type":"boolean","description":"Allow auto-assignment"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Team"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"webhooks_create","fixed":{"name":"webhooks_create","description":"Create a new webhook that receives event notifications at the given URL","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","url"],"properties":{"url":{"type":"string","description":"Webhook endpoint URL"},"account_id":{"type":"number","description":"The account ID"},"subscriptions":{"type":"array","items":{"type":"string"},"description":"Event types to subscribe to (e.g. conversation_created, message_created)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create Webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144},{"name":"webhooks_update","fixed":{"name":"webhooks_update","description":"Update a webhook URL or subscriptions","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["account_id","webhook_id"],"properties":{"url":{"type":"string","description":"Webhook endpoint URL"},"account_id":{"type":"number","description":"The account ID"},"webhook_id":{"type":"number","description":"Webhook ID"},"subscriptions":{"type":"array","items":{"type":"string"},"description":"Event types to subscribe to"}}},"annotations":{"idempotentHint":true,"readOnlyHint":false,"destructiveHint":false},"title":"Update Webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140}],"toolsChanged":57,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}