Skip to main content
Glama

lemlist_schedule

Manage sending windows (schedules) — days, hours, timezone, pacing.

A schedule belongs to the TEAM, not to a campaign: several campaigns can share one, and a campaign can carry several. Creating a campaign auto-creates one and returns its id in scheduleIds.

Args by op:

  • list: optional limit, offset/page, newest_first — the route is paginated, so a team with many windows needs them.

  • get / delete: schedule_id.

  • create: name (required) + timezone (IANA, default Europe/Paris), start/end (HH:mm, default 09:00-18:00), weekdays (1 = Monday … 7 = Sunday, default Mon-Fri), seconds_to_wait (pacing between two sends), public (offer it as a team template).

  • update: schedule_id + any of the same fields; only what is sent changes.

  • for_campaign: campaign_id. The schedules attached to a campaign.

  • associate: campaign_id + schedule_id. Attaches an existing window to a campaign.

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": {
      "op": "<op>"
    },
    "name": "lemlist_schedule"
  }
}

Input Schema

NameRequiredDescriptionDefault
opYes
endNo
_orgNoOrg (id) de CET APPEL. `oto_list_orgs()`.
nameNo
pageNo
limitNo
startNo
_groupNoÉquipe (id) de CET APPEL, sous son org parente.
offsetNo
publicNo
_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')`.
timezoneNo
weekdaysNo
_instanceNoInstance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`.
campaign_idNo
schedule_idNo
newest_firstNo
seconds_to_waitNo

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the team-level ownership model, that multiple campaigns can share a window, that create auto-provisions and returns ids in `scheduleIds`, that update is a partial patch ('only what is sent changes'), and that list is paginated. It does not say what delete does to existing campaign associations or what permissions are required.

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?

Front-loaded with the one-line purpose and the ownership caveat, then a scannable per-op bullet list. Despite covering seven operations, no sentence is filler and each bullet maps directly to a decision the caller must make.

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 19-param, seven-op tool with no annotations and no output schema, the description covers op selection and parameter semantics thoroughly. Remaining gaps are the return shape of list/get and the side effects of delete, which an agent would want before destructive use.

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?

Schema coverage is only 26% across 19 params, so the description must compensate and it does: it gives formats and defaults for timezone (IANA, Europe/Paris), start/end (HH:mm, 09:00-18:00), weekdays (1=Monday…7=Sunday, Mon-Fri), seconds_to_wait (pacing), public (team template), plus which params each op requires. This adds real meaning well beyond the bare schema types.

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 opening line names a specific verb and resource ('Manage sending windows (schedules)') and immediately scopes it to days, hours, timezone and pacing. The follow-up clarifies the ownership model (team-level, shared across campaigns), which distinguishes it from campaign-scoped siblings like lemlist_campaign.

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 'Args by op' block effectively tells the agent which op to pick for which intent (list vs get vs for_campaign vs associate), and it warns that creating a campaign auto-creates a schedule and returns its id. It stops short of explicit when-not-to-use guidance or naming a sibling tool as the alternative.

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