> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Smartlead

> Smartlead connection, action IDs, lead-push schema, and campaign activation safeguards.

Use Smartlead to manage campaign state and push reviewed contacts into a
campaign. This page documents the Smartlead-specific contract; the
[API reference](https://deepline.com/docs/api-reference.md) documents Deepline authentication and execution
envelopes.

## Connect Smartlead

In the Deepline dashboard, open **Integrations → Smartlead**, add the API key
for the intended Smartlead workspace, then run the connection test. Resolve
the campaign ID with `smartlead_list_campaigns` before any write.

## Live actions and schema

Execute these IDs through the shared
[`POST /api/v2/integrations/{toolId}/execute` contract](https://deepline.com/docs/api-reference#execute-a-tool).
The table lists `payload` fields. Substitute an Action ID from it into
`GET /api/v2/integrations/{toolId}/get` to inspect the live schema.

| Action ID | Required payload | What it does |
| - | - | - |
| `smartlead_list_campaigns` | — | List campaigns and their IDs. |
| `smartlead_create_campaign` | — | Create a campaign; `name` and `client_id` are optional. Supply a name to avoid an untitled campaign. |
| `smartlead_push_to_campaign` | `campaign_id`, `lead_list` | Add a batch of leads. Each lead requires `email`; the live schema defines optional identity, contact, and `custom_fields` values. |
| `smartlead_update_campaign_status` | `campaign_id`, `status` | Change state to `PAUSED`, `STOPPED`, or `START`. |
| `smartlead_get_campaign_stats` | `campaign_id` | Read sent, opened, clicked, replied, and bounced counts. |

`leads` is accepted as a compatibility alias, but use `lead_list` in new
requests. Deepline lowercases and rejects duplicate emails within a batch.

## Campaign safeguards

* Push only contacts that have passed the appropriate enrichment, validation,
  suppression, and approval gate.
* Before `smartlead_update_campaign_status` with `START`, configure the
  sending account, sequence, schedule, and stop conditions with the matching
  `smartlead_*` actions. Starting a campaign can send email.
* Keep each batch within the limit returned by the live schema. Read campaign
  state and lead results before repeating an ambiguous write.
* Handle large writes sequentially and use backoff when the provider asks you
  to slow down.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.