The Salesforce integration provides comprehensive access to the Salesforce REST API, including SOQL queries, record CRUD operations, batch/composite operations, and email functionality.
let result = await integrations.salesforce.query('SELECT Id, Name FROM Account');while (!result.done) { // Process current batch for (const record of result.records) { console.log(record.Name); } // Get next batch if (result.nextRecordsUrl) { result = await integrations.salesforce.queryMore(result.nextRecordsUrl); }}
const result = await integrations.salesforce.search( 'FIND {John*} IN ALL FIELDS RETURNING Contact(Id, Name, Email), Lead(Id, Name, Email)');for (const record of result.searchRecords) { console.log(record.attributes.type, record.Name);}
const result = await integrations.salesforce.upsertRecord( 'Contact', 'External_Id__c', // External ID field name 'EXT-12345', // External ID value { FirstName: 'John', LastName: 'Doe', Email: 'john@example.com' });console.log('Record ID:', result.id);console.log('Created:', result.created ?? 'updated');
const result = await integrations.salesforce.sendEmail({ emailAddresses: 'recipient@example.com', emailSubject: 'Hello from Salesforce', emailBody: 'This is a test email sent via the Salesforce API.', senderType: 'CurrentUser'});if (result.isSuccess) { console.log('Email sent successfully');} else { console.error('Failed:', result.errors);}
// Get Contacts with Account infoconst result = await integrations.salesforce.query(` SELECT Id, Name, Email, Account.Name, Account.Industry FROM Contact WHERE Account.Industry = 'Technology'`);
// Parent to child (subquery)const result = await integrations.salesforce.query(` SELECT Id, Name, (SELECT Id, FirstName, LastName FROM Contacts) FROM Account WHERE Id = 'account-id'`);