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
- You add a URL (e.g. your Google Calendar's iCal link, or an events page)
- Konvoq fetches the URL and parses events from it
- Events are stored in your calendar with medium priority (they don't overwrite manually entered events)
- Konvoq re-fetches the URL automatically on a schedule to pick up new events and remove cancelled ones
- Toggle a source inactive to pause syncing without deleting the URL
Supported source types
Konvoq auto-detects the format from the URL content:
| Format | What it looks like |
|---|---|
| iCal | .ics files — exported from Google Calendar, Outlook, Apple Calendar, Eventbrite, etc. |
| RSS / Atom | XML feeds from WordPress events plugins, Meetup, community calendars |
| JSON-LD | Web 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
- Go to Events → Sources
- Click Add Source
- Enter the URL
- 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
| Status | Meaning |
|---|---|
ok | Last sync succeeded — events are up to date |
no_events | URL fetched successfully but no events were found in the content |
needs_js | Page detected as a JavaScript SPA — Konvoq can't read it server-side |
error | Fetch 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
VEVENTentries (iCal),<item>entries with date fields (RSS), or@type: EventJSON-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:
- Use an iCal export instead. Most event management systems (Eventbrite, Google Calendar, Luma, etc.) provide a direct
.icslink. This is the most reliable option. - Add JSON-LD structured data. Add
<script type="application/ld+json">blocks with@type: Eventto your page's server-rendered HTML. Konvoq will detect these automatically. - 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):
- Find the source in the Sources list
- 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.
Getting an iCal link from common platforms
| Platform | How to get the iCal URL |
|---|---|
| Google Calendar | Calendar settings → Integrate calendar → Secret address in iCal format |
| Outlook / Microsoft 365 | Calendar → Share → Get a link → Copy the ICS link |
| Apple Calendar | Right-click calendar → Share Calendar → Public calendar → Copy URL |
| Eventbrite | Event dashboard → Manage → Publish → Export iCal |
| Luma | Your event page URL + /calendar.ics |
| Meetup | Group page → Calendar → Subscribe to feed |
| Calendly | Integrations → 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. :::