---
name: "crm_find_deals"
area: "crm"
title: "Find deals"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/crm_find_deals"
mcp_server: "https://api.conecto.chat/mcp/crm"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/crm/crm_find_deals"
---

# Find deals (`crm_find_deals`)

Finds deals by pipeline, stage, status, company or contact, by filters on any field or tag, or by a saved segment.

Deals by pipeline, stage, status (open, won, lost), company or contact, or by filters on any field, tag or custom field, or by a saved segment; most recently changed first unless `sort` says otherwise. Deals that have not moved in 14 days: filters [{"field": "status", "op": "eq", "value": "open"}, {"field": "stage_entered_at", "op": "lt", "value": "today-14"}].

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

Someone asks about the pipeline: open deals, stuck deals, deals closing this month.

- For the pipeline's totals, win rate and forecast, use [crm_pipeline_report](https://conecto.chat/tools/crm/crm_pipeline_report.md).

## Say this to your agent

> Which open deals haven't moved in two weeks?

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `pipeline` | string | no | Up to 80 characters. |  |  |
| `stage` | string | no | Up to 60 characters. |  |  |
| `status` | string | no |  | `"open"`, `"won"`, `"lost"` |  |
| `company_id` | integer | no | At least 1. |  |  |
| `contact_id` | integer | no | At least 1. |  |  |
| `query` | string | no | Up to 200 characters. |  |  |
| `filters` | array of objects | no | Conditions that must all match, e.g. [{"field": "lifecycle_stage", "op": "eq", "value": "customer"}, {"field": "renewal_date", "op": "lte", "value": "today+30"}]. field: a standard field, "tag", or a custom field key (crm_list_fields lists them all). op: eq, ne, contains, starts_with, in (value is a list), gt, gte, lt, lte, is_empty, is_set. Dates take YYYY-MM-DD or today, today+N, today-N. Up to 20 items. |  |  |
| `filters[].field` | string | yes, in each item of `filters` | 1 to 60 characters. |  |  |
| `filters[].op` | string | yes, in each item of `filters` |  | `"contains"`, `"eq"`, `"gt"`, `"gte"`, `"in"`, `"is_empty"`, `"is_set"`, `"lt"`, `"lte"`, `"ne"`, `"starts_with"` |  |
| `filters[].value` | any | no | Text, a number, true/false, a date, or a list for "in". |  |  |
| `tag` | string | no | Only records with this tag. Up to 60 characters. |  |  |
| `segment` | string | no | A saved segment (crm_save_segment), by name or id. Up to 80 characters. |  |  |
| `sort` | string | no | Field to sort by, "-" first for descending, e.g. "-amount" or "renewal_date". Up to 61 characters. |  |  |
| `limit` | integer | no | 1 to 100. |  | `25` |
| `offset` | integer | no | At least 0. |  | `0` |

## Example

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

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

```json
{
  "status": "open",
  "filters": [
    {
      "field": "stage_entered_at",
      "op": "lt",
      "value": "today-14"
    }
  ]
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/crm_find_deals \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "open", "filters": [{"field": "stage_entered_at", "op": "lt", "value": "today-14"}]}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "crm_find_deals",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "deals": [
      {
        "id": 4101,
        "title": "Hotel Elbblick kitchen",
        "pipeline": "Sales",
        "pipeline_id": 4101,
        "stage": "Proposal",
        "stage_id": 4104,
        "status": "open",
        "probability": 60,
        "amount": "38600.00",
        "weighted_amount": "23160.00",
        "currency": "EUR",
        "close_date": "2026-11-20",
        "next_step": "Send the quote for two combi steamers and a dishwasher",
        "description": "",
        "lost_reason": null,
        "company_id": 4101,
        "contact_id": 4102,
        "tags": [],
        "custom_fields": {},
        "stage_entered_at": "2026-09-23T08:00:00+00:00",
        "closed_at": null,
        "updated_at": "2026-10-14T08:00:00+00:00"
      }
    ],
    "count": 1,
    "total": 1,
    "next_offset": null
  }
}
```

`result`: A page of deals with their pipeline, stage, amounts, dates, company and contact, how many are on it, the total and next_offset.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | No pipeline, or no stage in it, has that name or id. | Call crm_list_pipelines and use a pipeline and stage from it. |
| `invalid_input` | 400 | A filter or the sort names a field the object does not have, uses an op that does not fit the field, or compares it with the wrong kind of value. | Check the fields with crm_list_fields and use one of the ops the message lists. |
| `not_found` | 404 | No saved segment of that object has that name or id. | Call crm_list_segments; the message also names the saved segments. |

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

## Related

- [crm_search](https://conecto.chat/tools/crm/crm_search.md): Finds contacts, companies and deals from whatever you have: a name, an email, a phone number in any format, a domain or a deal title. Free up to 1,000,000 reads a month.
- [crm_find_contacts](https://conecto.chat/tools/crm/crm_find_contacts.md): Finds contacts by name, email, company or phone, by filters on any field or tag, or by a saved segment, one page at a time. Free up to 1,000,000 reads a month.
- [crm_get_contact](https://conecto.chat/tools/crm/crm_get_contact.md): One contact, by id or email, with its tags, custom fields, recent activity, open tasks and deals. Free up to 1,000,000 reads a month.
- [crm_get_customer](https://conecto.chat/tools/crm/crm_get_customer.md): Everything open with one customer in one read: deals, tickets, invoices, quotes, signatures, meetings and their last messages. Free up to 1,000,000 reads a month.
- [crm_save_contact](https://conecto.chat/tools/crm/crm_save_contact.md): Creates a contact, or updates the one with the same email; only the fields you send change. $0.01 a call.
- [crm_save_contacts](https://conecto.chat/tools/crm/crm_save_contacts.md): Creates or updates up to 100 contacts in one call, each like crm_save_contact; you pay only for the ones saved. $0.01 per record saved.
- [crm_update_contact](https://conecto.chat/tools/crm/crm_update_contact.md): Changes fields on a contact by its id, its email included; only the fields you send change. $0.01 a call.
- [crm_archive_contact](https://conecto.chat/tools/crm/crm_archive_contact.md): Hides a contact from searches and lists; its history is kept. $0.001 a call.
- [crm_restore_contact](https://conecto.chat/tools/crm/crm_restore_contact.md): Brings an archived contact back into searches and lists. $0.001 a call.
- [crm_timeline](https://conecto.chat/tools/crm/crm_timeline.md): What happened with a contact, a company, a deal or the whole CRM, newest first: notes, tasks, emails, chats, calls, tickets and stage moves. Free up to 1,000,000 reads a month.
- [crm_add_note](https://conecto.chat/tools/crm/crm_add_note.md): Adds a note to a contact, a company or a deal: what was said, decided or learned. $0.01 a call.
- [crm_create_task](https://conecto.chat/tools/crm/crm_create_task.md): A follow-up on a contact, with an optional due time and priority. $0.01 a call.
- [crm_list_tasks](https://conecto.chat/tools/crm/crm_list_tasks.md): Tasks by status (open by default), for one contact or due before a time, soonest first. Free up to 1,000,000 reads a month.
- [crm_complete_task](https://conecto.chat/tools/crm/crm_complete_task.md): Marks a task done, or cancelled. $0.01 a call.
- [crm_save_company](https://conecto.chat/tools/crm/crm_save_company.md): Creates a company, or updates the one with the same name or with the company_id you give, which can rename it; only the fields you send change. $0.01 a call.
- [crm_save_companies](https://conecto.chat/tools/crm/crm_save_companies.md): Creates or updates up to 100 companies in one call, each like crm_save_company; you pay only for the ones saved. $0.01 per record saved.
- [crm_archive_company](https://conecto.chat/tools/crm/crm_archive_company.md): Hides a company from lists, searches, duplicates and exports; its people, deals and notes stay. $0.001 a call.
- [crm_restore_company](https://conecto.chat/tools/crm/crm_restore_company.md): Brings an archived company back into lists, searches, duplicates and exports. $0.001 a call.
- [crm_find_companies](https://conecto.chat/tools/crm/crm_find_companies.md): Finds companies by name or domain, by filters on any field or tag, or by a saved segment, one page at a time. Free up to 1,000,000 reads a month.
- [crm_get_company](https://conecto.chat/tools/crm/crm_get_company.md): One company, by id or exact name, with its people, deals (open ones first) and notes. Free up to 1,000,000 reads a month.
- [crm_save_deal](https://conecto.chat/tools/crm/crm_save_deal.md): Creates a deal, or updates one by its deal_id: pipeline and stage, amount, close date, next step, company and contact. $0.01 a call.
- [crm_get_deal](https://conecto.chat/tools/crm/crm_get_deal.md): One deal with its stage history (the days it spent in each stage), notes, contact and company. Free up to 1,000,000 reads a month.
- [crm_move_deal](https://conecto.chat/tools/crm/crm_move_deal.md): Moves a deal to a stage, maybe in another pipeline; a won or lost stage closes it. $0.01 a call.
- [crm_list_pipelines](https://conecto.chat/tools/crm/crm_list_pipelines.md): The deal pipelines in order, each with its stages and how many deals sit in each, with their value. Free up to 1,000,000 reads a month.
- [crm_save_pipeline](https://conecto.chat/tools/crm/crm_save_pipeline.md): Creates a deal pipeline or changes one: its name, position and stages in order. $0.001 a call.
- [crm_delete_pipeline](https://conecto.chat/tools/crm/crm_delete_pipeline.md): Deletes an empty pipeline; the last one stays. $0.001 a call.
- [crm_pipeline_report](https://conecto.chat/tools/crm/crm_pipeline_report.md): How a pipeline is doing: open value by stage, deals won and lost, win rate, a forecast by month and stale deals. Free up to 1,000,000 reads a month.
- [crm_define_field](https://conecto.chat/tools/crm/crm_define_field.md): Adds a field of the business's own to contacts, companies or deals, or changes its label, description or options. $0.001 a call.
- [crm_list_fields](https://conecto.chat/tools/crm/crm_list_fields.md): The standard and custom fields of contacts, companies and deals, to read, filter and sort on. Free up to 1,000,000 reads a month.
- [crm_delete_field](https://conecto.chat/tools/crm/crm_delete_field.md): Deletes a custom field and its value on every record, for good. $0.001 a call.
- [crm_tag_records](https://conecto.chat/tools/crm/crm_tag_records.md): Adds and removes tags on up to 100 contacts, companies or deals at once. $0.001 per record tagged.
- [crm_list_tags](https://conecto.chat/tools/crm/crm_list_tags.md): Every tag with how many contacts, companies and deals carry it. Free up to 1,000,000 reads a month.
- [crm_delete_tag](https://conecto.chat/tools/crm/crm_delete_tag.md): Deletes a tag and takes it off every contact, company and deal. $0.001 a call.
- [crm_save_segment](https://conecto.chat/tools/crm/crm_save_segment.md): Saves filters under a name, so the same list can be pulled again and stays up to date. $0.001 a call.
- [crm_list_segments](https://conecto.chat/tools/crm/crm_list_segments.md): The saved segments, each with its filters and how many records match right now. Free up to 1,000,000 reads a month.
- [crm_delete_segment](https://conecto.chat/tools/crm/crm_delete_segment.md): Deletes a saved segment; the records in it stay as they are. $0.001 a call.
- [crm_export](https://conecto.chat/tools/crm/crm_export.md): Contacts, companies or deals as CSV text, with the same filters, tag and segment as the find tools. Free up to 1,000,000 reads a month.
- [crm_find_duplicates](https://conecto.chat/tools/crm/crm_find_duplicates.md): Contacts or companies that are probably the same record twice, grouped, with the reason. Free up to 1,000,000 reads a month.
- [crm_merge_contacts](https://conecto.chat/tools/crm/crm_merge_contacts.md): Merges duplicate contacts into the one you keep; their notes, emails, chats, calls and deals move with them. $0.01 a call.
- [crm_merge_companies](https://conecto.chat/tools/crm/crm_merge_companies.md): Merges duplicate companies into the one you keep; their people, deals and notes move with them. $0.01 a call.
