lead/get
Retrieve a single Lead record by its Salesforce ID.
When to Use
- Retrieve full lead details for email personalization before sending a follow-up sequence.
- Check lead status before deciding whether to send a follow-up or skip the contact.
- Get the lead owner's user ID for routing or assignment logic downstream.
- Verify that a lead exists before attempting an update or conversion operation.
- Retrieve lead data for a deduplication check against another CRM or marketing system.
Configuration
Connection
| Field | Type | Required | Description |
InstanceUrl | string | required | Salesforce org URL, e.g. https://myorg.my.salesforce.com |
AccessToken | string | required | Valid OAuth2 access token. Store in BizFirst Credentials Manager. |
Operation Fields
| Field | Type | Required | Description |
LeadId | string | required | 18-character Salesforce Lead ID, e.g. 00Q5g000003aXyzEAE. |
Sample Configuration
{
"Resource": "lead",
"Operation": "get",
"InstanceUrl": "https://myorg.my.salesforce.com",
"AccessToken": "{{credentials.salesforce.accessToken}}",
"LeadId": "{{nodes.PreviousNode.leadId}}"
}
Validation Errors
| Error Code | Condition |
CFG_INVALID | Node settings could not be resolved. |
CFG_MISSING_INSTANCE | InstanceUrl is missing or empty. |
CFG_MISSING_TOKEN | AccessToken is missing or empty. |
VAL_MISSING_FIELD | LeadId is missing or empty. |
UNEXPECTED_ERROR | Unexpected exception during execution. |
Output
Success Port
Returns the full set of Lead fields from the Salesforce REST API. Key fields include:
| Field | Type | Description |
Id | string | 18-character Salesforce Lead ID. |
FirstName | string | Lead first name. |
LastName | string | Lead last name. |
Company | string | Company name. |
Email | string | Email address. |
Phone | string | Phone number. |
Status | string | Current lead status picklist value. |
OwnerId | string | Salesforce User ID of the lead owner. |
IsConverted | bool | true if the lead has been converted. |
CreatedDate | string | ISO 8601 creation timestamp. |
LastModifiedDate | string | ISO 8601 last modified timestamp. |
Error Port
| Field | Type | Description |
errorCode | string | Machine-readable error code. |
message | string | Human-readable description of the error. |
resource | string | Always lead. |
operation | string | Always get. |
Sample Output
{
"Id": "00Q5g000003aXyzEAE",
"FirstName": "Jane",
"LastName": "Doe",
"Company": "Acme Corp",
"Email": "jane.doe@acme.com",
"Phone": "+1-555-0100",
"Title": "VP of Engineering",
"Status": "Working - Contacted",
"LeadSource": "Web",
"IsConverted": false,
"OwnerId": "0055g000007AbcDEF",
"CreatedDate": "2026-05-20T08:30:00.000Z",
"LastModifiedDate": "2026-05-25T14:10:00.000Z"
}
Expression Reference
| Expression | Description |
{{nodes.GetLead.Id}} | Salesforce Lead ID. |
{{nodes.GetLead.Email}} | Lead's email address. |
{{nodes.GetLead.Status}} | Current lead status. |
{{nodes.GetLead.OwnerId}} | ID of the lead owner user. |
{{nodes.GetLead.IsConverted}} | Whether the lead has been converted. |
Node Policies & GuardRails
| Policy | Detail |
| Credential storage | Store AccessToken in BizFirst Credentials Manager, not as plain text. |
| Token expiry | Access tokens expire. Configure automatic refresh via a Salesforce Connected App. |
| Not Found handling | If the lead ID does not exist, the Salesforce API returns a 404. The node routes to the error port — always handle it. |
| Permission sets | The authenticated user must have read access to the Lead object in the target Salesforce org. |
| Sandbox testing | Test against a sandbox before running in production. |
Examples
Retrieve Lead for Email Personalization
After creating a lead, retrieve its full record to build a personalized follow-up email using all available fields.
{
"Resource": "lead",
"Operation": "get",
"LeadId": "{{nodes.CreateLead.leadId}}"
}
// Then in email node:
// Subject: "Hi {{nodes.GetLead.FirstName}}, following up on your inquiry"
// Body: "Hi {{nodes.GetLead.FirstName}}, we saw your interest in ..."
Verify Lead Before Update
Use an IfCondition node after lead/get to confirm the lead exists and is not yet converted before triggering an update.
// IfCondition expression:
// {{nodes.GetLead.IsConverted}} == false AND {{nodes.GetLead.Status}} != "Closed - Converted"
Route by Lead Owner
Retrieve the lead and use the OwnerId field to look up the assigned sales rep's contact details before sending a Slack notification.
{
"Resource": "lead",
"Operation": "get",
"LeadId": "{{trigger.leadId}}"
}
// Downstream: Slack node message to {{nodes.GetLead.OwnerId}} mapped to Slack user ID