opportunity/get
Retrieve a single Opportunity record by its Salesforce ID.
When to Use
- Retrieve opportunity details to populate a proposal or contract document.
- Check the current stage before triggering a stage-specific automation.
- Fetch amount and close date for a pipeline forecast notification.
- Verify an opportunity exists before attempting an update or close operation.
- Load opportunity data for a deal review Slack digest.
Configuration
Connection
| Field | Type | Required | Description |
InstanceUrl | string | required | Salesforce org URL. |
AccessToken | string | required | Valid OAuth2 access token. |
Operation Fields
| Field | Type | Required | Description |
OpportunityId | string | required | 18-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 Code | Condition |
CFG_MISSING_INSTANCE | InstanceUrl is missing. |
CFG_MISSING_TOKEN | AccessToken is missing. |
VAL_MISSING_FIELD | OpportunityId is missing. |
UNEXPECTED_ERROR | Unexpected exception. |
Output
Success Port
| Field | Type | Description |
Id | string | Salesforce Opportunity ID. |
Name | string | Opportunity name. |
AccountId | string | Linked Account ID. |
StageName | string | Current pipeline stage. |
Amount | decimal | Deal value. |
CloseDate | string | Expected close date. |
Probability | int | Win probability percentage. |
IsClosed | bool | Whether the opportunity is closed. |
IsWon | bool | Whether the opportunity was won. |
OwnerId | string | Opportunity owner User ID. |
Error Port
| Field | Type | Description |
errorCode | string | Machine-readable error code. |
message | string | Error 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
| Expression | Description |
{{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
| Policy | Detail |
| Credential storage | Store AccessToken in BizFirst Credentials Manager. |
| Not Found handling | Non-existent opportunity IDs route to the error port. Always handle it. |
| Read permissions | Authenticated user must have Read access on Opportunity. |
| Error port wiring | Always wire the error port. |
| Sandbox testing | Test 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