๐ค Sync Salesforce pricebook entries to GoHighLevel custom objects with Google Sheets
โก 5 views ยท ๐ค CRM & Sales Operations
Description
Quick overview
This workflow manually syncs Salesforce PricebookEntry records listed in Google Sheets into GoHighLevel (LeadConnector) as custom_objects.price_book_entry records, then creates an association to the related product and logs success or error statuses back to the sheet.
How it works
- Starts when you manually execute the workflow.
- Reads rows from a Google Sheets tab where the
Createdcolumn is set toNo, limits the batch size, and processes the rows one by one. - For each row, updates the sheet status to indicate processing has started.
- Queries Salesforce for the full PricebookEntry details (including Pricebook2 and Product2 fields) using the Salesforce record ID from the current sheet row.
- Creates a GoHighLevel custom object record in
custom_objects.price_book_entrywith pricing and product fields from Salesforce. - Creates a GoHighLevel association relation linking the new price book entry record to the configured related record.
- Updates the Google Sheets row as
Yeson success orErrorwhen the Salesforce query, GoHighLevel create, or association call fails, and waits between retries to reduce rate-limit issues.
Setup
- Add Google Sheets OAuth2 credentials and set the spreadsheet ID and the
Pricebook Entriestab (gid) to match your sheet. - Ensure your sheet includes a
Createdcolumn (withNofor rows to process) and columns for the Salesforce PricebookEntryId,row_number, and the related record ID used for the association (as referenced in the association request). - Add Salesforce OAuth2 credentials and replace
YOUR_SF_INSTANCE.my.salesforce.comin the Salesforce query URL with your Salesforce org domain. - Add your GoHighLevel (LeadConnector) private integration token and replace
YOUR_GHL_API_TOKEN,YOUR_GHL_LOCATION_ID, andYOUR_GHL_ASSOCIATION_IDin the two GoHighLevel HTTP requests. - Confirm that the GoHighLevel custom object
custom_objects.price_book_entryexists with property keys that match the request payload (for exampleproduct_name,salesforce_price_book_entry_id,list_price, andcurrency).
๐ Nodes Used
Google Sheets, HTTP Request
๐ฅ Import
Download workflow.json and import into n8n:
Workflow menu โ Import from File