Integrations
+Video automation in n8n, cloud or self-hosted
Make a branded personal video from any workflow and react when it is ready, watched or clicked. Use the MsgVibe community node, or n8n's own HTTP Request and Webhook nodes.
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.
Fastest way
Install the MsgVibe node
For self-hosted n8n. No JSON and no webhook address to copy.
Workflow 1 · make the video
Shopify Trigger
Order paid
MsgVibe
Create video
Workflow 2 · send it when ready
MsgVibe Trigger
Video ready
Gmail
Send email
- 1In n8n, open Settings → Community nodes → Install and enter
n8n-nodes-msgvibe. - 2Add the MsgVibe node to a workflow, create a MsgVibe API credential and paste your API key.
- 3Choose Video → Create, pick a design from the list and fill First Line, for example
Hi {{ $json.first_name }}!. - 4To continue when the video is ready, watched or clicked, start another workflow with the MsgVibe Trigger node and pick the event. It connects itself when you activate the workflow.
Source and field reference: n8n-nodes-msgvibe on npm. On n8n Cloud, or if you prefer built-in nodes, use the two workflows below.
Workflow 1
Create a video
Any trigger node, then HTTP Request.
- 1Start a workflow with your trigger, for example Shopify Trigger (order paid), Google Sheets Trigger (row added) or a Webhook from your own app.
- 2Add an HTTP Request node:
Method
POST
URL
https://api.msgvibe.com/v1/videosAuthentication
Generic Credential Type → Header Auth. Name
Authorization, valueBearer mvk_live_…Send Body
On, Body Content Type JSON, Specify Body: Using JSON
- 3Paste 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 }}" } - 4Click Execute step. The output has
video.idandstatus: queued, and 1 credit is used. Activate the workflow.
Workflow 2
Get the finished video, views and clicks
- 1Create a second workflow that starts with a Webhook node. Set HTTP Method to POST and copy the Production URL.
- 2Activate the workflow. The production address only answers while the workflow is active.
- 3In MsgVibe, open Automations → Connected hooks. Choose Video ready, paste the address and click Add hook.
- 4Make 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. - 5Add 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: All integrations · Zapier app · Make · Shopify thank-you video · API reference
FAQ