lemlist
Overview
Pre-built tooling
✅ Authorization
| Tools | Status |
|---|---|
| Pre-built authorization (Basic) | ✅ |
| Pre-built authorization UI | ✅ |
| Custom authorization UI | ✅ |
| End-user authorization guide | ✅ |
| Expired credentials detection | ✅ |
✅ Read & write data
| Tools | Status |
|---|---|
| Pre-built integrations | ✅ |
| API unification | ✅ |
| 2-way sync | ✅ |
| Webhooks from Tenklo on data modifications | ✅ |
| Real-time webhooks from 3rd-party API | 🚫 (time to contribute: <48h) |
| Proxy requests | ✅ |
✅ Observability & data quality
| Tools | Status |
|---|---|
| HTTP request logging | ✅ |
| End-to-end type safety | ✅ |
| Data runtime validation | ✅ |
| OpenTelemetry export | ✅ |
| Slack alerts on errors | ✅ |
| Integration status API | ✅ |
✅ Customization
| Tools | Status |
|---|---|
| Create or customize use-cases | ✅ |
| Pre-configured pagination | 🚫 (time to contribute: <48h) |
| Pre-configured rate-limit handling | 🚫 (time to contribute: <48h) |
| Per-customer configurations | ✅ |
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
add-campaign-lead | Add a lead (by email) to a campaign with optional profile fields and custom variables. | Action | 🔗 Github |
create-campaign | Create a new, empty campaign (sequence and schedule are auto-generated; add leads and configure steps afterward). | Action | 🔗 Github |
enroll-lead-in-campaigns | Enroll one lead (by email, with optional basic fields and custom variables) into a list of lemlist campaigns in a single call, returning a consolidated per-campaign success/failure result | Action | 🔗 Github |
get-campaign-stats | Get aggregate send/open/click/reply/bounce counts for a campaign over a date range | Action | 🔗 Github |
get-lead-full-status | Get a consolidated 'where does this lead stand' view across every campaign it is enrolled in, combining lead state/status with per-campaign engagement activity (opens/clicks/replies/bounces) in one call | Action | 🔗 Github |
get-lead | Retrieve a single lead by email, account-wide (not campaign-scoped). | Action | 🔗 Github |
get-team-credits | Get the team's remaining enrichment/email-finding credit balance. | Action | 🔗 Github |
get-team | Get the current team's info (name, member user IDs, beta flags, etc.). | Action | 🔗 Github |
get-user | Get a single team member/user's info by user ID. | Action | 🔗 Github |
list-campaign-activities | List granular activity events (opens, clicks, replies, bounces, sends, etc.) for a campaign and/or a specific lead. | Action | 🔗 Github |
list-campaigns | List campaigns in the lemlist team, to discover campaign IDs for lead actions. | Action | 🔗 Github |
list-unsubscribes | List every account-wide unsubscribed/suppressed value (email, domain, phone, or LinkedIn URL). | Action | 🔗 Github |
pause-campaign | Pause a running campaign (stops sending/sequencing for all its leads). | Action | 🔗 Github |
remove-campaign-lead | Remove a lead from a campaign (stops it in the campaign sequence). | Action | 🔗 Github |
remove-lead-everywhere | Remove a lead from every campaign it is currently enrolled in and unsubscribe it account-wide, for full-removal compliance requests. | Action | 🔗 Github |
resubscribe-contact | Removes an email address, domain, phone number, or LinkedIn URL from the account-wide unsubscribe list, undoing a prior unsubscribe. | Action | 🔗 Github |
resume-campaign | Resume or start a paused or draft campaign so it starts sequencing its leads again. | Action | 🔗 Github |
unsubscribe-contact | Adds an email, domain, phone number, or LinkedIn URL to the account-wide unsubscribe suppression list. Idempotent: returns the existing record if the value is already unsubscribed. | Action | 🔗 Github |
update-campaign-lead | Update a lead's fields within a campaign (partial merge). | Action | 🔗 Github |
update-campaign | Update a campaign's fields (e.g. rename it). Partial merge: only the fields you send are changed. | Action | 🔗 Github |
verify-email | Kick off asynchronous email-address verification (deliverability check) for a given email. | Action | 🔗 Github |
campaign-leads | Sync every lead enrolled in every campaign | Sync | 🔗 Github |
campaigns | Full refresh of every lemlist campaign in the team (name, status, sequence id, creator). Note: lemlist has no campaign-deletion API, so a record flagged as deleted only means the campaign no longer appears in GET /api/campaigns (e.g. excluded by a filter the endpoint does not expose), not that it was actually destroyed. | Sync | 🔗 Github |
Access requirements
| Pre-Requisites | Status | Comment |
|---|---|---|
| Paid dev account | ❓ | |
| Paid test account | ❓ | |
| Partnership | ❓ | |
| App review | ❓ | |
| Security audit | ❓ |
Setup guide
No setup guide yet.
Need help getting started? Get help in the community.
Contribute improvements to the setup guide by editing this page
Useful links
Contribute useful links by editing this page
API gotchas
- lemlist uses Basic Authentication to access various endpoints. To authenticate, provide an empty username and use your API key as the password.
Contribute API gotchas by editing this page
Going further
Connect to lemlist
Guide to connect to lemlist using Connect UI