Portal Community

opportunity/get

Retrieve a single Opportunity record by its Salesforce ID.

When to Use

Configuration

Connection

FieldTypeRequiredDescription
InstanceUrlstringrequiredSalesforce org URL.
AccessTokenstringrequiredValid OAuth2 access token.

Operation Fields

FieldTypeRequiredDescription
OpportunityIdstringrequired18-character Salesforce Opportunity ID.

Sample Configuration

{
  "Resource": "opportunity",
  "Operation": "get",
  "InstanceUrl": "https://myorg.my.salesforce.com",
  "AccessToken": "{{credentials.salesforce.accessToken}}",
  "OpportunityId": "{{trigger.opportunityId}}"
}

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
IdstringSalesforce Opportunity ID.
NamestringOpportunity name.
AccountIdstringLinked Account ID.
StageNamestringCurrent pipeline stage.
AmountdecimalDeal value.
CloseDatestringExpected close date.
ProbabilityintWin probability percentage.
IsClosedboolWhether the opportunity is closed.
IsWonboolWhether the opportunity was won.
OwnerIdstringOpportunity owner User ID.

Error Port

FieldTypeDescription
errorCodestringMachine-readable error code.
messagestringError description.

Sample Output

{
  "Id": "0065g000005RstUVW",
  "Name": "Acme Corp — Enterprise Q3 2026",
  "AccountId": "0015g000007HijKAB",
  "StageName": "Proposal/Price Quote",
  "Amount": 120000,
  "CloseDate": "2026-09-30",
  "Probability": 60,
  "IsClosed": false,
  "IsWon": false,
  "OwnerId": "0055g000007AbcDEF"
}

Expression Reference

ExpressionDescription
{{nodes.GetOpportunity.StageName}}Current pipeline stage.
{{nodes.GetOpportunity.Amount}}Deal value.
{{nodes.GetOpportunity.IsClosed}}Whether the deal is closed.
{{nodes.GetOpportunity.CloseDate}}Expected close date.

Node Policies & GuardRails

PolicyDetail
Credential storageStore AccessToken in BizFirst Credentials Manager.
Not Found handlingNon-existent opportunity IDs route to the error port. Always handle it.
Read permissionsAuthenticated user must have Read access on Opportunity.
Error port wiringAlways wire the error port.
Sandbox testingTest in sandbox before production.

Examples

Pipeline Forecast Slack Notification

{
  "OpportunityId": "{{trigger.opportunityId}}"
}
// Slack: "Deal: {{nodes.GetOpportunity.Name}} | Stage: {{nodes.GetOpportunity.StageName}} | Amount: ${{nodes.GetOpportunity.Amount}}"

Stage-Gated Automation

{
  "OpportunityId": "{{trigger.opportunityId}}"
}
// IfCondition: {{nodes.GetOpportunity.StageName}} == 'Negotiation/Review'
// Then: trigger contract generation workflow

Verify Before Close

{
  "OpportunityId": "{{trigger.opportunityId}}"
}
// IfCondition: {{nodes.GetOpportunity.IsClosed}} == false
// Then: proceed to opportunity/close