Sequences
Create sequence blueprint
Create a manual outreach sequence blueprint for a sourcing.
POST
Create sequence blueprint
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.
First time? Set up Authentication
Learn how to authenticate your API requests with your API key.
steps array immediately.
Path parameters
The sourcing id returned by Create sourcing.
Request body
Display name for the sequence blueprint.
Optional ordered outreach steps. See Step format.
Optional sequence-level configuration.
Step format
Each item insteps must be an object with this shape:
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Stable client-generated step id, unique within the blueprint. |
name | string | Yes | Human-readable step label. |
type | string | Yes | LINKEDIN, WHATSAPP, EMAIL, or SMS. |
linkedInType | string | Only for LinkedIn | Required when type is LINKEDIN; forbidden for other types. |
content | string | Yes | Message body. For LINKEDIN_INVITATION, content is accepted but stored as an empty string. |
subject | string | Email only | Email subject. |
temporalityType | string | Yes | ASAP, DELAYED, or AFTER_INVITATION_SETTLED. |
delay | object | For delayed steps | Required when temporalityType is DELAYED. |
delay.value | integer | With delay | Positive delay value. |
delay.unit | string | With delay | day, minute, or second. |
contentSource | string | No | manual or suggestedByKalent. |
config.userId | string | No | Optional sender/user override. |
policy.skipStepIfNoContact | boolean | No | Skip the step when the required contact is unavailable. |
policy.autoValidateAIDraft | boolean | No | Automatically validate AI-generated drafts. |
policy.inviteTimeoutDays | integer | No | Positive number of days before invite-related follow-up logic. |
linkedInType values:
LINKEDIN_INVITATIONLINKEDIN_INVITATION_WITH_MESSAGELINKEDIN_MESSAGELINKEDIN_INMAIL
LINKEDIN_INVITATION or LINKEDIN_INVITATION_WITH_MESSAGE.
Supported template variables
Only these variables are supported incontent 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 |
{{firstName}}, {{company}}, or {{job}} are rejected with validation_error.
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 creating the blueprint. Payloads containing bracket placeholders are rejected with validation_error.
Example with steps
Response
Whensuccess is true, data contains:
blueprintId— identifier for the created sequence blueprintname— blueprint display namesourcingId— sourcing the blueprint belongs to
Errors
| Code | HTTP |
|---|---|
validation_error | 400 |
not_found | 404 |
internal_error | 500 |
Create sequence blueprint

