Integrations

MsgVibe+

Video automation in n8n, cloud or self-hosted

Two nodes are all it takes: HTTP Request makes a branded personal video from any workflow, and Webhook receives the finished link, views and clicks.

Before you start

Three things from MsgVibe

API key

Create one under Dashboard → API keys. It starts with mvk_live_ and is shown once.

Design ID

Open a design in the template gallery. Its ID is the last part of the studio address.

Brand kit ID

Save your logo and colours once on the Brand kits page and copy the kit's ID.

Workflow 1

Create a video

Any trigger node, then HTTP Request.

  1. 1
    Start a workflow with your trigger, for example Shopify Trigger (order paid), Google Sheets Trigger (row added) or a Webhook from your own app.
  2. 2
    Add an HTTP Request node:

    Method

    POST

    URL

    https://api.msgvibe.com/v1/videos

    Authentication

    Generic Credential Type → Header Auth. Name Authorization, value Bearer mvk_live_…

    Send Body

    On, Body Content Type JSON, Specify Body: Using JSON

  3. 3
    Paste this JSON, replace the two IDs, and swap the sample words for expressions from your trigger.
    JSON body with n8n expressions
    {
      "templateUniqueId": "YOUR_DESIGN_ID",
      "brandKitId": "YOUR_BRAND_KIT_ID",
      "aspectRatio": "9:16",
      "currency": "USD",
      "promotion": {
        "title": "Thank you, {{ $json.customer.first_name }}!",
        "subtitle": "Order {{ $json.order_number }} is on its way",
        "offerText": "Use THANKS10 for 10% off your next order",
        "cta": "Shop again"
      },
      "sharePage": {
        "headline": "{{ $json.customer.first_name }}, thank you for your order",
        "button": { "kind": "link", "label": "Shop again", "url": "https://yourstore.com" },
        "recipient": { "name": "{{ $json.customer.first_name }} {{ $json.customer.last_name }}", "email": "{{ $json.customer.email }}" }
      },
      "externalId": "order-{{ $json.order_number }}"
    }
  4. 4
    Click Execute step. The output has video.id and status: queued, and 1 credit is used. Activate the workflow.

Workflow 2

Get the finished video, views and clicks

  1. 1
    Create a second workflow that starts with a Webhook node. Set HTTP Method to POST and copy the Production URL.
  2. 2
    Activate the workflow. The production address only answers while the workflow is active.
  3. 3
    In MsgVibe, open Automations → Connected hooks. Choose Video ready, paste the address and click Add hook.
  4. 4
    Make one video with workflow 1. The event arrives under body:
    What MsgVibe sends
    {
      "event": "video.completed",
      "data": {
        "id": "vid_1791306844787a1b2c3d4_0",
        "status": "done",
        "outputUrl": "https://www.msgvibe.com/v/0118el0bon/thank-you-sarah.mp4",
        "shareUrl": "https://www.msgvibe.com/w/aB3dE5fG7h1",
        "externalId": "order-1042",
        "metadata": { "name": "Sarah Lee", "email": "sarah@example.com" }
      }
    }

    Use {{ $json.body.data.shareUrl }} for the page link and {{ $json.body.data.metadata.email }} for the person's email.

  5. 5
    Add the next nodes, for example Gmail or Send Email with the page link, or Slack to tell your team. Add more hooks for Video viewed and Button clicked to react when a lead watches.

Other ways to connect: Zapier app · Make · Shopify thank-you video · API reference

FAQ

Questions

Is there a MsgVibe node for n8n?
Not yet. The HTTP Request and Webhook nodes that ship with n8n cover everything, on n8n Cloud and self-hosted.
Where do I keep the API key?
In an n8n credential of the type Header Auth, with the name Authorization and the value Bearer followed by your key. The key is then stored encrypted and never appears in the workflow.
My self-hosted n8n is not reachable from the internet. Can it still receive events?
MsgVibe can only call public https addresses. Use n8n’s tunnel or a reverse proxy for the webhook, or poll GET /v1/videos/{id} every 15 seconds with a Wait node until the status is done.
How do I check that an event really came from MsgVibe?
Each event has an X-MsgVibe-Signature header, an HMAC-SHA256 of the body with your signing secret. The developer docs show the check in JavaScript, which you can paste into a Code node.
What does it cost?
MsgVibe uses 1 credit per video; a failed video is refunded. n8n counts workflow executions on your n8n plan, or nothing when self-hosted.

Add video to your n8n workflows

Free to start: your first videos are on us.