CRM

Update an opportunity

Updates an opportunity (send only the fields to change).

Tool
filmo_crm_opportunities_update
Access: Write

Result

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

generated from the schema

version is REQUIRED: copy it from the previous read. If someone moved it between your read and your write, the request is rejected instead of overwriting their change. To move stage or close, use their own endpoints.

Arguments

opportunityIdstringRequired

Opportunity identifier.

Limits: min length 1

namestring

Short name.

Limits: min length 1, max length 200

descriptionstring

Free-text description.

amountstring

Amount as a decimal string, with at most two decimals. E.g.: "12500.00".

Limits: pattern ^\d+(\.\d{1,2})?$

currencystring

Uppercase ISO 4217 code. E.g.: "EUR".

Limits: pattern ^[A-Z]{3}$

probabilityOverrideinteger

Own probability, as a percentage.

Limits: min 0, max 100

expectedCloseDatestring<date-time>

Expected close date, in ISO 8601 with offset.

contactIdstring

Contact (person).

companyIdstring

Contact (company).

ownerStaffIdstring

Sales owner.

sourcestring

Lead source channel: inbound_email, website_form, referral, cold_outreach, event, social, existing_customer, partner or other.

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

sourceDetailstring

Free-text detail of the channel.

Limits: max length 200

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 PATCH /api/v1/crm/opportunities/{opportunityId}.

  • CRM

    Update an opportunity

    Updates an opportunity (send only the fields to change).

  • 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.