Skip to main content
Glama

lemlist_campaign_start

Start (or resume) a campaign — lemlist begins sending.

THE send gesture at campaign level: from here lemlist walks the sequence for every launched lead, to real people. A no-op if already running.

Read lemlist_campaign(op="statutes", …) first — it names what would block or degrade the launch (missing sender, broken DNS, daily limit) with the same validation the UI runs.

⚠️ In practice this RESUMES a paused campaign: one created through lemlist_campaign(op="create") is already running, and lemlist answers 400 "You can't start campaigns that are already running".

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "campaign_id": "<campaign_id>"
    },
    "name": "lemlist_campaign_start"
  }
}

Input Schema

NameRequiredDescriptionDefault
_orgNoOrg (id) de CET APPEL. `oto_list_orgs()`.
_groupNoÉquipe (id) de CET APPEL, sous son org parente.
_run_idNoOBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas.
_projectNoProjet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`.
_instanceNoInstance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`.
campaign_idYes

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does substantial work: it discloses that real messages go to real people, that validation dependencies (missing sender, broken DNS, daily limit) can block or degrade launch, that a paused campaign is the realistic target, and that a 400 is returned for already-running campaigns. It loses a point for an internal inconsistency — "A no-op if already running" is then contradicted by the 400 error disclosure, leaving the agent unsure whether repeat calls are harmless or rejected.

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 definition is front-loaded: the core action and its scope come first, then the prerequisite, then the operational caveat. Every paragraph is relevant, though the bolded warning partially restates and contradicts the earlier no-op claim, which is wasted and slightly confusing signaling rather than decisive concision.

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 six-parameter mutation tool with no annotations and no output schema, the description covers the essentials: real-world side effect, prerequisite validation call, and the realistic error/return condition. It does not say what a successful start returns or what happens to leads that were never launched, which leaves a modest gap.

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

Parameters3/5

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

Schema description coverage is 83%, so campaign_id and the routing parameters (_org, _group, _run_id, _project, _instance) are already documented in the schema. The description mentions campaign scope in prose but adds no format, id-source, or inheritance detail for campaign_id beyond what the schema provides, so the baseline of 3 applies.

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 definition states a specific verb and resource ("Start (or resume) a campaign — lemlist begins sending") and explicitly scopes it at campaign level, contrasting with lead-level siblings such as lemlist_launch_lead. An agent can distinguish it from lemlist_campaign(op="create") and the get/list siblings without opening a schema.

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

Usage Guidelines5/5

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

It names a concrete prerequisite call (lemlist_campaign(op="statutes") must be read first to surface blockers), explains why (same validation the UI runs), and gives explicit when-not guidance: a campaign created via lemlist_campaign(op="create") is already running, so this call returns 400. That is precisely the routing information an agent needs.

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