Find deals
Finds deals by pipeline, stage, status, company or contact, by filters on any field or tag, or by a saved segment.
Free*
*Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads.
An example
Which open deals haven't moved in two weeks?
Your agent callscrm_find_dealsFree*
The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.
{
"status": "open",
"filters": [
{
"field": "stage_entered_at",
"op": "lt",
"value": "today-14"
}
]
}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.
What it does
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"}].
What comes back
A page of deals with their pipeline, stage, amounts, dates, company and contact, how many are on it, the total and next_offset. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
pipeline | string | Up to 80 characters. |
stage | string | Up to 60 characters. |
status | string | One of: open,won,lost. |
company_id | integer | At least 1. |
contact_id | integer | At least 1. |
query | string | Up to 200 characters. |
filters | array of objects | 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[].fieldRequired | string | 1 to 60 characters. |
filters[].opRequired | string | One of: contains,eq,gt,gte,in,is_empty,is_set,lt,lte,ne,starts_with. |
filters[].value | any | Text, a number, true/false, a date, or a list for "in". |
tag | string | Only records with this tag. Up to 60 characters. |
segment | string | A saved segment (crm_save_segment), by name or id. Up to 80 characters. |
sort | string | Field to sort by, "-" first for descending, e.g. "-amount" or "renewal_date". Up to 61 characters. |
limit | integer | 1 to 100. Default: 25. |
offset | integer | At least 0. Default: 0. |
The call
Over MCP, call crm_find_deals on https://api.conecto.chat/mcp/crm. Over REST:
curl -X POST 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"}]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | 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_input400 | 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_found404 | No saved segment of that object has that name or id. | Call crm_list_segments; the message also names the saved segments. |
More CRM tools
All 41 tools- Search the CRM
crm_searchFinds 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* - Find contacts
crm_find_contactsFinds 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* - Get a contact
crm_get_contactOne contact, by id or email, with its tags, custom fields, recent activity, open tasks and deals.Free* - Everything open with a customer
crm_get_customerEverything open with one customer in one read: deals, tickets, invoices, quotes, signatures, meetings and their last messages.Free* - Save a contact
crm_save_contactCreates a contact, or updates the one with the same email; only the fields you send change.$0.01 a call - Save many contacts
crm_save_contactsCreates 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 - Update a contact
crm_update_contactChanges fields on a contact by its id, its email included; only the fields you send change.$0.01 a call - Archive a contact
crm_archive_contactHides a contact from searches and lists; its history is kept.$0.001 a call
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md