Skip to main content
Glama
FirstReply

FirstReply MCP Server

Official
by FirstReply

Conversation Reply

conversation_reply
Destructive

Send a customer reply through the conversation's inbox (email, WhatsApp), or store it as an internal note or draft for team review.

Instructions

Send a reply to the customer in a conversation, delivered through the conversation's inbox (email, WhatsApp, ...). Sending is irreversible: only call it with a text the user has approved. Set internal=true to add an internal note visible to the team only, or draft=true to store a draft the team can review and send with message_send.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
draftNotrue stores the text as a draft instead of sending it.
messageYesThe plain text of the reply, note or draft.
internalNotrue stores the text as an internal note instead of sending it.
languageNoTwo-letter code of the language of message when it was translated for the customer (see ai_translate). Send together with translation.
translationNoThe text as the agent wrote it, when message is a translation of it. Kept alongside the sent text.
conversationIdYesThe conversation id.
organizationIdYesThe organization id. Use organization_list to find it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, and the description usefully reinforces this with 'Sending is irreversible' plus a user-approval precondition — real operational context beyond the hints. It does not cover permission/auth requirements or behavior on partial delivery failure.

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

Conciseness5/5

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

Three tight sentences with the primary action first, then the irreversibility warning, then the mode flags. Every clause carries distinct information and nothing is repeated.

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 7-parameter, no-output-schema mutation tool, the description covers the action, the safety precondition, the two alternate modes, and the sibling used to complete the draft workflow. Missing auth/permission expectations and failure/error semantics keep it from a 5.

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 all seven parameters, including language/translation and the two flags, are already documented in the schema. The description restates the internal/draft semantics and adds a workflow hint for drafts, but adds no new syntax or constraints, so the baseline 3 applies.

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 reply to the customer in a conversation') and clarifies the delivery channel, plus the two alternative behaviors (internal note, draft) the same call can produce. An agent can distinguish this from conversation_read, message_get, or message_send without opening the schema.

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

Usage Guidelines4/5

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

Gives concrete conditional guidance: set internal=true for a team-only note, draft=true for a reviewable draft, and names message_send as the tool that sends drafts. It also imposes a precondition ('only call it with a text the user has approved'). It stops short of an explicit when-not-to-use rule versus message_send in the general send case.

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