Skip to main content
Glama

Edit SDR outreach messages

sdr_update_outreach_content

Outreach windows 2–3: email (mode ai/fixed/html, prompt, tone, ≤5 fixed variants with {{placeholders}}, per-step follow-ups, own-HTML steps, signature, auto-reply) and LinkedIn (invite on/off, ai/exact texts, follow-up, delay after accept, conversation rules, auto-reply delays, signature, Calendly). Partial; takes effect on new sends. Follow-up changes are blocked while an email sequence is already sending.

Input Schema

NameRequiredDescriptionDefault
emailNo
linkedinNo
search_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / email
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "auto_reply_delay_minutes": {
      +      "maximum": 120,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "auto_reply_enabled": {
      +      "type": "boolean"
      +    },
      +    "followup_interval_days": {
      +      "maximum": 90,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "followups": {
      +      "description": "Per-step follow-ups; delay counts from the previous email",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "body": {
      +            "type": "string"
      +          },
      +          "delay_days": {
      +            "maximum": 90,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "prompt": {
      +            "type": "string"
      +          },
      +          "subject": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "delay_days"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 7,
      +      "type": "array"
      +    },
      +    "followups_enabled": {
      +      "type": "boolean"
      +    },
      +    "html_steps": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "delay_days": {
      +            "type": "integer"
      +          },
      +          "html": {
      +            "type": "string"
      +          },
      +          "subject": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "subject",
      +          "html"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 20,
      +      "type": "array"
      +    },
      +    "max_followups": {
      +      "maximum": 7,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "mode": {
      +      "description": "ai = model writes each email from prompt; fixed = variants; html = html_steps",
      +      "enum": [
      +        "ai",
      +        "fixed",
      +        "html"
      +      ],
      +      "type": "string"
      +    },
      +    "prompt": {
      +      "type": "string"
      +    },
      +    "signature_enabled": {
      +      "type": "boolean"
      +    },
      +    "signature_text": {
      +      "type": "string"
      +    },
      +    "tone": {
      +      "enum": [
      +        "formal",
      +        "casual",
      +        "friendly"
      +      ],
      +      "type": "string"
      +    },
      +    "validation_note_enabled": {
      +      "type": "boolean"
      +    },
      +    "variants": {
      +      "description": "Fixed texts, rotated per recipient. Placeholders: {{first_name}} {{last_name}} {{full_name}} {{company_name}} {{position}} {{city}} {{country}}",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "body": {
      +            "type": "string"
      +          },
      +          "subject": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "subject",
      +          "body"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 5,
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / linkedin
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "auto_reply_enabled": {
      +      "type": "boolean"
      +    },
      +    "calendly_url": {
      +      "type": "string"
      +    },
      +    "conversation_rules": {
      +      "description": "What we want from these conversations: goal, CTA, links. Applied to AI invites, follow-ups and smart replies.",
      +      "maxLength": 3000,
      +      "type": "string"
      +    },
      +    "followup_cta": {
      +      "type": "string"
      +    },
      +    "followup_delay_minutes": {
      +      "description": "Minutes between accepted invite and first message",
      +      "maximum": 20160,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "followup_enabled": {
      +      "type": "boolean"
      +    },
      +    "followup_exact_text": {
      +      "type": "string"
      +    },
      +    "followup_mode": {
      +      "enum": [
      +        "ai",
      +        "exact"
      +      ],
      +      "type": "string"
      +    },
      +    "followup_prompt": {
      +      "type": "string"
      +    },
      +    "invite_enabled": {
      +      "type": "boolean"
      +    },
      +    "invite_exact_text": {
      +      "type": "string"
      +    },
      +    "invite_mode": {
      +      "enum": [
      +        "ai",
      +        "exact"
      +      ],
      +      "type": "string"
      +    },
      +    "invite_prompt": {
      +      "type": "string"
      +    },
      +    "invite_tone": {
      +      "enum": [
      +        "formal",
      +        "casual",
      +        "friendly"
      +      ],
      +      "type": "string"
      +    },
      +    "reply_delay_max_minutes": {
      +      "maximum": 120,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "reply_delay_min_minutes": {
      +      "maximum": 60,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "signature_enabled": {
      +      "type": "boolean"
      +    },
      +    "signature_mode": {
      +      "enum": [
      +        "first_message",
      +        "every_message"
      +      ],
      +      "type": "string"
      +    },
      +    "signature_text": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / search_id / format
      Added value: +"uuid"
  2. First observed

TDQS

C2.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that updates are partial, take effect on new sends, and that follow-up changes are blocked during an active email sequence. It still omits permission requirements, whether the operation is destructive or reversible, and how validation failures are surfaced.

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 compact and avoids wasted prose, but it is a single dense sentence built from parenthetical lists. It is not front-loaded with a clear action, making it harder to scan than a short lead sentence followed by grouped details.

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?

This is a complex mutation tool with nested email and LinkedIn objects, no annotations, and no output schema. The description provides a useful overview of covered areas and one blocking rule, but it is not complete enough for safe invocation because it omits the required search_id, authentication/permission expectations, and merge semantics for partial updates.

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

Parameters2/5

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

Reported schema description coverage is 0%, so the description must compensate heavily. It names many email and LinkedIn subfields and even notes the ≤5 variants limit and placeholder support, but it omits the required search_id entirely and leaves many boolean, timing, and mode parameters unexplained. It also does not clarify how partial object merging works.

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

Purpose3/5

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

The description identifies the resource as SDR outreach content for email and LinkedIn, and lists the kinds of settings that can be edited. However, it never states an explicit verb such as 'updates' and does not distinguish this tool from nearby siblings like sdr_save_outreach_settings or sdr_preview_outreach_content. The purpose is inferable but not stated with crisp action-oriented clarity.

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

Usage Guidelines2/5

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

The description gives one important operational constraint: follow-up changes are blocked while an email sequence is already sending. It does not explain when to use this tool instead of sdr_get_outreach_content, sdr_preview_outreach_content, or sdr_save_outreach_settings, nor does it describe prerequisites such as needing an existing search_id.

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