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

# Salesforce: List Campaign Members

> List the leads and contacts in one Salesforce campaign with their member status and response. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

List the leads and contacts in one Salesforce campaign with their member status and response.

> [!NOTE]
>
> Tool ID: `salesforce_list_campaign_members`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'salesforce_list_campaign_members',
  {
    "campaign_id": "campaign_123"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute salesforce_list_campaign_members --input '{
  "campaign_id": "campaign_123"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "records": [
      {
        "id": "id_123",
        "campaign_id": "campaign_123",
        "lead_id": "lead_123",
        "contact_id": "contact_123",
        "status": "example",
        "has_responded": true,
        "email": "jane.doe@example.com",
        "first_name": "Jane",
        "last_name": "Doe",
        "company_or_account": "example",
        "first_responded_date": "2026-01-15T12:00:00Z",
        "created_date": "2026-01-15T12:00:00Z",
        "last_modified_date": "2026-01-15T12:00:00Z"
      }
    ],
    "done": true
  }
}
```

Use `deepline describe salesforce_list_campaign_members --json` for the latest machine-readable contract.

## Input reference

List the members (leads and contacts) of one Salesforce campaign.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.limit` | `integer` | No | — | Maximum records to request in the first query page. Minimum: 1. Maximum: 2000. |
| `payload.modified_after` | `string` | No | — | Only include records modified after this timestamp. |
| `payload.next_records_url` | `string` | No | — | Salesforce `nextRecordsUrl` from a previous response. |
| `payload.campaign_id` | `string` | Yes | — | Salesforce Campaign ID (15 or 18 characters, starts with 701). |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "List the members (leads and contacts) of one Salesforce campaign.",
    "properties": {
      "limit": {
        "type": "integer",
        "description": "Maximum records to request in the first query page.",
        "minimum": 1,
        "maximum": 2000
      },
      "modified_after": {
        "type": "string",
        "description": "Only include records modified after this timestamp."
      },
      "next_records_url": {
        "type": "string",
        "description": "Salesforce `nextRecordsUrl` from a previous response."
      },
      "campaign_id": {
        "type": "string",
        "description": "Salesforce Campaign ID (15 or 18 characters, starts with 701)."
      }
    },
    "required": [
      "campaign_id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.records` | `array` | Yes | — | — |
| `result.data.records[].id` | `string` | Yes | — | — |
| `result.data.records[].campaign_id` | `string` | Yes | — | — |
| `result.data.records[].lead_id` | `string \| unknown` | Yes | — | — |
| `result.data.records[].contact_id` | `string \| unknown` | Yes | — | — |
| `result.data.records[].status` | `string \| unknown` | Yes | — | — |
| `result.data.records[].has_responded` | `boolean` | Yes | — | — |
| `result.data.records[].email` | `string \| unknown` | Yes | — | — |
| `result.data.records[].first_name` | `string \| unknown` | Yes | — | — |
| `result.data.records[].last_name` | `string \| unknown` | Yes | — | — |
| `result.data.records[].company_or_account` | `string \| unknown` | Yes | — | — |
| `result.data.records[].first_responded_date` | `string \| unknown` | Yes | — | — |
| `result.data.records[].created_date` | `string` | Yes | — | — |
| `result.data.records[].last_modified_date` | `string` | Yes | — | — |
| `result.data.done` | `boolean` | Yes | — | — |
| `result.data.totalSize` | `integer` | No | — | Minimum: 0. |
| `result.data.nextRecordsUrl` | `string \| null` | No | — | — |
| `result.meta` | `record` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "campaign_id": {
                  "type": "string"
                },
                "lead_id": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "contact_id": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "has_responded": {
                  "type": "boolean"
                },
                "email": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "first_name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "last_name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "company_or_account": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "first_responded_date": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {}
                  ]
                },
                "created_date": {
                  "type": "string"
                },
                "last_modified_date": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "campaign_id",
                "lead_id",
                "contact_id",
                "status",
                "has_responded",
                "email",
                "first_name",
                "last_name",
                "company_or_account",
                "first_responded_date",
                "created_date",
                "last_modified_date"
              ],
              "additionalProperties": false
            }
          },
          "done": {
            "type": "boolean"
          },
          "totalSize": {
            "type": "integer",
            "minimum": 0
          },
          "nextRecordsUrl": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "records",
          "done"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Salesforce provider guide](https://deepline.com/docs/providers/salesforce/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


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