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

# Breakcold

> Give your agents the Breakcold sales CRM — records, CRM schema, tasks, notes, meetings, and the unified inbox — through agntdata.

## Overview

The Breakcold connection lets deployed agents work with your Breakcold workspace: read and write **records** (people, companies, and deals); manage the **CRM schema** (object types, field definitions, select options, and record views); create and complete **tasks**; write **notes**; read **meetings** and their transcripts; work the unified **inbox** (conversations, messages, drafts, send accounts, and views); and register **integration hooks** for workspace webhooks.

* **Base URL**: `https://api.agntdata.dev/v1/connections/breakcold`
* **Breakcold auth**: a Breakcold public API key (starts with `bc_live_`). Paste it once in the dashboard — agntdata stores it encrypted and attaches it to every call, so you never send it yourself.
* **MCP tools**: agents call `connection_breakcold_*` tools, e.g. `connection_breakcold_list_records`, `connection_breakcold_create_record`, `connection_breakcold_create_record_note`, `connection_breakcold_search_inbox_conversations`.

<Note>
  **Almost every call needs a `workspaceId`.** Get it once from `list_authorized_workspaces` and pass it as a query parameter on reads or in the body on writes. Calls that address a specific resource by id (`/records/{recordId}`, `/notes/{noteId}`, `/tasks/{taskId}`, …) resolve the workspace from that id and don't take one.

  **Records are schema-driven.** A record belongs to a CRM object type — `person`, `company`, or `deal` by default — and its `fields` are keyed by **field slug**, not display name. Use `list_crm_objects` to find the object type, then `list_crm_fields` to read the available slugs before creating or updating a record.
</Note>

<Warning>
  Breakcold's older v3 REST API (`api.breakcold.com/rest`, documented at `developer.breakcold.com`) is **deprecated** and rejects `bc_live_` keys with a `412 PRECONDITION_FAILED`. This connection targets the current API at `rest.breakcold.com/api/v1`. If you have an old key, generate a new one.
</Warning>

## Setup

<Steps>
  <Step title="Create a Breakcold API key">
    In Breakcold open **Settings → Integrations → API** and create a public API key. It starts with `bc_live_` and already carries its organization, so there's no organization id to configure.
  </Step>

  <Step title="Connect Breakcold">
    In the agntdata dashboard open **Integrations**, pick **Breakcold**, and paste the key.
  </Step>

  <Step title="Pick Breakcold tools">
    In an agent's Tools panel, add the tools the agent needs — for example `list_authorized_workspaces`, `list_crm_objects`, `list_crm_fields`, `list_records`, `create_record`, and `create_record_note`. Destructive and outbound-send tools ship too (`archive_record`, `delete_crm_object`, `delete_crm_field`, `delete_crm_field_option`, `delete_crm_record_view`, `delete_inbox_view`, `clear_inbox_conversation_draft`, `delete_integration_hook`, `compose_inbox_conversation`, `send_inbox_message`); they default to **always ask** for approval, and you can leave them off an agent entirely.
  </Step>
</Steps>

## Examples

### Find your workspace

```bash theme={null}
curl "https://api.agntdata.dev/v1/connections/breakcold/workspaces" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"
```

### Discover the CRM schema

```bash theme={null}
# object types (person, company, deal, …)
curl "https://api.agntdata.dev/v1/connections/breakcold/crm/objects?workspaceId=$WORKSPACE_ID" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"

# field slugs for one object type
curl "https://api.agntdata.dev/v1/connections/breakcold/crm/objects/$OBJECT_TYPE_ID/fields" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"
```

### Create a person record

`fields` is a map of **field slug** to value, and every field the object marks required must be present.

```bash theme={null}
curl -X POST "https://api.agntdata.dev/v1/connections/breakcold/records" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspaceId": "'"$WORKSPACE_ID"'",
    "objectTypeSlug": "person",
    "fields": {
      "name": "Ada Lovelace",
      "email": "ada@example.com",
      "job_title": "Engineer"
    }
  }'
```

### Search records

```bash theme={null}
curl "https://api.agntdata.dev/v1/connections/breakcold/records?workspaceId=$WORKSPACE_ID&objectTypeSlug=person&search=Ada&searchScope=all&limit=50" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"
```

Reads paginate with `limit` (max 100) and the `cursor` returned in `pagination.cursor`; keep going while `pagination.hasMore` is true.

### Log a note and a follow-up task

```bash theme={null}
curl -X POST "https://api.agntdata.dev/v1/connections/breakcold/records/$RECORD_ID/notes" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Discovery call","content":"<p>Wants pricing for 20 seats.</p>"}'

curl -X POST "https://api.agntdata.dev/v1/connections/breakcold/records/$RECORD_ID/tasks" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Send pricing","dueAt":1785600000000}'
```

`dueAt` is a Unix timestamp in **milliseconds**.

### Read the inbox

```bash theme={null}
curl "https://api.agntdata.dev/v1/connections/breakcold/inbox/conversations?workspaceId=$WORKSPACE_ID&limit=25" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"

curl "https://api.agntdata.dev/v1/connections/breakcold/conversations/$CONVERSATION_ID/messages" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"
```

## Costs

Breakcold meters this API by token consumption rather than a fixed request ceiling — roughly **0.2 tokens per successful read** and **0.4 per successful write**. Check the per-endpoint cost in Breakcold's docs before pointing a high-volume agent at it.

## Receiving Breakcold webhooks

This connection covers **outbound** calls. To receive **inbound** Breakcold events, mint an agntdata webhook endpoint and register it with `create_integration_hook` (or in Breakcold's UI) so workspace changes POST to it.
