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

# Apollo: Update Contact

> Update an Apollo contact's name, email, title, company, owner, or phone numbers. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Update an Apollo contact's name, email, title, company, owner, or phone numbers.

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

## 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(
  'apollo_update_contact',
  {
    "contact_id": "contact_123"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute apollo_update_contact --input '{
  "contact_id": "contact_123"
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe apollo_update_contact --json` for the complete live contract.

## Input reference

Update an existing contact in Apollo CRM. At least one mutable field must be provided. Requires master API key.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.contact_id` | `string` | Yes | — | The Apollo contact ID to update. |
| `payload.first_name` | `string` | No | — | Contact's first name. |
| `payload.last_name` | `string` | No | — | Contact's last name. |
| `payload.email` | `string` | No | — | Contact's email address. |
| `payload.title` | `string` | No | — | Job title. |
| `payload.organization_name` | `string` | No | — | Company name. |
| `payload.account_id` | `string` | No | — | Apollo account ID to associate. |
| `payload.owner_id` | `string` | No | — | Apollo user ID for contact ownership. |
| `payload.phone` | `string` | No | — | Contact's phone number. |
| `payload.direct_phone` | `string` | No | — | Contact's direct phone number. |
| `payload.corporate_phone` | `string` | No | — | Contact's corporate phone number. |
| `payload.mobile_phone` | `string` | No | — | Contact's mobile phone number. |
| `payload.home_phone` | `string` | No | — | Contact's home phone number. |
| `payload.other_phone` | `string` | No | — | Contact's other phone number. |
| `payload.website_url` | `string` | No | — | Contact's website URL. |
| `payload.contact_stage_id` | `string` | No | — | Contact stage ID. |
| `payload.present_raw_address` | `string` | No | — | Full mailing address. |
| `payload.label_names` | `array` | No | — | Label names to apply. |
| `payload.custom_fields` | `record` | No | — | Custom field key-value pairs. |
| `payload.typed_custom_fields` | `record` | No | — | Custom field key-value pairs. Keys must match your Apollo custom field definitions. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Update an existing contact in Apollo CRM. At least one mutable field must be provided. Requires master API key.",
    "properties": {
      "contact_id": {
        "type": "string",
        "description": "The Apollo contact ID to update."
      },
      "first_name": {
        "type": "string",
        "description": "Contact's first name."
      },
      "last_name": {
        "type": "string",
        "description": "Contact's last name."
      },
      "email": {
        "type": "string",
        "description": "Contact's email address."
      },
      "title": {
        "type": "string",
        "description": "Job title."
      },
      "organization_name": {
        "type": "string",
        "description": "Company name."
      },
      "account_id": {
        "type": "string",
        "description": "Apollo account ID to associate."
      },
      "owner_id": {
        "type": "string",
        "description": "Apollo user ID for contact ownership."
      },
      "phone": {
        "type": "string",
        "description": "Contact's phone number."
      },
      "direct_phone": {
        "type": "string",
        "description": "Contact's direct phone number."
      },
      "corporate_phone": {
        "type": "string",
        "description": "Contact's corporate phone number."
      },
      "mobile_phone": {
        "type": "string",
        "description": "Contact's mobile phone number."
      },
      "home_phone": {
        "type": "string",
        "description": "Contact's home phone number."
      },
      "other_phone": {
        "type": "string",
        "description": "Contact's other phone number."
      },
      "website_url": {
        "type": "string",
        "description": "Contact's website URL."
      },
      "contact_stage_id": {
        "type": "string",
        "description": "Contact stage ID."
      },
      "present_raw_address": {
        "type": "string",
        "description": "Full mailing address."
      },
      "label_names": {
        "type": "array",
        "description": "Label names to apply.",
        "items": {
          "type": "string"
        }
      },
      "custom_fields": {
        "type": "object",
        "description": "Custom field key-value pairs.",
        "additionalProperties": {}
      },
      "typed_custom_fields": {
        "type": "object",
        "description": "Custom field key-value pairs. Keys must match your Apollo custom field definitions.",
        "additionalProperties": {}
      }
    },
    "required": [
      "contact_id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Apollo update contact result.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `record` | Yes | — | Payload with the updated `contact` object. |
| `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": "Apollo update contact result.",
    "properties": {
      "data": {
        "type": [
          "object",
          "null"
        ],
        "description": "Payload with the updated `contact` object.",
        "additionalProperties": {}
      },
      "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

* [Apollo provider guide](https://deepline.com/docs/providers/apollo/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.