Skip to main content
To send AI-personalized videos in HighLevel (GHL), create a Dynamic Video campaign in Sendspark, then use a GHL workflow with a custom webhook to generate a video for each contact, and a second workflow with an inbound webhook to send each finished video by email, SMS, or WhatsApp. Sendspark now also offers a direct HighLevel integration as an easier alternative.

Key takeaways

  • Sendspark now has a direct HighLevel integration — an easier alternative to the webhook method below.
  • Step 1: build a Dynamic Video campaign in Sendspark, using the placeholder word “Watermelon” where the viewer’s first name should go.
  • Step 2: a GHL workflow with a POST custom webhook (API Key and Secret Key in the headers) generates a video for each contact.
  • Step 3: a second GHL workflow triggered by an inbound webhook sends each finished video via email (LeadConnector snippet), SMS, or WhatsApp using the videoLink variable.
In this tutorial, we’ll walk through how to generate and send AI-personalized videos in GHL Automated Workflows. This guide will be broken down into 3 steps:
  1. Create dynamic video campaign in Sendspark
  2. Automatically Generate Videos in HighLevel
  3. Automatically send videos in HighLevel
Feel free to jump ahead as needed!

Update: Sendspark has a direct integration with HighLevel

We have an easier way to connect GHL and Sendspark! Please reference this guide to use the new HighLevel integration.

How to Create AI-Personalized Videos in HighLevel

Watch the video or follow the steps below!

1. Create Dynamic Video Campaign

Before you get started, you will want to have your Dynamic Video Campaign set up in Sendspark. To create a dynamic video campaign….
  1. Go to the Dynamic Video Section of Sendspark
  2. Record, upload, or select a video. Remember to use the placeholder word “Watermelon” for where you want your viewer’s first name to go
  3. Customize the “scroll” effect as you’d like.
  4. Toggle on “Voice Cloning” if you want to use a custom intro, (ex: “Hi First Name”) for each of your viewers
  5. Customize a page template for what you want to appear on your video page alongside the video.
Before you set up the automation in the next few steps, I would recommend adding a few test contacts and previewing videos. Make sure that you’re happy with the AI voice cloning and all of the settings. If things don’t look good, check out these tips to improve AI voice cloning quality.

2. Automatically Generate Videos in HighLevel

In this step, we are going to show how you can automatically generate videos in Make.
  1. In HighLevel, go to “Automations” and then click “Create Workflow”HighLevel Automations page with Create Workflow button highlighted
  2. You can use any trigger to start your automation.
  3. To automatically create Sendspark videos, add a “Custom Webhook”
  4. Fill use this information:
  5. Change the method to POST
  6. Use this URL: https://api-gw.sendspark.com/v1/workspaces/{workspaceId}/dynamics/{dynamicId}/prospect
  7. You can find the workspaceId from your API Credentials tab
  8. You can find your dynamicId from the URL of your dynamic video campaign ​Sendspark dynamic video campaign URL showing dynamicId parameter location
  9. **Headers:**You’ll need two (for your API Key and Secret Key)
  10. You can find these both from your API credentials tab
  11. Body: Copy and paste this snippet. Note: here we are mapping contact variables from HighLevel into Sendspark. ​{ "processAndAuthorizeCharge": true, "prospectDepurationConfig": { "forceCreation": true,"payloadDepurationStrategy": "keep-last-valid" }, "prospect": { "contactName":"#########{{contact.first_name}}", "contactEmail":"#########{{contact.email}}", "company":"#########{{contact.company_name}}", "backgroundUrl":"#########{{contact.website}}"}}
In the end, your API call should look like this (but using your real API Key & API Secret) HighLevel Custom Webhook configuration with POST method and API headers Test, and make sure you see (1) the “Request success with status: 200” in Highlevel, and (2) that you see your sample contact in your Sendspark dynamic video campaign: You’ll see a spinner and the message “Videos are Generating” HighLevel workflow showing Videos are Generating spinner and status message Boom! Now you are automatically creating AI videos. In the next step, we’ll cover how to automatically send the AI videos in email once they generate.

3. Automatically Send Video Emails

For this last step of this automation, we’ll use a webhook to know when AI videos have successfully generated, and are ready to send to contacts.
  1. In HighLevel, create a new Workflow. Use “Inbound Webhook” as a trigger.
  2. Copy the URL HighLevel provides to your clipboard
  3. In Sendspark, go to the Webhooks Section
  4. Create a webhook (using the URL HighLevel provided) ​Sendspark Webhooks section with Create Webhook button and URL field
  5. Link it to your dynamic video campaign. This will make it so every time a video is “created” from this dynamic video campaign, a webhook sends into your HighLevel Workflow. ​Sendspark webhook linked to dynamic video campaign in settings panel
  6. Create a few dynamic videos in Sendspark so that you can have some sample webhooks to work with. ​Sendspark dynamic videos list showing multiple generated video entries
  7. Click “Save Trigger,” and let’s continue!
Great job! Now every time a Sendspark Dynamic Video generates for a person, that person will be enrolled in your HighLevel Workflow. Now, let’s set up a step to automatically send the video via email.

Send Email

  1. Add an action to your workflow: “Send Email”
  2. In that email, add the placeholder from your Sendspark video
  3. From Sendspark, click “Share Campaign”
  4. Copy the snippet for “LeadConnector”
  5. Paste directly into the email draft ​Sendspark Share Campaign panel with LeadConnector code snippet copied
  6. Send yourself a test email. It should look something like this…​
Sample email preview showing personalized video embedded in message

Send WhatsApp or SMS Message

You can also send videos in WhatsApp or SMS text messages by using the “videoLink” variable returned in the webhook. Here is a video to walk you through it:
  • In your workflow (using the Inbound Webhook as a trigger), add action: Send SMS
  • In your message, selectCustom Values > Inbound Webhook Trigger > videoLinkHighLevel Send SMS action with Custom Values and videoLink variable selected
  • And that will let you use the unique video link created for that person in the message
That’s it! Turn on your Workflow and you’re all set!

Frequently asked questions

Yes. Sendspark now has a direct HighLevel integration, which is simpler than the custom-webhook method described here. This webhook approach still works if you prefer full control over the workflow.
Your workspaceId is in your API Credentials tab, alongside your API Key and Secret Key. Your dynamicId is in the URL of your dynamic video campaign.
In Sendspark’s Webhooks section, create a webhook using the URL from a GHL inbound-webhook workflow and link it to your dynamic video campaign. Every time a video is created from that campaign, the webhook enrolls that person in your HighLevel workflow so you can send it.
Yes. In your inbound-webhook workflow, add a Send SMS action and select Custom Values > Inbound Webhook Trigger > videoLink to insert that person’s unique video link into the message.
Use the word “Watermelon” in your video wherever you want the viewer’s first name to appear. You can also toggle on Voice Cloning for a custom spoken intro like “Hi First Name.”
Updated July 2026.