# Instantly

> Automate cold email outreach with Instantly: manage campaigns, leads, sending accounts, and analytics.

App · Email Marketing · 8 actions. Web page: https://docs.lodol.com/docs/integrations/instantly

## Actions

### Activate campaign

Activate (start sending) an Instantly campaign by ID.

**Inputs**

- Campaign ID (`campaign_id`, text, required): Campaign ID to activate.

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "id": "01890000-0000-7000-a000-000000000001",
    "status": 1
  }
}
```

### Create campaign

Create a new cold email campaign with a default sending schedule.

**Inputs**

- Name (`name`, text, required): A name for the new campaign.
- Daily start time (`timing_from`, time): Time of day to start sending each day, in 24-hour HH:MM format. Defaults to 09:00. Default: `09:00`.
- Daily end time (`timing_to`, time): Time of day to stop sending each day, in 24-hour HH:MM format. Defaults to 17:00. Default: `17:00`.
- Time zone (`timezone`, text): Time zone the daily sending times are based on. Defaults to US Eastern time. One of: `America/Detroit` (US Eastern (Detroit)), `America/Chicago` (US Central (Chicago)), `America/Boise` (US Mountain (Boise)), `America/Creston` (US Mountain, no DST (Creston)), `America/Dawson` (US Pacific (Dawson)), `America/Anchorage` (US Alaska (Anchorage)), `Europe/Isle_of_Man` (UK (Isle of Man)), `Europe/Belgrade` (Central Europe (Belgrade)), `Asia/Kolkata` (India (Kolkata)), `Australia/Melbourne` (Australia (Melbourne)). Default: `America/Detroit`.
- Sending days (`days`, list): Days of the week to send on, as numbers from 0 (Sunday) to 6 (Saturday). Defaults to Monday–Friday. Default: `[1, 2, 3, 4, 5]`.

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "id": "01890000-0000-7000-a000-000000000001",
    "name": "Q1 Outbound",
    "status": 0
  }
}
```

### Create lead

Add a lead to an Instantly campaign or lead list.

**Inputs**

- Email (`email`, text): Lead email address. Required when adding to a campaign; optional when adding to a lead list as long as a first or last name is provided.
- Campaign ID (`campaign_id`, text): ID of the campaign to add the lead to.
- List ID (`list_id`, text): ID of the lead list to add the lead to.
- First name (`first_name`, text): Lead first name.
- Last name (`last_name`, text): Lead last name.
- Company name (`company_name`, text): Lead company name.
- Phone (`phone`, text): Lead phone number.
- Website (`website`, text): Lead website URL.
- Personalization (`personalization`, text): Personalization snippet used in the first email.
- Custom variables (`custom_variables`, object): Extra fields to save on the lead, as name and value pairs. Each value can be text, a number, true/false, or empty (no nested lists or groups).

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "campaign": "01890000-0000-7000-a000-000000000001",
    "email": "jane@example.com",
    "id": "01890000-0000-7000-b000-000000000001"
  }
}
```

### Get campaign

Retrieve details for a single Instantly campaign by ID.

**Inputs**

- Campaign ID (`campaign_id`, text, required): Campaign ID.

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "id": "01890000-0000-7000-a000-000000000001",
    "name": "Q1 Outbound",
    "status": 1
  }
}
```

### Get campaign analytics

Retrieve analytics for one or all campaigns over an optional date range.

**Inputs**

- Campaign ID (`campaign_id`, text): Campaign ID to get analytics for. Leave empty to include all campaigns.
- Start date (`start_date`, text): Start date (YYYY-MM-DD).
- End date (`end_date`, text): End date (YYYY-MM-DD).

**Outputs**

- `result` (list): Per-campaign analytics rows.

**Example output**

```json
{
  "result": [
    {
      "campaign_id": "01890000-0000-7000-a000-000000000001",
      "emails_sent_count": 480,
      "leads_count": 500,
      "open_count": 240,
      "reply_count": 32
    }
  ]
}
```

### List campaigns

List cold email campaigns in your Instantly workspace.

**Inputs**

- Limit (`limit`, number): Maximum number of campaigns to return.
- Search (`search`, text): Filter campaigns by name.
- Status (`status`, number): Only show campaigns in this state. One of: `1` (Active), `2` (Paused), `3` (Completed), `0` (Draft).
- Starting after (`starting_after`, text): Pagination cursor from a previous response's next_starting_after value; returns the next page.

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "items": [
      {
        "id": "01890000-0000-7000-a000-000000000001",
        "name": "Q1 Outbound",
        "status": 1
      }
    ],
    "next_starting_after": null
  }
}
```

### List leads

List or search leads, optionally filtered by campaign.

**Inputs**

- Campaign ID (`campaign_id`, text): Only show leads in this campaign.
- Limit (`limit`, number): Maximum number of leads to return.
- Search (`search`, text): Search leads by email, name, or company.
- Starting after (`starting_after`, text): Pagination cursor from a previous response's next_starting_after value; returns the next page.

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "items": [
      {
        "email": "jane@example.com",
        "id": "01890000-0000-7000-b000-000000000001"
      }
    ],
    "next_starting_after": null
  }
}
```

### List sending accounts

List the email sending accounts connected to Instantly.

**Inputs**

- Limit (`limit`, number): Maximum number of accounts to return.
- Search (`search`, text): Filter accounts by email address.
- Starting after (`starting_after`, text): Pagination cursor from a previous response's next_starting_after value; returns the next page.

**Outputs**: Response envelope; the payload is in the "result" field.

- `result` (object)

**Example output**

```json
{
  "result": {
    "items": [
      {
        "email": "outreach@example.com",
        "status": 1
      }
    ],
    "next_starting_after": null
  }
}
```
