Skip to main content
Glama
This connector has been deprecated

Duplicate listing. The official PumpGTM connector is https://glama.ai/mcp/connectors/com.pumpgtm/mcp (same server, https://mcp.pumpgtm.com/mcp).

Move untouched leads to another sequence

move_leads
Idempotent

When requested by the customer, schedule the exact reviewed leadIds to move to sequenceId after a five-second server delay. Supply one stable operationId UUID and reuse the identical selection, destination and ID for every retry. Save the operationId; get_lead_move reads its status. cancel_lead_move can cancel only during the five-second window and before execution claims the pending operation; there is no reversal after execution starts. Eligibility is checked again when executing. Moved people follow the destination's normal schedule with existing personal pauses preserved. This never approves messages or activates a sequence. Inspect blocked reasons; never delete or re-import to bypass eligibility. Returns the operation with status, executeAfter, serverNow and any confirmed results.

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": {
      "leadIds": "<leadIds>",
      "sequenceId": "<sequenceId>",
      "operationId": "<operationId>"
    },
    "name": "move_leads"
  }
}

Input Schema

NameRequiredDescriptionDefault
leadIdsYesIDs of the existing people to move, from list_leads. Each is checked separately.
sequenceIdYesDestination sequence ID, from list_sequences. It keeps its own approval and start status.
operationIdYesStable ID for this exact selection and destination. Reuse when retrying.
workspaceIdNoA teammate's workspace you may manage: an active workspace ID from list_team_workspaces. Omit for your own workspace. Supply on every call for a teammate.
sourceSequenceIdNoSequence the people are expected to be in now (from list_sequences). Anyone who has left it is blocked instead of moved. Omit to move them from wherever they are.

Output Schema

NameRequiredDescriptionDefault
statusYespending, running, completed, cancelled or failed.
resultsYesConfirmed per-person outcomes so far.
serverNowYesServer time of this read; compare with executeAfter.
movedCountYesPeople confirmed moved so far.
sequenceIdYesDestination sequence ID.
operationIdYesThe move operation's ID; keep it to read or cancel the move.
blockedCountYesPeople confirmed blocked so far.
executeAfterYesTime the move starts; cancel_lead_move works only before this.
requestLeadIdsYesEvery person requested. Anyone missing from results is still unconfirmed and needs review.
sourceSequenceIdNoSource sequence the move was bound to, when one was supplied.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / leadIds / description
      Added value: +"IDs of the existing people to move, from list_leads. Each is checked separately."
    • addedInput schema / properties / sequenceId / description
      Added value: +"Destination sequence ID, from list_sequences. It keeps its own approval and start status."
    • changedInput schema / properties / sourceSequenceId / description
      Previous value: -"Only move people still in this source sequence."New value: +"Sequence the people are expected to be in now (from list_sequences). Anyone who has left it is blocked instead of moved. Omit to move them from wherever they are."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "blockedCount": {
      +      "description": "People confirmed blocked so far.",
      +      "type": "number"
      +    },
      +    "executeAfter": {
      +      "description": "Time the move starts; cancel_lead_move works only before this.",
      +      "type": "string"
      +    },
      +    "movedCount": {
      +      "description": "People confirmed moved so far.",
      +      "type": "number"
      +    },
      +    "operationId": {
      +      "description": "The move operation's ID; keep it to read or cancel the move.",
      +      "type": "string"
      +    },
      +    "requestLeadIds": {
      +      "description": "Every person requested. Anyone missing from results is still unconfirmed and needs review.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "results": {
      +      "description": "Confirmed per-person outcomes so far.",
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "leadId": {
      +            "description": "The person's lead ID.",
      +            "type": "string"
      +          },
      +          "message": {
      +            "description": "Plain-language explanation to show the customer.",
      +            "type": "string"
      +          },
      +          "person": {
      +            "description": "The person's name, or null when unknown.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "reason": {
      +            "description": "Why the person is blocked (or a safety note), or null. Codes such as outreach_started or contact_stopped.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "sourceSequenceId": {
      +            "description": "Sequence the person was in, or null.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "status": {
      +            "description": "moved or blocked.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "leadId",
      +          "person",
      +          "sourceSequenceId",
      +          "reason",
      +          "message",
      +          "status"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "sequenceId": {
      +      "description": "Destination sequence ID.",
      +      "type": "string"
      +    },
      +    "serverNow": {
      +      "description": "Server time of this read; compare with executeAfter.",
      +      "type": "string"
      +    },
      +    "sourceSequenceId": {
      +      "description": "Source sequence the move was bound to, when one was supplied.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "pending, running, completed, cancelled or failed.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "operationId",
      +    "sequenceId",
      +    "requestLeadIds",
      +    "status",
      +    "executeAfter",
      +    "serverNow",
      +    "movedCount",
      +    "blockedCount",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / sourceSequenceId
      Added value: +{
      +  "description": "Only move people still in this source sequence.",
      +  "format": "uuid",
      +  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +  "type": "string"
      +}
  3. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only give the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description adds substantive behavior beyond them: a five-second server delay before execution, a cancellation window that closes when execution claims the operation, no reversal once execution starts, re-checked eligibility at execution time, preserved personal pauses, and that it never approves messages or activates a sequence.

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-loads the action and timing constraint, then layers retry, cancellation, eligibility and safety constraints in short declarative sentences. Despite being dense, each sentence carries a distinct operational constraint; nothing is redundant or restated from the annotations.

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 mutating, delayed, idempotent operation with 5 parameters, the description covers prerequisites, retry semantics, cancellation window, irreversibility, eligibility re-check and side effects on destination scheduling. Since an output schema exists, the brief return summary (status, executeAfter, serverNow, confirmed results) is sufficient without full field documentation.

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 100%, so the schema already documents leadIds, sequenceId, operationId, workspaceId and sourceSequenceId, including the retry-reuse note for operationId. The description reinforces the idempotency-key contract ('reuse the identical selection, destination and ID for every retry') but adds no new field-level meaning beyond the schema, so the baseline 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?

States a specific verb and resource with scope: 'schedule the exact reviewed leadIds to move to sequenceId'. The mention of 'reviewed leadIds' and the delay-based scheduling cleanly separates it from add_to_sequence (direct add) and preview_move_leads (dry run), so an agent can route without opening sibling schemas.

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?

Explicit when-to-use ('when requested by the customer'), explicit follow-ups (get_lead_move for status, cancel_lead_move for cancellation within the window), and explicit when-not ('never delete or re-import to bypass eligibility' if blocked reasons appear). Alternatives and exclusions are named rather than inferred.

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