Connect GoHighLevel Phone
About 10 minutes · Done by: Your GoHighLevel sub-account Admin
Create a Private Integration token in GoHighLevel
- Log in to GoHighLevel and open the sub-account (location) your team calls from
- Go to Settings, then Private Integrations in the left menu
- Click Create new integration, name it CaseRescue
- Under scopes, enable: View Contacts, View Conversations, View Conversation Messages, View Locations, View Users, View Opportunities
- Click Create and copy the token. It starts with pit-
- Also note your Location ID: Settings, then Business Profile, the ID is shown at the top of the page
Connect GoHighLevel in CaseRescue
- Go to app.caserescue.ai and log in
- Open Settings, then Integrations
- In the CRM section, click Connect on the GoHighLevel card
- Paste the token and the Location ID, then click Connect
Enable call capture and copy your webhook URL
- On the same Integrations page, find the GoHighLevel Phone card
- Click Enable call capture
- Click Copy next to the webhook URL that appears. You will paste it into GoHighLevel in the next step
Build the workflow in GoHighLevel
Raw body to paste: {"contact_id": "{{contact.id}}", "contact_name": "{{contact.name}}", "contact_phone": "{{contact.phone}}", "contact_email": "{{contact.email}}", "user_name": "{{user.name}}"}
- In GoHighLevel go to Automation, then Workflows, and click Create Workflow (start from scratch). Name it CaseRescue call capture
- Click Add trigger and choose Call Details. Leave the filters empty so every call is sent
- Click the + below the trigger and add the action Custom Webhook
- Set Method to POST and paste the webhook URL you copied into the URL field
- Set Content-Type to application/json and replace the raw body with the JSON below
- Click Save action, then switch the workflow from Draft to Publish at the top right
Turn on call recording for your number
- In GoHighLevel go to Settings, then Phone Numbers
- Click the number your team uses, then Advanced settings (or the edit icon)
- Turn on Call Recording for both incoming and outgoing calls and save
Make a test call
- Place a call from the GoHighLevel dialer that lasts at least one minute with a real conversation
- Within a few minutes the call appears under Calls in CaseRescue with its transcript and score
- Back on the Integrations page, the GoHighLevel Phone card shows Last call received with the time
Good to know
- Only calls 30 seconds or longer are transcribed and analyzed. Shorter calls are logged but skipped.
- Calls in Spanish, or mixed Spanish and English, are transcribed and analyzed automatically.
- GoHighLevel keeps the recording. CaseRescue reads it through your token and never changes anything in your account.
- Your Private Integration token does not expire. If you ever rotate it, reconnect under CRM and call capture keeps working.
- You can disable call capture at any time from the GoHighLevel Phone card. Turning the workflow off in GoHighLevel also stops it.
Troubleshooting
Private Integrations must be enabled for the sub-account by your agency admin. Ask them to turn it on under the agency settings, then refresh.
Open the integration in GoHighLevel, edit scopes, and make sure View Conversations and View Conversation Messages are both enabled. Save and try again.
Check that Call Recording is on for the number and that the call was at least 30 seconds. Open the workflow's Execution logs in GoHighLevel to confirm the webhook returned status 200.
Clear the search box and type Call Details. Older guides call it Call Status. It lives under the Events category.
Click Disable on the GoHighLevel Phone card in CaseRescue, or unpublish the workflow in GoHighLevel.