ProductsServicesDocsPricingAboutContact Log in Sign up

Automation & Landing Pages

ImpossibleFX works with any tool that can make HTTP requests or embed URLs. This page covers workflow automation platforms (n8n, Zapier) and using personalized render URLs in Mailchimp landing pages.


n8n

n8n is an open-source workflow automation platform. Use its HTTP Request node to trigger renders and route the resulting videos to any downstream step — email, Slack, CRM updates, file storage, and more.

Trigger a render from a workflow

Use the HTTP Request node to call the ImpossibleFX Render API. This works in any workflow — triggered by a webhook, a schedule, a form submission, or any other n8n trigger.

HTTP Request node configuration:

SettingValue
MethodPOST
URLhttps://render.impossible.io/v2/render/YOUR-PROJECT-ID
Body Content TypeJSON

Set the JSON body to:

{
  "movie": "welcome-video",
  "params": {
    "name": "{{ $json.name }}",
    "company": "{{ $json.company }}"
  }
}

The {{ $json.name }} syntax pulls values from the previous node’s output. Replace these with whatever expressions match your trigger data.

The response contains a token field. Access it in subsequent nodes with {{ $json.token }}.

Build the video URL

After the render request, use a Set node to construct the video URL from the token:

FieldValue
videoUrlhttps://render.impossible.io/v2/render/{{ $json.token }}.mp4

This URL can then be passed to any downstream node — send it in an email, post it to Slack, store it in a database, or upload it to cloud storage.

Example: webhook to personalized video

A common pattern is receiving contact data via webhook and returning a personalized video URL.

  1. Webhook node — receives a POST with { "name": "Alex", "company": "Acme" }
  2. HTTP Request node — sends the render request to ImpossibleFX, returns a token
  3. Set node — builds the video URL from the token
  4. Respond to Webhook node — returns the video URL to the caller
{
  "videoUrl": "https://render.impossible.io/v2/render/v2:eu-west-1:abc123.mp4"
}
* Tip

For batch workflows that process many contacts, add a Wait node between renders to avoid overwhelming your render quota. A 1–2 second delay between requests is usually sufficient.

Using direct URLs in n8n

For simpler workflows where you just need a playable URL and don’t need the token, use the v1 direct URL format. Build the URL in a Set node with no render request needed:

https://render.impossible.io/v1/render/YOUR-PROJECT-ID/welcome-video.mp4?name={{ encodeURIComponent($json.name) }}&company={{ encodeURIComponent($json.company) }}

This URL renders on first access — no POST step required. Useful for embedding in emails or messages sent from n8n.


Zapier

Zapier connects thousands of apps through automated workflows called Zaps. Use the Webhooks by Zapier action to trigger ImpossibleFX renders from any Zapier trigger.

Set up a render action

In your Zap, add a Webhooks by Zapier action step:

  1. Choose Custom Request as the event
  2. Configure the request:
SettingValue
MethodPOST
URLhttps://render.impossible.io/v2/render/YOUR-PROJECT-ID
Data Pass-Through?No
Data(see below)
HeadersContent-Type: application/json
  1. In the Data field, enter the JSON body. Use Zapier’s field mapping to insert dynamic values from your trigger:
{
  "movie": "welcome-video",
  "params": {
    "name": "{{name}}",
    "company": "{{company}}"
  }
}

Replace {{name}} and {{company}} with the actual field mappings from your trigger step.

  1. Test the step. The response will include a token field.

Use the video URL in later steps

In any subsequent Zap step, reference the token from the Webhooks step to build a video URL:

https://render.impossible.io/v2/render/{{token}}.mp4

Where {{token}} is mapped from the Webhooks step’s response.

Example: new lead to personalized video email

  1. Trigger — New lead in your CRM (HubSpot, Salesforce, etc.)
  2. Webhooks by Zapier — POST to ImpossibleFX Render API with the lead’s name and company
  3. Gmail / Outlook — Send an email to the lead with the personalized video URL embedded

Using direct URLs in Zapier

For Zaps that just need a URL without a separate render step, use the v1 direct format. In any Zap step that accepts a URL, insert:

https://render.impossible.io/v1/render/YOUR-PROJECT-ID/welcome-video.mp4?name={{name}}&company={{company}}

Map the dynamic fields from your trigger. The video renders on first access when the recipient opens the URL.

i Note

Zapier’s free plan includes Webhooks by Zapier with limited tasks per month. For high-volume automations, you’ll need a paid Zapier plan or consider using n8n as a self-hosted alternative.


Mailchimp

Mailchimp can deliver personalized video through landing pages and email campaigns. The pattern is: host a landing page that plays the personalized video, then link to it from Mailchimp using merge tags.

How it works

  1. Build a landing page that embeds a personalized video — either with a <video> tag or an ImpossibleFX Player iframe. The page reads personalization values from URL parameters.
  2. Link to it from Mailchimp using merge tags in the URL. Mailchimp replaces the tags with each contact’s data at send time.
  3. When the contact clicks, they land on a branded page with their personalized video ready to play.

The landing page URL follows this pattern:

https://yoursite.com/video/welcome?name=*|FNAME|*&company=*|COMPANY|*

Common Mailchimp merge tags:

Merge tagValue
`*FNAME
`*LNAME
`*EMAIL
`*COMPANY

Landing page with <video> tag

The simplest approach is a hosted HTML page with a native <video> tag. The page reads URL parameters and builds the ImpossibleFX direct URL:

<video
  id="video"
  controls
  width="100%"
  style="max-width: 640px; border-radius: 8px;"
>
  Your browser does not support video.
</video>

<script>
  var params = new URLSearchParams(window.location.search);
  var name = params.get('name') || 'there';
  var company = params.get('company') || '';
  var src = 'https://render.impossible.io/v1/render/YOUR-PROJECT-ID/welcome-video.mp4'
    + '?name=' + encodeURIComponent(name)
    + '&company=' + encodeURIComponent(company);
  document.getElementById('video').src = src;
</script>

Landing page with ImpossibleFX Player iframe

For a richer experience with HLS streaming, custom controls, keyboard shortcuts, and CTA overlays, embed the ImpossibleFX Player via an iframe. The player’s embed page accepts all configuration as URL parameters:

<iframe
  id="player"
  width="100%"
  style="max-width: 640px; aspect-ratio: 16/9; border: none; border-radius: 8px;"
  allow="fullscreen; autoplay"
></iframe>

<script>
  var params = new URLSearchParams(window.location.search);
  var name = params.get('name') || 'there';
  var company = params.get('company') || '';
  var renderParams = JSON.stringify({ name: name, company: company });

  document.getElementById('player').src =
    'https://cdn.impossible.io/support/embed.html'
    + '?projectId=YOUR-PROJECT-ID'
    + '&movie=welcome-video'
    + '&params=' + encodeURIComponent(renderParams)
    + '&controls=1';
</script>

The embed page (embed.html) loads the FXPlayer, reads the URL parameters, and handles rendering and playback. You get full player features — HLS streaming, keyboard shortcuts, fullscreen — without writing any player code.

* Tip

The iframe approach is recommended. It gives you HLS adaptive streaming, a polished player UI, and CTA overlay support. The <video> tag approach is simpler but limited to MP4 progressive download.

Use in Mailchimp email campaigns

Most email clients do not support inline video. In your Mailchimp email, use a personalized thumbnail image that links to your landing page:

<a href="https://yoursite.com/video/welcome?name=*|FNAME|*&company=*|COMPANY|*">
  <img
    src="https://render.impossible.io/v1/render/YOUR-PROJECT-ID/welcome-video.jpg?name=*|FNAME|*&company=*|COMPANY|*&frame=30"
    alt="Watch your personalized video"
    width="600"
  />
</a>

The <img> source uses ImpossibleFX’s image output (.jpg) to render a personalized still frame as the thumbnail. The frame=30 parameter selects which video frame to use. The link points to your hosted landing page, not to a raw video file — so the recipient lands on a branded page with the video embedded.

Use in Mailchimp landing pages

If you use Mailchimp’s built-in landing page editor, you can embed the video directly using a Code content block. Mailchimp replaces merge tags in the HTML at render time:

<iframe
  src="https://cdn.impossible.io/support/embed.html?projectId=YOUR-PROJECT-ID&movie=welcome-video&params=%7B%22name%22%3A%22*|FNAME|*%22%2C%22company%22%3A%22*|COMPANY|*%22%7D&controls=1"
  width="100%"
  style="max-width: 640px; aspect-ratio: 16/9; border: none; border-radius: 8px;"
  allow="fullscreen; autoplay"
></iframe>

The params value is URL-encoded JSON. Mailchimp replaces the merge tags inside the JSON before serving the page.

i Note

Merge tags are only replaced when the page or email is served to a known contact. If someone visits via a shared link, the tags may appear as empty values. Set default values in your ImpossibleFX movie template for graceful fallback.

Tips for Mailchimp + ImpossibleFX

  • URL-encode special characters — If contact names include characters like & or =, they can break the URL. Mailchimp handles basic encoding, but test with edge-case names.
  • Use fallback values in your movie — Set default text in your ImpossibleFX composition so the video still looks good if a merge tag is empty.
  • Prefer thumbnails in emails — Link thumbnails to your landing page so recipients get a branded experience with proper playback controls.
  • Render latency — The first time a v1 URL is accessed, the video renders on demand. For short videos (under 30 seconds) this is usually fast enough. For longer videos, consider pre-rendering with the v2 API via a workflow (n8n or Zapier) before sending the campaign.