Complete Integration Guide for GoHighLevel and EHR Systems
Enter your GoHighLevel Location ID to access your EHR management dashboard
Please enter a valid Location ID
app.gohighlevel.com/v2/location/YOUR_LOCATION_ID/...
/location/ (looks like: ve9EPM428h8vShlRW1KT)
https://app.gohighlevel.com/v2/location/ve9EPM428h8vShlRW1KT/settings/business-info
The highlighted part is your Location ID
Log into your GoHighLevel account and navigate to Settings > Business Info. Your Location ID is displayed in the URL or settings page.
Navigate to /location/{ID}/manage using your Location ID to access your personalized EHR management dashboard.
Select your EHR system (Tebra, PracticeQ, or AdvancedMD) and enter your API credentials. Test the connection to verify it works.
Configure webhooks in both GoHighLevel and your EHR system to enable real-time bidirectional synchronization.
Add, configure, and manage multiple EHR system connections. Each connector shows real-time status, last sync time, and patient count.
View detailed logs of all synchronization activities including patients created, appointments synced, documents uploaded, and any errors encountered.
HIPAA-compliant audit logs with PHI masking. Track all data access, modifications, and API calls with correlation IDs for complete traceability.
Monitor key performance indicators including sync success rates, patient conversions, appointment completion rates, and review generation metrics.
Rate Limit: Tebra limits API calls to 1 request per second. The system automatically handles throttling.
Rate Limit: PracticeQ allows 10 requests per minute. Batch operations are automatically queued.
Polling Interval: AdvancedMD uses polling-based sync every 15-30 minutes for optimal performance.
https://ehr.mindpractice.app/api/ghl/webhooks/contact
Triggered when a contact is created or updated in GHL
https://ehr.mindpractice.app/api/ghl/webhooks/appointment
Triggered when an appointment is scheduled or modified
https://ehr.mindpractice.app/api/ghl/webhooks/opportunity
Triggered when opportunity status changes to "Approved"
https://ehr.mindpractice.app/api/webhooks/tebra
https://ehr.mindpractice.app/api/webhooks/practiceq
https://ehr.mindpractice.app/api/webhooks/advancedmd
/api/connectors
- List all connectors
/api/connectors
- Create new connector
/api/connectors/{ehrSystem}
- Update connector
/api/connectors/{ehrSystem}/test
- Test connection
/api/connectors/{ehrSystem}/sync
- Trigger manual sync
POST /api/webhooks/practiceq/create-patient
Content-Type: application/json
{
"contact_id": "ghl_contact_123",
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone": "+1234567890",
"date_of_birth": "1990-01-15"
}
Sync demographics from EHR to GHL contacts with welcome workflow trigger
Archive inactive patients and update contact tags automatically
Sync ID cards, insurance docs to GHL with SMS notifications
Create GHL calendar events with confirmations and reminders
Bidirectional confirmation sync with no-show tagging
Mark opportunities as won, update last visit, trigger reviews
Flag contacts with balances and trigger payment reminders
Clear past-due flags on payment and update financial fields
Detect 30+ day absence and add to re-engagement pipeline
Submit intake forms from GHL to EHR with document upload
Apply tags, update fields, trigger re-scheduling workflows
24-hour SMS/email reminders with confirmation sync to EHR
All PHI fields encrypted at rest
All API calls use secure transport
Audit logs automatically redact sensitive data
Complete traceability with correlation IDs