# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Lemlist Leads API version: 1.0.0 extends: openapi/lemlist-leads-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 22 - target: $.paths['/leads/start/{leadId}'].post update: x-apievangelist-phrasing: intent: Resume a paused lead effect: write questions: - How do I let a paused lead continue through the campaign sequence? - Can I unpause one lead without restarting the whole campaign? instructions: - text: Resume paused lead {leadId}. slots: leadId: path.leadId - text: Unpause lead {leadId} so their sequence continues. slots: leadId: path.leadId method: generated generated: '2026-10-01' - target: $.paths['/leads/pause/{leadId}'].post update: x-apievangelist-phrasing: intent: Pause a lead's sequence effect: write questions: - Can I stop sending to one lead while the campaign keeps running? - How do I pause a lead in only one specific campaign? instructions: - text: Pause lead {leadId}. slots: leadId: path.leadId - text: Pause lead {leadId} in campaign {campaignId} only. slots: leadId: path.leadId campaignId: query.campaignId method: generated generated: '2026-10-01' - target: $.paths['/leads/interested/{leadIdOrEmail}'].post update: x-apievangelist-phrasing: intent: Mark a lead interested in all campaigns effect: write questions: - How do I flag a lead as interested across every campaign they're in? - Can I mark someone interested using just their email? instructions: - text: Mark {leadIdOrEmail} as interested everywhere. slots: leadIdOrEmail: path.leadIdOrEmail - text: Flag lead {leadIdOrEmail} as interested across all campaigns. slots: leadIdOrEmail: path.leadIdOrEmail method: generated generated: '2026-10-01' - target: $.paths['/leads/notinterested/{leadIdOrEmail}'].post update: x-apievangelist-phrasing: intent: Mark a lead not interested in all campaigns effect: write questions: - How do I record that a prospect said no, across all campaigns? - Can I mark a lead as not interested by email address? instructions: - text: Mark {leadIdOrEmail} as not interested everywhere. slots: leadIdOrEmail: path.leadIdOrEmail - text: Flag lead {leadIdOrEmail} as not interested in all campaigns. slots: leadIdOrEmail: path.leadIdOrEmail method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/{leadIdOrEmail}/interested'].post update: x-apievangelist-phrasing: intent: Mark a lead interested in one campaign effect: write questions: - Can I mark a lead interested in just one campaign and not the others? - How do I set interest for a lead within a single campaign? instructions: - text: Mark {leadIdOrEmail} as interested in campaign {campaignId} only. slots: leadIdOrEmail: path.leadIdOrEmail campaignId: path.campaignId - text: In campaign {campaignId}, flag lead {leadIdOrEmail} as interested. slots: campaignId: path.campaignId leadIdOrEmail: path.leadIdOrEmail method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/{leadIdOrEmail}/notinterested'].post update: x-apievangelist-phrasing: intent: Mark a lead not interested in one campaign effect: write questions: - Can I mark a lead not interested for one campaign while keeping them in others? - How do I record a campaign-specific rejection from a lead? instructions: - text: Record that {leadIdOrEmail} declined campaign {campaignId}, leaving their other campaigns untouched. slots: leadIdOrEmail: path.leadIdOrEmail campaignId: path.campaignId - text: Lead {leadIdOrEmail} rejected our pitch in campaign {campaignId}; set them to not interested there. slots: leadIdOrEmail: path.leadIdOrEmail campaignId: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/leads/{email}'].get update: x-apievangelist-phrasing: intent: Look up a lead by email in the path effect: read questions: - Which campaigns is a given email address enrolled in as a lead? - Can I fetch a lead's record by putting their email in the URL? instructions: - text: Find the lead whose email is {email}. slots: email: path.email - text: Get lead {email} using API version {version}. slots: email: path.email version: query.version method: generated generated: '2026-10-01' - target: $.paths['/leads'].get update: x-apievangelist-phrasing: intent: Look up a lead by id or email query effect: read questions: - How do I retrieve a lead when I only have its lead id? - Can I search for a lead with an id or email query parameter? instructions: - text: Retrieve the lead with id {id}. slots: id: query.id - text: Query leads by email {email} with version {version}. slots: email: query.email version: query.version method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/{email}'].post update: x-apievangelist-phrasing: intent: Add a lead to a campaign by email in the path effect: write questions: - Can I add a lead to a campaign by putting their email in the URL? - Will deduplication skip a lead whose email is already in another campaign? instructions: - text: Add {email} to campaign {campaignId} as {firstName} {lastName} via the email-in-path endpoint. slots: email: path.email campaignId: path.campaignId firstName: requestBody.firstName lastName: requestBody.lastName - text: Insert lead {email} into campaign {campaignId} with icebreaker {icebreaker}, deduplicate {deduplicate}. slots: email: path.email campaignId: path.campaignId icebreaker: requestBody.icebreaker deduplicate: query.deduplicate method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/{email}'].delete update: x-apievangelist-phrasing: intent: Unsubscribe one lead email from a campaign effect: destructive questions: - How do I take a single email address out of a campaign? - Can I unsubscribe one lead from a campaign by their email? instructions: - text: Unsubscribe {email} from campaign {campaignId}. slots: email: path.email campaignId: path.campaignId - text: Remove lead email {email} from campaign {campaignId}'s sending. slots: email: path.email campaignId: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/{leadId}'].delete update: x-apievangelist-phrasing: intent: Delete a lead from a campaign by id effect: destructive questions: - Can I delete a lead record from a campaign entirely using its lead id? - Is there a way to force-remove a lead from a campaign? instructions: - text: Delete lead {leadId} from campaign {campaignId}. slots: leadId: path.leadId campaignId: path.campaignId - text: Force-delete lead {leadId} in campaign {campaignId} with action {action}. slots: leadId: path.leadId campaignId: path.campaignId action: query.action method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/{leadId}'].patch update: x-apievangelist-phrasing: intent: Update a lead's preferred contact method effect: write questions: - How do I change whether a lead is reached by email or phone in a campaign? - Can I update a lead's preferred contact channel? instructions: - text: Set lead {leadId} in campaign {campaignId} to prefer {preferredContactMethod}. slots: leadId: path.leadId campaignId: path.campaignId preferredContactMethod: requestBody.preferredContactMethod - text: Update the campaign {campaignId} lead {leadId} contact method to {preferredContactMethod}. slots: campaignId: path.campaignId leadId: path.leadId preferredContactMethod: requestBody.preferredContactMethod method: generated generated: '2026-10-01' - target: $.paths['/leads/{leadId}/variables'].post update: x-apievangelist-phrasing: intent: Add custom variables to a lead effect: write questions: - How do I add new personalization variables to a lead? - Can I attach a custom company variable to one lead for my templates? instructions: - text: Add the variable company={company} to lead {leadId}. slots: company: query.company leadId: path.leadId - text: Add a preferredContactMethod variable of {preferredContactMethod} on lead {leadId}. slots: preferredContactMethod: query.preferredContactMethod leadId: path.leadId method: generated generated: '2026-10-01' - target: $.paths['/leads/{leadId}/variables'].delete update: x-apievangelist-phrasing: intent: Delete custom variables from a lead effect: destructive questions: - Can I remove a personalization variable I no longer need from a lead? - How do I clear specific custom variables on one lead? instructions: - text: Delete the {company} variable from lead {leadId}. slots: company: query.company leadId: path.leadId - text: Remove variable {favoriteColor} from lead {leadId}. slots: favoriteColor: query.favoriteColor leadId: path.leadId method: generated generated: '2026-10-01' - target: $.paths['/leads/{leadId}/variables'].patch update: x-apievangelist-phrasing: intent: Change values of a lead's existing variables effect: write questions: - How do I change the value of a variable already set on a lead? - Can I overwrite a lead's existing custom company value? instructions: - text: Change lead {leadId}'s existing company variable to {company}. slots: leadId: path.leadId company: query.company - text: Update the favoriteColor variable on lead {leadId} to {favoriteColor}. slots: leadId: path.leadId favoriteColor: query.favoriteColor method: generated generated: '2026-10-01' - target: $.paths['/leads/audio'].post update: x-apievangelist-phrasing: intent: Upload a voice message audio for a lead effect: write questions: - How do I attach a recorded voice note to a lead's voice message step? - Can I upload a custom audio file for one lead in a sequence? instructions: - text: Upload this audio for lead {leadId} on voice step {stepId}. slots: leadId: query.leadId stepId: query.stepId - text: Attach my recorded voice message to step {stepId} for lead {leadId}. slots: stepId: query.stepId leadId: query.leadId method: generated generated: '2026-10-01' - target: $.paths['/crm/filters'].get update: x-apievangelist-phrasing: intent: List filters from a connected CRM effect: read questions: - Which saved CRM views or reports can I import leads from? - Can I list Salesforce report filters for importing into a campaign? instructions: - text: List the {crm} filters for connected user {userId}. slots: crm: query.crm userId: query.userId - text: Show Salesforce filters of type {type}. slots: type: query.type method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/import'].post update: x-apievangelist-phrasing: intent: Import leads from a CRM into a campaign effect: write questions: - How do I pull leads from my CRM straight into a campaign? - Can a CRM import skip people already in other campaigns? instructions: - text: Import leads from {crm} filter {filterId} into campaign {campaignId}. slots: crm: requestBody.crm filterId: requestBody.filterId campaignId: path.campaignId - text: Import {filterType} {filterId} into campaign {campaignId} with deduplicate {deduplicate}. slots: filterType: requestBody.filterType filterId: requestBody.filterId campaignId: path.campaignId deduplicate: requestBody.deduplicate method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/'].get update: x-apievangelist-phrasing: intent: List the leads in a campaign effect: read questions: - Who are all the leads in a particular campaign? - Can I list only the leads in a campaign that are marked interested? - What's the most leads I can fetch from a campaign in one call? instructions: - text: List the leads in campaign {campaignId}. slots: campaignId: path.campaignId - text: Show up to {limit} leads in campaign {campaignId} with state {state}. slots: limit: query.limit campaignId: path.campaignId state: query.state method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/'].post update: x-apievangelist-phrasing: intent: Add a lead to a campaign with email in the body effect: write questions: - How do I add a new prospect to a campaign with their details and timezone? - Can I find and verify a lead's email while adding them to a campaign? instructions: - text: Add a lead to campaign {campaignId} with email {email}, timezone {timezone}. slots: campaignId: path.campaignId email: requestBody.email timezone: requestBody.timezone - text: Add {firstName} from {companyDomain} to campaign {campaignId} and find their email ({findEmail}). slots: firstName: requestBody.firstName companyDomain: requestBody.companyDomain campaignId: path.campaignId findEmail: query.findEmail method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/leads/'].delete update: x-apievangelist-phrasing: intent: Unsubscribe leads from a campaign in bulk effect: destructive questions: - Can I unsubscribe several leads from a campaign in a single request? - How do I remove a batch of leads from one campaign? instructions: - text: Unsubscribe a batch of leads from campaign {campaignId}. slots: campaignId: path.campaignId - text: Bulk-remove these leads from campaign {campaignId}. slots: campaignId: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/leads/review/{leadId}'].post update: x-apievangelist-phrasing: intent: Launch a lead waiting for review effect: write questions: - How do I approve and launch a single lead that's stuck awaiting review? - Can I launch one reviewed lead without turning on auto-review for the campaign? instructions: - text: Launch lead {leadId}, which is waiting for review. slots: leadId: path.leadId - text: Approve the review of lead {leadId} and start sending. slots: leadId: path.leadId method: generated generated: '2026-10-01'