Spark Webhooks are a new feature that allows you to unidirectionally sync your contact information to your supported 3rd party platform of choice! This guide will explain how to add a webhook using the GoHighLevel (GHL) platform as an example.
📣 Note: The webhook will only push out contacts with an active or pending policy.
Adding a Webhook
Our webhook is compatible with any platform that supports webhook integration. Webhook triggers typically occur within a few seconds, though in rare cases, there may be a slight delay of a few minutes.
Set up your webhook by navigating to Back Office and selecting Manage platform data.
Click Add Webhook URL and paste your webhook endpoint URL in the box.
Click "Test URL" to send a test payload to make sure the connection works.
💡 Tip: if you want to send multiple test URLs, just delete and re-paste the same URL, and you will be able to click the Test button more than once.
If you're an LOA Agency Principal (AP), you'll need to invite all your agents to the LOA platform to ensure the webhook functions properly across your agency. For more information, please see <Agency Book of Business>.
📣 Note: We no longer push based on Beneficiary Lookup status. However, prior to AEP, we will push application status updates that come through our carrier data.
Key Points to Keep in Mind
If your CRM doesn't offer native support for incoming webhooks, you can't simply direct a webhook to it and expect it to function properly. Instead, you'll need an integration layer that can receive the webhook and then transfer the data into your CRM using a supported method.
Zapier cannot be used for this integration, as it is not HIPAA compliant.
Payload
Payload
Here is the complete Spark webhook payload. Below we will denote any multi-choice fields. We currently support 4 policies each for Active, Pending, and Plan exit categories.
{
"details": {
"id": 1234,
"first_name": "Anthony",
"middle_name": "John",
"last_name": "Soprano",
"preferred_name": "Tony",
"full_name": "Anthony Soprano",
"full_preferred_name": "Tony Soprano",
"home_phone": "201-555-1234",
"mobile_phone": "201-555-5678",
"email": "[email protected]",
"home_address": "14 Aspen Drive, North Caldwell, NJ 07006",
"shipping_address": "241 Calcutta Street, Newark, NJ 07114",
"sex": "Male",
"gender": "Male",
"point_of_contact": {
"full_name": "Carmela Soprano",
"relationship": "Spouse",
"home_phone": "201-555-1234",
"mobile_phone": "201-555-2468",
"email": "[email protected]"
},
"agent": {
"first_name": "Dwight",
"last_name": "Harris",
"full_name": "Dwight Harris",
"office_phone": "201-555-5555",
"email": "[email protected]",
"npn": "123456789"
},
"soa_is_signed": true,
"soa_signed_at": "2007-06-10 3:00:00",
"veteran_status": "Not a veteran",
"primary_contact": "Beneficiary",
"preferred_language": "en",
"external_id": "M4D0N",
"needs_assessment_link": "https://example.com/needs-assessment"
},
"phi": {
"dob": "1959-08-22",
"mbi": "T0NY-S0PR4N0",
"has_medicaid": false,
"has_lis": true,
"lis_certification_date": "2000-01-01",
"drug_subsidy": "ZERO",
"has_ssi": false,
"part_a_enrollment_date": "2000-01-01",
"part_b_enrollment_date": "2000-01-01",
"policies": {
"active": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
}
},
"pending": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
}
},
"plan_exits": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
},
"plan_crosswalk": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
},
"pcp_out_of_network": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
},
"prescription_removed_from_formulary": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
},
"drug_tier_change": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
},
"major_cost_change": {
"policy_1": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_2": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_3": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
},
"policy_4": {
"name": "AARP Medicare Advantage from UHC NJ-0004 (PPO)",
"bid_id": "H8768-022",
"carrier": "UnitedHealthcare",
"effective_date": "1999-01-10",
"expiration_date": "2007-06-10",
"submitted_date": "1997-08-01",
"product_type": "MAPD",
"beq_status": "Accreted App"
}
}
}
}
Product Types
Product Types
class ProductTypes(models.TextChoices):
MA_ONLY = "MA", "Medicare Advantage (MA)"
MAPD = "MAPD", "Medicare Advantage with a Drug Plan (MAPD)"
PDP_ONLY = "PDP", "Prescription Drug Plan (PDP)"
MEDSUPP_ONLY = "MedSup", "Medicare Supplemental (MedSupp)"
HI = "HI", "Hospital Indemnity (HI)"
FE = "FE", "Final Expense (FE)"
DVH = "DVH", "Dental, Vision, Hearing (DVH)"
CHAS = "CHAS", "Cancer, Heart Attack, Stroke (CHAS)"
HOME_HEALTH = "Home Health", "Home Health Services"
SHORT_TERM = "Short Term", "Short Term Care"
LIFE_INSURANCE = "Life Insurance", "Life Insurance"
OTHER = "Other", "Other"
Veteran Statuses
Veteran Statuses
if contact.is_veteran:
veteran_status = "Veteran"
elif contact.is_spouse_of_veteran:
veteran_status = "Spouse of veteran"
Primary Contact Values
Primary Contact Values
class PrimaryContacts(models.TextChoices):
BENEFICIARY = "BENEFICIARY"
AGENT = "AGENT"
POC = "POC", "Point of contact"
SPOUSE = "SPOUSE"
Example: GoHighLevel (GHL)
The example below demonstrates how to add a webhook in GoHighLevel, however, the steps are generally similar across other systems.
First, navigate to your account in GHL.
On the left-hand side, click on Automation.
Then, click on +Create Workflow and select Start from Scratch.
You will be greeted by a New Workflow page.
Feel free to name your workflow using the pencil icon at the top. From here, click +Add new Trigger.
We will be adding an Inbound Webhook trigger. Select it from the list.
Take note of the URL field. Copy the URL and head over to the Spark platform.
On the Spark platform, click on Back Office and select Platform data.
Your screen should include a Webhook section. Click on Add webhook URL.
A modal will pop up asking for the URL we copied over from GHL. Paste it in the box.
Read the disclaimer and check the box in order to be able to submit your webhook URL.
Once submitted, your webhook URL will appear on the main page.
We can send a test payload to GHL in order to map data between systems. Click on Test URL.
If set up correctly, you should be alerted that the test was successful. A Verified badge will appear next to the Webhook subtitle.
Back in GHL, hit the “Fetch Sample Requests” button on the bottom.
Select the test payload that we sent.
You should see the reference payload with sample information. This will be our mapping reference.
If everything looks in order so far, go ahead and click the “Save Trigger” on the bottom right.
Next, you will be brought to the Action creation page. We will be making a Create Update Contact action.
Click the Add field button and start mapping the fields in your GHL platform to the fields provided by the sample payload. You can select the payload fields by clicking the button to the left of the Trash icon.
Once you are done mapping everything, click Save Action.
After that, we are done!
Click Save in the top right corner, and click the Draft switch to Publish to activate your workflow. Now, whenever a contact or their policies are updated in Spark, they will be updated in your 3rd party platform as well!
Creating New Fields in GHL
The Spark webhook payload comes with many fields not set by default in platforms like GHL. To create new fields in GHL, click on Contacts on the left-hand side of the platform page, followed by the gear icon at the center top. Click on Add field.