Skip to main content
Glama
mh-zeynal

gapify-mcp-server

by mh-zeynal

Messages: Create New Message

gapify_create_message

Send a new message or private note in a specific customer-support conversation by providing the account ID, conversation ID, and content.

Instructions

Send a new message or private note in a conversation [Messages] POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages Auth: User API key or Agent bot API key (header api-access-token). Body fields: content (required), message_type, private, content_type, content_attributes, template_params. Extra fields can be passed via extra_body. Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesText of the message. Any language, including Persian, is sent unchanged.
privateNoFlag to identify if it is a private note Example: false
account_idYesThe numeric ID of the account
extra_bodyNoAdditional JSON body fields to merge into the request (for keys not listed above).
content_typeNoContent type of the message. One of: `text`, `input_email`, `cards`, `input_select`, `form`, `article`. Use `text` for normal messages. Example: "cards"
message_typeNoDirection of the message. One of: `outgoing` (agent to contact), `incoming`. Example: "outgoing"
conversation_idYesThe numeric ID of the conversation
template_paramsNoThe template params for the message in case of whatsapp Channel Example: {"name":"sample_issue_resolution","category":"UTILITY","language":"en_US","processed_params":{"1":"Gapify"}}
content_attributesNoattributes based on your content type Example: {}

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the write/non-idempotent/open-world profile, and the description adds genuinely new behavioral context: auth requirements (User API key or Agent bot API key via api-access-token header), the extra_body escape hatch, and the encoding rule for Persian/Arabic-Indic digits. It doesn't cover rate limits or return behavior, but adds real value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, followed by endpoint, auth, and field summary. It is dense with technical detail but each clause (auth, body fields, extra_body, digit handling) carries information, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create-message tool with no output schema and full schema coverage, the description supplies the required-parameter emphasis, auth modes, and language handling. Return-value behavior is unspecified but not needed given no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all nine parameters thoroughly; the baseline is 3. The description lists the body fields and clarifies extra_body but adds little syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Send a new message or private note in a conversation') and anchors it with the concrete endpoint POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages. An agent can immediately distinguish this from read siblings like gapify_get_messages and delete_message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the purpose and endpoint, but there is no explicit when-to-use vs the very similar gapify_client_create_message or gapify_raw_request. No exclusions or conditions are stated, leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools