Skip to main content
Glama

Apollo Save

apollo_save
Destructive

Save people as contacts or companies as accounts in the user's Apollo CRM. These will be visible in Apollo's web UI. ALWAYS confirm with the user before calling this tool.

IMPORTANT: Each contact MUST have an email address — it is the only required field. Do NOT pass masked/obfuscated names (e.g. "Tr***k") — use apollo_enrich first to get full details. Do NOT pass only apollo_id without email — Apollo's contacts API ignores apollo_id and will create blank contacts. Always enrich contacts first, then save with {first_name, last_name, email, title, organization_name}.

For accounts, the result splits the count into "created" (new rows) and "existing" (already in the CRM — Apollo dedupes by domain); "saved" is their sum, so a re-save reads as saved == requested rather than a false failure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYes"contacts" or "accounts"
itemsYesList of dicts. For contacts: {first_name, last_name, email (REQUIRED), title, organization_name}. For accounts: {name, domain}.
sequence_idNoOptional. If provided, contacts will also be added to this Apollo sequence for outreach.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses important behaviors: writes are visible in the Apollo UI, apollo_id is ignored and can create blank contacts, accounts are deduped by domain, and the result counts are split into created/existing/saved. This substantially protects the agent from misinterpreting outcomes.

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?

The description is front-loaded with the core action, then confirmation, required fields, and important caveats. It is somewhat dense but every sentence conveys operational value, and the account result explanation is placed at the end where it provides useful context without burying the main usage rules.

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 mutating tool with no output schema, this description covers required inputs, common failure modes, deduplication behavior, and result semantics for accounts. The main gap is that contact-level result behavior is not described, but overall the agent has enough context to call the tool correctly and interpret responses.

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

Parameters4/5

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

The schema already covers all three parameters, but the description adds critical meaning: email is required for contacts, contacts should be passed as {first_name, last_name, email, title, organization_name}, accounts use {name, domain}, and sequence_id adds contacts to a sequence. This goes beyond the bare 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?

The description uses a specific verb ('Save') and resource ('people as contacts or companies as accounts in the user's Apollo CRM'), clearly distinguishing this write operation from enrichment/search siblings. It also specifies the two supported object types, leaving no ambiguity about what the tool does.

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?

It explicitly requires user confirmation before calling and instructs the agent to use apollo_enrich first to get full details, which is actionable workflow guidance. It does not fully enumerate when not to use this tool versus similar CRM update tools, but the preconditions and prohibitions are clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources