Skip to main content
Twelve ports, both ends visible

No middle layer. Just wires.

Event Schedule talks straight to the services you already run: your calendar or your own CalDAV server, your own Stripe account, your own endpoint. Twelve ports, each labelled with which way it runs, what makes data move, and which plan it is on.

Integration panel

12 ports

Google Calendar two-way sync both Free
Outlook 365 Microsoft Graph both Free
CalDAV your own server both Free
Stripe checkout + webhook both Free
Invoice Ninja invoice or pay link both Free
Webhooks your endpoint out Pro
REST API you call us in Pro
Eventbrite import on demand in Pro
Web push OneSignal out Pro
Accommodation Stay22 map out Free
Meta ads boost a campaign out Pro
WhatsApp Twilio inbound in Ent

out = data leaves here · in = data arrives here

Google Calendar Outlook Microsoft 365 Nextcloud Radicale Fastmail Baikal Stripe Invoice Ninja Eventbrite Facebook Instagram WhatsApp Your endpoint

Direction

A wire has a direction. So does every port here.

Almost every integration question is really a direction question. So this is the first thing the labels tell you.

out

Data leaves here

Saving an event is the trigger, not a timer: that save is what pushes it to the calendars you have connected and POSTs it to your webhook URL. Nothing waits for a nightly batch.

in

Data arrives here

Google and Microsoft tell us when something changed; Stripe, Invoice Ninja and Twilio report the same way. Where a service cannot tell us, we ask: CalDAV on a timer, Eventbrite when you press import. The REST API is inbound too, with your code doing the calling.

both

Two-way

Both of those on one port, with the loop guarded at each end so an edit that arrived from a calendar is not immediately pushed back out to it.

One honest difference: CalDAV has no notification standard, so its inbound leg is polled every fifteen minutes rather than pushed. Worth knowing before you pick a server.

The register

Twelve ports, written down.

Every one of them is on this page in full: the direction it runs, what makes data move along it, and the plan it is on. No marketplace, no logos we merely admire, and the gaps people hit are spelled out further down rather than left for you to find.

The twelve Event Schedule integration ports, with the direction each one runs, what makes data move along it, and the plan it is on
Port Wire What moves it Plan
Google Calendar both Saving an event writes it to Google straight away. Google notifies us back through a watch channel, and a sweep every fifteen minutes catches anything the channel missed. Free
Outlook / Microsoft 365 both The same shape over Microsoft Graph, with a change subscription inbound and a delta token so a resync does not re-read the whole calendar. Optional Teams meeting link. Free
CalDAV both or one Server URL, username, password. Outbound on save; inbound is polled every fifteen minutes, because CalDAV has no notification standard to subscribe to. Free
Stripe out then in Checkout runs on Stripe. On the hosted platform the charge is created on your own connected account, and the result returns as a signed webhook. Selling starts free at twenty-five paid tickets a month per schedule; Pro takes the ceiling off. Free
Invoice Ninja out then in Either an invoice per sale, or a payment link the buyer completes on your Invoice Ninja install. A webhook marks the sale paid when it clears. Free
Webhooks out Twelve event types, POSTed as JSON to your URL with an HMAC-SHA256 signature. Five-second timeout, three tries, and every attempt logged. Pro
REST API in Full create, read, update and delete on schedules, sub-schedules, events and sales, plus read endpoints for feedback and fan content. Key in a header. Pro
Eventbrite import in Paste an Eventbrite private token, pick from the events it finds, and they arrive with their venues, ticket types and images. You press the button; nothing runs on a timer. Pro
Web push out The notifications you already get by email, repeated as browser and mobile push. Per device, opt-in, and only where the site operator has configured it. Pro
Accommodation map out Lodging near the venue on your public event pages, dated from the occurrence being viewed. Nothing is requested until the visitor consents. Free
Meta ads out Your event becomes a Facebook and Instagram campaign: you choose budget, dates, audience and placements. The ads run on the ad account of whoever operates your Event Schedule site. Pro
WhatsApp in Message the site's WhatsApp number, or send a photo of a flyer, and the event is created and answered with its link. Runs over the operator's Twilio account. Ent

Selfhosted installs resolve to the top tier, so every port above is on from the first boot. On the hosted platform, Pro is $5 a month and Enterprise, which the WhatsApp port needs, is $15.

Calendar ports

Your calendar, or your own server.

Three ports, all free on every plan, all two-way, and all with the direction under your control per schedule.

The setting people ask about first

What happens when you delete it there

For a schedule that imports from a calendar, you choose what an outside deletion means. It is one setting with three answers, and it is the difference between a tidy calendar and a missing show.

Keep it The default. The event stays in Event Schedule and your calendar is simply tidier than your schedule. Mark cancelled Hidden from the public schedule, still there for you, and reversible. Delete it Gone. Except where the event has ticket sales or a running ad boost, in which case it is hidden instead.

How calendar sync works is the longer version, and the user guide walks through the actual screens.

Money ports

The money never lands here.

Both payment ports terminate in an account you own, and both are open on the free plan, which sells twenty-five paid tickets a month per schedule before Pro takes the ceiling off. Event Schedule charges zero platform fees on ticket sales on every plan, which is only possible because it is not in the middle of the transaction.

Stripe

Free

Checkout runs on Stripe's own page. On the hosted platform the charge is created on your connected account, so payouts arrive on your Stripe schedule, and the confirmation returns to us as a signed webhook.

Fees Stripe's processing fee. Nothing from us. Methods Whatever you have enabled in your own Stripe dashboard. Selfhost Your own Stripe keys, used directly.
Stripe payments

Invoice Ninja

Free

Point Event Schedule at your Invoice Ninja install with an API token and URL. Useful when the buyer is an organisation that needs a document rather than a receipt.

Invoice mode An invoice is raised per sale and the buyer pays it. Pay-link mode The buyer goes to an Invoice Ninja payment link and chooses quantities there. Back to us A webhook marks the sale paid when the payment clears.
Invoice Ninja invoicing

Not a wire

Two of the payment options are deliberately not integrations, and it is better that you know which.

Cash The sale is recorded with your own payment instructions attached. Nothing is called, nothing confirms itself. Payment URL Send buyers to any link you already use. It is a signpost, not a connection, so you reconcile it yourself.

Free registration with a capacity limit needs no payment port at all, and works on every plan.

If the money currently lands at Eventbrite

in Pro

There is one import port, and it points at Eventbrite. It runs when you press the button, not on a timer, so it is a move rather than a running sync.

Credential An Eventbrite private token you paste in. It is used for that import and never stored. What comes The events you tick, with their venues, images and ticket types, prices and quantities. What does not Past orders and attendees. Sold tickets stay where they were sold, so run the two in parallel until the last one is scanned.

Event Schedule compared with Eventbrite goes through the rest of the move.

The terminal block

Two spare terminals, for wires we did not build.

There is no Zapier app. Instead there is one wire out and one wire in, both general purpose, both documented, both on the Pro plan.

out

Webhooks

Pro

Twelve event types, POSTed as JSON to a URL you own. Subscribe to all of them or pick the ones you care about.

Signature HMAC-SHA256 of the body in an X-Webhook-Signature header, keyed on a secret you can regenerate. Retries Five-second timeout, three attempts, backing off thirty seconds then sixty. Log Every attempt kept with its status, response and duration, and a test button to fire one on demand. Safety Private and reserved addresses are refused and redirects are not followed, so a webhook cannot be aimed inside the server.
Webhook reference
in

REST API

Pro

Create, read, update and delete schedules, sub-schedules, events and sales from your own code, plus read endpoints for post-event feedback and fan content.

Auth A key in an X-API-Key header. Only a hash of it is stored, and you can give the key an expiry date. Rate Three hundred reads and thirty writes a minute, counted per address. Shape JSON in, JSON out, with the same encoded identifiers the app's own URLs use. Pairs with The webhook opposite: it tells you something happened, this reads or changes it.
API reference

Operator ports

Four ports the site operator holds the key to.

These four need a credential that belongs to whoever runs the Event Schedule site, not to your schedule. If the panel for one of them is not there, that is why.

out

Web push

Pro

The notification emails you already receive, repeated as browser and mobile push through OneSignal. On top of email, not instead of it.

  • Per device: enable it on the phone and the laptop separately
  • Opt-in, and off until you turn it on
  • On iPhone and iPad, the site has to be on the home screen first
out

Accommodation map

Free

A Stay22 map of lodging near the venue on your public event pages, with the dates taken from the occurrence being viewed. Free on every plan, off by default.

  • Nothing is requested until the visitor consents or clicks
  • Suppressed for past events, embeds and password-gated pages
  • Add your own affiliate ID and the commission is yours
out

Facebook and Instagram ads

Pro

Boosting turns an event into a Meta campaign. The ads run on the ad account belonging to whoever operates the site, so there is no Meta login for you to connect and no ad manager to learn.

  • Facebook and Instagram feeds, Stories and Reels
  • Budget by the day or for the whole run, with your own audience
  • The boost is paid for here rather than to Meta

Event boosting

in

WhatsApp

Ent

The one port where a message becomes an event. Send text or a photo of a flyer to the site's WhatsApp number and the event is created on your default schedule, with a reply carrying its link.

  • Runs over the operator's Twilio account, on the Enterprise plan
  • Only a phone number verified on your own account can create anything
  • The flyer you sent becomes the event's image

Creating events over WhatsApp

Or hold the keys yourself

Selfhosting? You are the operator

Run your own install and all four of those keys are yours to add, alongside your own Google, Microsoft and Stripe credentials. Every port in the register is on, because a selfhosted install resolves to the top tier. An install that is not eventschedule.com can also share its public events with the eventschedule.com listings, which an admin switches on and each schedule can opt out of.

Selfhost installation guide

Unterminated

Ports that are not there.

You came here to find out whether this fits your stack. That answer is worth as much when it is no, so here are the four gaps people hit.

No streaming-platform integrations

An online event carries one link field. Mark the event as online and paste the URL to wherever you are streaming, whether that is Zoom, Meet, YouTube or something else entirely. Nothing is created for you and nothing is read back. The single exception is Outlook: turn on Teams meetings and the join link is written into that same field for events with no venue.

No Zapier or Make app

There is no listing in either directory. The general-purpose route is the terminal block above: a signed webhook out on twelve event types, and the REST API in. Both accept a plain HTTP client, so an automation tool that can POST and receive JSON can be wired up without a connector.

No accounting or CRM sync

Invoice Ninja is the only invoicing wire, and there is nothing that pushes sales into a ledger or contacts into a CRM. What exists instead is a Pro sales export to CSV, including the answers to any custom questions, plus the sale webhooks if you would rather have the data arrive as it happens.

No conflict detection

Two-way sync copies events between calendars. It does not compare them, and nothing on this page will warn you that you have accepted two things at the same hour. If a clash matters, the calendar you already read every morning is still the place you will spot it.

Free forever. Upgrade when you're ready.

$0
Scheduling, calendar sync, newsletters, and 25 tickets a month
$5/mo
Unlimited tickets, QR check-in, event graphics, and no branding

Zero platform fees on ticket sales. You only pay Stripe's processing fee.

See all plans

Frequently asked questions

What people ask before they wire anything up.

Which integrations are free?

Two-way calendar sync with Google Calendar, Outlook or Microsoft 365 and any CalDAV server is free on every plan, and so is the nearby-accommodation map. So are the two money ports: selling starts free at twenty-five paid tickets a month per schedule, with zero platform fees on every plan. Pro at $5 a month takes that ceiling off and adds webhooks, the REST API, web push, Eventbrite import and ad boosting. Creating events over WhatsApp is the one Enterprise port, at $15. Selfhosted installs resolve to the top tier, so every port is on from the first boot.

Is the calendar sync really two-way?

Yes, and you choose the direction per schedule: import only, export only, or both. Outbound happens when you save an event. Inbound arrives through a Google watch channel or a Microsoft Graph change subscription, backed up by a sweep every fifteen minutes. CalDAV inbound is polled only, because CalDAV has no notification standard to subscribe to.

Where does the ticket money actually go?

Into your own Stripe account. On the hosted platform the charge is created on your connected account, so payouts land on your Stripe schedule and Event Schedule takes zero platform fees; you pay Stripe its processing fee and nothing else. A selfhosted install uses your own Stripe keys directly, with nothing in between at all.

Can I connect a tool that is not on this page?

That is what the terminal block is for. A webhook POSTs to any URL you own on twelve event types, signed with HMAC-SHA256 so you can verify it came from us, and the REST API lets your own code read and write schedules, events and sales with a key in an X-API-Key header. There is no Zapier or Make app; those two ports are the general-purpose route, and both are on the Pro plan.

Do you integrate with Zoom, YouTube or Twitch?

No, and it is worth being plain about it. An online event carries one link field: mark the event as online and paste the URL to wherever you are streaming. The one place that field gets filled in for you is Outlook, where turning on Teams meetings writes the join link into it for events that have no venue.

What happens if I delete an event in my calendar?

You decide, per schedule. An event deleted in the calendar you import from can be kept in Event Schedule, marked as cancelled so it is hidden but reversible, or deleted outright. Events that have ticket sales or a running ad boost are hidden instead of deleted, so a stray drag in a calendar app cannot take a sold show with it.

Free forever

Pick a port. Wire it up.

Calendar sync, the accommodation map and your first twenty-five ticket sales a month are free forever. Five dollars a month takes the ticket ceiling off and adds webhooks, the API, push and the imports. Nothing is taken from the door on any plan.

.eventschedule.com
Get started free

No credit card required