Skip to main content

Event Sources

Event Sources let Konvoq pull events automatically from URLs — an iCal calendar feed, an RSS feed with event data, or a website that uses structured data markup.

Manage sources at Dashboard → Knowledge → Events → Sources.


How sources work

  1. You add a URL (e.g. your Google Calendar's iCal link, or an events page)
  2. Konvoq fetches the URL and parses events from it
  3. Events are stored in your calendar with medium priority (they don't overwrite manually entered events)
  4. Konvoq re-fetches the URL automatically on a schedule to pick up new events and remove cancelled ones
  5. Toggle a source inactive to pause syncing without deleting the URL

Supported source types

Konvoq auto-detects the format from the URL content:

FormatWhat it looks like
iCal.ics files — exported from Google Calendar, Outlook, Apple Calendar, Eventbrite, etc.
RSS / AtomXML feeds from WordPress events plugins, Meetup, community calendars
JSON-LDWeb pages that use <script type="application/ld+json"> with @type: Event markup

If the URL returns a web page that is built entirely in JavaScript and has no server-rendered content, Konvoq marks the source as needs_js — see SPA / JavaScript-heavy pages below.


Adding a source

  1. Go to Events → Sources
  2. Click Add Source
  3. Enter the URL
  4. Click Add

Konvoq immediately fetches the URL and imports what it finds. The source row shows the status and how many events were imported.


Source statuses

StatusMeaning
okLast sync succeeded — events are up to date
no_eventsURL fetched successfully but no events were found in the content
needs_jsPage detected as a JavaScript SPA — Konvoq can't read it server-side
errorFetch failed (URL unreachable, server error, invalid format)

Fixing an error

  • 404 / URL not found — check the URL is still valid and publicly accessible
  • SSL / certificate error — URL must use https:// with a valid certificate
  • Private / firewall blocked — source URLs must be reachable from the public internet; internal network addresses are blocked
  • no_events — the URL is reachable but Konvoq found no events. Check that the feed contains VEVENT entries (iCal), <item> entries with date fields (RSS), or @type: Event JSON-LD blocks
  • needs_js — see below

SPA pages

If your events page is a React/Vue/Angular app that renders entirely in the browser, Konvoq will mark the source needs_js because it can't execute JavaScript server-side.

Solutions:

  1. Use an iCal export instead. Most event management systems (Eventbrite, Google Calendar, Luma, etc.) provide a direct .ics link. This is the most reliable option.
  2. Add JSON-LD structured data. Add <script type="application/ld+json"> blocks with @type: Event to your page's server-rendered HTML. Konvoq will detect these automatically.
  3. Use the webhook ingest to push events from your booking system directly to Konvoq.

Manual sync

To force an immediate re-fetch (e.g. after you update your calendar):

  1. Find the source in the Sources list
  2. Click Sync now

The status updates to reflect the new fetch result.


Disabling a source

Toggle a source inactive to pause syncing. Existing events imported from that source remain in the calendar. Re-enable to resume syncing.


Deleting a source

Click the trash icon to remove a source. The source URL is deleted but events already imported from it are kept. Delete those events manually from the All Events tab if needed.


Event removal safety

Konvoq only removes an event from your calendar when it is confirmed absent from a successful full fetch of the source. It never removes events because:

  • A fetch failed or timed out
  • The feed returned empty (possible feed error, not confirmed deletion)
  • The source is toggled inactive

This prevents accidental bulk deletion from a temporary feed outage.


JSON-LD auto-detect

When you add a website to Konvoq's scraper (Knowledge → Scrape URLs), Konvoq also scans every page for <script type="application/ld+json"> blocks containing @type: Event.

Detected events are automatically added to your calendar with low priority — they don't overwrite manually entered events, CSV imports, iCal sources, or webhook-ingested events.

You don't need to do anything to enable this. If your website has JSON-LD event markup, those events flow in automatically during every scrape.

To verify: After scraping, open Events → All Events and look for events with source json-ld or scrape.


PlatformHow to get the iCal URL
Google CalendarCalendar settings → Integrate calendar → Secret address in iCal format
Outlook / Microsoft 365Calendar → Share → Get a link → Copy the ICS link
Apple CalendarRight-click calendar → Share Calendar → Public calendar → Copy URL
EventbriteEvent dashboard → Manage → Publish → Export iCal
LumaYour event page URL + /calendar.ics
MeetupGroup page → Calendar → Subscribe to feed
CalendlyIntegrations → Calendar connection → Copy iCal link

:::tip Use the secret/private iCal link Most platforms offer a "secret" or "private" link that doesn't require login to access. Use that link — public calendar URLs sometimes require authentication that Konvoq can't provide. :::