Manage project pipeline entries
Use this workflow when an integration needs to read candidates from a project, filter them by stage, add new leads to a project, or move existing leads through the pipeline.Get the project stages
Pipeline entry filters use stage IDs, not stage names. Start by reading
the project and storing the stage ID you need, for example the Response excerpt:
Sourced
stage.List only entries in a given stage
The project is selected by the URL path (
/projects/{project_id}/entries).
Add stage_id as a query parameter to return only entries currently in that
stage for the same project. Values like Sourced are not accepted directly;
use the stage UUID returned by GET /projects/{id}.Create or update the contact
If the lead is new, create a contact first:If the lead already exists and you only need to update their profile, use:
Add the contact to the project
Add the contact to the project pipeline. If
stage_id is omitted, Leonar
adds the contact to the first stage of the project pipeline.Source candidates and add to project
Find candidates on LinkedIn and add them to a recruiting project’s pipeline.Get your connected LinkedIn account
api_status.recruiter: "active" or api_status.sales_navigator: "active":Load the next LinkedIn page
Send the same search body with the returned
cursor. The cursor is the value that advances the LinkedIn result set.Add selected profiles to project
Pass the full profile objects directly from the search response. Include Response:
experiences, educations, skills, summary, and picture_url to create rich contact records:The more fields you include, the richer the contact record. Fields like
already_in_project and existing_contact_id from the search response are ignored — they are response-only metadata.Enrich a contact and find their email
Enroll contacts in a sequence
Or enroll with custom variables
Sequence custom variables use fixed placeholder names:
Example enrollment payload:At send time, Leonar resolves the example step to something like:Response:
{{custom_variable_1}} through {{custom_variable_5}}. Add those
placeholders in the sequence step content, then pass per-contact values in
custom_variables when enrolling. Arbitrary names like project_name are
rejected.Example sequence step: