Skip to main content
Glama
AIWerk

@aiwerk/mcp-server-ghl

by AIWerk

conversations_send_a_new_message

Send a new message to a contact via SMS, email, WhatsApp, and more. Specify message type, content, and recipient to communicate directly from your GHL CRM.

Instructions

Send a new message

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
htmlNoHTML content of the message
typeYesType of message being sent
statusYesMessage status
emailCcNoArray of CC email addresses
emailToNoEmail address to send to, if different from contact's primary email. This should be a valid email address associated with the contact.
forwardNoForwarding configuration for emails
messageNoText content of the message
subTypeYesType of message being sent
subjectNoSubject line for email messages
emailBccNoArray of BCC email addresses
threadIdNoID of message thread. For email messages, this is the message ID that contains multiple email messages in the thread
toNumberNoRecipient phone number for outbound messages
contactIdYesID of the contact receiving the message
emailFromNoEmail address to send from
fromNumberNoPhone number used as the sender number for outbound messages
templateIdNoID of message template
attachmentsNoArray of attachment URLs
appointmentIdNoID of the associated appointment
emailReplyModeNoMode for email replies
replyMessageIdNoID of message being replied to
customSubtypeIdNoCustom subtype ID for email unsubscription preferences. Only applies to email messages.
optimizationPeriodNoOptimization period in hours (24h, 48h, or 72h)
scheduledTimestampNoUTC Timestamp (in seconds) at which the message should be scheduled
conversationProviderIdNoID of conversation provider
usesNativeSchedulingAiNoWhether the scheduled email uses native AI for the email scheduling
Behavior2/5

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

The annotations already indicate this is a write operation (readOnlyHint: false) and non-destructive (destructiveHint: false). The description adds no additional behavioral context, such as whether it creates a conversation, updates status, or supports scheduling. It does not contradict annotations but also does not supplement them.

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

Conciseness3/5

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

The description is extremely concise (four words) but lacks structure and front-loaded information. While it avoids verbosity, it is a single vague phrase that does not convey the tool's scope or complexity. Conciseness without substance earns an average score.

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

Completeness1/5

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

With 25 parameters, 4 required, nested objects (e.g., forwarding, scheduling), and no output schema, the description is grossly inadequate. It provides no explanation of required fields, channel-specific behavior, or response expectations, making it far from complete for correct agent invocation.

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 coverage is 100%, so every parameter has a description in the schema. The tool description does not mention any parameters or add meaning beyond what the schema already provides. This matches the baseline for full schema coverage.

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

Purpose2/5

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

The description 'Send a new message' is generic and essentially restates the tool name without adding specificity. It does not clarify that this operates within a conversation or distinguish it from sibling tools like conversations_add_an_outbound_message or conversations_add_an_inbound_message, which also send messages.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives, no mention of channel types, no prerequisites, and no exclusion cases. An agent cannot determine if this is appropriate for a given scenario compared to other message-sending tools.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIWerk/mcp-server-ghl'

If you have feedback or need assistance with the MCP directory API, please join our Discord server