Quick overview
This workflow manually migrates product rows from a Salesforce export in Google Sheets into GoHighLevel custom object records via the LeadConnector API, then updates the source sheet with success or error flags and posts a Slack alert if the workflow fails.
How it works
- Runs when you manually execute the workflow.
- Reads Salesforce product rows from Google Sheets where the Created column is set to No and limits the run to a configurable batch size.
- Loops through each product row and sends a POST request to the LeadConnector (GoHighLevel) API to create a custom_objects.products_1 record with mapped product properties.
- When a product is created successfully, updates the same Google Sheets row to mark it as created and stores the returned GoHighLevel record ID.
- If the GoHighLevel create request returns an error, flags the row as an error in Google Sheets and continues processing the next product.
- If any node causes the workflow to fail, posts an error alert to a specified Slack channel.
Setup
- Create a GoHighLevel (LeadConnector) private integration token and set YOUR_GHL_API_TOKEN and YOUR_GHL_LOCATION_ID in the HTTP request configuration.
- Ensure your GoHighLevel account has a custom object schema named custom_objects.products_1 with fields matching the properties sent in the API request.
- Connect Google Sheets OAuth2 credentials and replace YOUR_GOOGLE_SHEET_ID_2 and the target sheet tab so the workflow can read and update your Salesforce product export.
- Connect Slack OAuth2 credentials and set YOUR_SLACK_CHANNEL_ID for workflow error alerts.
- Verify your Google Sheet includes the required columns (including Created, Error, and GHL Product ID) and adjust the batch limit value to control how many products run per execution.