> ## Documentation Index
> Fetch the complete documentation index at: https://help.sendspark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Auto-Send Personalized Video Emails in Apollo

> Learn how to automatically send AI-personalized Sendspark videos through Apollo sequences with step-by-step setup instructions.

To auto-send personalized video emails in Apollo, create a Dynamic Video Campaign in Sendspark, paste a Sendspark placeholder into your Apollo sequence email, then build a Sendspark automation that triggers on "Sendspark Video Generated," finds the contact in Apollo, and calls the Apollo API to enroll them in your sequence. Each contact is added automatically once their video is ready.

## Key takeaways

* The setup has three parts: a **Dynamic Video Campaign** in Sendspark, a **Sendspark placeholder** in your Apollo sequence email, and a **Sendspark automation** that enrolls contacts in Apollo.
* Use **"Sendspark Video Generated"** as the trigger so contacts only enroll once their personalized video is ready.
* Enroll contacts by calling the Apollo API endpoint `https://api.apollo.io/api/v1/emailer_campaigns/{YOUR_CAMPAIGN_ID}/add_contact_ids` with a `POST` request.
* Find your Apollo campaign ID in the URL of your Apollo sequence, and get your API key from Apollo's Developer Keys page.

In this guide, you’ll learn how to automatically send AI-personalized Sendspark videos through Apollo sequences.

<iframe src="https://www.youtube.com/embed/zDyMHJYcS9w?rel=0" allow="autoplay; fullscreen; picture-in-picture; encrypted-media" allowFullScreen />

## Step 1: Create a Dynamic Video Campaign in Sendspark

Start by setting up a **[Dynamic Video Campaign](/dynamic-videos-make-videos-with-ai-introductions)** in Sendspark. This is the template video that will be personalized at scale with your contact’s details (name, company, etc.).

***

## Step 2: Add a Sendspark Placeholder into Your Apollo Sequence

In Apollo, edit your sequence email where you’d like the personalized video to appear. This placeholder will automatically update with each contact’s unique video once it’s generated.

Add this into Apollo by...

1. Going to your Dynamic Video Campaign
2. Clicking "Share Video"
3. Searching for "Apollo"
4. Clicking on the snippet to copy it to your clipboard ​<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/14838791-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=bb70d5b96762609b958ddf899fc796f2" alt="Sendspark Share Video dialog with Apollo option highlighted in search results" width="880" height="116" data-path="images/12178551/14838791-image.png" />
5. Pasting into Apollo exactly where you'd like it to appear in your email ​<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/e2c22507-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=228efa275b3f002f5fd5f8f619ba2727" alt="Apollo sequence email editor with Sendspark video placeholder code pasted" width="1060" height="1066" data-path="images/12178551/e2c22507-image.png" />

***

## Step 3: Build a Sendspark Automation to Enroll Contacts in Apollo

Now we’ll [set up an automation](https://sendspark.com/agentic-workflows) that connects Sendspark with Apollo that looks something like this:

<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/313173bf-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=eb371273f473b7224521a37ae80dd952" alt="Sendspark automation workflow diagram showing trigger and action steps" width="1758" height="964" data-path="images/12178551/313173bf-image.png" />

## 1. Choose Your Trigger

* If you already have a trigger (like “Contact added to Apollo list” or “Contact added in HubSpot”), use that.
* Otherwise, simply use **“Sendspark Video Generated”** as the trigger and connect the dynamic video campaign you'd like to use ​<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/9aa7629a-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=796a6034438c9e31cc979dadc8ab120e" alt="Sendspark automation trigger selection with Sendspark Video Generated option" width="1378" height="582" data-path="images/12178551/9aa7629a-image.png" />

## 2. Add Step: Apollo.io: Find Contact

* Add a step: **Apollo.io: Find Contact**
* Use the **Sendspark email field** as the search parameter. ​<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/9edb91bf-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=df13426064ff2333ac68f9d6b4cf9946" alt="Sendspark automation step showing Apollo Find Contact with email parameter" width="1380" height="996" data-path="images/12178551/9edb91bf-image.png" />

## 3. Add Step: HTTP Request/Outgoing webhook: Send request

* Create a new step: **HTTP Request/Outgoing webhook: Send request**
* **Paste the following URL**, using the real campaign ID from your Apollo sequence (you can find it in the URL of your Apollo sequence):

​**URL**:

```text theme={null}
https://api.apollo.io/api/v1/emailer_campaigns/{YOUR_CAMPAIGN_ID}/add_contact_ids
```

**How to Find Apollo Campaign ID:**

<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/b61a82d0-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=3e7852c7775842386022abbc046cc332" alt="Apollo sequence URL bar showing campaign ID in the address" width="1252" height="260" data-path="images/12178551/b61a82d0-image.png" />

Make sure to select \*\*"Json,"\*\*so everything looks like this:

<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/a4454db5-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=9534b4654d06b671e4fd2cefc5adb6e3" alt="Sendspark HTTP request configuration set to JSON format" width="1354" height="1210" data-path="images/12178551/a4454db5-image.png" />

Click **"Continue"** and fill out the rest of the API call:

**Request Method**: `POST`

**Request Parameters**:

* `contact_ids` → `StringArray` → insert this dynamically from the “Find Lead in Apollo” step
* `emailer_campaign_id` → `String` →Your Apollo campaign ID (find this in the URL of your sequence)
* `send_email_from_email_account_id` → `String` →Your connected Apollo email account (you can find this from [Apollo API Docs](https://docs.apollo.io/reference/get-a-list-of-email-accounts))

**Request Headers**:

* `X-Api-Key` → `String` → Get your Aollo API key here: [Apollo Developer Keys](https://developer.apollo.io/keys)
* `Content-Type` → `String` →` application/json`

It should all look something like this:

<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/e0cffca2-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=f6ceacc5f2205df30c73f71531effce1" alt="Sendspark webhook request parameters filled with contact IDs and campaign details" width="1134" height="1324" data-path="images/12178551/e0cffca2-image.png" />

After you save this step, you have everything you need to make sure that after leads have videos created for them, you are automatically enrolling them in Apollo sequences.

## 4. Start Automation

When all looks good, **"Start"** to start running this automation.

<img src="https://mintcdn.com/sendspark/ZLESYnHlfI-GyaZS/images/12178551/8e788cce-image.png?fit=max&auto=format&n=ZLESYnHlfI-GyaZS&q=85&s=9cf7b25ceafc3b8abc67624366163074" alt="Sendspark automation Start button ready to activate the workflow" width="2218" height="1548" data-path="images/12178551/8e788cce-image.png" />

Then test your trigger and make sure that contacts are getting successfully enrolled in sequences!

***

## Bonus: Create Contacts in Apollo If They Don't Already Exist

For the most part, your contacts should already exist in Apollo (because they have a large database). However, if you believe that some contacts might not exist, then you can add logic to [create contacts in Apollo if they don't exist](/create-contacts-in-apollo-if-they-don-t-already-exist).

## Apollo API request at a glance

| Setting                            | Value                                                                               |
| ---------------------------------- | ----------------------------------------------------------------------------------- |
| URL                                | `https://api.apollo.io/api/v1/emailer_campaigns/{YOUR_CAMPAIGN_ID}/add_contact_ids` |
| Method                             | `POST`                                                                              |
| `contact_ids`                      | StringArray, inserted dynamically from the Apollo: Find Contact step                |
| `emailer_campaign_id`              | Your Apollo campaign ID (found in the URL of your sequence)                         |
| `send_email_from_email_account_id` | Your connected Apollo email account ID                                              |
| `X-Api-Key` header                 | Your Apollo API key from [Apollo Developer Keys](https://developer.apollo.io/keys)  |
| `Content-Type` header              | `application/json`                                                                  |

## Frequently asked questions

<AccordionGroup>
  <Accordion title="How do I automatically send personalized video emails in Apollo?">
    Create a Dynamic Video Campaign in Sendspark, paste a Sendspark placeholder into your Apollo sequence email, then build a Sendspark automation that triggers on "Sendspark Video Generated," finds the contact in Apollo by email, and calls the Apollo API to enroll them in your sequence. Contacts are added automatically once their video is ready.
  </Accordion>

  <Accordion title="What trigger should I use for the Sendspark automation?">
    If you already have a trigger such as "Contact added to Apollo list" or "Contact added in HubSpot," use that. Otherwise use "Sendspark Video Generated" and connect the dynamic video campaign you want to use, so contacts enroll only after their video is ready.
  </Accordion>

  <Accordion title="Where do I find my Apollo campaign ID and API key?">
    Your Apollo campaign ID appears in the URL of your Apollo sequence. Your API key comes from the [Apollo Developer Keys](https://developer.apollo.io/keys) page, and your connected email account ID is available from the [Apollo API docs](https://docs.apollo.io/reference/get-a-list-of-email-accounts).
  </Accordion>

  <Accordion title="What if some of my contacts don't already exist in Apollo?">
    Most contacts will already exist because Apollo has a large database. If some might not, you can add logic to [create contacts in Apollo if they don't already exist](/create-contacts-in-apollo-if-they-don-t-already-exist) before enrolling them in the sequence.
  </Accordion>
</AccordionGroup>

*Updated July 2026.*
