Integrations

How-to

Connect GoHighLevel

Create a GoHighLevel Contact for every booking, plus an optional Opportunity and Appointment, and filter booking times by your team's GoHighLevel calendars.

Updated Sep 30, 2026

The GoHighLevel integration sends every new booking into one GoHighLevel sub-account. It always creates a Contact. It can also create an Opportunity in a pipeline and an Appointment on a calendar. It can import your GoHighLevel users as technicians, so customers only see times when someone is free.

Connect GoHighLevel

  1. 1

    Turn on GoHighLevel

    In the sidebar, under Integrations, click Browse (or Manage). Switch GoHighLevel on, then click GoHighLevel to open its setup page.

  2. 2

    Click Connect

    In the Connection card, click Connect. GoHighLevel opens in the same tab.

  3. 3

    Choose the sub-account

    Pick the sub-account (location) to install into and approve access. GoHighLevel sends you back to the setup page.

  4. 4

    Confirm the sub-account

    If you connected with an agency login, pick the sub-account in the Sub-account card and click Save sub-account. If you connected from a sub-account, the card shows its Location ID and Company ID instead.

  5. 5

    Send a test lead

    Click Send test lead. When you see "Test lead pushed. Check Recent activity below for the Contact id.", the Contact's id shows in Recent activity. Click it to open the Contact in GoHighLevel.

The test creates a real Contact named "Test Customer" with an email like test-…@servicereserve.com. Delete it in GoHighLevel when you're done.

Choose what runs

The Features card has three switches. Change them, then click Save features. Each feature keeps its settings while it's off.

Lead creation

On by default. Every booking creates a Contact with the customer's name, email, phone, company, address, and source. If a Contact with the same email already exists, GoHighLevel reuses it.

To also create an Opportunity, pick a Pipeline and an Initial stage under the switch, then click Save pipeline. Leave them empty to create only a Contact.

Switching Lead creation off pauses every push, including Opportunities and Appointments.

Appointment creation

Needs Lead creation on. Pick a Calendar under the switch and click Save calendar. Every booking with a preferred time then gets an Appointment on that calendar, linked to the Contact.

  • The appointment starts at the date and time the customer picked, in the calendar's time zone.
  • It lasts 60 minutes.
  • Bookings without a time picker skip the appointment. The Contact and Opportunity are still created.

Choose "don't create appointments" in the Calendar list to stop.

Schedule integration

Imports your GoHighLevel users as ServiceReserve technicians. The booking form then only offers times when a technician's GoHighLevel calendar is free. See Import technicians.

Field mapping

The Field mapping card shows when Lead creation is on. It has a Contact tab and, once you've saved a pipeline, an Opportunity tab.

Tags

On the Contact tab, enter tags in Tags to apply, separated by commas or new lines, then click Save tags. Every new Contact gets these tags. Most GoHighLevel automations start from a tag.

Custom fields

Standard Contact fields are always filled in. You can also send these booking details to your own GoHighLevel custom fields:

ServiceReserve fieldWhat it contains
Request IDThe ServiceReserve request id
Selected servicesThe services the customer picked, with prices
Intake answersAnswers to the category and service questions
AttributionUTM values, referrer, and landing page
Request URLA link back to the request in ServiceReserve
Full descriptionAll of the above in one block of text

Pick a custom field for each row you want, or leave it on "don't write to GoHighLevel". Rows are pre-filled when a custom field's name matches. Review them, then click Save mapping. Click Refresh fields after you add custom fields in GoHighLevel.

The Opportunity tab works the same way and writes to the Opportunity's custom fields.

Import technicians

  1. 1

    Turn on Schedule integration

    In Features, switch on Schedule integration and click Save features. A Technicians card appears.

  2. 2

    Pick users

    Check the GoHighLevel users who take jobs.

  3. 3

    Save

    Click Save technicians. New technicians get your default form, service area, and schedule.

  4. 4

    Adjust routing

    Open Technicians in the sidebar to change each technician's form, service area, or schedule, or to remove one.

Check deliveries

The Recent activity card lists the last 50 bookings sent to GoHighLevel. Successful rows link to the Contact. Failed rows show the error.

Stop sending bookings

Switch the toggle in the page header to Disabled. Nothing is sent while it's off. Your connection and settings stay saved.

Troubleshooting

  • Send test lead is greyed out. Pick a sub-account first. The button's tooltip reads "Pick a sub-account below before sending a test."
  • "GoHighLevel: pick a sub-account on the setup page before pushing leads." Pick and save a sub-account in the Sub-account card.
  • "Your previously-saved sub-account isn't covered by this reconnect." The last reconnect didn't include your saved sub-account. Pick a sub-account again, then re-pick the pipeline and calendar.
  • "No sub-accounts available." Check that the GoHighLevel agency has at least one location, then click Reconnect.
  • "Couldn't reach GoHighLevel: …" A list failed to load. Click Reconnect, then reload the page.
  • "This sub-account has no pipelines yet." Create one in GoHighLevel under Opportunities → Pipelines, then reload the page.
  • "This sub-account has no active calendars." Create one in GoHighLevel under Calendars → Create, then reload the page.
  • "GoHighLevel credentials have neither locationId nor companyId — reconnect the integration." Click Reconnect.
  • "Re-enable the GoHighLevel integration first." The integration is paused. Switch the page-header toggle on.

Related