Skip to main content
Glama

edit_campaign

Destructive

Update a LinkedIn campaign's name, mode, booking link, and context fields to personalize outreach, adjust follow-ups, and refine messaging settings.

Instructions

Edit a campaign's name, mode, booking link, or context fields.

Change the campaign name or configure campaign settings
modes, set a booking link, or configure campaign context for
better message personalization.

Args:
    campaign_id: Which campaign to edit. Edits the first active campaign if empty.
    name: New campaign name. Leave empty to keep current name.
    mode: Only "autopilot" supported. Copilot mode removed.
    booking_link: Calendar/booking URL (e.g., "https://cal.com/you/15min").
        Used in reply_to_prospect() for positive replies to suggest meetings.
    offerings: What you offer (products, services, value props). Used in follow-up messages.
    case_studies: Brief case studies or success stories. Used for social proof in messages.
    social_proofs: Social proof (logos, metrics, testimonials). Used in follow-up messages.
    campaign_preferences: Custom messaging preferences (tone, topics to avoid, etc.).
    campaign_intent: Message stance: "sell", "buy", "partner", or "recruit".
    campaign_type: Prompt family: "outbound" (default) or "job_search".
        job_search replaces the intent-specific invitation note and first
        DM with ones that may name the company and the role, use one
        credible proof point at most and never list a CV. InMail is not
        routed by this switch, and campaign_intent still selects the
        system prompt. Empty keeps the current value.
    project_brief: Full project paste the model sees. Required before launch,
        resume, or auto-send.
    product: Optional structured fact: product / what you buy or sell.
    go_live: Optional structured fact: go-live date.
    volume: Optional structured fact: volume model.
    must_confirm: Optional comma-separated questions a vendor must confirm.
    voice_mode: Voice memo mode: "text_only", "voice_only", "mixed", or "ab_test".
        Leave empty to keep current value.
    voice_noise: Ambient noise type for voice memos: "office", "cafe", "street",
        "quiet", "none", "auto". Leave empty to keep current value.
    voice_humanize: Voice text humanization: "on" or "off".
        Leave empty to keep current value.
    enable_profile_views: View prospect profiles before following: "on" or "off".
    enable_follows: Follow prospects before inviting: "on" or "off".
    enable_endorsements: Endorse skills before inviting: "on" or "off".
    enable_engagements: Comment/react on posts before inviting: "on" or "off".
    enable_followups: Send follow-up DMs after connection: "on" or "off".
    enable_auto_replies: Auto-reply to prospect messages: "on" or "off".
    enable_invitations: Send connection invitations: "on" or "off".
        When off, campaign only DMs existing connections (no invitations sent).
    enable_discovery: Auto-find and enrol new prospects: "on" or "off".
    exclude_connections: "on" to never message anyone who was already a
        1st-degree connection before this campaign started — they are
        refused at enrolment and skipped at send time instead of being
        DMed. People who accept this campaign's own invitation still get
        the opener. Turning it on turns connections_only off.
    connections_only: "on" to target only your existing 1st-degree
        connections (DM-only, no invitations). Turning it on turns
        exclude_connections off.
        Turn off for curated campaigns with a fixed, hand-picked list.
    exclude_competitors: "on" to never first-touch people who work at
        competing companies. Default on. Empty list excludes nobody
        until research or competitor_companies names them.
    competitor_companies: Comma-separated employer names to skip.
    enable_reply_agent: Reply exception agent: "on" (act), "off", or
        "observe". Empty keeps the current value. Unset defaults to act.
    enable_strategist_replan_agent: Strategist replan: "on", "off", or
        "observe". Empty keeps the current value.
    enable_hot_lead_closer: Hot-lead closer: "on", "off", or "observe".
        Empty keeps the current value.
    enable_coordinator_agent: Coordinator digest/hold: "on", "off", or
        "observe". Empty keeps the current value.
    engagement_mode: Engagement style: "auto" (30% react / 70% comment),
        "comment_only", or "react_only".
    max_followups: Max follow-up messages (1-5). 0 to keep current.
    weekly_meeting_target: Meetings this campaign should book per week.
        The daily report reads it as the Key Result and says whether the
        campaign is on track. 0 means no goal this week; -1 keeps current.
    followup_delay_days: Custom day intervals as comma-separated list
        (e.g., "1,3,7,14"). Leave empty to keep current.
    withdraw_stale_invites: Auto-withdraw stale invites: "on" or "off".
    stale_invite_days: Days before withdrawing stale invites (7-60). 0 to keep current.
    inmail_fallback: Escalate quiet invitations with one InMail: "on" or "off".
        Free tier sends only to Open Profile members (zero credits).
    inmail_fallback_days: Quiet days before the InMail (1-60). 0 to keep current.
    inmail_first_touch: InMail as first touch: "on" or "off". Unset follows inmail_fallback.
    send_in_business_hours: Respect prospect's business hours: "on" or "off".
    active_days: Active send days as comma-separated numbers (0=Mon, 6=Sun).
        E.g., "0,1,2,3,4" for weekdays. Leave empty to keep current.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
nameNo
volumeNo
go_liveNo
productNo
offeringsNo
voice_modeNo
active_daysNo
campaign_idNo
voice_noiseNo
booking_linkNo
case_studiesNo
must_confirmNo
campaign_typeNo
max_followupsNo
project_briefNo
social_proofsNo
enable_followsNo
voice_humanizeNo
campaign_intentNo
engagement_modeNo
inmail_fallbackNo
connections_onlyNo
enable_discoveryNo
enable_followupsNo
stale_invite_daysNo
enable_engagementsNo
enable_invitationsNo
enable_reply_agentNo
inmail_first_touchNo
enable_auto_repliesNo
enable_endorsementsNo
exclude_competitorsNo
exclude_connectionsNo
followup_delay_daysNo
campaign_preferencesNo
competitor_companiesNo
enable_profile_viewsNo
inmail_fallback_daysNo
weekly_meeting_targetNo
enable_hot_lead_closerNo
send_in_business_hoursNo
withdraw_stale_invitesNo
enable_coordinator_agentNo
enable_strategist_replan_agentNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.375

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=true, openWorldHint=true), the description enriches behavioral understanding with specific side effects: it notes that mode only supports 'autopilot' and that 'Copilot mode removed', explains mutual exclusivity between exclude_connections and connections_only, and details conditions like 'Required before launch, resume, or auto-send'. These are useful context not present in the structured annotations.

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?

Despite being long, the description is tightly structured: a one-sentence summary followed by a consistent bullet list of arguments. Every sentence earns its place because each parameter requires explanation; there is no fluff or repetition. The formatting (Args with code-style parameter names) improves scannability and makes the tool practical for an agent.

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 tool with 45 parameters)Skip pre-existing chunks of text. For a tool with 45 parameters, no schema descriptions, and a destructiveness annotation, the description is exceptionally thorough. It covers every parameter, including valid values, defaults, cross-parameter dependencies, and contextual prerequisites (e.g., project_brief required before launch). An output schema exists, so return-value documentation is not needed here.

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?

The input schema has 0% description coverage, so the description carries the entire burden for 45 parameters. It does so comprehensively: each parameter lists allowed values, defaults ('Leave empty to keep current'), example formats, and behavioral nuances (e.g., 'When off, campaign only DMs existing connections'). This fully compensates for the schema's lack of descriptions.

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 opens with a specific action-resource pairing ('Edit a campaign's name, mode, booking link, or context fields') and is clearly distinct from sibling tools like create_campaign. It explicitly names the resource ('campaign') and the operation ('edit'), with 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 Guidelines3/5

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

The description implies its use for modifying existing campaigns, but it does not explicitly state when to prefer this tool over alternatives like create_campaign or campaign. It provides no exclusion conditions or 'use this instead of X' guidance, leaving the agent to infer the intended scenario from the 'edit' verb.

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