- Issue created by @camoa
- πΊπΈUnited States camoa
Get Salesforce Field Value(s) action implemented and committed.
What it does: Retrieve one or more field values from a Salesforce record. Simpler alternative to SOQL for single record field access. Perfect for fetching auto-generated fields after push operations or displaying Salesforce data when viewing Drupal entities.
Key features:
- Dual ID support: Standard Salesforce IDs and External IDs
- Flexible field retrieval: single field, multiple fields, or all fields (*)
- Efficient objectRead() API for retrieving all fields
- Comprehensive error handling with specific messages
- Field validation showing which requested fields don't exist
Available tokens:
- Direct field access:
[token:Email]
,[token:FirstName]
,[token:CustomField__c]
- Status:
[token:success]
(1/0),[token:error]
(error message) - Metadata:
[token:object_type]
,[token:record_id]
- Field info:
[token:field_count]
,[token:all_field_names]
(array),[token:fields_not_found]
- All fields:
[token:fields]
(associative array)
Example usage:
- Specific fields:
Email,FirstName,LastName,Phone
- All fields: Leave empty or use
*
- External ID lookup: Check "Use External ID", set field name (e.g., Email) and value
- After push: Use
[mapped_object:salesforce_id]
to fetch MDVIP_ID__c or other generated fields
Testing: Successfully tested with standard IDs, external ID lookups, field validation, and error handling. Integrates perfectly with mapped object tokens from other actions/conditions.
Files added/changed:
src/Plugin/Action/SalesforceGetFieldValue.php
(new action)config/schema/salesforce_eca.schema.yml
(configuration schema)
Now you can easily retrieve Salesforce field values without writing SOQL queries. Essential for displaying Salesforce data on entity views and fetching auto-generated fields after push operations.