How to Add Insurance Verification to a GoHighLevel Workflow in 20 Minutes
If you're running a Voice AI agency with medical clients on GoHighLevel, you can add real-time insurance verification to their workflow today. One REST API call, 1,152+ payers covered, no clearinghouse contract required. From signup to your first live eligibility check: under 20 minutes.
This guide is written for agency owners, not clinic staff. Every step is framed around reselling this capability to your clients — not using it internally.
Prerequisites
- A GoHighLevel account with a medical client workflow
- An Eligibility.dev account (free to start, no card required)
- The clinic's NPI number (National Provider Identifier — the clinic can look this up at nppes.nhlbi.nih.gov if they don't have it on hand)
Step 1: Create Your Workspace and Add Your First Clinic
Sign up at eligibility.dev. Enter your name and agency name — no payment info at this step.
Once your workspace is created, you'll land on the clinic setup screen. Add:
- Clinic name — your client's practice name
- NPI number — the clinic's 10-digit National Provider Identifier
The NPI lookup is built into the form. Start typing the clinic name and it will search automatically.
Don't have the NPI yet? Skip ahead and use the mock endpoint (Step 4) to test your integration first. You can add the real NPI later.
When the clinic is created, Eligibility.dev automatically generates:
- Your API key
- A pre-built voice prompt your client's AI agent can use
- Step-by-step directions for wiring it into their GHL workflow
Your second clinic takes less than 2 minutes. Everything is copy-paste after the first one.
Step 2: Grab Your API Key
On the clinic confirmation screen, click Generate workspace API key. Copy it now — it's only shown once.
Every API call uses this key as a Bearer token:
Authorization: Bearer <your-key>
Store it somewhere safe. You'll paste it into your GHL workflow in the next step.
Step 3: Configure the GHL Webhook or Workflow Action
In GoHighLevel, open the workflow where you want insurance verification to fire. This is typically triggered when:
- A new patient books an appointment
- A Voice AI agent collects patient info at the front desk
- A form submission comes in with insurance details
Add a Webhook action to the workflow. Configure it as follows:
Method: GET or POST
URL: https://www.eligibility.dev/api/eligibility/check
Headers:
Authorization: Bearer <your-api-key>
Content-Type: application/json
Body (POST):
{
"npi": "{{clinic_npi}}",
"member_id": "{{patient_member_id}}",
"payer_id": "{{payer_id}}",
"first_name": "{{patient_first_name}}",
"last_name": "{{patient_last_name}}",
"date_of_birth": "{{patient_dob}}"
}
Map each field to the corresponding GHL custom value or contact field you're collecting in the workflow.
The API returns a response in under 1 second. Cigna, Blue Cross Blue Shield, Aetna, UnitedHealthcare, Humana, Medicare, Medicaid — all 1,152+ payers use the same request format. You don't change anything per payer.
Step 4: Test with the Mock Endpoint
Before going live, test with the mock endpoint. It returns realistic eligibility responses without hitting a real payer — no NPI or subscription needed.
Mock endpoint:
GET https://www.eligibility.dev/api/eligibility/check/mock
POST https://www.eligibility.dev/api/eligibility/check/mock
Same headers, same request body. You'll get back a full eligibility response that looks exactly like a live check. Use this to:
- Confirm your GHL webhook is firing correctly
- Test your workflow branching logic (covered vs. not covered)
- Show your client a demo before the live integration is wired
Step 5: Go Live
When you're ready to run real checks, pick a plan at eligibility.dev/pricing. Your clinic setup carries over — nothing to redo.
Switch your GHL workflow from the mock endpoint to the live endpoint:
https://www.eligibility.dev/api/eligibility/check
That's the only change. The request format, headers, and response structure are identical.
Your client is now running real-time insurance verification through their Voice AI front desk.
What the Response Returns
A successful eligibility check returns structured JSON covering:
- Coverage status — active, inactive, or unknown
- Plan name and group number
- Deductible — individual and family, met and remaining
- Out-of-pocket maximum — individual and family
- Copay and coinsurance — by service type
- Effective date and termination date
- Payer name and payer ID
Your GHL workflow can branch on any of these fields. Common patterns:
- If
coverage_status = active→ continue booking - If
coverage_status = inactive→ trigger a follow-up task to collect self-pay info - If
deductible_remaining > 500→ surface a payment estimate before the visit
What to Do When a Check Fails
Eligibility checks can fail for a few reasons:
Payer not responding — Some payers have intermittent downtime. Retry the check once. If it fails again, surface a manual verification task in GHL for your client's front desk staff.
Member ID not found — The patient may have entered their ID incorrectly, or the policy isn't active yet. Trigger a workflow branch to collect updated insurance info.
NPI mismatch — The NPI must match the rendering provider. If you're using a group NPI, confirm it's accepted by the payer for the service type.
None of these require changes to your GHL workflow structure. Add a conditional branch for failed checks and route it to a task or SMS follow-up.
FAQ
Do I need a clearinghouse contract?
No. Eligibility.dev handles payer connectivity. You make one API call and we handle the routing. No contracts, no EDI setup, no months of testing.
Which payers are supported?
1,152+ payers as of May 2026, including all major commercial payers, Medicare, and Medicaid. The full payer list is at eligibility.dev/payers.
How much does it cost?
You can test for free with the mock endpoint — no card required. Live checks are priced by plan. See eligibility.dev/pricing.
Can I add multiple clinics under one agency account?
Yes. Each clinic gets its own NPI and configuration. Your second clinic takes under 2 minutes to set up — it's copy-paste from the first.
Is this HIPAA compliant?
Yes. See our security overview for details on data handling, encryption, and BAA availability.