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).

Store a per-person value or file for a held message

set_lead_input
Idempotent

Store a value the customer supplies for one person, such as a link to a video they recorded, so a LinkedIn message, email, X DM or Instagram DM step declared with tool customer_input can send. Identify the person by exactly one of leadId, LinkedIn profile URL, email address or X handle. values maps the sequence's token names (for example video_url) to the customer's text; the key comes from the sequence, the customer never types it. One call fills every step of that person's sequence that uses the token and has not sent yet. A LinkedIn message, opted-in email or X DM step may instead ask for a file for each person (tool customer_input attachment, for example a personalised demo video). Limits are the providers': LinkedIn 15 MB per message together with the step's own files; email one document, image or MP4 up to 18 MB (1.5 MB from Microsoft mailboxes); X one image up to 5 MB, GIF up to 15 MB or MP4 video up to 50 MB and 140 seconds. Nothing is compressed: a larger file is refused with the limit and the way forward, which you relay as written (compress it and try again, or send a video link instead). A link to a video (Loom, YouTube, Drive) is a text value such as video_url, not a file. To send a file, call once with upload { key, fileName, size } to get a one-time uploadUrl, PUT the file's bytes there with the returned headers, then call again with files { key: uploadTicket }; if you cannot upload bytes yourself, give the customer the returned appUrl to add the file in the app instead. For several people at once (the customer has already decided which file is whose; do not second-guess their pairing), call with uploads [{ leadId or linkedinUrl or email or xUsername, key, fileName, size }] (up to 25, no top-level person) to get one uploadUrl and uploadTicket per person, PUT each file, then call with confirmUploads [uploadTicket, ...] to attach them all. Each person succeeds or is refused on their own with a reason; tickets last two hours and confirming one again is harmless, so a rerun only adds what is missing. Afterwards list_leads with sequenceId and personalFiles=true shows which file each person has. Nothing is sent in this call: the paced engine sends on its next run if the person is at that step, or when they reach it. A value or file for someone who already replied, finished, or already received that message is refused with nothing changed. The result includes how many people in that sequence are still waiting. Open world: the stored value releases a held message to that person, a third party.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoThe person's email address, for someone reached by email.
filesNoThe file slot's key mapped to the uploadTicket returned by a previous upload call, after the bytes were uploaded.
leadIdNo
uploadNoAsk for a one-time upload link for this person's file. Stores nothing.
valuesNo
uploadsNoSeveral people's files at once: one upload link per person. Stores nothing. Use instead of a top-level person.
requestIdYesStable idempotency key; reuse it only to retry this exact request.
xUsernameNoThe person's X handle, with or without @, for someone reached on X.
linkedinUrlNo
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.
confirmUploadsNoThe uploadTickets from an uploads call, after each file's bytes were PUT; attaches each to its person. Use instead of a top-level person.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / confirmUploads
      Added value: +{
      +  "description": "The uploadTickets from an uploads call, after each file's bytes were PUT; attaches each to its person. Use instead of a top-level person.",
      +  "items": {
      +    "maxLength": 2000,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 25,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / uploads
      Added value: +{
      +  "description": "Several people's files at once: one upload link per person. Stores nothing. Use instead of a top-level person.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "email": {
      +        "maxLength": 320,
      +        "minLength": 3,
      +        "type": "string"
      +      },
      +      "fileName": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "key": {
      +        "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +        "type": "string"
      +      },
      +      "leadId": {
      +        "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"
      +      },
      +      "linkedinUrl": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "size": {
      +        "exclusiveMinimum": 0,
      +        "maximum": 50000000,
      +        "type": "integer"
      +      },
      +      "xUsername": {
      +        "maxLength": 16,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "key",
      +      "fileName",
      +      "size"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 25,
      +  "minItems": 1,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / upload / properties / size / maximum
      Previous value: -4000000New value: +50000000
  3. Changed3 schema fields changed
    • addedInput schema / properties / files
      Added value: +{
      +  "additionalProperties": {
      +    "maxLength": 2000,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "description": "The file slot's key mapped to the uploadTicket returned by a previous upload call, after the bytes were uploaded.",
      +  "propertyNames": {
      +    "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / upload
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Ask for a one-time upload link for this person's file. Stores nothing.",
      +  "properties": {
      +    "fileName": {
      +      "maxLength": 200,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "key": {
      +      "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +      "type": "string"
      +    },
      +    "size": {
      +      "exclusiveMinimum": 0,
      +      "maximum": 4000000,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "key",
      +    "fileName",
      +    "size"
      +  ],
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "requestId",
      -  "values"
      -]New value: +[
      +  "requestId"
      +]
  4. Changed2 schema fields changed
    • addedInput schema / properties / email
      Added value: +{
      +  "description": "The person's email address, for someone reached by email.",
      +  "maxLength": 320,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • addedInput schema / properties / xUsername
      Added value: +{
      +  "description": "The person's X handle, with or without @, for someone reached on X.",
      +  "maxLength": 16,
      +  "minLength": 1,
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / workspaceId / description
      Previous value: -"Team owner only: an active workspace ID from list_team_workspaces. Omit for your own workspace. Supply on every call for a teammate."New value: +"A 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."
  6. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources