Setting up Xovera for GoHighLevel
Xovera is an AI notetaker that joins your Zoom, Google Meet and Microsoft Teams calls, transcribes them, and writes the summary and action items into your GoHighLevel contacts and opportunities. This guide covers installing the app, what it asks permission for, and what to check if something doesn't look right.
Before you start
- • A GoHighLevel account — a single location or an agency account.
- • A Xovera account. You can create one free — no credit card required.
- • Permission to install Marketplace apps in the GoHighLevel account you're connecting.
Installation
- 1
Install the app from the GoHighLevel Marketplace
Open the Xovera listing in the GoHighLevel Marketplace and choose Install. GoHighLevel will ask which account to install into. Pick a single sub-account (location), or install at the agency level and select the sub-accounts you want covered.
- 2
Approve the permissions
GoHighLevel shows the scopes the app is requesting. These are listed in full below — Xovera asks only for contact and opportunity access, plus the two OAuth scopes that agency installs require. Approving returns you to Xovera and the connection is stored against your workspace.
- 3
Confirm the connection in Xovera
In Xovera, go to Settings → Integrations. Your connected GoHighLevel location appears under the CRM section. If you installed at agency level you can pick which location a given workspace writes to.
- 4
Connect a calendar (or paste a meeting link)
Go to Settings → Calendars and connect Google Calendar. Xovera then sees your upcoming Google Meet, Zoom and Microsoft Teams calls and can join them automatically. You can also paste a meeting link at any time to have it join a one-off call.
- 5
Run a meeting
The Xovera notetaker joins the call, records it, and transcribes it with speaker labels. When the meeting ends it writes an AI summary with key points and action items.
- 6
Check GoHighLevel
Xovera matches the meeting to a GoHighLevel contact and writes the summary as a note on that contact. Where an opportunity exists for the contact, it can update the opportunity so your pipeline reflects the call. Action items also become tasks on a Xovera project board.
Permissions Xovera requests
These are the exact scopes requested during install, and why each one is needed. Xovera does not request access to conversations, calendars, payments, or any other part of your GoHighLevel account.
| Scope | Why it's needed |
|---|---|
| contacts.readonly | Find the GoHighLevel contact that matches a meeting attendee, so the note lands on the right record. |
| contacts.write | Write the meeting summary and action items onto that contact as a note. |
| opportunities.readonly | Look up the contact's opportunity and read your pipelines and stages. |
| opportunities.write | Update the opportunity after a call so the pipeline reflects the conversation. |
| oauth.readonly | Agency installs only: list the sub-accounts (locations) the app was installed into. |
| oauth.write | Agency installs only: mint a per-location access token so each sub-account is handled separately. |
What Xovera writes into GoHighLevel
- • A contact note — the meeting summary and action items, attached to the matching contact.
- • An opportunity update — where the contact has an opportunity, so the pipeline reflects what was discussed.
Xovera does not delete GoHighLevel records, and does not modify contacts beyond adding notes.
Agencies and sub-accounts
Installing at the agency level lets one install cover many client sub-accounts. Xovera lists the locations the install granted access to and obtains a separate access token per location, so each sub-account's data stays scoped to that sub-account. You choose which location a Xovera workspace writes to from Settings → Integrations.
Troubleshooting
- The install finished but no location shows in Xovera
- Open Settings → Integrations and reconnect. For agency installs, confirm the sub-account you expect was actually selected during install — GoHighLevel only grants access to the locations you ticked.
- Notes aren't appearing on the contact
- Xovera matches meeting attendees to GoHighLevel contacts by email address. If the attendee's email isn't on a contact record, there is nothing to attach the note to. Add the email to the contact and the next meeting will match.
- The notetaker didn't join a meeting
- Check that the event is on the connected calendar and has a Google Meet, Zoom or Teams link on it. Meetings without a joinable link can't be attended. You can still upload a recording afterwards.
- The Xovera tab in GoHighLevel is blank
- Reload the tab once — the first load completes a handshake that registers your CRM domain, including white-labelled domains like
crm.youragency.com. No setup is needed on our side. If it is still blank after a reload, your browser console will show a Content-Security-Policy “frame-ancestors” message; send us that and the domain your team logs into. - Connecting Google Calendar does nothing inside the panel
- Google refuses to load its sign-in screen inside an embedded frame, so Xovera opens it in a separate window instead. If nothing appears, your browser blocked the popup — allow popups for the CRM domain and try again.
- The opportunity wasn't updated
- Opportunity updates require the contact to already have an opportunity in a pipeline Xovera can see. If the contact has no opportunity, the note is still written to the contact record.
Disconnecting
You can disconnect the CRM connection at any time from Settings → Integrations in Xovera, or uninstall the app from the GoHighLevel Marketplace. Once disconnected, Xovera stops reading from and writing to your GoHighLevel account. Notes already written to GoHighLevel remain on your contacts — they are your records.
Still stuck?
Email hello@xovera.io or see the support page. For the read-only REST API, see the API documentation.