{"name":"io.github.odichat/mcp-odichat","slug":"odichat-mcp-odichat","title":"Odichat","description":"Manage your Odichat WhatsApp/IG/FB inbox from Claude: conversations, contacts, pipeline, reports.","url":"https://mcp.market/server/odichat-mcp-odichat","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"email","tags":["email"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-26T18:47:48.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/odichat/mcp-odichat","website":"https://odichat.app/blog/odichat-mcp-claude","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.odichat.app/mcp?token={token}","variables":{"token":{"description":"Your personal Odichat access token (Profile → Access Token in your Odichat account).","isRequired":true,"isSecret":true}}}],"packages":[],"tools":[{"name":"account_get","description":"Retrieve information about the specified Odichat account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"account_update","description":"Update attributes of the specified Odichat account","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"description":"Account name","type":"string"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agent_bots_create","description":"Create a new agent bot for the account","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Name of the agent bot"},"description":{"description":"Description","type":"string"},"outgoing_url":{"description":"Webhook URL for the bot","type":"string"}},"required":["account_id","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agent_bots_delete","description":"Delete an agent bot from the account","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Agent bot ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agent_bots_get","description":"Get details of a specific agent bot","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Agent bot ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agent_bots_list","description":"List all agent bots for the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agent_bots_update","description":"Update an existing agent bot","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Agent bot ID"},"name":{"description":"Name of the agent bot","type":"string"},"description":{"description":"Description","type":"string"},"outgoing_url":{"description":"Webhook URL for the bot","type":"string"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agents_create","description":"Add a new agent to the account","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Agent name"},"email":{"type":"string","description":"Agent email"},"role":{"description":"Agent role","type":"string","enum":["agent","administrator"]}},"required":["account_id","name","email"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agents_delete","description":"Remove an agent from the account","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Agent ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agents_list","description":"List all agents in the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"agents_update","description":"Update an agent in the account","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Agent ID"},"name":{"description":"Agent name","type":"string"},"role":{"description":"Agent role","type":"string","enum":["agent","administrator"]},"availability":{"description":"Availability status","type":"string","enum":["online","offline","busy"]}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"audit_logs_list","description":"List audit log events for the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"page":{"description":"Page number","type":"number"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"automation_rules_create","description":"Create a new automation rule","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Rule name"},"description":{"description":"Rule description","type":"string"},"event_name":{"type":"string","description":"Event that triggers the rule (e.g. conversation_created, message_created)"},"conditions":{"description":"JSON conditions for the rule"},"actions":{"description":"JSON actions for the rule"}},"required":["account_id","name","event_name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"automation_rules_delete","description":"Delete an automation rule","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Automation rule ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"automation_rules_get","description":"Get a specific automation rule","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Automation rule ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"automation_rules_list","description":"List all automation rules for the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"page":{"description":"Page number","type":"number"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"automation_rules_update","description":"Update an existing automation rule","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Automation rule ID"},"name":{"description":"Rule name","type":"string"},"description":{"description":"Rule description","type":"string"},"event_name":{"description":"Event trigger","type":"string"},"conditions":{"description":"JSON conditions"},"actions":{"description":"JSON actions"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"canned_responses_create","description":"Create a new canned response","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"short_code":{"type":"string","description":"Short code to trigger the response"},"content":{"type":"string","description":"The response content"}},"required":["account_id","short_code","content"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"canned_responses_delete","description":"Delete a canned response","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Canned response ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"canned_responses_list","description":"List all pre-defined canned responses for the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"canned_responses_update","description":"Update an existing canned response","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Canned response ID"},"short_code":{"description":"Short code","type":"string"},"content":{"description":"Response content","type":"string"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contact_labels_list","description":"List all labels assigned to a contact","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"contact_id":{"type":"number","description":"Contact ID"}},"required":["account_id","contact_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contact_labels_set","description":"Replace all labels on a contact with the provided list of labels","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"contact_id":{"type":"number","description":"Contact ID"},"labels":{"type":"array","items":{"type":"string"},"description":"Array of label names to set"}},"required":["account_id","contact_id","labels"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_contactable_inboxes","description":"Get list of inboxes that can be used to reach a specific contact","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Contact ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_conversations","description":"List all conversations for a specific contact","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Contact ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_create","description":"Create a new contact with name, phone (E.164), email, and custom attributes","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"description":"Contact name","type":"string"},"email":{"description":"Contact email","type":"string"},"phone_number":{"description":"Phone number in E.164 format (e.g. +5511999999999)","type":"string"},"identifier":{"description":"External identifier","type":"string"},"custom_attributes":{"description":"Custom attributes as key-value pairs","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_create_contact_inbox","description":"Create a contact inbox association (link contact to inbox)","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Contact ID"},"inbox_id":{"type":"number","description":"Inbox ID"}},"required":["account_id","id","inbox_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_delete","description":"Delete a contact","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Contact ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_filter","description":"Filter contacts using advanced filter conditions (POST with payload)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"payload":{"type":"array","items":{},"description":"Array of filter objects with attribute_key, filter_operator, values, query_operator"}},"required":["account_id","payload"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_get","description":"Get a specific contact by ID","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Contact ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_list","description":"List contacts in the account with pagination","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"page":{"description":"Page number (default 1)","type":"number"},"sort":{"description":"Sort field","type":"string","enum":["name","email","phone_number","last_activity_at","created_at"]},"order_by":{"description":"Sort direction","type":"string","enum":["asc","desc"]}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_merge","description":"Merge two contacts together. The base contact is kept y the mergee is merged into it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","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"}},"required":["account_id","base_contact_id","mergee_contact_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_search","description":"Search contacts by query string (searches name, email, phone, identifier)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"q":{"type":"string","description":"Search query"},"page":{"description":"Page number","type":"number"}},"required":["account_id","q"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contacts_update","description":"Update an existing contact","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Contact ID"},"name":{"description":"Contact name","type":"string"},"email":{"description":"Contact email","type":"string"},"phone_number":{"description":"Phone in E.164 format","type":"string"},"identifier":{"description":"External identifier","type":"string"},"custom_attributes":{"description":"Custom attributes","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversation_assignments_assign","description":"Assign a conversation to an agent and/or team","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID"},"assignee_id":{"description":"Agent ID to assign (null to unassign)","type":"number"},"team_id":{"description":"Team ID to assign (null to unassign)","type":"number"}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_create","description":"Create a new conversation","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"source_id":{"description":"Source ID of the contact","type":"string"},"inbox_id":{"type":"number","description":"Inbox ID"},"contact_id":{"type":"number","description":"Contact ID"},"status":{"description":"Initial status","type":"string","enum":["open","resolved","pending"]},"assignee_id":{"description":"Agent to assign the conversation to","type":"number"},"team_id":{"description":"Team to assign the conversation to","type":"number"},"message":{"description":"Initial message to send","type":"object","properties":{"content":{"type":"string","description":"Initial message content"}},"required":["content"]}},"required":["account_id","inbox_id","contact_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_filter","description":"Filter conversations with advanced filter conditions","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"payload":{"type":"array","items":{},"description":"Array of filter objects with attribute_key, filter_operator, values, query_operator"},"page":{"description":"Page number","type":"number"}},"required":["account_id","payload"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_get","description":"Get a specific conversation by ID","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_get_labels","description":"Get labels assigned to a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_list","description":"List conversations with optional filters","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"assignee_type":{"description":"Filter by assignee type","type":"string","enum":["me","unassigned","all","assigned"]},"status":{"description":"Filter by status","type":"string","enum":["open","resolved","pending","snoozed","all"]},"inbox_id":{"description":"Filter by inbox ID","type":"number"},"team_id":{"description":"Filter by team ID","type":"number"},"labels":{"description":"Filter by label names","type":"array","items":{"type":"string"}},"page":{"description":"Page number","type":"number"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_meta","description":"Get conversation metadata (counts by status: open, unassigned, assigned, etc.)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_reporting_events","description":"Get reporting events for a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_set_custom_attributes","description":"Set custom attributes on a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"custom_attributes":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Custom attributes as key-value pairs"}},"required":["account_id","conversation_id","custom_attributes"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_set_labels","description":"Replace all labels on a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"labels":{"type":"array","items":{"type":"string"},"description":"Array of label names to set"}},"required":["account_id","conversation_id","labels"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_toggle_priority","description":"Set the priority of a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"priority":{"type":"string","enum":["none","low","medium","high","urgent"],"description":"Priority level"}},"required":["account_id","conversation_id","priority"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_toggle_status","description":"Change conversation status (open, resolved, pending, snoozed)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"status":{"type":"string","enum":["open","resolved","pending","snoozed"],"description":"New status"}},"required":["account_id","conversation_id","status"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"conversations_update","description":"Update conversation attributes","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"custom_attributes":{"description":"Custom attributes","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_attributes_create","description":"Create a custom attribute definition (text, number, date, list, checkbox, link)","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"attribute_display_name":{"type":"string","description":"Display name of the attribute"},"attribute_display_type":{"type":"string","enum":["text","number","currency","percent","link","date","list","checkbox"],"description":"The data type of the attribute"},"attribute_description":{"description":"Description of the attribute","type":"string"},"attribute_model":{"type":"string","enum":["conversation_attribute","contact_attribute"],"description":"Whether this applies to conversations or contacts"},"attribute_key":{"type":"string","description":"Unique key for the attribute"},"attribute_values":{"description":"Possible values (for list type)","type":"array","items":{"type":"string"}}},"required":["account_id","attribute_display_name","attribute_display_type","attribute_model","attribute_key"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_attributes_delete","description":"Delete a custom attribute definition","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Custom attribute definition ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_attributes_get","description":"Get a specific custom attribute definition","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Custom attribute definition ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_attributes_list","description":"List all custom attribute definitions for the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"attribute_model":{"description":"Filter by model type","type":"string","enum":["conversation_attribute","contact_attribute"]}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_attributes_update","description":"Update a custom attribute definition","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Custom attribute definition ID"},"attribute_display_name":{"description":"Display name","type":"string"},"attribute_description":{"description":"Description","type":"string"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_filters_create","description":"Create a new custom filter for conversations","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Filter name"},"filter_type":{"type":"string","enum":["conversation","contact","report"],"description":"Filter type"},"query":{"description":"Filter query definition (JSON)"}},"required":["account_id","name","filter_type","query"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_filters_delete","description":"Delete a custom filter","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"custom_filter_id":{"type":"number","description":"Custom filter ID"}},"required":["account_id","custom_filter_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_filters_get","description":"Get a specific custom filter","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"custom_filter_id":{"type":"number","description":"Custom filter ID"}},"required":["account_id","custom_filter_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_filters_list","description":"List all saved custom filters for conversations","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"filter_type":{"description":"Filter type","type":"string","enum":["conversation","contact","report"]}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"custom_filters_update","description":"Update an existing custom filter","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"custom_filter_id":{"type":"number","description":"Custom filter ID"},"name":{"description":"Filter name","type":"string"},"query":{"description":"Filter query definition (JSON)"}},"required":["account_id","custom_filter_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"help_center_articles_create","description":"Create an article in a help center portal","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"portal_id":{"type":"number","description":"Portal ID"},"title":{"type":"string","description":"Article title"},"content":{"description":"Article content (HTML)","type":"string"},"description":{"description":"Short description / excerpt","type":"string"},"status":{"description":"Article status","type":"string","enum":["draft","published","archived"]},"category_id":{"description":"Category ID","type":"number"},"author_id":{"description":"Author agent ID","type":"number"}},"required":["account_id","portal_id","title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"help_center_categories_create","description":"Create a category in a help center portal","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"portal_id":{"type":"number","description":"Portal ID"},"name":{"type":"string","description":"Category name"},"description":{"description":"Category description","type":"string"},"locale":{"description":"Locale (e.g. en)","type":"string"},"position":{"description":"Sort position","type":"number"}},"required":["account_id","portal_id","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"help_center_portals_create","description":"Create a new help center portal","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Portal name"},"slug":{"type":"string","description":"URL slug for the portal"},"color":{"description":"Brand color","type":"string"},"homepage_link":{"description":"Homepage link","type":"string"},"page_title":{"description":"Page title","type":"string"},"header_text":{"description":"Header text","type":"string"}},"required":["account_id","name","slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"help_center_portals_list","description":"List all help center portals","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"help_center_portals_update","description":"Update a help center portal","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"portal_id":{"type":"number","description":"Portal ID"},"name":{"description":"Portal name","type":"string"},"color":{"description":"Brand color","type":"string"},"homepage_link":{"description":"Homepage link","type":"string"},"page_title":{"description":"Page title","type":"string"},"header_text":{"description":"Header text","type":"string"}},"required":["account_id","portal_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inbox_members_create","description":"Add agents to an inbox","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"inbox_id":{"type":"number","description":"Inbox ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to add"}},"required":["account_id","inbox_id","user_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inbox_members_delete","description":"Remove agents from an inbox","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"inbox_id":{"type":"number","description":"Inbox ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to remove"}},"required":["account_id","inbox_id","user_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inbox_members_list","description":"List agents assigned to an inbox","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"inbox_id":{"type":"number","description":"Inbox ID"}},"required":["account_id","inbox_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inbox_members_update","description":"Replace all agents in an inbox (removes agents not in list)","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"inbox_id":{"type":"number","description":"Inbox ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs (replaces existing list)"}},"required":["account_id","inbox_id","user_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inboxes_create","description":"Create a new inbox (channel). The channel object varies by type.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Inbox name"},"channel":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Channel configuration object (varies by type: web_widget, api, email, etc.)"}},"required":["account_id","name","channel"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inboxes_get","description":"Get information about a specific inbox","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Inbox ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inboxes_get_agent_bot","description":"Get the agent bot associated with an inbox","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Inbox ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inboxes_list","description":"List all communication channel inboxes in the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inboxes_set_agent_bot","description":"Set or unset the agent bot for an inbox","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Inbox ID"},"agent_bot":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Agent bot ID (null to unset)"}},"required":["account_id","id","agent_bot"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"inboxes_update","description":"Update an inbox","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Inbox ID"},"name":{"description":"Inbox name","type":"string"},"enable_auto_assignment":{"description":"Enable auto-assignment","type":"boolean"},"channel":{"description":"Channel configuration","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"integrations_create_hook","description":"Create an integration hook (webhook for integration)","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"app_id":{"type":"string","description":"Integration app ID"},"settings":{"description":"Integration settings","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id","app_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"integrations_delete_hook","description":"Delete an integration hook","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"hook_id":{"type":"number","description":"Hook ID"}},"required":["account_id","hook_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"integrations_list_apps","description":"List all available third-party integration apps","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"integrations_update_hook","description":"Update an integration hook","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"hook_id":{"type":"number","description":"Hook ID"},"settings":{"description":"Integration settings","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id","hook_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_audit_events_get","description":"[Odichat] Get a specific audit event from a kanban task","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"task_id":{"type":"number","description":"Kanban task ID"},"event_id":{"type":"number","description":"Audit event ID"}},"required":["account_id","task_id","event_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_audit_events_list","description":"[Odichat] List audit events (activity log) for a kanban task","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"task_id":{"type":"number","description":"Kanban task ID"},"page":{"description":"Page number","type":"number"}},"required":["account_id","task_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_boards_create","description":"[Odichat] Create a new kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Board name"},"description":{"description":"Board description","type":"string"}},"required":["account_id","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_boards_delete","description":"[Odichat] Delete a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"}},"required":["account_id","board_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_boards_get","description":"[Odichat] Get a specific kanban board","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"}},"required":["account_id","board_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_boards_list","description":"[Odichat] List all kanban boards in the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"page":{"description":"Page number","type":"number"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_boards_update","description":"[Odichat] Update a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"},"name":{"description":"Board name","type":"string"},"description":{"description":"Board description","type":"string"}},"required":["account_id","board_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_boards_update_agents","description":"[Odichat] Update the agents assigned to a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"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"}},"required":["account_id","board_id","agent_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_steps_create","description":"[Odichat] Create a new step (column) in a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"},"name":{"type":"string","description":"Step name"},"description":{"description":"Step description","type":"string"},"color":{"description":"Step color (hex)","type":"string"},"cancelled":{"description":"Whether this step represents a cancelled state","type":"boolean"}},"required":["account_id","board_id","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_steps_delete","description":"[Odichat] Delete a step from a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"},"step_id":{"type":"number","description":"Step ID"}},"required":["account_id","board_id","step_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_steps_get","description":"[Odichat] Get a specific step in a kanban board","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"},"step_id":{"type":"number","description":"Step ID"}},"required":["account_id","board_id","step_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_steps_list","description":"[Odichat] List all steps in a kanban board","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"}},"required":["account_id","board_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_steps_update","description":"[Odichat] Update a step in a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"},"step_id":{"type":"number","description":"Step ID"},"name":{"description":"Step name","type":"string"},"description":{"description":"Step description","type":"string"},"color":{"description":"Step color (hex)","type":"string"},"cancelled":{"description":"Cancelled state","type":"boolean"}},"required":["account_id","board_id","step_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_tasks_create","description":"[Odichat] Create a new task in a kanban board","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"type":"number","description":"Kanban board ID"},"title":{"type":"string","description":"Task title"},"description":{"description":"Task description","type":"string"},"board_step_id":{"type":"number","description":"Step ID to place task in"},"priority":{"description":"Task priority","type":"string","enum":["none","low","medium","high","urgent"]},"assigned_agent_ids":{"description":"Array of assigned agent IDs","type":"array","items":{"type":"number"}},"due_date":{"description":"Due date (ISO 8601)","type":"string"},"conversation_ids":{"description":"Array of linked conversation IDs","type":"array","items":{"type":"number"}}},"required":["account_id","board_id","title","board_step_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_tasks_delete","description":"[Odichat] Delete a kanban task","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"task_id":{"type":"number","description":"Task ID"}},"required":["account_id","task_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_tasks_get","description":"[Odichat] Get a specific task","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"task_id":{"type":"number","description":"Task ID"}},"required":["account_id","task_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_tasks_list","description":"[Odichat] List tasks in a kanban board","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"board_id":{"description":"Filter by kanban board ID","type":"number"},"step_id":{"description":"Filter by step ID","type":"number"},"page":{"description":"Page number","type":"number"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_tasks_move","description":"[Odichat] Move a kanban task to a different step and/or position","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"task_id":{"type":"number","description":"Task ID"},"board_step_id":{"type":"number","description":"Target step ID"},"insert_before_task_id":{"description":"Task ID to insert before (for ordering)","type":"number"}},"required":["account_id","task_id","board_step_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"kanban_tasks_update","description":"[Odichat] Update a kanban task","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"task_id":{"type":"number","description":"Task ID"},"title":{"description":"Task title","type":"string"},"description":{"description":"Task description","type":"string"},"board_step_id":{"description":"Move to a different step","type":"number"},"priority":{"description":"Task priority","type":"string","enum":["none","low","medium","high","urgent"]},"assigned_agent_ids":{"description":"Array of assigned agent IDs (null to unassign)","anyOf":[{"type":"array","items":{"type":"number"}},{"type":"null"}]},"due_date":{"description":"Due date (ISO 8601) or null to clear","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["account_id","task_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"labels_create","description":"Create a label in the account so it can be applied to conversations and contacts","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"title":{"type":"string","description":"Label name (lowercase, no spaces)"},"description":{"description":"Label description","type":"string"},"color":{"description":"Label color (hex)","type":"string"},"show_on_sidebar":{"description":"Show the label in the sidebar","type":"boolean"}},"required":["account_id","title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"labels_delete","description":"Delete a label and remove it from every conversation and contact that carries it","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Label ID"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"labels_list","description":"List all labels defined in the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"labels_update","description":"Update an existing label","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"id":{"type":"number","description":"Label ID"},"title":{"description":"Label name","type":"string"},"description":{"description":"Label description","type":"string"},"color":{"description":"Label color (hex)","type":"string"},"show_on_sidebar":{"description":"Show the label in the sidebar","type":"boolean"}},"required":["account_id","id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"message_templates_list","description":"[Odichat] List the WhatsApp message templates available on an inbox. Templates are scoped per inbox, not per account. The response includes unapproved templates — only those with status 'approved' can be sent.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"inbox_id":{"type":"number","description":"Inbox ID to list templates for"}},"required":["account_id","inbox_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"messages_create","description":"Send a message in a conversation","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"content":{"type":"string","description":"Message content"},"message_type":{"description":"Message type (default: outgoing)","type":"string","enum":["outgoing","incoming"]},"private":{"description":"Whether this is a private/internal note","type":"boolean"},"content_type":{"description":"Content type","type":"string","enum":["text","input_select","cards","form"]},"content_attributes":{"description":"Content attributes for rich messages","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["account_id","conversation_id","content"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"messages_delete","description":"Delete a message from a conversation","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"},"message_id":{"type":"number","description":"Message ID"}},"required":["account_id","conversation_id","message_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"messages_list","description":"List messages in a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"The conversation ID"}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"profile_get","description":"Get the profile of the currently authenticated user/agent","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_account_overview","description":"Get account-level conversation metrics","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"type":{"default":"account","description":"Report type (always 'account')","type":"string","enum":["account"]}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_account_summary","description":"Get account summary (conversations count, incoming messages, etc.) for a time range","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"since":{"type":"string","description":"Start date/time (epoch or ISO 8601)"},"until":{"type":"string","description":"End date/time (epoch or ISO 8601)"}},"required":["account_id","since","until"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_agent_summary","description":"Get agent-level summary statistics for a time range","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"since":{"type":"string","description":"Start date/time"},"until":{"type":"string","description":"End date/time"}},"required":["account_id","since","until"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_conversation_metrics","description":"Get conversation-level metrics (resolution time, first response, etc.)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"type":{"description":"Group results by type","type":"string","enum":["account","agent","inbox","team","label"]}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_v2_agents","description":"Get v2 agent performance reports","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"since":{"type":"string","description":"Start date (ISO 8601)"},"until":{"type":"string","description":"End date (ISO 8601)"},"group_by":{"description":"Grouping interval","type":"string","enum":["day","week","month","year"]}},"required":["account_id","since","until"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_v2_inboxes","description":"Get v2 inbox performance reports","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"since":{"type":"string","description":"Start date (ISO 8601)"},"until":{"type":"string","description":"End date (ISO 8601)"},"group_by":{"description":"Grouping interval","type":"string","enum":["day","week","month","year"]}},"required":["account_id","since","until"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reports_v2_teams","description":"Get v2 team performance reports","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"since":{"type":"string","description":"Start date (ISO 8601)"},"until":{"type":"string","description":"End date (ISO 8601)"},"group_by":{"description":"Grouping interval","type":"string","enum":["day","week","month","year"]}},"required":["account_id","since","until"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"content":{"type":"string","description":"Message content"},"scheduled_at":{"type":"string","description":"ISO 8601 datetime for when to send the message"},"status":{"default":"pending","description":"'pending' schedules the message for delivery (default); 'draft' stores it without ever sending it","type":"string","enum":["pending","draft"]},"hold_on_reply":{"default":true,"description":"Cancel the scheduled message if the contact replies first (server default is false)","type":"boolean"},"template_params":{"description":"WhatsApp template payload: { name, language, category, processed_params }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"message_type":{"description":"Message type","type":"string","enum":["outgoing","incoming"]}},"required":["account_id","conversation_id","content","scheduled_at"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"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)"},"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."}},"required":["account_id","conversation_id","call_time_local","iana_timezone"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"template_name":{"type":"string","description":"The template's friendly_name; must be approved"},"scheduled_at":{"type":"string","description":"Absolute ISO 8601 UTC datetime, must be in the future (e.g. 2026-09-09T15:30:00Z)"},"extra_params":{"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.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"hold_on_reply":{"default":true,"description":"Cancel the scheduled message if the contact replies first","type":"boolean"}},"required":["account_id","conversation_id","template_name","scheduled_at"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scheduled_messages_delete","description":"[Odichat] Delete a scheduled message","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"scheduled_message_id":{"type":"number","description":"Scheduled message ID"}},"required":["account_id","conversation_id","scheduled_message_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scheduled_messages_list","description":"[Odichat] List scheduled messages for a conversation","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"}},"required":["account_id","conversation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scheduled_messages_update","description":"[Odichat] Update a scheduled message","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"conversation_id":{"type":"number","description":"Conversation ID (display_id)"},"scheduled_message_id":{"type":"number","description":"Scheduled message ID"},"content":{"description":"Message content","type":"string"},"scheduled_at":{"description":"ISO 8601 datetime","type":"string"},"status":{"description":"'pending' to schedule for delivery, 'draft' to hold","type":"string","enum":["pending","draft"]},"hold_on_reply":{"description":"Cancel the scheduled message if the contact replies first","type":"boolean"}},"required":["account_id","conversation_id","scheduled_message_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"team_members_add","description":"Add agents to a team","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to add"}},"required":["account_id","team_id","user_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"team_members_delete","description":"Remove agents from a team","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs to remove"}},"required":["account_id","team_id","user_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"team_members_list","description":"List agents in a team","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"}},"required":["account_id","team_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"team_members_update","description":"Replace all agents in a team (removes agents not in list)","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"},"user_ids":{"type":"array","items":{"type":"number"},"description":"Array of agent IDs"}},"required":["account_id","team_id","user_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"teams_create","description":"Create a new team","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"name":{"type":"string","description":"Team name"},"description":{"description":"Team description","type":"string"},"allow_auto_assign":{"description":"Allow auto-assignment to this team","type":"boolean"}},"required":["account_id","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"teams_delete","description":"Delete a team","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"}},"required":["account_id","team_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"teams_get","description":"Get a specific team","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"}},"required":["account_id","team_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"teams_list","description":"List all teams in the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"teams_update","description":"Update a team","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"team_id":{"type":"number","description":"Team ID"},"name":{"description":"Team name","type":"string"},"description":{"description":"Team description","type":"string"},"allow_auto_assign":{"description":"Allow auto-assignment","type":"boolean"}},"required":["account_id","team_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"webhooks_create","description":"Create a new webhook that receives event notifications at the given URL","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"url":{"type":"string","description":"Webhook endpoint URL"},"subscriptions":{"description":"Event types to subscribe to (e.g. conversation_created, message_created)","type":"array","items":{"type":"string"}}},"required":["account_id","url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"webhooks_delete","description":"Delete a webhook","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"webhook_id":{"type":"number","description":"Webhook ID"}},"required":["account_id","webhook_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"webhooks_list","description":"List all webhooks configured in the account","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"}},"required":["account_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"webhooks_update","description":"Update a webhook URL or subscriptions","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"account_id":{"type":"number","description":"The account ID"},"webhook_id":{"type":"number","description":"Webhook ID"},"url":{"description":"Webhook endpoint URL","type":"string"},"subscriptions":{"description":"Event types to subscribe to","type":"array","items":{"type":"string"}}},"required":["account_id","webhook_id"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-26T21:18:07.578Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T21:18:07.533Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 738ms"]},"poisoning":{"score":15,"max":15,"notes":["130 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 65 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.odichat.app/mcp?token={token}","reachable":true,"authRequired":false,"latencyMs":738,"serverInfo":{"name":"mcp-odichat","version":"0.0.0"}}],"packages":[],"repo":{"found":true,"owner":"odichat","repo":"mcp-odichat","archived":false,"pushedAt":"2026-09-26T18:47:48Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/189292618?v=4","ownerCreatedAt":"2024-11-21T21:34:33Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/189292618?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-26T18:47:48.000Z","score":23}}}},"grade_history":[],"reviews":[]}