Portal Community

case/create

Create a new support Case record in Salesforce linked to an Account and optionally a Contact.

When to Use

Configuration

Connection

FieldTypeRequiredDescription
InstanceUrlstringrequiredSalesforce org URL.
AccessTokenstringrequiredValid OAuth2 access token.

Operation Fields

FieldTypeRequiredDescription
SubjectstringrequiredCase subject or title.
AccountIdstringoptionalSalesforce Account ID to link the case to.
ContactIdstringoptionalSalesforce Contact ID for the reporting contact.
DescriptionstringoptionalDetailed description of the issue.
PrioritystringoptionalCase priority: Low, Medium, or High.
StatusstringoptionalInitial case status, e.g. New, Working.
OriginstringoptionalHow the case was received: Phone, Email, Web.
TypestringoptionalCase type: Question, Problem, Feature Request.
ReasonstringoptionalReason for the case.

Sample Configuration

{
  "Resource": "case",
  "Operation": "create",
  "InstanceUrl": "https://myorg.my.salesforce.com",
  "AccessToken": "{{credentials.salesforce.accessToken}}",
  "Subject": "Login issue after password reset",
  "AccountId": "{{nodes.LookupAccount.records[0].Id}}",
  "ContactId": "{{nodes.LookupContact.records[0].Id}}",
  "Description": "Customer reports unable to log in after password reset on {{trigger.timestamp}}",
  "Priority": "High",
  "Status": "New",
  "Origin": "Email",
  "Type": "Problem"
}

Validation Errors

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

Output

Success Port

FieldTypeDescription
caseIdstring18-character Salesforce Case ID.
caseNumberstringHuman-readable case number (e.g. 00001234).
createdAtstringISO 8601 creation timestamp.
statusstringAlways created.
resourcestringAlways case.
operationstringAlways create.

Error Port

FieldTypeDescription
errorCodestringMachine-readable error code.
messagestringError description.

Sample Output

{
  "caseId": "5005g000007VwxYZA",
  "caseNumber": "00001234",
  "createdAt": "2026-05-26T13:00:00.000Z",
  "status": "created",
  "resource": "case",
  "operation": "create"
}

Expression Reference

ExpressionDescription
{{nodes.CreateCase.caseId}}The Salesforce Case ID.
{{nodes.CreateCase.caseNumber}}Human-readable case number.
{{nodes.CreateCase.createdAt}}Creation timestamp.
{{nodes.CreateCase.errorCode}}Error code from error port.

Node Policies & GuardRails

PolicyDetail
Credential storageStore AccessToken in BizFirst Credentials Manager.
Account linkageAlways provide AccountId when known. Orphaned cases are harder to report and manage.
Picklist validationPriority, Status, Origin, Type values must match org picklist entries.
Error port wiringAlways wire the error port.
Sandbox testingTest in sandbox, especially if case creation triggers Salesforce Entitlement or Milestone processes.

Examples

Create Case from Customer Email

{
  "Subject": "{{trigger.emailSubject}}",
  "Description": "{{trigger.emailBody}}",
  "Origin": "Email",
  "Priority": "Medium",
  "Status": "New",
  "ContactId": "{{nodes.LookupContactByEmail.records[0].Id}}"
}

Chatbot Escalation

{
  "Subject": "Chatbot escalation: {{trigger.issueType}}",
  "Description": "Session transcript: {{trigger.chatTranscript}}",
  "Origin": "Web",
  "Priority": "High",
  "AccountId": "{{trigger.accountId}}",
  "ContactId": "{{trigger.contactId}}"
}

Payment Failure Alert

{
  "Subject": "Payment failed — Invoice #{{trigger.invoiceNumber}}",
  "Description": "Payment of ${{trigger.amount}} failed on {{trigger.failureDate}}. Reason: {{trigger.failureReason}}",
  "Priority": "High",
  "Type": "Problem",
  "AccountId": "{{trigger.accountId}}"
}