Send RecordJoy Video Events to GoHighLevel with Zapier
When you finish this guide, every RecordJoy event will create or update a
GoHighLevel contact, add a note with the video link, and apply a tag (like
video-completed) that can trigger your GoHighLevel Workflows.
flowchart LR A[RecordJoy] -->|"event JSON"| B["Zapier Catch Hook"] B --> C["Add/Update Contact"] C --> D["Add Note + Tag"] D --> E[(GoHighLevel)] E -->|"tag trigger"| F["GHL Workflow<br/>(SMS / email / task)"]
Prerequisites
- Zapier account on a paid plan (webhooks are a premium trigger)
- GoHighLevel account (agency or sub-account) — Zapier connects via the LeadConnector app
- RecordJoy account (any plan)
Estimated time
20 minutes
Steps
Part A — the webhook trigger
- In Zapier, click + Create → Zaps.
- Click the Trigger step, search
webhooks, select Webhooks by Zapier. - Set Trigger event to Catch Hook and click Continue twice.
- Copy the URL shown under Your webhook URL.
<!-- SCREENSHOT: zapier-catch-hook-url.png -->🖥️ What you should see: a URL like
https://hooks.zapier.com/hooks/catch/1234567/abcdef/.
- In another tab, open
recordjoy.ai→ dashboard sidebar → CRM Integration. - Paste the URL into Your webhook URL, tick the events you want, click Save, then click Send test event.
- Back in Zapier, click Test trigger and confirm request A shows
event: recording.test.
Part B — create or update the GoHighLevel contact
- Click + to add an action step.
- Search
leadconnectorand select LeadConnector (GoHighLevel's Zapier app). - Set Action event to Add/Update Contact.
- Connect your GoHighLevel account and choose the sub-account (location) when prompted.
- Configure:
- Email: select
Recording Sent To(recording__sentTo) from the webhook data - Tags: type
video-engaged(or map{{event}}for per-event tags likerecording.completed)
- Email: select
Contact rule: for most events the contact is
recording__sentTo. For inboundrecording.receivedevents (e.g., portal submissions), build a second Zap mappingrecording__sentBy.
- Click Continue, then Test step.
<!-- SCREENSHOT: zapier-ghl-contact-upsert.png -->🖥️ What you should see: a success response containing the contact's
id.
Part C — add the note
- Click + to add another action.
- Select LeadConnector; set Action event to Create Note.
- Configure:
- Contact ID: select the
idoutput of the previous step - Note Body:
RecordJoy {{event}} — {{recording__description}} — watch: {{recording__viewUrl}} (watched {{recording__watchedTimes}}x)
- Contact ID: select the
- Click Continue, then Test step, then Publish.
Part D — trigger a GHL Workflow from the tag (optional, powerful)
- In GoHighLevel: Automation → Workflows → + Create Workflow.
- Set the trigger to Contact Tag → tag
video-engaged(orrecording.completedfor watched-to-the-end only). - Add your follow-up actions (send SMS, notify rep, create task) and publish.
Verification
- In RecordJoy → CRM Integration, click Send test event.
- In GoHighLevel, open Contacts and find the contact matching your account email.
<!-- SCREENSHOT: ghl-contact-tag-note.png -->🖥️ What you should see: the contact has the tag you configured and a note containing
recording.testwith arecordjoy.ai/view/...link.
For a real end-to-end check: record a short video, open its share link, and confirm the tag/note appear — and that your Workflow fired if you built Part D.
Troubleshooting
| Problem | Fix |
|---|---|
| Contact created in the wrong sub-account | The LeadConnector connection is scoped to a location. In Zapier → Apps, reconnect LeadConnector and pick the correct sub-account. |
| Note step fails with "contact not found" | Contact ID is mapped to a webhook field. Remap it to the id output of the Add/Update Contact step. |
| Workflow doesn't fire on the tag | The Workflow trigger tag must match exactly (case-sensitive) and the Workflow must be Published, not draft. |
Ready to connect?
Your webhook settings live in Dashboard → CRM Integration.