CRM

Close an opportunity

Closes the opportunity as won or lost.

Tool
filmo_crm_opportunities_close
Access: Write

Result

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_crm_opportunities_close",
    "arguments": {
      "opportunityId": "oppo_8f2a1c",
      "outcome": "won"
    }
  }
}

generated from the schema

If you omit toStageId it goes to the first stage of the corresponding type in the pipeline. When losing, the reason goes STRUCTURED (lostReason): it is what makes the pipeline analyzable afterwards.

Arguments

opportunityIdstringRequired

Opportunity identifier.

Limits: min length 1

outcomestringRequired

Close outcome.

Available options: won, lost

toStageIdstring

Target stage. If omitted, the first stage of the corresponding type.

wonReasonstring

Reason, when the outcome is "won".

Limits: max length 500

lostReasonstring

Structured reason, when the outcome is "lost".

Available options: price, timing, no_budget, no_decision, lost_to_competitor, no_response, duplicate, other

idempotencyKeystring

Idempotency key chosen by the client (a UUID is recommended). Repeating the same key with the same arguments within 24 h returns the stored response without executing again; with different arguments it responds 422. It is the safe way to retry after a network failure.

Limits: min length 1, max length 255

ifMatchstring

Optimistic locking: the meta.etag you got from the detail read of this resource (or "*"). If the resource changed since, the call fails with 412 precondition_failed before writing anything; read it again and retry. Omit it to write unconditionally.

Limits: min length 1

Result

On success the result carries structuredContent with data and meta. These are the attributes of data.

Show the attributes of data
opportunityIdstring

identifierstring

namestring

statusstring

Available options: open, won, lost

amountstring

currencystring

pipelineIdstring

pipelineNamestring

stageIdstring

stageNamestring

stageTypestring

Available options: open, won, lost

effectiveProbabilitynumber

weightedAmountstring

daysInStageinteger

expectedCloseDatestring<date-time>

contactNamestring

companyNamestring

ownerNamestring

sourcestring

Available options: inbound_email, website_form, referral, cold_outreach, event, social, existing_customer, partner, other

createdAtstring<date-time>

updatedAtstring<date-time>

descriptionstring

versioninteger

Limits: min 1

collaboratorStaffIdsstring[]

quoteIdsstring[]

stageHistoryobject[]

Show child attributes
stageHistory.fromStageIdstring

stageHistory.toStageIdstring

stageHistory.toStatusstring

stageHistory.daysInPrevStageinteger

stageHistory.movedAtstring<date-time>

stageHistory.notestring

An error is a result with isError: true and the problem in content[0].text; there is no structuredContent. See Errors.

The same operation by REST

This tool runs POST /api/v1/crm/opportunities/{opportunityId}/close.

  • CRM

    Close an opportunity

    Closes the opportunity as won or lost.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

  • Guides

    Errors

    A tool error is a result with isError: true and the problem in the first text block. Branch on its code.