DocsGoHighLevel Guide
Agency HighLevel Workflow Guide

Automate Client Provisioning with GoHighLevel

Deliver a completely turnkey, zero-touch reputation SaaS offer for your local business clients. Learn how to configure a GoHighLevel (GHL) Workflow that triggers when a client signs on, instantly provisions their branded review gatekeeper in Aevloc, queues their complimentary smart NFC countertop stand for dropship fulfillment, and sends the client their live funnel URL via SMS or email.

The 100% Automated Agency Workflow

When an agency signs an SMB client, you shouldn't have to manually configure software or copy/paste shipping addresses for physical hardware. With this GHL workflow:

1. Instant Funnel

Aevloc creates an isolated client sub-account with active 4+ star routing in under 200 milliseconds.

2. Stand Dropshipped

The complimentary initial NFC countertop stand ($0.00) automatically enters the physical packaging and dispatch queue.

3. Automated Handoff

GHL updates the contact record with the live URL and fires an SMS/Email to the business owner immediately.

Prerequisites

An active Aevloc Agency Pro or Scale subscription (includes up to 100 client sub-accounts).
An Agency API Key (prefixed with aev_live_), generated in your API & Webhooks dashboard.
A GoHighLevel Sub-Account or Agency Account with access to Workflows and Custom Fields.
1

Configure Custom Fields in GoHighLevel

In GoHighLevel, navigate to Settings > Custom Fields. Ensure you have the following fields available on Contact or Opportunity records:

Field NameTypePurpose
Street AddressStandard Address FieldStores storefront address for stand shipment ({{contact.address1}}).
City, State, Postal CodeStandard Location FieldsStores city, 2-letter state code, and ZIP ({{contact.city}}, etc.).
Google Review LinkCustom Field (Text / URL)Direct link to the client's Google review prompt.
Aevloc Funnel URLCustom Field (Text / URL)Stores the live URL returned by Aevloc for ongoing marketing/SMS.
2

Create the GHL Workflow & Trigger

In GoHighLevel, navigate to Automation > Workflows, click Create Workflow, and choose Start from Scratch.

Select one of the following Workflow Triggers based on your agency setup:

Option A (Recommended)Opportunity Status Changed

Filters: In Pipeline = Client Acquisition & Pipeline Stage = Closed Won. Fires automatically whenever an agency salesperson wins a deal or an onboarding payment clears.

Option BForm Submitted

Filter: Form Is = Client Storefront Onboarding Form. Fires when a client fills out your agency intake form with their business and shipping details.

Option CContact Tag Added

Filter: Tag Added = provision-aevloc. Allows your account managers to manually trigger provisioning with a single tag click.

3

Add the "Custom Webhook" Action in GHL

Click the (+) Add Action button below your trigger. In the action selector, search for "Custom Webhook" (under the Webhooks category).

Action Name
Provision Aevloc Sub-Account & Stand
Method
POST
URL
https://aevloc.com/api/v1/agency/subaccounts
Custom Headers (Click "+ Add Header" in GHL)
AuthorizationBearer aev_live_your_actual_key
Content-Typeapplication/json
Custom Data Payload (Raw JSON):

Select Custom Payload and paste the following snippet into the body editor. It uses standard GoHighLevel merge tags:

GoHighLevel Custom Webhook Body
{
  "name": "{{contact.company_name}}",
  "adminEmail": "{{contact.email}}",
  "shippingName": "{{contact.name}}",
  "shippingAddress": "{{contact.address1}}",
  "shippingCity": "{{contact.city}}",
  "shippingState": "{{contact.state}}",
  "shippingZip": "{{contact.postal_code}}",
  "googleReviewUrl": "{{contact.google_review_link}}"
}
Google Place ID Support:

If your clients don't have their full review link handy, you can pass their Google Place ID instead using "placeId": "{{contact.google_place_id}}". Aevloc will automatically convert it into an official Google review write URL!

4

Test the Webhook & Inspect Execution Logs

In GoHighLevel's workflow builder, click Test Workflow and pick a test contact that has complete address details. Then click on Execution Logs at the top of the workflow:

GoHighLevel Execution Log - 201 Response
{
  "success": true,
  "data": {
    "organizationId": "0191f6a2-8b4e-7210-9831-e6e8c1a892b1",
    "name": "Apex Dental Studio",
    "slug": "apex-dental-studio",
    "funnelUrl": "https://aevloc.com/review?org=0191f6a2-8b4e-7210-9831-e6e8c1a892b1",
    "hardwareOrder": {
      "id": "0191f6a2-8b51-789a-bc32-11449900aabb",
      "type": "initial",
      "status": "pending",
      "recipient": "Apex Dental Studio (Attn: Dr. Miller)"
    }
  }
}
Verify on Aevloc Dashboard:

You will also see the request recorded in real-time under /admin/api along with sub-account status, latency, and client destination.

5

Save the URL & Send Automated Client SMS

Directly beneath the Custom Webhook step in your GHL workflow, add these two high-value actions:

AUpdate Contact Field (Store Funnel Link)

Add an "Update Contact Field" action:
Field: Aevloc Funnel URL
Value: {{webhook.data.funnelUrl}} (mapped from the webhook step).

BAutomated SMS / Email Notification

Add a "Send SMS" or "Send Email" action to notify the client automatically:

"Hey {{contact.first_name}}, your 5-star review gatekeeper for {{contact.company_name}} is live at {{contact.aevloc_funnel_url}}! We have also dispatched your smart NFC countertop stand to {{contact.address1}}. Keep an eye on your mailbox!"

HighLevel Tips & Edge Cases

Handling Contacts Without Company Name:

In GHL, if {{contact.company_name}} is blank, the API returns a 422 error because name is mandatory. To prevent this, ensure your onboarding form requires Company Name, or configure a fallback in GHL using an If/Else branch.

Standard 2-Letter State Code:

Ensure the {{contact.state}} value is passed as a 2-letter uppercase abbreviation (e.g. "FL", "NY", "CA") for clean postage courier processing.

Sub-Account Limits:

Agency plans include up to 100 sub-accounts. If your agency exceeds 100 accounts, the endpoint will respond with 403 Forbidden until upgraded or older test accounts are removed.