> ## 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.

# Instantly API Guide for GTM Workflows

> List campaigns first, then add contacts in controlled batches and verify downstream stats. Includes inputs, outputs, costs, and Deepline CLI examples.

## Playbook

Use Instantly for campaign activation and lightweight outbound reporting.

* Resolve campaign IDs from `list_campaigns` before any add operation.
* For `instantly_create_campaign`, do **not** brute-force timezone guesses. Reuse a known-good timezone from an existing campaign via `instantly_get_campaign` when possible.
* If the requested timezone is not directly accepted, map it to the closest supported Instantly value before sending. Example: use `America/Detroit` when the user asks for `America/New_York`.
* Treat `UTC` as unsupported by Instantly create-campaign; use a supported UTC-equivalent enum value from existing campaigns instead of sending literal `UTC`.
* For `campaign_schedule.schedules[].days`, use numeric day keys (`"0"`..`"6"`). Named weekdays are normalized by Deepline, but values outside sunday..saturday are rejected.
* `list_leads` accepts both `campaign` and `campaign_id` (alias). It also supports `list_id`, `in_campaign`, `in_list`, and `search` filters. Omit all filters to list leads globally.
* Insert in controlled batches and re-check campaign stats after writes.
* Keep activation behind enrichment/verification gates to reduce low-quality sends.

```bash theme={null}
deepline tools execute instantly_list_campaigns --payload '{}'
```

```bash theme={null}
deepline tools execute instantly_add_to_campaign --payload '{"campaign_id":"abc-123","leads":[{"email":"ada@example.com","first_name":"Ada","last_name":"Lovelace","company_name":"Babbage Ltd"}]}'
```
