Templates / Sync NPD product pricing from Google Sheets to GoHighLevel custom objects

Sync NPD product pricing from Google Sheets to GoHighLevel custom objects

Ready for 3.0

by Rahul Joshi ✓ · 3 views · created 2026-09-03 · CRM

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

Nodes used (7)

Google Sheets

What it does

Quick overview This workflow receives two Google Sheets IDs via a webhook, filters the NPD products list, calculates pricing from a separate margin sheet, and then creates matching product and price book entry records in GoHighLevel custom objects using the LeadConnector API. How it works 1. Receives a POST webhook containing the NPD products spreadsheet ID and the margin spreadsheet ID. 2. Reads all rows from the NPD Google Sheet and keeps only products where the “SKU status” field contains “NPD”. 3. Processes the filtered products one at a time and, for each product, loads all rows from the margin Google Sheet. 4. Calculates a sell price by matching margin rows by brand and outputs either “Bespoke” pricing (one entry per customer margin rule) or “Standard” pricing (uses wholesale price). 5. Routes each calculated item by pricing type and creates a product record in the GoHighLevel custom object customobjects.products1 via the LeadConnector API. 6. Creates a corresponding price book entry record in the GoHighLevel custom object customobjects.pricebookentry and continues until all items are processed. Setup 1. Create a Google Sheets OAuth2 credential in n8n and select it in both Google Sheets nodes. 2. Add your GoHighLevel (LeadConnector) Private Integration token to the Authorization header (Bearer YOURGHLAPITOKEN) in all active HTTP Request nodes. 3. Replace YOURGHLLOCATIONID in the JSON body of each HTTP Request node with your GoHighLevel location ID. 4. Ensure your Google Sheets columns match the fields used in the filter (“SKU status”) and in the pricing calculation (brand, RRP/wholesale, and margin columns such as Customer/Brand/% off RRP), then adjust the pricing code if needed. 5. Send a POST request to the webhook URL with a JSON body containing both spreadsheetId and marginSpreadsheetId values.

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.