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.
Creates a sequence blueprint tied to a sourcing in the authenticated MCP workspace. You can create an empty blueprint or provide the full steps array immediately.
| Parameter | Type | Required | Description |
|---|
sourcingId | string | Yes | Sourcing id from create_sourcing. |
name | string | Yes | Display name for the blueprint. |
steps | array | No | Ordered outreach steps. See Step format. |
config | object | No | Optional sequence-level configuration. |
Each item in steps must include:
| Field | Type | Required | Description |
|---|
id | string | Yes | Stable step id, unique within the blueprint. |
name | string | Yes | Step label. |
type | LINKEDIN | WHATSAPP | EMAIL | SMS | Yes | Outreach channel. |
linkedInType | string | For LinkedIn | Required when type is LINKEDIN; not allowed otherwise. |
content | string | Yes | Message body. |
subject | string | Email only | Email subject. |
temporalityType | ASAP | DELAYED | AFTER_INVITATION_SETTLED | Yes | Scheduling rule. |
delay | object | For delayed steps | Required when temporalityType is DELAYED. |
delay.value | integer | With delay | Positive delay value. |
delay.unit | day | minute | second | With delay | Delay unit. |
contentSource | manual | suggestedByKalent | No | Message origin. |
policy.skipStepIfNoContact | boolean | No | Skip if the required contact is missing. |
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:
| Variable | Meaning |
|---|
{{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 create_sequence_blueprint.
{
"sourcingId": "SOURCING_ID",
"name": "First outreach sequence",
"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 sourcing cannot be used.