Skip to main content
Glama

send_message

Destructive

Send follow-ups, replies, or InMail to prospects, with options to auto-generate message text or delete a recently sent message. Ensures outreach actions match prospect status and credits.

Instructions

Send follow-ups, replies, or InMail to prospects.

Args:
    action: What to do:
        "followup" — Send a follow-up DM after connection accepted
        "reply"    — Reply to a prospect who has messaged you
        "delete"   — Delete a recently sent message (within 60 min on LinkedIn)
        "inmail"   — Send an InMail to a NON-connection. Preconditions
                     (each fails closed with no send): prospect has a
                     provider_id; they are NOT a 1st-degree connection
                     (use followup/DM for those); no InMail already sent
                     on this outreach; InMail credits remaining > 0.
                     A pending invitation to the same person is allowed
                     — that is the escalation path. Requires outreach_id.
    campaign_id: Which campaign to send from. Uses active if empty.
    outreach_id: Specific outreach to target. Required for inmail.
    format: 'text'. For followup/reply.
    text: Custom message text. Auto-generates if empty.
        For delete: optionally pass a Unipile message_id directly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNo
actionNofollowup
formatNotext
campaign_idNo
outreach_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.375

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already mark the tool as non-read-only and destructive, so the description adds meaningful context beyond them: InMail fails closed on four specific preconditions, delete only applies to recently sent messages, and empty text auto-generates. It does not mention reversibility or side effects of deletion, hence 4.

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?

The important one-line purpose is followed by a dense, well-organized Args block with no filler. The detailed InMail preconditions are worth the space and are formatted as a scannable list.

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

Completeness5/5

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

For a five-parameter, multi-action messaging tool with preconditions and defaults, the description covers selection, required fields, failure behavior, and destructive scope. An output schema exists, so the absence of return-value detail is not a gap.

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

Parameters5/5

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

With 0% schema description coverage, the description carries the full burden and succeeds: action gets enumerated values with per-value behavior, campaign_id gets default semantics, outreach_id gets a required-for-inmail flag, and text gets auto-generation plus special delete usage. Every parameter receives meaning beyond its bare name and type.

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

Purpose4/5

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

The opening line names a precise verb and resource ('Send follow-ups, replies, or InMail to prospects') and the action list makes the scope concrete. It is clear, but it doesn't explicitly differentiate from sibling answer_inbox or say which nearby tool handles other messaging cases, so it earns 4 rather than 5.

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

Usage Guidelines5/5

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

Each action value includes when to use it: follow-up after connection accepted, reply to a prospect who messaged you, delete within 60 minutes, and InMail to non-connections. The InMail path lists explicit preconditions and gives the internal DM fallback, while the delete action states its time constraint and the text param identifies auto-generation behavior.

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