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

Create or edit a sequence draft

save_sequence_draft
Idempotent

Without sequenceId: create a complete new sequence (name plus ordered steps); the customer's request is the approval, so it is approved and live when this returns. With sequenceId and expectedRevision: read the full sequence first, then replace its complete step list using that exact revision, preserving next, condition, sendIf and other unchanged fields. The new revision is approved and returns to its previous status (active stays active, paused stays paused, a draft goes live). Omitted executionModel keeps the saved model on edit. Graphs allow up to 30 steps; linear/tracks allow 20. In a graph, a LinkedIn message or endorsement must come after a connection request and an 'Accepted?' (linkedin_accepted) or 'Already connected?' (linkedin_first_degree) Yes path; view, like and comment need no connection. Steps include connect, message, engage (LinkedIn), email (subject plus body), x_dm and x_engage; Instagram DMs run only in their own linear sequence. Linear sequences using LinkedIn must start with connect, and linear X sequences cannot mix other channels. Tracks use separate channel lanes. Graphs can mix LinkedIn, email and X, start with email or X, and branch with next/condition; connect need not be first. Once any lead has left graph step 0, changing step count, kinds, edges or conditions is refused; copy and delay edits remain possible with the structure preserved. Before graph outreach, automatic reply safety checks previously contacted email, LinkedIn and X conversations: a human reply stops the flow and unavailable evidence holds it, independently of xThreadCheck. {{firstName}} {{fullName}} {{company}} {{title}} render across channels. {{ai_intro}} (message and email steps) is a one-sentence opener Eve writes for each person from their role and recent LinkedIn posts when they reach that step, saved for later steps, costing 0.1 Energy per person; when it cannot be written it renders its plain-text |fallback, or 'Hope your week is going well.' without one, so put it on its own line. A message step may also carry a per-person value the customer supplies later (for example {{video_url}}); declare it with tool { kind: "customer_input", tokens: [...] } and the step holds each person until set_lead_input stores the value. Nothing is sent in this call; enrolled people enter the paced queue. Give the customer the result's reviewUrl to review or pause the sequence. Open world: an active saved sequence contacts enrolled people, who are third parties.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
stepsYesComplete replacement, not a patch: 1–30 graph steps or 1–20 linear/tracks steps. Read the full sequence before editing and retain unchanged routing and sendIf fields.
requestIdYesStable idempotency key; reuse it only to retry this exact request.
sequenceIdNo
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.
xThreadCheckNoWorkspace-wide optional X conversation check. true checks for prior conversations before X outreach (5 Energy per DM instead of 0.6); false is the default. Omit to keep the current setting. This is separate from automatic graph reply safety: setting false never disables checks for replies to previously contacted graph conversations, including before switching to LinkedIn or email.
executionModelNolinear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; a LinkedIn message or endorsement must come after a connection request and an 'Accepted?' (linkedin_accepted) or 'Already connected?' (linkedin_first_degree) Yes path; view, like and comment need no connection; missing email or X identity skips that channel's action. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress.
expectedRevisionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / steps / items / properties / messageTmpl / description
      Previous value: -"Required for email, X DM and Instagram DM steps; a LinkedIn message can instead supply text on every variant. On a connect step it is the optional connection note: at most 300 characters, only {{firstName}} {{fullName}} {{company}} {{title}} {{senderFirstName}}; omit it for a request without a note."New value: +"Required for email, X DM and Instagram DM steps; a LinkedIn message can instead supply text on every variant. On a connect step it is the connection note, which should be omitted unless the customer insists on one: at most 300 characters, only {{firstName}} {{fullName}} {{company}} {{title}} {{senderFirstName}}; omit it for a request without a note."
  2. Changed1 schema field changed
    • changedInput schema / properties / steps / items / properties / tool / anyOf
      Previous value: -[
      -  {
      -    "oneOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fallback": {
      -            "enum": [
      -              "send_without",
      -              "skip_step"
      -            ],
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "sendspark",
      -            "type": "string"
      -          },
      -          "outputToken": {
      -            "const": "video_url",
      -            "type": "string"
      -          },
      -          "params": {
      -            "additionalProperties": {
      -              "maxLength": 300,
      -              "type": "string"
      -            },
      -            "propertyNames": {
      -              "maxLength": 40,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "timeoutHours": {
      -            "maximum": 168,
      -            "minimum": 1,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "params"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "attachment": {
      -            "additionalProperties": false,
      -            "description": "LinkedIn message, email and X DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message, up to each provider's limit (LinkedIn: with the step's own attachments, at most 5 files and 15 MB together; 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). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. acceptRisk and emailOptIn are accepted for compatibility and ignored.",
      -            "properties": {
      -              "acceptRisk": {
      -                "const": true,
      -                "type": "boolean"
      -              },
      -              "emailOptIn": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "acceptedAt": {
      -                    "maxLength": 40,
      -                    "type": "string"
      -                  },
      -                  "acceptedBy": {
      -                    "maxLength": 200,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "acceptedBy"
      -                ],
      -                "type": "object"
      -              },
      -              "key": {
      -                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "key"
      -            ],
      -            "type": "object"
      -          },
      -          "kind": {
      -            "const": "customer_input",
      -            "type": "string"
      -          },
      -          "tokens": {
      -            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      -            "items": {
      -              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -              "type": "string"
      -            },
      -            "maxItems": 5,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "tokens"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "oneOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fallback": {
      +            "enum": [
      +              "send_without",
      +              "skip_step"
      +            ],
      +            "type": "string"
      +          },
      +          "kind": {
      +            "const": "sendspark",
      +            "type": "string"
      +          },
      +          "outputToken": {
      +            "const": "video_url",
      +            "type": "string"
      +          },
      +          "params": {
      +            "additionalProperties": {
      +              "maxLength": 300,
      +              "type": "string"
      +            },
      +            "propertyNames": {
      +              "maxLength": 40,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "timeoutHours": {
      +            "maximum": 168,
      +            "minimum": 1,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "params"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "attachment": {
      +            "additionalProperties": false,
      +            "description": "LinkedIn message, email, X DM and Instagram DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message, up to each provider's limit (LinkedIn: with the step's own attachments, at most 5 files and 15 MB together; 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). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. acceptRisk and emailOptIn are accepted for compatibility and ignored.",
      +            "properties": {
      +              "acceptRisk": {
      +                "const": true,
      +                "type": "boolean"
      +              },
      +              "emailOptIn": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "acceptedAt": {
      +                    "maxLength": 40,
      +                    "type": "string"
      +                  },
      +                  "acceptedBy": {
      +                    "maxLength": 200,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "acceptedBy"
      +                ],
      +                "type": "object"
      +              },
      +              "key": {
      +                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "key"
      +            ],
      +            "type": "object"
      +          },
      +          "kind": {
      +            "const": "customer_input",
      +            "type": "string"
      +          },
      +          "tokens": {
      +            "description": "LinkedIn message, email, X DM and Instagram DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      +            "items": {
      +              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +              "type": "string"
      +            },
      +            "maxItems": 5,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "tokens"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / executionModel / description
      Previous value: -"linear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; missing email or X identity skips that channel's action. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress."New value: +"linear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; a LinkedIn message or endorsement must come after a connection request and an 'Accepted?' (linkedin_accepted) or 'Already connected?' (linkedin_first_degree) Yes path; view, like and comment need no connection; missing email or X identity skips that channel's action. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress."
  4. Changed1 schema field changed
    • changedInput schema / properties / executionModel / description
      Previous value: -"linear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; missing email or X identity skips that channel's action. tracks requires multichannel_tracks; creating or editing graphs requires flow_graph. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress."New value: +"linear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; missing email or X identity skips that channel's action. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress."
  5. Changed1 schema field changed
    • changedInput schema / properties / steps / items / properties / tool / anyOf
      Previous value: -[
      -  {
      -    "oneOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fallback": {
      -            "enum": [
      -              "send_without",
      -              "skip_step"
      -            ],
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "sendspark",
      -            "type": "string"
      -          },
      -          "outputToken": {
      -            "const": "video_url",
      -            "type": "string"
      -          },
      -          "params": {
      -            "additionalProperties": {
      -              "maxLength": 300,
      -              "type": "string"
      -            },
      -            "propertyNames": {
      -              "maxLength": 40,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "timeoutHours": {
      -            "maximum": 168,
      -            "minimum": 1,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "params"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "attachment": {
      -            "additionalProperties": false,
      -            "description": "LinkedIn message, email and X DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message, up to each provider's limit (LinkedIn: with the step's own attachments, at most 5 files and 15 MB together; 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). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. On an email step, first show the customer this warning and get their agreement: \"Attachments on cold email often land in spam or get blocked. This sends from your own mailbox and you accept that risk. A link usually performs better.\" Only then set acceptRisk true; keep an emailOptIn already returned by list_sequences unchanged when editing.",
      -            "properties": {
      -              "acceptRisk": {
      -                "const": true,
      -                "type": "boolean"
      -              },
      -              "emailOptIn": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "acceptedAt": {
      -                    "maxLength": 40,
      -                    "type": "string"
      -                  },
      -                  "acceptedBy": {
      -                    "maxLength": 200,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "acceptedBy"
      -                ],
      -                "type": "object"
      -              },
      -              "key": {
      -                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "key"
      -            ],
      -            "type": "object"
      -          },
      -          "kind": {
      -            "const": "customer_input",
      -            "type": "string"
      -          },
      -          "tokens": {
      -            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      -            "items": {
      -              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -              "type": "string"
      -            },
      -            "maxItems": 5,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "tokens"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "oneOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fallback": {
      +            "enum": [
      +              "send_without",
      +              "skip_step"
      +            ],
      +            "type": "string"
      +          },
      +          "kind": {
      +            "const": "sendspark",
      +            "type": "string"
      +          },
      +          "outputToken": {
      +            "const": "video_url",
      +            "type": "string"
      +          },
      +          "params": {
      +            "additionalProperties": {
      +              "maxLength": 300,
      +              "type": "string"
      +            },
      +            "propertyNames": {
      +              "maxLength": 40,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "timeoutHours": {
      +            "maximum": 168,
      +            "minimum": 1,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "params"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "attachment": {
      +            "additionalProperties": false,
      +            "description": "LinkedIn message, email and X DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message, up to each provider's limit (LinkedIn: with the step's own attachments, at most 5 files and 15 MB together; 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). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. acceptRisk and emailOptIn are accepted for compatibility and ignored.",
      +            "properties": {
      +              "acceptRisk": {
      +                "const": true,
      +                "type": "boolean"
      +              },
      +              "emailOptIn": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "acceptedAt": {
      +                    "maxLength": 40,
      +                    "type": "string"
      +                  },
      +                  "acceptedBy": {
      +                    "maxLength": 200,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "acceptedBy"
      +                ],
      +                "type": "object"
      +              },
      +              "key": {
      +                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "key"
      +            ],
      +            "type": "object"
      +          },
      +          "kind": {
      +            "const": "customer_input",
      +            "type": "string"
      +          },
      +          "tokens": {
      +            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      +            "items": {
      +              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +              "type": "string"
      +            },
      +            "maxItems": 5,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "tokens"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / steps / items / properties / tool / anyOf
      Previous value: -[
      -  {
      -    "oneOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fallback": {
      -            "enum": [
      -              "send_without",
      -              "skip_step"
      -            ],
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "sendspark",
      -            "type": "string"
      -          },
      -          "outputToken": {
      -            "const": "video_url",
      -            "type": "string"
      -          },
      -          "params": {
      -            "additionalProperties": {
      -              "maxLength": 300,
      -              "type": "string"
      -            },
      -            "propertyNames": {
      -              "maxLength": 40,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "timeoutHours": {
      -            "maximum": 168,
      -            "minimum": 1,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "params"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "attachment": {
      -            "additionalProperties": false,
      -            "description": "LinkedIn message, email and X DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message (LinkedIn: with the step's own attachments, at most 5 files and 4 MB together; email: one file of 1 MB or less (a document, image or short MP4); X: one image or MP4 video, 4 MB or less). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. On an email step, first show the customer this warning and get their agreement: \"Attachments on cold email often land in spam or get blocked. This sends from your own mailbox and you accept that risk. A link usually performs better.\" Only then set acceptRisk true; keep an emailOptIn already returned by list_sequences unchanged when editing.",
      -            "properties": {
      -              "acceptRisk": {
      -                "const": true,
      -                "type": "boolean"
      -              },
      -              "emailOptIn": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "acceptedAt": {
      -                    "maxLength": 40,
      -                    "type": "string"
      -                  },
      -                  "acceptedBy": {
      -                    "maxLength": 200,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "acceptedBy"
      -                ],
      -                "type": "object"
      -              },
      -              "key": {
      -                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "key"
      -            ],
      -            "type": "object"
      -          },
      -          "kind": {
      -            "const": "customer_input",
      -            "type": "string"
      -          },
      -          "tokens": {
      -            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      -            "items": {
      -              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -              "type": "string"
      -            },
      -            "maxItems": 5,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "tokens"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "oneOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fallback": {
      +            "enum": [
      +              "send_without",
      +              "skip_step"
      +            ],
      +            "type": "string"
      +          },
      +          "kind": {
      +            "const": "sendspark",
      +            "type": "string"
      +          },
      +          "outputToken": {
      +            "const": "video_url",
      +            "type": "string"
      +          },
      +          "params": {
      +            "additionalProperties": {
      +              "maxLength": 300,
      +              "type": "string"
      +            },
      +            "propertyNames": {
      +              "maxLength": 40,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "timeoutHours": {
      +            "maximum": 168,
      +            "minimum": 1,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "params"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "attachment": {
      +            "additionalProperties": false,
      +            "description": "LinkedIn message, email and X DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message, up to each provider's limit (LinkedIn: with the step's own attachments, at most 5 files and 15 MB together; 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). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. On an email step, first show the customer this warning and get their agreement: \"Attachments on cold email often land in spam or get blocked. This sends from your own mailbox and you accept that risk. A link usually performs better.\" Only then set acceptRisk true; keep an emailOptIn already returned by list_sequences unchanged when editing.",
      +            "properties": {
      +              "acceptRisk": {
      +                "const": true,
      +                "type": "boolean"
      +              },
      +              "emailOptIn": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "acceptedAt": {
      +                    "maxLength": 40,
      +                    "type": "string"
      +                  },
      +                  "acceptedBy": {
      +                    "maxLength": 200,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "acceptedBy"
      +                ],
      +                "type": "object"
      +              },
      +              "key": {
      +                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "key"
      +            ],
      +            "type": "object"
      +          },
      +          "kind": {
      +            "const": "customer_input",
      +            "type": "string"
      +          },
      +          "tokens": {
      +            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      +            "items": {
      +              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +              "type": "string"
      +            },
      +            "maxItems": 5,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "tokens"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  7. Changed1 schema field changed
    • changedInput schema / properties / steps / items / properties / tool / anyOf
      Previous value: -[
      -  {
      -    "oneOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fallback": {
      -            "enum": [
      -              "send_without",
      -              "skip_step"
      -            ],
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "sendspark",
      -            "type": "string"
      -          },
      -          "outputToken": {
      -            "const": "video_url",
      -            "type": "string"
      -          },
      -          "params": {
      -            "additionalProperties": {
      -              "maxLength": 300,
      -              "type": "string"
      -            },
      -            "propertyNames": {
      -              "maxLength": 40,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "timeoutHours": {
      -            "maximum": 168,
      -            "minimum": 1,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "params"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "kind": {
      -            "const": "customer_input",
      -            "type": "string"
      -          },
      -          "tokens": {
      -            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically).",
      -            "items": {
      -              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -              "type": "string"
      -            },
      -            "maxItems": 5,
      -            "minItems": 1,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "tokens"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "oneOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fallback": {
      +            "enum": [
      +              "send_without",
      +              "skip_step"
      +            ],
      +            "type": "string"
      +          },
      +          "kind": {
      +            "const": "sendspark",
      +            "type": "string"
      +          },
      +          "outputToken": {
      +            "const": "video_url",
      +            "type": "string"
      +          },
      +          "params": {
      +            "additionalProperties": {
      +              "maxLength": 300,
      +              "type": "string"
      +            },
      +            "propertyNames": {
      +              "maxLength": 40,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "timeoutHours": {
      +            "maximum": 168,
      +            "minimum": 1,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "params"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "attachment": {
      +            "additionalProperties": false,
      +            "description": "LinkedIn message, email and X DM steps. A file the customer gives for each person, such as a personalised demo video, sent with the message (LinkedIn: with the step's own attachments, at most 5 files and 4 MB together; email: one file of 1 MB or less (a document, image or short MP4); X: one image or MP4 video, 4 MB or less). The step holds each person until their file is stored with set_lead_input. Use key \"personal_file\" unless the customer names it. A LinkedIn message may have empty text when the file is the whole message; an X DM still needs text. On an email step, first show the customer this warning and get their agreement: \"Attachments on cold email often land in spam or get blocked. This sends from your own mailbox and you accept that risk. A link usually performs better.\" Only then set acceptRisk true; keep an emailOptIn already returned by list_sequences unchanged when editing.",
      +            "properties": {
      +              "acceptRisk": {
      +                "const": true,
      +                "type": "boolean"
      +              },
      +              "emailOptIn": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "acceptedAt": {
      +                    "maxLength": 40,
      +                    "type": "string"
      +                  },
      +                  "acceptedBy": {
      +                    "maxLength": 200,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "acceptedBy"
      +                ],
      +                "type": "object"
      +              },
      +              "key": {
      +                "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "key"
      +            ],
      +            "type": "object"
      +          },
      +          "kind": {
      +            "const": "customer_input",
      +            "type": "string"
      +          },
      +          "tokens": {
      +            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically). May be empty only when attachment is set.",
      +            "items": {
      +              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +              "type": "string"
      +            },
      +            "maxItems": 5,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "tokens"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  8. Changed1 schema field changed
    • changedInput schema / properties / steps / items / properties / tool / anyOf
      Previous value: -[
      -  {
      -    "oneOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fallback": {
      -            "enum": [
      -              "send_without",
      -              "skip_step"
      -            ],
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "sendspark",
      -            "type": "string"
      -          },
      -          "outputToken": {
      -            "const": "video_url",
      -            "type": "string"
      -          },
      -          "params": {
      -            "additionalProperties": {
      -              "maxLength": 300,
      -              "type": "string"
      -            },
      -            "propertyNames": {
      -              "maxLength": 40,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "timeoutHours": {
      -            "maximum": 168,
      -            "minimum": 1,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "params"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "kind": {
      -            "const": "customer_input",
      -            "type": "string"
      -          },
      -          "tokens": {
      -            "description": "Message steps only. The tokens in this step's text that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa.",
      -            "items": {
      -              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      -              "type": "string"
      -            },
      -            "maxItems": 5,
      -            "minItems": 1,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "tokens"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "oneOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fallback": {
      +            "enum": [
      +              "send_without",
      +              "skip_step"
      +            ],
      +            "type": "string"
      +          },
      +          "kind": {
      +            "const": "sendspark",
      +            "type": "string"
      +          },
      +          "outputToken": {
      +            "const": "video_url",
      +            "type": "string"
      +          },
      +          "params": {
      +            "additionalProperties": {
      +              "maxLength": 300,
      +              "type": "string"
      +            },
      +            "propertyNames": {
      +              "maxLength": 40,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "timeoutHours": {
      +            "maximum": 168,
      +            "minimum": 1,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "params"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "kind": {
      +            "const": "customer_input",
      +            "type": "string"
      +          },
      +          "tokens": {
      +            "description": "LinkedIn message, email and X DM steps. The tokens in this step's text (and an email's subject) that the customer supplies for each person (for example [\"video_url\"] for {{video_url}}). The step holds each person until every token has a value from set_lead_input; there is no timeout. Every non-built-in token in the text must be declared here and vice versa ({{email}} on email and {{username}} on X are filled automatically).",
      +            "items": {
      +              "pattern": "^[a-z][a-z0-9_]{0,39}$",
      +              "type": "string"
      +            },
      +            "maxItems": 5,
      +            "minItems": 1,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "tokens"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  9. Changed4 schema fields changed
    • changedInput schema / properties / executionModel / description
      Previous value: -"tracks: LinkedIn, email and X steps run as parallel lanes per person (each lane's delayDays count from its own previous step; a person without one channel's handle still gets the others). graph: a branching flow of up to 30 steps; every step has next, branch steps (kind branch, with condition and delayDays as the wait window) split into yes and no paths, connect may sit anywhere (once per path), and a person with no email skips an email step. Example: connect -> branch linkedin_accepted 3 days, yes -> message, no -> email. tracks needs the workspace's multichannel_tracks feature and graph needs its flow_graph feature. Default linear."New value: +"linear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; missing email or X identity skips that channel's action. tracks requires multichannel_tracks; creating or editing graphs requires flow_graph. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress."
    • addedInput schema / properties / steps / description
      Added value: +"Complete replacement, not a patch: 1–30 graph steps or 1–20 linear/tracks steps. Read the full sequence before editing and retain unchanged routing and sendIf fields."
    • changedInput schema / properties / steps / items / properties / next / description
      Previous value: -"executionModel graph only: where the step leads, by step index. { next: i } on an action step (omit to go on to the following step), { yes: i, no: j } on a branch; null ends the flow there. Step 0 is where everyone starts; paths may merge but never loop."New value: +"executionModel graph only: { next: i } on an action step, { yes: i, no: j } on a branch. A null target ends that path, for example { next: null }; omitting an action's next object or passing top-level next: null defaults to the following step. Step 0 is the entry; every step must be reachable, paths may merge but never loop. Preserve the returned next objects when editing."
    • changedInput schema / properties / xThreadCheck / description
      Previous value: -"Workspace-wide X setting (applies to every sequence). true: before each X DM, check the conversation so nobody the customer already talks to is messaged and the sequence stops on a reply (5 Energy per DM). false (the default): messages send without that check, cheaper. Omit to keep the current setting."New value: +"Workspace-wide optional X conversation check. true checks for prior conversations before X outreach (5 Energy per DM instead of 0.6); false is the default. Omit to keep the current setting. This is separate from automatic graph reply safety: setting false never disables checks for replies to previously contacted graph conversations, including before switching to LinkedIn or email."
  10. Changed8 schema fields changed
    • changedInput schema / properties / executionModel / description
      Previous value: -"tracks: LinkedIn, email and X steps run as parallel lanes per person (each lane's delayDays count from its own previous step; a person without one channel's handle still gets the others). Needs the workspace's multichannel_tracks feature. Default linear."New value: +"tracks: LinkedIn, email and X steps run as parallel lanes per person (each lane's delayDays count from its own previous step; a person without one channel's handle still gets the others). graph: a branching flow of up to 30 steps; every step has next, branch steps (kind branch, with condition and delayDays as the wait window) split into yes and no paths, connect may sit anywhere (once per path), and a person with no email skips an email step. Example: connect -> branch linkedin_accepted 3 days, yes -> message, no -> email. tracks needs the workspace's multichannel_tracks feature and graph needs its flow_graph feature. Default linear."
    • changedInput schema / properties / executionModel / enum
      Previous value: -[
      -  "linear",
      -  "tracks"
      -]New value: +[
      +  "linear",
      +  "tracks",
      +  "graph"
      +]
    • addedInput schema / properties / steps / items / properties / condition
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "linkedin_accepted",
      +        "x_followed_back",
      +        "has_email",
      +        "linkedin_first_degree"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Branch steps only (executionModel graph). linkedin_accepted and x_followed_back: yes as soon as it happens, no when the window (delayDays, 0 to 30) ends. has_email and linkedin_first_degree (already connected): answered the moment the person reaches the branch."
      +}
    • changedInput schema / properties / steps / items / properties / kind / enum
      Previous value: -[
      -  "connect",
      -  "message",
      -  "engage",
      -  "email",
      -  "x_dm",
      -  "x_engage",
      -  "instagram_dm"
      -]New value: +[
      +  "connect",
      +  "message",
      +  "engage",
      +  "email",
      +  "x_dm",
      +  "x_engage",
      +  "instagram_dm",
      +  "branch"
      +]
    • changedInput schema / properties / steps / items / properties / messageTmpl / description
      Previous value: -"Required for email, X DM and Instagram DM steps; a LinkedIn message can instead supply text on every variant."New value: +"Required for email, X DM and Instagram DM steps; a LinkedIn message can instead supply text on every variant. On a connect step it is the optional connection note: at most 300 characters, only {{firstName}} {{fullName}} {{company}} {{title}} {{senderFirstName}}; omit it for a request without a note."
    • addedInput schema / properties / steps / items / properties / next
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "next": {
      +              "anyOf": [
      +                {
      +                  "maximum": 29,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "next"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "no": {
      +              "anyOf": [
      +                {
      +                  "maximum": 29,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "yes": {
      +              "anyOf": [
      +                {
      +                  "maximum": 29,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "yes",
      +            "no"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "executionModel graph only: where the step leads, by step index. { next: i } on an action step (omit to go on to the following step), { yes: i, no: j } on a branch; null ends the flow there. Step 0 is where everyone starts; paths may merge but never loop."
      +}
    • changedInput schema / properties / steps / items / properties / stepIndex / maximum
      Previous value: -19New value: +29
    • changedInput schema / properties / steps / maxItems
      Previous value: -20New value: +30
  11. 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."
  12. Changed1 schema field changed
    • addedInput schema / properties / steps / items / properties / attachments
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "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"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "size": {
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "name",
      +      "size"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
  13. Changed1 schema field changed
    • changedInput schema / properties / xThreadCheck / description
      Previous value: -"X sequences only. true (the default for a new sequence): before each X DM, check the conversation so nobody the customer already talks to is messaged and the sequence stops on a reply. false, only when the customer asks: messages send without that check, cheaper, for cold lists with no existing contacts. Omit to keep the current setting."New value: +"Workspace-wide X setting (applies to every sequence). true: before each X DM, check the conversation so nobody the customer already talks to is messaged and the sequence stops on a reply (5 Energy per DM). false (the default): messages send without that check, cheaper. Omit to keep the current setting."
  14. Changed1 schema field changed
    • addedInput schema / properties / xThreadCheck
      Added value: +{
      +  "description": "X sequences only. true (the default for a new sequence): before each X DM, check the conversation so nobody the customer already talks to is messaged and the sequence stops on a reply. false, only when the customer asks: messages send without that check, cheaper, for cold lists with no existing contacts. Omit to keep the current setting.",
      +  "type": "boolean"
      +}
  15. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources