How to Automatically Sync Events from Wix Events App to a Custom CMS Collection Using Velo?

Question:
How to Automatically Sync Events from Wix Events App to a Custom CMS Collection Using Velo

Product:
Wix Studio Editor, Wix Events App, Velo Code

What are you trying to achieve:
I am building an automated, scalable system in Wix Studio where non-technical users can manage events, RSVPs, payments, and user interactions using Wix’s built-in apps and a custom CMS structure.

My goal is to automate the process of syncing event data from the Wix Events App to a Custom CMS Collection. Since Wix Automations has limitations, I am trying to use Velo code to fetch events from Wix Events App (Events/Events) and store them in a Custom Events CMS collection.

Core Objectives:

  1. Fetch events from the Wix Events App (Events/Events) when an event is published or updated.
  2. Store this data in a Custom CMS collection (CustomEvents) so that it can be used for further automation and filtering.
  3. Ensure that events are not duplicated in the CMS collection by checking if the event already exists before inserting new data.
  4. Maintain data consistency by keeping event details, start/end dates, locations, and other attributes updated in real-time.
  5. Use Velo instead of Wix Automations, as Wix Automations has limitations in handling complex workflows.

What have you already tried:

  1. Querying Events/Events Collection using:

javascript

CopyEdit

wixData.query(“Events/Events”).find()

  1. This returned no data despite having events in Wix Events App.
  2. Wix Support confirmed that Events/Events is a read-only system collection and should be queried directly.
  • Using Wix Events V2 API (wix-events.v2)

javascript

CopyEdit

import { events } from ‘wix-events.v2’;

events.queryEvents().find();

  1. This API does not return event details from the Events App as expected.
  • Using Wix Backend APIs (wix-events-backend)

javascript

CopyEdit

import wixEvents from ‘wix-events-backend’;

wixEvents.getEvent(eventId);

  1. This API requires an event ID to fetch details but does not provide a way to retrieve a list of events.
  2. I was unable to fetch all events dynamically without manually providing an event ID.
  • Trying wixData.insert() to Save to Custom CMS

javascript

CopyEdit

wixData.insert(“CustomEvents”, eventData);

  1. Since Events/Events is read-only, I attempted to copy event data into CustomEvents but was unable to fetch data correctly.
  • Verifying Wix Permissions

    1. Confirmed that the Wix Events App has read permissions for anyone but does not allow modification.
    2. Custom CMS collections have read/write permissions enabled.
  • Testing Different Triggers & Automations

    1. Used Wix Automations (Event Published as a trigger), but it did not allow writing event details into a CMS collection.
    2. Tried using Velo backend functions but still unable to extract the list of events.

Current Issues & Questions:

  1. How can I programmatically retrieve all events from Wix Events App?
  2. Is there a way to fetch all event data and store it into my Custom CMS?
  3. Is Events/Events the correct collection to query, or does Wix provide another API for bulk event retrieval?
  4. How can I automate event updates so that changes in Wix Events App reflect in my CMS?
  5. Is it even possible to achieve this automation entirely through Velo, without Zapier or third-party tools?

Additional information:

  • I am using Wix Studio Editor.
  • I have enabled Velo Developer Mode and tested backend API calls in events.jsw.
  • My CMS structure consists of Custom Events, Users, RSVPs, Payments, Workflows, and Tags collections.
  • The goal is to ensure all event-related data is manageable within the CMS, so non-technical users can interact with it without dealing with the Wix Events App directly.

Final Question:

Given the above limitations of Events/Events and Wix Automations, is it possible to fully automate syncing events from Wix Events App to a Custom CMS Collection using Velo?

If yes, what is the correct method to fetch and store event data dynamically?

Looking forward to any guidance or best practices.

This is unexpected behaviour.

Here are two things worth trying, that can help you query the events.

  1. Use elevated permissions by settingsuppressAuth to true or elevating the call using wix-auth.
  2. Instead of querying Events/Events collection directy, use queryEvents() in wix-events-backed or wix-events-V2.

That should solve the querying existing events part.
Now coming to your next question…

This can be done by using your site’s backend events (not to be confused with the Wix Events App) to track and detect any changes that occur in your Wix Events App. For example:

…and so on.

You can use each of these handlers and code your logic accordingly, to add, update or delete items from your Custom CMS. This can entirely be done using Velo and you won’t need any third party apps to achieve this.