Skip to main content
Glama

Create campaign

create_campaign

Create a new campaign in LinkedNav. Returns the campaign ID. Supports "outreach" (LinkedIn connection requests + follow-ups; add leads with add_lead_to_campaign) and "message" (send a direct message to each recipient — either a fixed template OR, with messageMode "ai", AI-generated at send time from a prompt + the recipient's live profile / recent posts / prior conversation; add recipients with add_message_targets). Message campaigns have two IMMUTABLE send modes: "regular" (a DM to your existing 1st-degree connections) or "inmail" (a Sales Navigator InMail to ANY profile — Pro only; recipients are Sales Nav lead URLs, or regular /in/ profile URLs when every sending account is a managed session). AI mode and follow-ups are Pro-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalNoOutreach only: campaign goal description (e.g. "Book a demo")
nameYesCampaign name
goalLinkNoOutreach only: URL for the campaign goal (e.g. calendar link)
promptIdNoMessage campaigns: REQUIRED — the prompt AI-generated messages are written from (list them with get_prompts). Ignored for outreach campaigns (attach their prompt with update_campaign).
sendModeNoMessage campaigns only, IMMUTABLE after creation: "regular" (DM to 1st-degree connections) or "inmail" (Sales Navigator InMail to any profile — Pro only).regular
followUpsNoMessage campaigns (REGULAR DM) only, Pro only: the reply-gated follow-up sequence (Message 2 + Message 3). Ignored for InMail; enabling it without Pro errors.
attachmentsNoMessage campaigns only: files sent with Message 1 (image/PDF/voice/video). Only live-session LinkedIn accounts can attach files. URLs must come from LinkedNav uploads — any other host is dropped.
messageModeNoMessage campaigns: "template" (default) sends messageTemplate verbatim; "ai" generates Message 1 (and, for InMail, the subject) at send time from the prompt's First follow-up (Follow-up tab; campaign Message N always follows the prompt's Follow-up N) + its Context + the AI setup + the recipient's live profile / prior conversation (Pro only). AI mode needs a promptId and makes messageTemplate/inMailSubject optional.
sendsPerDayNoMax sends per day. InMail message campaigns cap at 500/day; outreach and regular message campaigns cap at 100/day (values above are clamped). Message default 10 in the wizard, but this tool defaults to 20. Higher volumes raise LinkedIn account risk.
campaignTypeNo"outreach" (default: connection requests + follow-ups) or "message" (fixed templated message).outreach
inMailSubjectNoInMail-mode message campaigns only: the InMail subject line (supports {{firstName}} etc.). Required before a template-mode inmail campaign can send; AI mode generates the subject.
messageTemplateNoMessage campaigns, template mode: the fixed message body sent to each recipient (supports {{firstName}} etc.). Required before a template-mode campaign can send; optional/ignored when messageMode is "ai".
messageAiContextNoMessage campaigns, AI mode only: optional guidance for Message 1 — highest priority, followed over the prompt where they conflict.
outreachLanguageNoOutreach only: language for AI-generated messagesEnglish
linkedinConnectionIdNoMessage campaigns only: a single LinkedIn account to send from (shorthand for linkedinConnectionIds with one id).
linkedinConnectionIdsNoMessage campaigns only: the LinkedIn account(s) to send from (ids from get_linkedin_accounts). A REGULAR DM campaign uses exactly one account (only the first is kept — a connection belongs to one account); an INMAIL campaign can round-robin several accounts, and each should have a Sales Navigator seat (get_linkedin_accounts → salesNavigator.status). Can also be set later with update_campaign or activate_campaign.
autoSwitchSalesNavContractNoInMail message campaigns only: when a sender runs out of Sales Navigator InMail credits, automatically switch that LinkedIn account to another of its Sales Navigator contracts that still has credits and re-send (live-session accounts only; default false). Once a live-session sender has no credits left, Open Profiles still get a free InMail and people not checked yet get one free try; anyone else goes to another sender with credits or is marked failed "out of InMail credits" (retry them once credits renew). Check balances with get_inmail_credits.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false; the description adds genuinely behavioral context beyond them: sendMode is IMMUTABLE after creation, Pro-only gating for AI/follow-ups/InMail, and that enabling follow-ups without Pro errors. It does not describe permissions, rate-limit behavior, or response shape beyond the ID, so it is strong but not exhaustive.

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 purpose and return value are front-loaded, then the mode taxonomy, and every sentence carries real content. It is a dense single block that repeats some sendMode/Pro-only detail already present in the schema, so there is minor redundancy, but nothing is filler.

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 17-parameter tool with nested objects and no output schema, the description covers the two main creation flows, their gating rules, and the return value ('campaign ID'). It does not enumerate parameter defaults or the full follow-up structure, but the schema descriptions carry those, so coverage is adequate.

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?

Schema description coverage is 100%, so the baseline is 3, but the description adds cross-parameter logic the schema states only locally: campaignType determines which parameters matter, AI mode makes messageTemplate/inMailSubject optional, and promptId is ignored for outreach. That relational guidance raises it above baseline.

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 verb+resource ('Create a new campaign in LinkedNav') and states the return value ('Returns the campaign ID'). It then distinguishes the two campaign types and routes the agent to the correct add-leads sibling for each (add_lead_to_campaign vs add_message_targets), so it is separable from create_comment_campaign, duplicate_campaign and other siblings.

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 clearly explains when each campaignType applies ('outreach' vs 'message'), the two message send modes, and that AI mode/follow-ups/InMail are Pro-only, giving strong selection context. It stops short of naming explicit alternatives to avoid (e.g. duplicate_campaign, create_comment_campaign) or stating when not to use this tool.

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.