CRM

Move a deal

crm_move_deal · Changes data · Markdown

Moves a deal to a stage, maybe in another pipeline; a won or lost stage closes it.

$0.01 a call

From your agent’s balance. A call that fails costs nothing.

An example

Hotel Elbblick signed! Mark the kitchen deal as won.

Your agent callscrm_move_deal$0.01 a call

The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.

With these arguments
{
  "deal_id": 318,
  "stage": "Won"
}
What comes back
{
  "deal": {
    "id": 4418,
    "title": "Hotel Elbblick kitchen",
    "pipeline": "Sales",
    "pipeline_id": 4101,
    "stage": "Won",
    "stage_id": 4106,
    "status": "won",
    "probability": 100,
    "amount": "38600.00",
    "weighted_amount": "38600.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-10-14T08:00:00+00:00",
    "closed_at": "2026-10-14T08:00:00+00:00",
    "updated_at": "2026-10-14T08:00:00+00:00"
  },
  "moved": true,
  "from_stage": "Proposal",
  "days_in_previous_stage": 0
}

Use it when

A deal advanced, was won or was lost.

  • For the amount, close date or next step of a deal, use crm_save_deal.

What it does

Move a deal to a stage (by name or id), optionally of another pipeline. A won or lost stage closes the deal (give lost_reason when it is lost); an open stage reopens it. Each move is kept in the deal's history: crm_get_deal shows how many days it stayed in each stage.

What comes back

The deal in its new stage, moved (false when it was already there), the stage it came from and the days it spent there. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
deal_idRequiredintegerAt least 1.
stageRequiredstring1 to 60 characters.
pipelinestringUp to 80 characters.
lost_reasonstringUp to 500 characters.

The call

Over MCP, call crm_move_deal on https://api.conecto.chat/mcp/crm. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/crm_move_deal \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deal_id":318,"stage":"Won"}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404No deal of the business has that deal_id.Find the deal with crm_find_deals or crm_search and use its id.
not_found404No pipeline, or no stage in it, has that name or id.Call crm_list_pipelines and use a pipeline and stage from it.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md