---
name: "connect_call"
area: "connect"
title: "Call a connected system"
price: "$0.0003 for each started 10 seconds the system takes to answer ($0.0003 when it answers within 10 seconds), up to $0.0012"
method: "POST"
url: "https://api.conecto.chat/v1/tools/connect_call"
mcp_server: "https://api.conecto.chat/mcp/connect"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/connect/connect_call"
---

# Call a connected system (`connect_call`)

Sends one request to a connected system, inside its allowed calls, and returns its answer.

Send one request to a connected system, inside its allowed calls: method, path (after the base address), query and a JSON body. Answers with the status, the content type and the body (JSON when it is JSON), up to 1 MB. Writes wait for the owner's approval by default (connect_preview shows what would be sent). A call to a system behind the firewall goes to the company's bridge: it answers 202 with a call_id, and account_get_call has the answer once the bridge sends it, usually within seconds. The first 10,000 calls a month are free, then $0.0003 for each started 10 seconds the system takes to answer, at most $0.0012; a call through a bridge is $0.0003.

Price: $0.0003 for each started 10 seconds the system takes to answer ($0.0003 when it answers within 10 seconds), up to $0.0012. A call that fails costs nothing.

## Use it when

The agent needs data from, or a change in, a connected system.

- For records Conecto keeps itself, like contacts or invoices, use [account_search](https://conecto.chat/tools/account/account_search.md).

## Say this to your agent

> Look up ticket 4123 in the old help desk.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `connection` | string | yes | The connection's name. 2 to 40 characters. |  |  |
| `method` | string | yes |  | `"GET"`, `"POST"`, `"PUT"`, `"PATCH"`, `"DELETE"` |  |
| `path` | string | yes | 1 to 500 characters. |  |  |
| `query` | object | no |  |  |  |
| `body` | any | no | A JSON body for POST, PUT and PATCH. |  |  |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `connect_call` on the MCP server `https://api.conecto.chat/mcp/connect` with these arguments:

```json
{
  "connection": "zendesk",
  "method": "GET",
  "path": "/tickets/4123.json"
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/connect_call \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection": "zendesk", "method": "GET", "path": "/tickets/4123.json"}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "connect_call",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "connection": "zendesk",
    "status": 200,
    "content_type": "application/json",
    "body": {
      "ticket": {
        "id": 4123,
        "subject": "Where is my combi steamer?",
        "status": "open",
        "requester_id": 9021,
        "updated_at": "2026-10-13T16:02:11Z"
      }
    }
  }
}
```

`result`: connection; status, the HTTP status; content_type; body, parsed JSON or text (up to 1 MB).

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | No connection has that name. | connect_list shows them. |
| `not_allowed` | 403 | The call is outside the connection's allowed calls. | Use an allowed call, or ask the owner to widen them. |
| `too_large` | 413 | The answer is over 1 MB. | Ask for a page or a filter. |
| `vendor_unavailable` | 502 | The system could not be reached. | Try again in a minute. |
| `invalid_input` | 400 | The method or path is not valid. | A path starts with / and holds no query. |
| `bridge_offline` | 503 | The system is behind the firewall and its bridge is offline. | Ask the company's IT to start the bridge. |
| `bridge_unavailable` | 409 | The bridge was revoked, or no longer serves the system. | Ask the owner to make a new bridge and connect the system again. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [connect_add](https://conecto.chat/tools/connect/connect_add.md): Connects one of the company's systems: its address, its credential (kept encrypted) and the calls it may make. Free.
- [connect_list](https://conecto.chat/tools/connect/connect_list.md): The connected systems with their address, auth and allowed calls, and this month's call count. Free up to 1,000,000 reads a month.
- [connect_preview](https://conecto.chat/tools/connect/connect_preview.md): Shows exactly what a call would send (method, full address, headers with the credential hidden, body) without sending it. Free up to 1,000,000 reads a month.
- [connect_set_rules](https://conecto.chat/tools/connect/connect_set_rules.md): Replaces a connection's allowed calls; waits for the owner's approval by default. $0.001 a call.
- [connect_remove](https://conecto.chat/tools/connect/connect_remove.md): Forgets a connected system and its credential; the system itself doesn't change. Free.
