Skip to main content
Glama
emielmadonna

OutreachPilot MCP Server

by emielmadonna

trigger_campaign

Enroll a contact into an active campaign by providing a contact ID or contact details (email, name, company) to auto-create the contact and start outreach.

Instructions

Enroll a contact into an active campaign. Can provide a contact_id for an existing contact, or provide contact fields (email, first_name, last_name, company) to auto-create and enroll. The campaign must be active.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoEmail of the contact. Used to find or auto-create the contact if contact_id is not provided.
companyNo
confirmedNoMust be true to enroll a contact into the campaign.
last_nameNo
contact_idNoID of an existing contact (use search_contacts to find it). If not provided, supply email/linkedin_url to auto-create.
first_nameNo
campaign_idYesID of the active campaign to enroll the contact into.
linkedin_urlNo
idempotency_keyNoOptional stable key to prevent duplicate enrollment attempts on retries.
Behavior2/5

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

With no annotations provided, the description must disclose behavioral details. It mentions auto-creating contacts and requiring an active campaign, but it omits the critical `confirmed` flag requirement, the idempotency behavior, and any side effects or error conditions. This is a significant transparency gap for a mutating operation.

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 description is only two sentences, front-loaded with the primary action, and contains no redundant filler. Every phrase earns its place.

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

Completeness2/5

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

For a tool with 9 parameters, no output schema, and no annotations, the description is incomplete. It fails to mention the `confirmed` flag requirement, the `idempotency_key` duplicate-prevention feature, and the optional `linkedin_url` auto-create path. These are important for an agent to invoke the tool safely and correctly.

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 description adds meaning to the parameters by explaining that `contact_id` and the contact fields are alternative ways to identify or create a contact, and that `campaign_id` must reference an active campaign. This adds value beyond the schema's field-level descriptions, though it does not cover every parameter (e.g., `confirmed`, `idempotency_key`).

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 starts with a specific verb-resource pair ('Enroll a contact into an active campaign') and clearly distinguishes the tool's purpose from siblings like list_campaigns or get_campaign_status. It also explains the two enrollment modes (existing contact vs auto-create), 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?

The description provides clear context on when to use the tool (enrolling a contact into an active campaign) and explains the two input modes, but it does not explicitly name alternative tools or state when not to use it. The 'campaign must be active' condition adds usage constraint.

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/emielmadonna/OutreachPilotMCP'

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