Portal Community

opportunity/update

Update one or more fields on an existing Salesforce Opportunity record.

When to Use

Configuration

Connection

FieldTypeRequiredDescription
InstanceUrlstringrequiredSalesforce org URL.
AccessTokenstringrequiredValid OAuth2 access token.

Operation Fields

FieldTypeRequiredDescription
OpportunityIdstringrequired18-character Salesforce Opportunity ID.
NamestringoptionalUpdated opportunity name.
StageNamestringoptionalUpdated pipeline stage picklist value.
CloseDatestringoptionalUpdated expected close date (YYYY-MM-DD).
AmountdecimaloptionalUpdated deal value.
ProbabilityintoptionalUpdated win probability (0–100).
DescriptionstringoptionalUpdated notes or context.
OwnerIdstringoptionalNew opportunity owner User ID.

Sample Configuration

{
  "Resource": "opportunity",
  "Operation": "update",
  "InstanceUrl": "https://myorg.my.salesforce.com",
  "AccessToken": "{{credentials.salesforce.accessToken}}",
  "OpportunityId": "{{trigger.opportunityId}}",
  "StageName": "Negotiation/Review",
  "CloseDate": "2026-10-15",
  "Amount": 135000
}

Validation Errors

Error CodeCondition
CFG_MISSING_INSTANCEInstanceUrl is missing.
CFG_MISSING_TOKENAccessToken is missing.
VAL_MISSING_FIELDOpportunityId is missing.
UNEXPECTED_ERRORUnexpected exception.

Output

Success Port

FieldTypeDescription
statusstringAlways updated.
resourcestringAlways opportunity.
operationstringAlways update.

Error Port

FieldTypeDescription
errorCodestringMachine-readable error code.
messagestringError description.

Sample Output

{ "status": "updated", "resource": "opportunity", "operation": "update" }

Expression Reference

ExpressionDescription
{{nodes.UpdateOpportunity.status}}Operation result.
{{nodes.UpdateOpportunity.errorCode}}Error code from error port.

Node Policies & GuardRails

PolicyDetail
Partial updateOnly provided fields are updated; others retain existing values.
Closed opportunityUpdating a closed opportunity's Stage may be restricted by Salesforce validation rules. Check IsClosed first if needed.
StageName validityMust match a valid stage defined in your org's picklist.
CloseDate formatMust be YYYY-MM-DD.
Error port wiringAlways wire the error port.

Examples

Advance Stage After Proposal Sent

{
  "OpportunityId": "{{trigger.opportunityId}}",
  "StageName": "Proposal/Price Quote",
  "Description": "Proposal sent on {{trigger.sentDate}}"
}

Push Close Date After Negotiation Delay

{
  "OpportunityId": "{{trigger.opportunityId}}",
  "CloseDate": "{{trigger.newCloseDate}}",
  "Description": "Close date pushed — reason: {{trigger.delayReason}}"
}

Sync AI Probability Score

{
  "OpportunityId": "{{trigger.opportunityId}}",
  "Probability": "{{nodes.AIScoring.probabilityScore}}"
}