Skip to main content
All Integrations
CRM

Automate Review Requests from HighLevel Appointments

When an appointment on a HighLevel (GoHighLevel) calendar ends, EmbedMyReviews adds the contact to a review campaign and sends the request by SMS or email at the time you choose. Cancelled and no-show appointments are never asked.

No marketplace app and no OAuth. The connection uses a Private Integration token you create in HighLevel and can revoke at any time.

HighLevel
Showed

Consultation

Sarah Kim · Main Calendar · 45 min

Ended 3:45 PM
+1 (415) 555-0142
Review request scheduled

Sends 1 hour after the appointment ends. "Hi Sarah, thanks for coming in today. Would you share a quick review?"

How It Works

Four steps in the setup wizard. Nothing is installed in the HighLevel sub-account.

1

Connect your HighLevel location

Paste a Private Integration token and the Location ID. The token is validated on the spot and stored encrypted.

2

Choose which calendars take part

All calendars, or a specific set. If you choose all, calendars added later are included automatically.

3

Campaign, attendance and timing

Pick the review campaign, choose lenient or strict attendance, add an optional tag filter, and set when the request goes out.

4

Review and activate

Appointments on the selected calendars are checked every 15 minutes from then on. No webhook to configure.

What triggers a request, and what never does

EmbedMyReviews sends the review request after the HighLevel appointment ends, not when it is booked. Someone who never turned up is never asked to review a visit that did not happen.

An appointment on a selected calendar ends, and the request is timed from that moment
Cancelled, no-show and invalid appointments never send and cancel any pending request
Lenient (default, recommended): send unless cancelled or marked no-show. The status is re-checked right before sending, and it works even when statuses are never updated
Strict: send only when the appointment is marked Showed. Nothing goes out without an explicit Showed status
Optional contact-tag filter: only contacts carrying at least one of the tags you list are asked
The contact is the HighLevel contact record. Appointments with no email and no phone are skipped and logged
Consultation · ShowedRequest scheduled
Follow-up · ConfirmedWaiting for end
Estimate · No-showCancelled
Consultation · CancelledCancelled
Consultation · ShowedRequest sent

Built for Agencies That Run on HighLevel

Many agencies run their CRM, calendars and funnels on HighLevel and want a deeper, white-label reputation platform alongside it. This integration lets you keep HighLevel for scheduling and use EmbedMyReviews for review requests, widgets, AI responses and reporting.

Weighing the two for reputation management? You can compare EmbedMyReviews with HighLevel's built-in reputation tools.

Agencies with client sub-accounts

Each client location connects with its own Private Integration token under its own account. Nothing is shared between clients.

Clinics, dental and aesthetics

The request lands after the visit ends. Patients who cancelled or did not show are never asked.

Home services with estimate calendars

Use the tag filter so only contacts tagged as customers are asked, not leads who booked a quote.

Salons and barbers

Front desks rarely mark every appointment Showed. Lenient mode sends unless a booking is cancelled or marked no-show.

Coaches and consultants

Evening sessions can send the next morning at a set time, so the request arrives when the client is at their desk.

Multi-calendar locations

Choose all calendars once and every calendar the client adds later joins the automation without a settings change.

Integration Features

Built around how HighLevel calendars are actually used, including the ones where nobody updates the status.

Calendar selection

Include every calendar in the location or pick specific ones. With all calendars selected, new calendars are picked up automatically.

Two attendance modes

Lenient sends unless the appointment is cancelled or marked no-show. Strict waits for an explicit Showed. Both re-check the status right before sending.

Contact-tag filter

List the HighLevel tags that qualify, comma separated. Only contacts with at least one of them receive a request. Leave it empty to ask everyone.

Timing you control

Immediately, 15 minutes to 7 days after the appointment ends, or the next morning at a chosen time in the location's timezone.

15-minute checks, no webhook

Appointments are read every 15 minutes across a 48-hour look-back and a 30-day look-ahead. There is no webhook to set up and nothing to keep alive.

Activity log with reasons

Every appointment received, skipped, cancelled or sent is listed with its reason, alongside totals for appointments received and requests sent.

What you need before connecting

EmbedMyReviews connects to HighLevel through a Private Integration you create in the sub-account. The setup wizard checks the token before anything is saved.

  • A Private Integration created under Settings, Private Integrations in the HighLevel sub-account. If the menu item is missing, enable it under Settings, Labs first.
  • The scopes View Contacts and View Calendars & Calendar Events. Nothing else is requested.
  • The token, which starts with pit- and is shown once. Copy it before closing the dialog.
  • The Location ID, found under Settings, Business Profile.
  • A review campaign with SMS or email configured through your own provider.

The old API key will not work

The API Key shown under Settings, Business Profile belongs to HighLevel's legacy system and is rejected by the wizard. Use a Private Integration token instead. It starts with pit- and carries only the scopes you grant.

No marketplace app, no OAuth

Nothing is installed in your sub-account and no app review is involved. Revoke the token in HighLevel at any time and the integration stops on the next check.

BYOK

Your providers. Wholesale rates.

Review requests triggered by HighLevel appointments are sent through your own Twilio (SMS) or SMTP (email) accounts. You pay wholesale rates directly, with no EmbedMyReviews markup on messaging.

Your Twilio
Your SMTP

Common questions

Is this a HighLevel marketplace app?

No. EmbedMyReviews connects through a Private Integration token that you create in the HighLevel sub-account under Settings, Private Integrations, with the View Contacts and View Calendars & Calendar Events scopes. There is no OAuth flow, nothing is installed, and you can revoke the token from HighLevel at any time. The legacy API Key under Business Profile is not accepted.

Which appointments trigger a request?

Appointments on the calendars you selected, once they have ended. The request is timed from the end of the appointment, never from the booking. Appointments that are cancelled, marked no-show, or invalid never send, and if one of those statuses appears before a scheduled request goes out, the request is cancelled. Appointments whose contact has no email and no phone are skipped and logged.

What is the difference between lenient and strict attendance?

Lenient is the default and the recommended mode. It sends unless the appointment is cancelled or marked no-show, and it re-checks the status right before sending, so it works for teams that never update appointment statuses at all. Strict sends only when the appointment has been explicitly marked Showed. If your front desk does not mark attendance reliably, strict mode will send very little.

Can I limit it to certain contacts?

Yes. Add a comma-separated list of HighLevel contact tags during setup. Only contacts carrying at least one of those tags receive a request, which is useful for separating paying customers from leads who booked an estimate. Leave the filter empty to ask every contact on the selected calendars.

How quickly after the appointment is the request sent?

You choose during setup: immediately after the appointment ends, a fixed delay from 15 minutes up to 7 days, or the next morning at a set time in the location timezone. HighLevel is checked every 15 minutes, so a request set to send immediately goes out within roughly a quarter of an hour of the appointment ending.

Do I need to replace HighLevel?

No. Keep HighLevel for your CRM, calendars, pipelines and funnels. EmbedMyReviews runs alongside it and handles the review side: requests after appointments, review widgets, AI responses, and reporting under your own white-label domain. Each client location connects with its own token under its own account.

Connect HighLevel and let finished appointments ask for the review.

Included in the flat $99/month plan for unlimited clients and locations. No per-connection fees.

No credit card required. Explore the platform for 14 days.