Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kalent.ai/llms.txt

Use this file to discover all available pages before exploring further.

Updates an existing sequence blueprint in the authenticated MCP workspace. Send at least one of name, steps, or config.

Input

ParameterTypeRequiredDescription
blueprintIdstringYesSequence blueprint to update.
namestringNoNew display name for the blueprint.
stepsarrayNoOrdered outreach steps. Sending steps replaces the full list.
configobjectNoOptional sequence-level configuration.

Step shape

Each item in steps must include:
FieldTypeRequiredDescription
idstringYesStable step id, unique within the blueprint.
namestringYesStep label.
typeLINKEDIN | WHATSAPP | EMAIL | SMSYesOutreach channel.
linkedInTypestringFor LinkedInRequired when type is LINKEDIN; not allowed otherwise.
contentstringYesMessage body.
subjectstringEmail onlyEmail subject.
temporalityTypeASAP | DELAYED | AFTER_INVITATION_SETTLEDYesScheduling rule.
delayobjectFor delayed stepsRequired when temporalityType is DELAYED.
delay.valueintegerWith delayPositive delay value.
delay.unitday | minute | secondWith delayDelay unit.
contentSourcemanual | suggestedByKalentNoMessage origin.
policy.skipStepIfNoContactbooleanNoSkip if the required contact is missing.
policy.autoValidateAIDraftbooleanNoAutomatically validate AI-generated drafts.
policy.inviteTimeoutDaysintegerNoPositive number of days for invite-related follow-up logic.
Allowed linkedInType values are LINKEDIN_INVITATION, LINKEDIN_INVITATION_WITH_MESSAGE, LINKEDIN_MESSAGE, and LINKEDIN_INMAIL. Only one invite step is allowed per blueprint.

Supported template variables

Only these variables are supported in content and subject:
VariableMeaning
{{firstname}}Candidate first name
{{lastname}}Candidate last name
{{candidateJobTitle}}Candidate current job title
{{candidateCompanyName}}Candidate current company
{{candidateLocation}}Candidate location
{{sourcingJobTitle}}Sourcing target job title
{{sourcingLocation}}Sourcing target location
{{recruiterFirstname}}Recruiter first name
{{recruiterLastname}}Recruiter last name
Do not invent variables. Unknown variables such as {{firstName}}, {{company}}, or {{job}} are rejected. Do not use unresolved bracket placeholders such as [company], [specific project or stack], [one-pager link], or [1 detail to add] in content or subject. Replace them with real text, remove that part of the sentence, or ask the user for the missing detail before calling update_sequence_blueprint.

Example input

{
  "blueprintId": "BLUEPRINT_ID",
  "steps": [
    {
      "id": "step-1",
      "name": "LinkedIn invite",
      "type": "LINKEDIN",
      "linkedInType": "LINKEDIN_INVITATION_WITH_MESSAGE",
      "content": "Hi {{firstname}}, I came across your profile and wanted to connect.",
      "temporalityType": "ASAP",
      "contentSource": "manual"
    },
    {
      "id": "step-2",
      "name": "Email follow-up",
      "type": "EMAIL",
      "subject": "Quick follow-up",
      "content": "Hi {{firstname}}, would you be open to discussing the role?",
      "temporalityType": "DELAYED",
      "delay": { "value": 2, "unit": "day" },
      "policy": { "skipStepIfNoContact": true }
    }
  ]
}

Output

JSON block with success: true and data: blueprintId, name, and sourcingId.

Errors

session not found, Not found, or a human-readable validation message when the blueprint cannot be updated.