Skip to main content
PUT
Personalize Step for Lead
The lead receives this version of the step instead of its shared content, which stays unchanged for every other lead. Same as Personalize in the lemlist review page. Every body field is optional and overlays the lead’s current version: its existing personalization, otherwise the step’s content. Fields you leave out are kept; the response returns the full personalized content. Sending only variant puts the lead on that version as is.
  • A/B tests: a personalized step is no longer A/B tested for that lead. It pins the lead to the variant it is written on (before the campaign starts, it also decides which sequence variant the lead follows). Switching variant replaces the lead’s personalization of the other variant.
  • Email threads: on a follow-up email, a non-empty subject starts a new thread. Leave subject out to stay in the thread.
  • Cc: cc: [] removes the step’s cc for this lead.
  • LinkedIn, SMS and WhatsApp: messages are plain text; HTML you send is converted to text.
  • Supported steps: email, LinkedIn message, LinkedIn invitation, SMS and WhatsApp message. Voice notes and conditions answer 422, and so do steps in a wait-until fallback or in a branch several conditions lead to.
  • Reached steps: once the lead reached the step (sent, skipped or ignored), the request answers 409.
A reviewer who has the lead open in the lemlist review page at the same time overwrites this change on their next edit.

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Path Parameters

campaignId
string
required

The unique identifier of the campaign

leadIdOrEmail
string
required

The unique identifier or email of the lead

stepId
string
required

The unique identifier of the step, from GET /campaigns/{campaignId}/sequences

Body

application/json
variant
enum<string>

A/B variant to write on. Defaults to the variant the lead is already on: the winner once one is picked, else the variant already personalized, else the variant of the lead's scheduled task, else A.

Available options:
A,
B
subject
string

Email steps only. On a follow-up email, a non-empty subject starts a new thread; omit it to stay in the thread.

message
string

The message body. HTML on email steps; plain text on LinkedIn, SMS and WhatsApp steps (HTML is converted to text). Cannot be blank, except on a LinkedIn invitation.

cc
string[]

Email steps only. An empty array removes the cc for this lead.

plainText
boolean

Email steps only. Send this lead a plain-text email.

altMessage
string

LinkedIn invitation and LinkedIn message steps only. The connection-request note, 300 characters at most on an invitation.

Minimum string length: 1
altMessagePremium
string

LinkedIn message steps only. The note sent from a premium account.

Required string length: 1 - 300

Response

The step is personalized for the lead. content is the full personalized content, the fields you did not send included.

A lead's personalized version of one campaign step. It pins the lead to the A/B variant it is written on.

leadId
string

The lead the step is personalized for

stepId
string

The personalized step

variant
enum<string>

The A/B variant the lead is pinned to

Available options:
A,
B
emailTemplateId
string

The step content the personalization overrides (variant A or B of the step)

content
object

The full personalized content. Only the fields of the step type are present.